diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c index 2aa42b93bfb..59e8b2f04fe 100644 --- a/librpc/gen_ndr/cli_spoolss.c +++ b/librpc/gen_ndr/cli_spoolss.c @@ -14,7 +14,7 @@ NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PrinterInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -52,9 +52,7 @@ NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -231,7 +229,7 @@ NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_JobInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -270,9 +268,7 @@ NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -526,7 +522,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_DriverInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -564,9 +560,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -779,7 +773,7 @@ NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PrintProcessorInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -817,9 +811,7 @@ NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -1699,7 +1691,7 @@ NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_FormInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -1736,9 +1728,7 @@ NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -1756,7 +1746,7 @@ NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PortInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -1793,9 +1783,7 @@ NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ @@ -1813,7 +1801,7 @@ NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_MonitorInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror) { @@ -1850,9 +1838,7 @@ NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli, /* Return variables */ *count = *r.out.count; - if (info && r.out.info) { - memcpy(info, r.out.info, *count * sizeof(*info)); - } + memcpy(info, r.out.info, *count * sizeof(*info)); *needed = *r.out.needed; /* Return result */ diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h index 83b2e28729e..7e9e0f1f04f 100644 --- a/librpc/gen_ndr/cli_spoolss.h +++ b/librpc/gen_ndr/cli_spoolss.h @@ -9,7 +9,7 @@ NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PrinterInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli, @@ -46,7 +46,7 @@ NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_JobInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli, @@ -86,7 +86,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_DriverInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli, @@ -123,7 +123,7 @@ NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PrintProcessorInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli, @@ -245,7 +245,7 @@ NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_FormInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli, @@ -255,7 +255,7 @@ NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_PortInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli, @@ -265,7 +265,7 @@ NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli, DATA_BLOB *buffer /* [in] [unique] */, uint32_t offered /* [in] */, uint32_t *count /* [out] [ref] */, - union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */, + union spoolss_MonitorInfo **info /* [out] [ref,switch_is(level),size_is(*count)] */, uint32_t *needed /* [out] [ref] */, WERROR *werror); NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli, diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c index f82f42e146c..2703141b5ee 100644 --- a/librpc/gen_ndr/ndr_spoolss.c +++ b/librpc/gen_ndr/ndr_spoolss.c @@ -18409,20 +18409,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char * ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_PrinterInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -18987,20 +18990,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_JobInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_JobInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -19682,20 +19688,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_DriverInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -20380,20 +20389,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_PrintProcessorInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -22199,20 +22211,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *nam ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_FormInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_FormInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -22421,20 +22436,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *nam ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_PortInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_PortInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); @@ -22643,20 +22661,23 @@ _PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char * ndr->depth--; ndr_print_ptr(ndr, "info", r->out.info); ndr->depth++; - if (r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_1], r->in.level); - ndr_print_spoolss_MonitorInfo(ndr, "info", &r->out.info[cntr_info_1]); - free(idx_1); + ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); + ndr->depth++; + for (cntr_info_1=0;cntr_info_1<*r->out.count;cntr_info_1++) { + char *idx_1=NULL; + if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { + ndr_print_ptr(ndr, "info", r->out.info[cntr_info_1]); + ndr->depth++; + if (r->out.info[cntr_info_1]) { + ndr_print_set_switch_value(ndr, r->out.info[cntr_info_1], r->in.level); + ndr_print_spoolss_MonitorInfo(ndr, "info", r->out.info[cntr_info_1]); } + ndr->depth--; + free(idx_1); } - ndr->depth--; } ndr->depth--; + ndr->depth--; ndr_print_ptr(ndr, "needed", r->out.needed); ndr->depth++; ndr_print_uint32(ndr, "needed", *r->out.needed); diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h index 9c5496e07c3..d2ece73388b 100644 --- a/librpc/gen_ndr/spoolss.h +++ b/librpc/gen_ndr/spoolss.h @@ -1597,7 +1597,7 @@ struct spoolss_EnumPrinters { struct { uint32_t *count;/* [ref] */ - union spoolss_PrinterInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_PrinterInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -1699,7 +1699,7 @@ struct spoolss_EnumJobs { struct { uint32_t *count;/* [ref] */ - union spoolss_JobInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_JobInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -1816,7 +1816,7 @@ struct spoolss_EnumPrinterDrivers { struct { uint32_t *count;/* [ref] */ - union spoolss_DriverInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_DriverInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -1922,7 +1922,7 @@ struct spoolss_EnumPrintProcessors { struct { uint32_t *count;/* [ref] */ - union spoolss_PrintProcessorInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_PrintProcessorInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -2283,7 +2283,7 @@ struct spoolss_EnumForms { struct { uint32_t *count;/* [ref] */ - union spoolss_FormInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_FormInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -2332,7 +2332,7 @@ struct spoolss_EnumPorts { struct { uint32_t *count;/* [ref] */ - union spoolss_PortInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_PortInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; @@ -2381,7 +2381,7 @@ struct spoolss_EnumMonitors { struct { uint32_t *count;/* [ref] */ - union spoolss_MonitorInfo *info;/* [unique,switch_is(level),size_is(*count)] */ + union spoolss_MonitorInfo **info;/* [ref,switch_is(level),size_is(*count)] */ uint32_t *needed;/* [ref] */ WERROR result; } out; diff --git a/librpc/gen_ndr/srv_spoolss.c b/librpc/gen_ndr/srv_spoolss.c index 891be853767..c0d6ca3ca2c 100644 --- a/librpc/gen_ndr/srv_spoolss.c +++ b/librpc/gen_ndr/srv_spoolss.c @@ -51,7 +51,7 @@ static bool api_spoolss_EnumPrinters(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_PrinterInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_PrinterInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -382,7 +382,7 @@ static bool api_spoolss_EnumJobs(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_JobInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_JobInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -852,7 +852,7 @@ static bool api_spoolss_EnumPrinterDrivers(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_DriverInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_DriverInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -1249,7 +1249,7 @@ static bool api_spoolss_EnumPrintProcessors(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_PrintProcessorInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_PrintProcessorInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -2731,7 +2731,7 @@ static bool api_spoolss_EnumForms(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_FormInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_FormInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -2823,7 +2823,7 @@ static bool api_spoolss_EnumPorts(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_PortInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_PortInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -2915,7 +2915,7 @@ static bool api_spoolss_EnumMonitors(pipes_struct *p) return false; } - r->out.info = talloc_zero_array(r, union spoolss_MonitorInfo, *r->out.count); + r->out.info = talloc_zero_array(r, union spoolss_MonitorInfo *, *r->out.count); if (r->out.info == NULL) { talloc_free(r); return false; @@ -7551,7 +7551,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrinterInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrinterInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7608,7 +7608,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_JobInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_JobInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7671,7 +7671,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_DriverInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_DriverInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7728,7 +7728,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrintProcessorInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrintProcessorInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7923,7 +7923,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_FormInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_FormInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7945,7 +7945,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_PortInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_PortInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; } @@ -7967,7 +7967,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } - r->out.info = talloc_zero_array(mem_ctx, union spoolss_MonitorInfo, *r->out.count); + r->out.info = talloc_zero_array(mem_ctx, union spoolss_MonitorInfo *, *r->out.count); if (r->out.info == NULL) { return NT_STATUS_NO_MEMORY; }