/******************/
/* Function: 0x57 */
- WERROR spoolss_EnumPerMachineConnections(
+ [public,noopnum,noprint] WERROR _spoolss_EnumPerMachineConnections(
[in,unique] [string,charset(UTF16)] uint16 *server,
[in,unique] DATA_BLOB *buffer,
[in] uint32 offered,
[out,ref] uint32 *needed,
[out,ref] uint32 *count
);
+ [public,noopnum,noprint] void __spoolss_EnumPerMachineConnections(
+ [in] uint32 count,
+ [out] spoolss_PrinterInfo4 info[count]
+ );
+ [nopull,nopush] WERROR spoolss_EnumPerMachineConnections(
+ [in,unique] [string,charset(UTF16)] uint16 *server,
+ [in,unique] DATA_BLOB *buffer,
+ [in] uint32 offered,
+ [out,ref] uint32 *count,
+ [out,ref,size_is(,*count)] spoolss_PrinterInfo4 **info,
+ [out,ref] uint32 *needed
+ );
/******************/
/* Function: 0x58 */
NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPrintProcessorDataTypes);
}
+/*
+ spoolss_EnumPerMachineConnections
+*/
+enum ndr_err_code ndr_push_spoolss_EnumPerMachineConnections(struct ndr_push *ndr, int flags, const struct spoolss_EnumPerMachineConnections *r)
+{
+ NDR_SPOOLSS_PUSH_ENUM(spoolss_EnumPerMachineConnections,{
+ _r.in.server = r->in.server;
+ },{
+ _r.in.server = r->in.server;
+ });
+ return NDR_ERR_SUCCESS;
+}
+
+enum ndr_err_code ndr_pull_spoolss_EnumPerMachineConnections(struct ndr_pull *ndr, int flags, struct spoolss_EnumPerMachineConnections *r)
+{
+ NDR_SPOOLSS_PULL_ENUM(spoolss_EnumPerMachineConnections,{
+ r->in.server = _r.in.server;
+ },{
+ _r.in.server = r->in.server;
+ });
+ return NDR_ERR_SUCCESS;
+}
+
+uint32_t ndr_size_spoolss_EnumPerMachineConnections_info(TALLOC_CTX *mem_ctx, uint32_t count, struct spoolss_PrinterInfo4 *info)
+{
+ NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumPerMachineConnections);
+}
+
/*
spoolss_EnumPrinterDataEx
*/
_PUBLIC_ void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r);
_PUBLIC_ uint32_t ndr_spoolss_PrinterEnumValues_align(enum winreg_Type type);
+uint32_t ndr_size_spoolss_EnumPerMachineConnections_info(TALLOC_CTX *mem_ctx, uint32_t count, struct spoolss_PrinterInfo4 *info);
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)
struct dcerpc_binding_handle *b = cli->binding_handle;
const char *servername = cli->srv_name_slash;
DATA_BLOB in = data_blob_null;
- DATA_BLOB out = data_blob_null;
+ struct spoolss_PrinterInfo4 *info;
uint32_t needed, count;
if (argc > 2) {
servername,
&in,
in.length,
- &out,
- &needed,
&count,
+ &info,
+ &needed,
&result);
if (!NT_STATUS_IS_OK(status)) {
return ntstatus_to_werror(status);
if (W_ERROR_EQUAL(result, WERR_INSUFFICIENT_BUFFER)) {
in = data_blob_talloc_zero(mem_ctx, needed);
status = dcerpc_spoolss_EnumPerMachineConnections(b, mem_ctx,
- servername,
- &in,
- in.length,
- &out,
- &needed,
- &count,
- &result);
+ servername,
+ &in,
+ in.length,
+ &count,
+ &info,
+ &needed,
+ &result);
if (!NT_STATUS_IS_OK(status)) {
return ntstatus_to_werror(status);
}
{
struct spoolss_EnumPerMachineConnections r;
DATA_BLOB blob = data_blob_null;
- DATA_BLOB info = data_blob_null;
+ struct spoolss_PrinterInfo4 *info;
uint32_t needed;
uint32_t count;