2 * Unix SMB/CIFS implementation.
3 * client auto-generated by pidl. DO NOT MODIFY!
7 #include "../librpc/gen_ndr/cli_spoolss.h"
9 NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli,
11 uint32_t flags /* [in] */,
12 const char *server /* [in] [unique,charset(UTF16)] */,
13 uint32_t level /* [in] */,
14 DATA_BLOB *buffer /* [in] [unique] */,
15 uint32_t offered /* [in] */,
16 uint32_t *count /* [out] [ref] */,
17 union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
18 uint32_t *needed /* [out] [ref] */,
21 struct spoolss_EnumPrinters r;
29 r.in.offered = offered;
31 if (DEBUGLEVEL >= 10) {
32 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinters, &r);
35 status = cli->dispatch(cli,
38 NDR_SPOOLSS_ENUMPRINTERS,
41 if (!NT_STATUS_IS_OK(status)) {
45 if (DEBUGLEVEL >= 10) {
46 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinters, &r);
49 if (NT_STATUS_IS_ERR(status)) {
53 /* Return variables */
54 *count = *r.out.count;
55 if (info && r.out.info) {
56 memcpy(info, r.out.info, *count * sizeof(*info));
58 *needed = *r.out.needed;
62 *werror = r.out.result;
65 return werror_to_ntstatus(r.out.result);
68 NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli,
70 const char *printername /* [in] [unique,charset(UTF16)] */,
71 const char *datatype /* [in] [unique,charset(UTF16)] */,
72 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
73 uint32_t access_mask /* [in] */,
74 struct policy_handle *handle /* [out] [ref] */,
77 struct spoolss_OpenPrinter r;
81 r.in.printername = printername;
82 r.in.datatype = datatype;
83 r.in.devmode_ctr = devmode_ctr;
84 r.in.access_mask = access_mask;
86 if (DEBUGLEVEL >= 10) {
87 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinter, &r);
90 status = cli->dispatch(cli,
93 NDR_SPOOLSS_OPENPRINTER,
96 if (!NT_STATUS_IS_OK(status)) {
100 if (DEBUGLEVEL >= 10) {
101 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinter, &r);
104 if (NT_STATUS_IS_ERR(status)) {
108 /* Return variables */
109 *handle = *r.out.handle;
113 *werror = r.out.result;
116 return werror_to_ntstatus(r.out.result);
119 NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli,
121 struct policy_handle *handle /* [in] [ref] */,
122 uint32_t job_id /* [in] */,
123 struct spoolss_JobInfoContainer *ctr /* [in] [unique] */,
124 enum spoolss_JobControl command /* [in] */,
127 struct spoolss_SetJob r;
131 r.in.handle = handle;
132 r.in.job_id = job_id;
134 r.in.command = command;
136 if (DEBUGLEVEL >= 10) {
137 NDR_PRINT_IN_DEBUG(spoolss_SetJob, &r);
140 status = cli->dispatch(cli,
146 if (!NT_STATUS_IS_OK(status)) {
150 if (DEBUGLEVEL >= 10) {
151 NDR_PRINT_OUT_DEBUG(spoolss_SetJob, &r);
154 if (NT_STATUS_IS_ERR(status)) {
158 /* Return variables */
162 *werror = r.out.result;
165 return werror_to_ntstatus(r.out.result);
168 NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli,
170 struct policy_handle *handle /* [in] [ref] */,
171 uint32_t job_id /* [in] */,
172 uint32_t level /* [in] */,
173 DATA_BLOB *buffer /* [in] [unique] */,
174 uint32_t offered /* [in] */,
175 union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
176 uint32_t *needed /* [out] [ref] */,
179 struct spoolss_GetJob r;
183 r.in.handle = handle;
184 r.in.job_id = job_id;
186 r.in.buffer = buffer;
187 r.in.offered = offered;
189 if (DEBUGLEVEL >= 10) {
190 NDR_PRINT_IN_DEBUG(spoolss_GetJob, &r);
193 status = cli->dispatch(cli,
199 if (!NT_STATUS_IS_OK(status)) {
203 if (DEBUGLEVEL >= 10) {
204 NDR_PRINT_OUT_DEBUG(spoolss_GetJob, &r);
207 if (NT_STATUS_IS_ERR(status)) {
211 /* Return variables */
212 if (info && r.out.info) {
215 *needed = *r.out.needed;
219 *werror = r.out.result;
222 return werror_to_ntstatus(r.out.result);
225 NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli,
227 struct policy_handle *handle /* [in] [ref] */,
228 uint32_t firstjob /* [in] */,
229 uint32_t numjobs /* [in] */,
230 uint32_t level /* [in] */,
231 DATA_BLOB *buffer /* [in] [unique] */,
232 uint32_t offered /* [in] */,
233 uint32_t *count /* [out] [ref] */,
234 union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
235 uint32_t *needed /* [out] [ref] */,
238 struct spoolss_EnumJobs r;
242 r.in.handle = handle;
243 r.in.firstjob = firstjob;
244 r.in.numjobs = numjobs;
246 r.in.buffer = buffer;
247 r.in.offered = offered;
249 if (DEBUGLEVEL >= 10) {
250 NDR_PRINT_IN_DEBUG(spoolss_EnumJobs, &r);
253 status = cli->dispatch(cli,
256 NDR_SPOOLSS_ENUMJOBS,
259 if (!NT_STATUS_IS_OK(status)) {
263 if (DEBUGLEVEL >= 10) {
264 NDR_PRINT_OUT_DEBUG(spoolss_EnumJobs, &r);
267 if (NT_STATUS_IS_ERR(status)) {
271 /* Return variables */
272 *count = *r.out.count;
273 if (info && r.out.info) {
274 memcpy(info, r.out.info, *count * sizeof(*info));
276 *needed = *r.out.needed;
280 *werror = r.out.result;
283 return werror_to_ntstatus(r.out.result);
286 NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli,
290 struct spoolss_AddPrinter r;
295 if (DEBUGLEVEL >= 10) {
296 NDR_PRINT_IN_DEBUG(spoolss_AddPrinter, &r);
299 status = cli->dispatch(cli,
302 NDR_SPOOLSS_ADDPRINTER,
305 if (!NT_STATUS_IS_OK(status)) {
309 if (DEBUGLEVEL >= 10) {
310 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinter, &r);
313 if (NT_STATUS_IS_ERR(status)) {
317 /* Return variables */
321 *werror = r.out.result;
324 return werror_to_ntstatus(r.out.result);
327 NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli,
329 struct policy_handle *handle /* [in] [ref] */,
332 struct spoolss_DeletePrinter r;
336 r.in.handle = handle;
338 if (DEBUGLEVEL >= 10) {
339 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinter, &r);
342 status = cli->dispatch(cli,
345 NDR_SPOOLSS_DELETEPRINTER,
348 if (!NT_STATUS_IS_OK(status)) {
352 if (DEBUGLEVEL >= 10) {
353 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinter, &r);
356 if (NT_STATUS_IS_ERR(status)) {
360 /* Return variables */
364 *werror = r.out.result;
367 return werror_to_ntstatus(r.out.result);
370 NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli,
372 struct policy_handle *handle /* [in] [ref] */,
373 struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */,
374 struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */,
375 struct sec_desc_buf *secdesc_ctr /* [in] [ref] */,
376 enum spoolss_PrinterControl command /* [in] */,
379 struct spoolss_SetPrinter r;
383 r.in.handle = handle;
384 r.in.info_ctr = info_ctr;
385 r.in.devmode_ctr = devmode_ctr;
386 r.in.secdesc_ctr = secdesc_ctr;
387 r.in.command = command;
389 if (DEBUGLEVEL >= 10) {
390 NDR_PRINT_IN_DEBUG(spoolss_SetPrinter, &r);
393 status = cli->dispatch(cli,
396 NDR_SPOOLSS_SETPRINTER,
399 if (!NT_STATUS_IS_OK(status)) {
403 if (DEBUGLEVEL >= 10) {
404 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinter, &r);
407 if (NT_STATUS_IS_ERR(status)) {
411 /* Return variables */
415 *werror = r.out.result;
418 return werror_to_ntstatus(r.out.result);
421 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
423 struct policy_handle *handle /* [in] [ref] */,
424 uint32_t level /* [in] */,
425 DATA_BLOB *buffer /* [in] [unique] */,
426 uint32_t offered /* [in] */,
427 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
428 uint32_t *needed /* [out] [ref] */,
431 struct spoolss_GetPrinter r;
435 r.in.handle = handle;
437 r.in.buffer = buffer;
438 r.in.offered = offered;
440 if (DEBUGLEVEL >= 10) {
441 NDR_PRINT_IN_DEBUG(spoolss_GetPrinter, &r);
444 status = cli->dispatch(cli,
447 NDR_SPOOLSS_GETPRINTER,
450 if (!NT_STATUS_IS_OK(status)) {
454 if (DEBUGLEVEL >= 10) {
455 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinter, &r);
458 if (NT_STATUS_IS_ERR(status)) {
462 /* Return variables */
463 if (info && r.out.info) {
466 *needed = *r.out.needed;
470 *werror = r.out.result;
473 return werror_to_ntstatus(r.out.result);
476 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
478 const char *servername /* [in] [unique,charset(UTF16)] */,
479 struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */,
482 struct spoolss_AddPrinterDriver r;
486 r.in.servername = servername;
487 r.in.info_ctr = info_ctr;
489 if (DEBUGLEVEL >= 10) {
490 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
493 status = cli->dispatch(cli,
496 NDR_SPOOLSS_ADDPRINTERDRIVER,
499 if (!NT_STATUS_IS_OK(status)) {
503 if (DEBUGLEVEL >= 10) {
504 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, &r);
507 if (NT_STATUS_IS_ERR(status)) {
511 /* Return variables */
515 *werror = r.out.result;
518 return werror_to_ntstatus(r.out.result);
521 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
523 const char *server /* [in] [unique,charset(UTF16)] */,
524 const char *environment /* [in] [unique,charset(UTF16)] */,
525 uint32_t level /* [in] */,
526 DATA_BLOB *buffer /* [in] [unique] */,
527 uint32_t offered /* [in] */,
528 uint32_t *count /* [out] [ref] */,
529 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
530 uint32_t *needed /* [out] [ref] */,
533 struct spoolss_EnumPrinterDrivers r;
537 r.in.server = server;
538 r.in.environment = environment;
540 r.in.buffer = buffer;
541 r.in.offered = offered;
543 if (DEBUGLEVEL >= 10) {
544 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, &r);
547 status = cli->dispatch(cli,
550 NDR_SPOOLSS_ENUMPRINTERDRIVERS,
553 if (!NT_STATUS_IS_OK(status)) {
557 if (DEBUGLEVEL >= 10) {
558 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, &r);
561 if (NT_STATUS_IS_ERR(status)) {
565 /* Return variables */
566 *count = *r.out.count;
567 if (info && r.out.info) {
568 memcpy(info, r.out.info, *count * sizeof(*info));
570 *needed = *r.out.needed;
574 *werror = r.out.result;
577 return werror_to_ntstatus(r.out.result);
580 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
584 struct spoolss_GetPrinterDriver r;
589 if (DEBUGLEVEL >= 10) {
590 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, &r);
593 status = cli->dispatch(cli,
596 NDR_SPOOLSS_GETPRINTERDRIVER,
599 if (!NT_STATUS_IS_OK(status)) {
603 if (DEBUGLEVEL >= 10) {
604 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, &r);
607 if (NT_STATUS_IS_ERR(status)) {
611 /* Return variables */
615 *werror = r.out.result;
618 return werror_to_ntstatus(r.out.result);
621 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
623 const char *server /* [in] [unique,charset(UTF16)] */,
624 const char *environment /* [in] [unique,charset(UTF16)] */,
625 uint32_t level /* [in] */,
626 DATA_BLOB *buffer /* [in] [unique] */,
627 uint32_t offered /* [in] */,
628 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
629 uint32_t *needed /* [out] [ref] */,
632 struct spoolss_GetPrinterDriverDirectory r;
636 r.in.server = server;
637 r.in.environment = environment;
639 r.in.buffer = buffer;
640 r.in.offered = offered;
642 if (DEBUGLEVEL >= 10) {
643 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
646 status = cli->dispatch(cli,
649 NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY,
652 if (!NT_STATUS_IS_OK(status)) {
656 if (DEBUGLEVEL >= 10) {
657 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
660 if (NT_STATUS_IS_ERR(status)) {
664 /* Return variables */
665 if (info && r.out.info) {
668 *needed = *r.out.needed;
672 *werror = r.out.result;
675 return werror_to_ntstatus(r.out.result);
678 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
680 const char *server /* [in] [unique,charset(UTF16)] */,
681 const char *architecture /* [in] [charset(UTF16)] */,
682 const char *driver /* [in] [charset(UTF16)] */,
685 struct spoolss_DeletePrinterDriver r;
689 r.in.server = server;
690 r.in.architecture = architecture;
691 r.in.driver = driver;
693 if (DEBUGLEVEL >= 10) {
694 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, &r);
697 status = cli->dispatch(cli,
700 NDR_SPOOLSS_DELETEPRINTERDRIVER,
703 if (!NT_STATUS_IS_OK(status)) {
707 if (DEBUGLEVEL >= 10) {
708 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, &r);
711 if (NT_STATUS_IS_ERR(status)) {
715 /* Return variables */
719 *werror = r.out.result;
722 return werror_to_ntstatus(r.out.result);
725 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
727 const char *server /* [in] [unique,charset(UTF16)] */,
728 const char *architecture /* [in] [charset(UTF16)] */,
729 const char *path_name /* [in] [charset(UTF16)] */,
730 const char *print_processor_name /* [in] [charset(UTF16)] */,
733 struct spoolss_AddPrintProcessor r;
737 r.in.server = server;
738 r.in.architecture = architecture;
739 r.in.path_name = path_name;
740 r.in.print_processor_name = print_processor_name;
742 if (DEBUGLEVEL >= 10) {
743 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
746 status = cli->dispatch(cli,
749 NDR_SPOOLSS_ADDPRINTPROCESSOR,
752 if (!NT_STATUS_IS_OK(status)) {
756 if (DEBUGLEVEL >= 10) {
757 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, &r);
760 if (NT_STATUS_IS_ERR(status)) {
764 /* Return variables */
768 *werror = r.out.result;
771 return werror_to_ntstatus(r.out.result);
774 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
776 const char *servername /* [in] [unique,charset(UTF16)] */,
777 const char *environment /* [in] [unique,charset(UTF16)] */,
778 uint32_t level /* [in] */,
779 DATA_BLOB *buffer /* [in] [unique] */,
780 uint32_t offered /* [in] */,
781 uint32_t *count /* [out] [ref] */,
782 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
783 uint32_t *needed /* [out] [ref] */,
786 struct spoolss_EnumPrintProcessors r;
790 r.in.servername = servername;
791 r.in.environment = environment;
793 r.in.buffer = buffer;
794 r.in.offered = offered;
796 if (DEBUGLEVEL >= 10) {
797 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, &r);
800 status = cli->dispatch(cli,
803 NDR_SPOOLSS_ENUMPRINTPROCESSORS,
806 if (!NT_STATUS_IS_OK(status)) {
810 if (DEBUGLEVEL >= 10) {
811 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, &r);
814 if (NT_STATUS_IS_ERR(status)) {
818 /* Return variables */
819 *count = *r.out.count;
820 if (info && r.out.info) {
821 memcpy(info, r.out.info, *count * sizeof(*info));
823 *needed = *r.out.needed;
827 *werror = r.out.result;
830 return werror_to_ntstatus(r.out.result);
833 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
835 const char *server /* [in] [unique,charset(UTF16)] */,
836 const char *environment /* [in] [unique,charset(UTF16)] */,
837 uint32_t level /* [in] */,
838 DATA_BLOB *buffer /* [in] [unique] */,
839 uint32_t offered /* [in] */,
840 union spoolss_PrintProcessorDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
841 uint32_t *needed /* [out] [ref] */,
844 struct spoolss_GetPrintProcessorDirectory r;
848 r.in.server = server;
849 r.in.environment = environment;
851 r.in.buffer = buffer;
852 r.in.offered = offered;
854 if (DEBUGLEVEL >= 10) {
855 NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
858 status = cli->dispatch(cli,
861 NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY,
864 if (!NT_STATUS_IS_OK(status)) {
868 if (DEBUGLEVEL >= 10) {
869 NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
872 if (NT_STATUS_IS_ERR(status)) {
876 /* Return variables */
877 if (info && r.out.info) {
880 *needed = *r.out.needed;
884 *werror = r.out.result;
887 return werror_to_ntstatus(r.out.result);
890 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
892 struct policy_handle *handle /* [in] [ref] */,
893 uint32_t level /* [in] */,
894 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
895 uint32_t *job_id /* [out] [ref] */,
898 struct spoolss_StartDocPrinter r;
902 r.in.handle = handle;
906 if (DEBUGLEVEL >= 10) {
907 NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, &r);
910 status = cli->dispatch(cli,
913 NDR_SPOOLSS_STARTDOCPRINTER,
916 if (!NT_STATUS_IS_OK(status)) {
920 if (DEBUGLEVEL >= 10) {
921 NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, &r);
924 if (NT_STATUS_IS_ERR(status)) {
928 /* Return variables */
929 *job_id = *r.out.job_id;
933 *werror = r.out.result;
936 return werror_to_ntstatus(r.out.result);
939 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
941 struct policy_handle *handle /* [in] [ref] */,
944 struct spoolss_StartPagePrinter r;
948 r.in.handle = handle;
950 if (DEBUGLEVEL >= 10) {
951 NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, &r);
954 status = cli->dispatch(cli,
957 NDR_SPOOLSS_STARTPAGEPRINTER,
960 if (!NT_STATUS_IS_OK(status)) {
964 if (DEBUGLEVEL >= 10) {
965 NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, &r);
968 if (NT_STATUS_IS_ERR(status)) {
972 /* Return variables */
976 *werror = r.out.result;
979 return werror_to_ntstatus(r.out.result);
982 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
984 struct policy_handle *handle /* [in] [ref] */,
985 DATA_BLOB data /* [in] */,
986 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
987 uint32_t *num_written /* [out] [ref] */,
990 struct spoolss_WritePrinter r;
994 r.in.handle = handle;
996 r.in._data_size = _data_size;
998 if (DEBUGLEVEL >= 10) {
999 NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, &r);
1002 status = cli->dispatch(cli,
1005 NDR_SPOOLSS_WRITEPRINTER,
1008 if (!NT_STATUS_IS_OK(status)) {
1012 if (DEBUGLEVEL >= 10) {
1013 NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, &r);
1016 if (NT_STATUS_IS_ERR(status)) {
1020 /* Return variables */
1021 *num_written = *r.out.num_written;
1025 *werror = r.out.result;
1028 return werror_to_ntstatus(r.out.result);
1031 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
1032 TALLOC_CTX *mem_ctx,
1033 struct policy_handle *handle /* [in] [ref] */,
1036 struct spoolss_EndPagePrinter r;
1040 r.in.handle = handle;
1042 if (DEBUGLEVEL >= 10) {
1043 NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, &r);
1046 status = cli->dispatch(cli,
1049 NDR_SPOOLSS_ENDPAGEPRINTER,
1052 if (!NT_STATUS_IS_OK(status)) {
1056 if (DEBUGLEVEL >= 10) {
1057 NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, &r);
1060 if (NT_STATUS_IS_ERR(status)) {
1064 /* Return variables */
1068 *werror = r.out.result;
1071 return werror_to_ntstatus(r.out.result);
1074 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
1075 TALLOC_CTX *mem_ctx,
1076 struct policy_handle *handle /* [in] [ref] */,
1079 struct spoolss_AbortPrinter r;
1083 r.in.handle = handle;
1085 if (DEBUGLEVEL >= 10) {
1086 NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, &r);
1089 status = cli->dispatch(cli,
1092 NDR_SPOOLSS_ABORTPRINTER,
1095 if (!NT_STATUS_IS_OK(status)) {
1099 if (DEBUGLEVEL >= 10) {
1100 NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, &r);
1103 if (NT_STATUS_IS_ERR(status)) {
1107 /* Return variables */
1111 *werror = r.out.result;
1114 return werror_to_ntstatus(r.out.result);
1117 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
1118 TALLOC_CTX *mem_ctx,
1119 struct policy_handle *handle /* [in] [ref] */,
1120 uint8_t *data /* [out] [ref,size_is(data_size)] */,
1121 uint32_t data_size /* [in] */,
1122 uint32_t *_data_size /* [out] [ref] */,
1125 struct spoolss_ReadPrinter r;
1129 r.in.handle = handle;
1130 r.in.data_size = data_size;
1132 if (DEBUGLEVEL >= 10) {
1133 NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, &r);
1136 status = cli->dispatch(cli,
1139 NDR_SPOOLSS_READPRINTER,
1142 if (!NT_STATUS_IS_OK(status)) {
1146 if (DEBUGLEVEL >= 10) {
1147 NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, &r);
1150 if (NT_STATUS_IS_ERR(status)) {
1154 /* Return variables */
1155 memcpy(data, r.out.data, r.in.data_size * sizeof(*data));
1156 *_data_size = *r.out._data_size;
1160 *werror = r.out.result;
1163 return werror_to_ntstatus(r.out.result);
1166 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
1167 TALLOC_CTX *mem_ctx,
1168 struct policy_handle *handle /* [in] [ref] */,
1171 struct spoolss_EndDocPrinter r;
1175 r.in.handle = handle;
1177 if (DEBUGLEVEL >= 10) {
1178 NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, &r);
1181 status = cli->dispatch(cli,
1184 NDR_SPOOLSS_ENDDOCPRINTER,
1187 if (!NT_STATUS_IS_OK(status)) {
1191 if (DEBUGLEVEL >= 10) {
1192 NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, &r);
1195 if (NT_STATUS_IS_ERR(status)) {
1199 /* Return variables */
1203 *werror = r.out.result;
1206 return werror_to_ntstatus(r.out.result);
1209 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
1210 TALLOC_CTX *mem_ctx,
1211 struct policy_handle *handle /* [in] [ref] */,
1212 uint32_t level /* [in] */,
1213 uint8_t *buffer /* [in,out] [unique,size_is(offered)] */,
1214 uint32_t offered /* [in] */,
1215 uint32_t *needed /* [out] [ref] */,
1218 struct spoolss_AddJob r;
1222 r.in.handle = handle;
1224 r.in.buffer = buffer;
1225 r.in.offered = offered;
1227 if (DEBUGLEVEL >= 10) {
1228 NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
1231 status = cli->dispatch(cli,
1237 if (!NT_STATUS_IS_OK(status)) {
1241 if (DEBUGLEVEL >= 10) {
1242 NDR_PRINT_OUT_DEBUG(spoolss_AddJob, &r);
1245 if (NT_STATUS_IS_ERR(status)) {
1249 /* Return variables */
1250 if (buffer && r.out.buffer) {
1251 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
1253 *needed = *r.out.needed;
1257 *werror = r.out.result;
1260 return werror_to_ntstatus(r.out.result);
1263 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
1264 TALLOC_CTX *mem_ctx,
1265 struct policy_handle *handle /* [in] [ref] */,
1266 uint32_t jobid /* [in] */,
1269 struct spoolss_ScheduleJob r;
1273 r.in.handle = handle;
1276 if (DEBUGLEVEL >= 10) {
1277 NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
1280 status = cli->dispatch(cli,
1283 NDR_SPOOLSS_SCHEDULEJOB,
1286 if (!NT_STATUS_IS_OK(status)) {
1290 if (DEBUGLEVEL >= 10) {
1291 NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, &r);
1294 if (NT_STATUS_IS_ERR(status)) {
1298 /* Return variables */
1302 *werror = r.out.result;
1305 return werror_to_ntstatus(r.out.result);
1308 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
1309 TALLOC_CTX *mem_ctx,
1310 struct policy_handle *handle /* [in] [ref] */,
1311 const char *value_name /* [in] [charset(UTF16)] */,
1312 uint32_t offered /* [in] */,
1313 enum spoolss_PrinterDataType *type /* [out] [ref] */,
1314 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
1315 uint32_t *needed /* [out] [ref] */,
1318 struct spoolss_GetPrinterData r;
1322 r.in.handle = handle;
1323 r.in.value_name = value_name;
1324 r.in.offered = offered;
1326 if (DEBUGLEVEL >= 10) {
1327 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, &r);
1330 status = cli->dispatch(cli,
1333 NDR_SPOOLSS_GETPRINTERDATA,
1336 if (!NT_STATUS_IS_OK(status)) {
1340 if (DEBUGLEVEL >= 10) {
1341 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, &r);
1344 if (NT_STATUS_IS_ERR(status)) {
1348 /* Return variables */
1349 *type = *r.out.type;
1350 return NT_STATUS_NOT_SUPPORTED;
1351 *needed = *r.out.needed;
1355 *werror = r.out.result;
1358 return werror_to_ntstatus(r.out.result);
1361 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
1362 TALLOC_CTX *mem_ctx,
1363 struct policy_handle *handle /* [in] [ref] */,
1364 const char *value_name /* [in] [charset(UTF16)] */,
1365 enum spoolss_PrinterDataType type /* [in] */,
1366 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
1367 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
1370 struct spoolss_SetPrinterData r;
1374 r.in.handle = handle;
1375 r.in.value_name = value_name;
1378 r.in._offered = _offered;
1380 if (DEBUGLEVEL >= 10) {
1381 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, &r);
1384 status = cli->dispatch(cli,
1387 NDR_SPOOLSS_SETPRINTERDATA,
1390 if (!NT_STATUS_IS_OK(status)) {
1394 if (DEBUGLEVEL >= 10) {
1395 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, &r);
1398 if (NT_STATUS_IS_ERR(status)) {
1402 /* Return variables */
1406 *werror = r.out.result;
1409 return werror_to_ntstatus(r.out.result);
1412 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
1413 TALLOC_CTX *mem_ctx,
1416 struct spoolss_WaitForPrinterChange r;
1421 if (DEBUGLEVEL >= 10) {
1422 NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, &r);
1425 status = cli->dispatch(cli,
1428 NDR_SPOOLSS_WAITFORPRINTERCHANGE,
1431 if (!NT_STATUS_IS_OK(status)) {
1435 if (DEBUGLEVEL >= 10) {
1436 NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, &r);
1439 if (NT_STATUS_IS_ERR(status)) {
1443 /* Return variables */
1447 *werror = r.out.result;
1450 return werror_to_ntstatus(r.out.result);
1453 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
1454 TALLOC_CTX *mem_ctx,
1455 struct policy_handle *handle /* [in,out] [ref] */,
1458 struct spoolss_ClosePrinter r;
1462 r.in.handle = handle;
1464 if (DEBUGLEVEL >= 10) {
1465 NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, &r);
1468 status = cli->dispatch(cli,
1471 NDR_SPOOLSS_CLOSEPRINTER,
1474 if (!NT_STATUS_IS_OK(status)) {
1478 if (DEBUGLEVEL >= 10) {
1479 NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, &r);
1482 if (NT_STATUS_IS_ERR(status)) {
1486 /* Return variables */
1487 *handle = *r.out.handle;
1491 *werror = r.out.result;
1494 return werror_to_ntstatus(r.out.result);
1497 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
1498 TALLOC_CTX *mem_ctx,
1499 struct policy_handle *handle /* [in] [ref] */,
1500 uint32_t level /* [in] */,
1501 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1504 struct spoolss_AddForm r;
1508 r.in.handle = handle;
1512 if (DEBUGLEVEL >= 10) {
1513 NDR_PRINT_IN_DEBUG(spoolss_AddForm, &r);
1516 status = cli->dispatch(cli,
1519 NDR_SPOOLSS_ADDFORM,
1522 if (!NT_STATUS_IS_OK(status)) {
1526 if (DEBUGLEVEL >= 10) {
1527 NDR_PRINT_OUT_DEBUG(spoolss_AddForm, &r);
1530 if (NT_STATUS_IS_ERR(status)) {
1534 /* Return variables */
1538 *werror = r.out.result;
1541 return werror_to_ntstatus(r.out.result);
1544 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
1545 TALLOC_CTX *mem_ctx,
1546 struct policy_handle *handle /* [in] [ref] */,
1547 const char *form_name /* [in] [charset(UTF16)] */,
1550 struct spoolss_DeleteForm r;
1554 r.in.handle = handle;
1555 r.in.form_name = form_name;
1557 if (DEBUGLEVEL >= 10) {
1558 NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, &r);
1561 status = cli->dispatch(cli,
1564 NDR_SPOOLSS_DELETEFORM,
1567 if (!NT_STATUS_IS_OK(status)) {
1571 if (DEBUGLEVEL >= 10) {
1572 NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, &r);
1575 if (NT_STATUS_IS_ERR(status)) {
1579 /* Return variables */
1583 *werror = r.out.result;
1586 return werror_to_ntstatus(r.out.result);
1589 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
1590 TALLOC_CTX *mem_ctx,
1591 struct policy_handle *handle /* [in] [ref] */,
1592 const char *form_name /* [in] [charset(UTF16)] */,
1593 uint32_t level /* [in] */,
1594 DATA_BLOB *buffer /* [in] [unique] */,
1595 uint32_t offered /* [in] */,
1596 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
1597 uint32_t *needed /* [out] [ref] */,
1600 struct spoolss_GetForm r;
1604 r.in.handle = handle;
1605 r.in.form_name = form_name;
1607 r.in.buffer = buffer;
1608 r.in.offered = offered;
1610 if (DEBUGLEVEL >= 10) {
1611 NDR_PRINT_IN_DEBUG(spoolss_GetForm, &r);
1614 status = cli->dispatch(cli,
1617 NDR_SPOOLSS_GETFORM,
1620 if (!NT_STATUS_IS_OK(status)) {
1624 if (DEBUGLEVEL >= 10) {
1625 NDR_PRINT_OUT_DEBUG(spoolss_GetForm, &r);
1628 if (NT_STATUS_IS_ERR(status)) {
1632 /* Return variables */
1633 if (info && r.out.info) {
1634 *info = *r.out.info;
1636 *needed = *r.out.needed;
1640 *werror = r.out.result;
1643 return werror_to_ntstatus(r.out.result);
1646 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
1647 TALLOC_CTX *mem_ctx,
1648 struct policy_handle *handle /* [in] [ref] */,
1649 const char *form_name /* [in] [charset(UTF16)] */,
1650 uint32_t level /* [in] */,
1651 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1654 struct spoolss_SetForm r;
1658 r.in.handle = handle;
1659 r.in.form_name = form_name;
1663 if (DEBUGLEVEL >= 10) {
1664 NDR_PRINT_IN_DEBUG(spoolss_SetForm, &r);
1667 status = cli->dispatch(cli,
1670 NDR_SPOOLSS_SETFORM,
1673 if (!NT_STATUS_IS_OK(status)) {
1677 if (DEBUGLEVEL >= 10) {
1678 NDR_PRINT_OUT_DEBUG(spoolss_SetForm, &r);
1681 if (NT_STATUS_IS_ERR(status)) {
1685 /* Return variables */
1689 *werror = r.out.result;
1692 return werror_to_ntstatus(r.out.result);
1695 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
1696 TALLOC_CTX *mem_ctx,
1697 struct policy_handle *handle /* [in] [ref] */,
1698 uint32_t level /* [in] */,
1699 DATA_BLOB *buffer /* [in] [unique] */,
1700 uint32_t offered /* [in] */,
1701 uint32_t *count /* [out] [ref] */,
1702 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
1703 uint32_t *needed /* [out] [ref] */,
1706 struct spoolss_EnumForms r;
1710 r.in.handle = handle;
1712 r.in.buffer = buffer;
1713 r.in.offered = offered;
1715 if (DEBUGLEVEL >= 10) {
1716 NDR_PRINT_IN_DEBUG(spoolss_EnumForms, &r);
1719 status = cli->dispatch(cli,
1722 NDR_SPOOLSS_ENUMFORMS,
1725 if (!NT_STATUS_IS_OK(status)) {
1729 if (DEBUGLEVEL >= 10) {
1730 NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, &r);
1733 if (NT_STATUS_IS_ERR(status)) {
1737 /* Return variables */
1738 *count = *r.out.count;
1739 if (info && r.out.info) {
1740 memcpy(info, r.out.info, *count * sizeof(*info));
1742 *needed = *r.out.needed;
1746 *werror = r.out.result;
1749 return werror_to_ntstatus(r.out.result);
1752 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
1753 TALLOC_CTX *mem_ctx,
1754 const char *servername /* [in] [unique,charset(UTF16)] */,
1755 uint32_t level /* [in] */,
1756 DATA_BLOB *buffer /* [in] [unique] */,
1757 uint32_t offered /* [in] */,
1758 uint32_t *count /* [out] [ref] */,
1759 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
1760 uint32_t *needed /* [out] [ref] */,
1763 struct spoolss_EnumPorts r;
1767 r.in.servername = servername;
1769 r.in.buffer = buffer;
1770 r.in.offered = offered;
1772 if (DEBUGLEVEL >= 10) {
1773 NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, &r);
1776 status = cli->dispatch(cli,
1779 NDR_SPOOLSS_ENUMPORTS,
1782 if (!NT_STATUS_IS_OK(status)) {
1786 if (DEBUGLEVEL >= 10) {
1787 NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, &r);
1790 if (NT_STATUS_IS_ERR(status)) {
1794 /* Return variables */
1795 *count = *r.out.count;
1796 if (info && r.out.info) {
1797 memcpy(info, r.out.info, *count * sizeof(*info));
1799 *needed = *r.out.needed;
1803 *werror = r.out.result;
1806 return werror_to_ntstatus(r.out.result);
1809 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
1810 TALLOC_CTX *mem_ctx,
1811 const char *servername /* [in] [unique,charset(UTF16)] */,
1812 uint32_t level /* [in] */,
1813 DATA_BLOB *buffer /* [in] [unique] */,
1814 uint32_t offered /* [in] */,
1815 uint32_t *count /* [out] [ref] */,
1816 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(*count)] */,
1817 uint32_t *needed /* [out] [ref] */,
1820 struct spoolss_EnumMonitors r;
1824 r.in.servername = servername;
1826 r.in.buffer = buffer;
1827 r.in.offered = offered;
1829 if (DEBUGLEVEL >= 10) {
1830 NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, &r);
1833 status = cli->dispatch(cli,
1836 NDR_SPOOLSS_ENUMMONITORS,
1839 if (!NT_STATUS_IS_OK(status)) {
1843 if (DEBUGLEVEL >= 10) {
1844 NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, &r);
1847 if (NT_STATUS_IS_ERR(status)) {
1851 /* Return variables */
1852 *count = *r.out.count;
1853 if (info && r.out.info) {
1854 memcpy(info, r.out.info, *count * sizeof(*info));
1856 *needed = *r.out.needed;
1860 *werror = r.out.result;
1863 return werror_to_ntstatus(r.out.result);
1866 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
1867 TALLOC_CTX *mem_ctx,
1868 const char *server_name /* [in] [unique,charset(UTF16)] */,
1869 uint32_t unknown /* [in] */,
1870 const char *monitor_name /* [in] [charset(UTF16)] */,
1873 struct spoolss_AddPort r;
1877 r.in.server_name = server_name;
1878 r.in.unknown = unknown;
1879 r.in.monitor_name = monitor_name;
1881 if (DEBUGLEVEL >= 10) {
1882 NDR_PRINT_IN_DEBUG(spoolss_AddPort, &r);
1885 status = cli->dispatch(cli,
1888 NDR_SPOOLSS_ADDPORT,
1891 if (!NT_STATUS_IS_OK(status)) {
1895 if (DEBUGLEVEL >= 10) {
1896 NDR_PRINT_OUT_DEBUG(spoolss_AddPort, &r);
1899 if (NT_STATUS_IS_ERR(status)) {
1903 /* Return variables */
1907 *werror = r.out.result;
1910 return werror_to_ntstatus(r.out.result);
1913 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
1914 TALLOC_CTX *mem_ctx,
1917 struct spoolss_ConfigurePort r;
1922 if (DEBUGLEVEL >= 10) {
1923 NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, &r);
1926 status = cli->dispatch(cli,
1929 NDR_SPOOLSS_CONFIGUREPORT,
1932 if (!NT_STATUS_IS_OK(status)) {
1936 if (DEBUGLEVEL >= 10) {
1937 NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, &r);
1940 if (NT_STATUS_IS_ERR(status)) {
1944 /* Return variables */
1948 *werror = r.out.result;
1951 return werror_to_ntstatus(r.out.result);
1954 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
1955 TALLOC_CTX *mem_ctx,
1958 struct spoolss_DeletePort r;
1963 if (DEBUGLEVEL >= 10) {
1964 NDR_PRINT_IN_DEBUG(spoolss_DeletePort, &r);
1967 status = cli->dispatch(cli,
1970 NDR_SPOOLSS_DELETEPORT,
1973 if (!NT_STATUS_IS_OK(status)) {
1977 if (DEBUGLEVEL >= 10) {
1978 NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, &r);
1981 if (NT_STATUS_IS_ERR(status)) {
1985 /* Return variables */
1989 *werror = r.out.result;
1992 return werror_to_ntstatus(r.out.result);
1995 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
1996 TALLOC_CTX *mem_ctx,
1999 struct spoolss_CreatePrinterIC r;
2004 if (DEBUGLEVEL >= 10) {
2005 NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, &r);
2008 status = cli->dispatch(cli,
2011 NDR_SPOOLSS_CREATEPRINTERIC,
2014 if (!NT_STATUS_IS_OK(status)) {
2018 if (DEBUGLEVEL >= 10) {
2019 NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, &r);
2022 if (NT_STATUS_IS_ERR(status)) {
2026 /* Return variables */
2030 *werror = r.out.result;
2033 return werror_to_ntstatus(r.out.result);
2036 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
2037 TALLOC_CTX *mem_ctx,
2040 struct spoolss_PlayGDIScriptOnPrinterIC r;
2045 if (DEBUGLEVEL >= 10) {
2046 NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2049 status = cli->dispatch(cli,
2052 NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC,
2055 if (!NT_STATUS_IS_OK(status)) {
2059 if (DEBUGLEVEL >= 10) {
2060 NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2063 if (NT_STATUS_IS_ERR(status)) {
2067 /* Return variables */
2071 *werror = r.out.result;
2074 return werror_to_ntstatus(r.out.result);
2077 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
2078 TALLOC_CTX *mem_ctx,
2081 struct spoolss_DeletePrinterIC r;
2086 if (DEBUGLEVEL >= 10) {
2087 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, &r);
2090 status = cli->dispatch(cli,
2093 NDR_SPOOLSS_DELETEPRINTERIC,
2096 if (!NT_STATUS_IS_OK(status)) {
2100 if (DEBUGLEVEL >= 10) {
2101 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, &r);
2104 if (NT_STATUS_IS_ERR(status)) {
2108 /* Return variables */
2112 *werror = r.out.result;
2115 return werror_to_ntstatus(r.out.result);
2118 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
2119 TALLOC_CTX *mem_ctx,
2122 struct spoolss_AddPrinterConnection r;
2127 if (DEBUGLEVEL >= 10) {
2128 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, &r);
2131 status = cli->dispatch(cli,
2134 NDR_SPOOLSS_ADDPRINTERCONNECTION,
2137 if (!NT_STATUS_IS_OK(status)) {
2141 if (DEBUGLEVEL >= 10) {
2142 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, &r);
2145 if (NT_STATUS_IS_ERR(status)) {
2149 /* Return variables */
2153 *werror = r.out.result;
2156 return werror_to_ntstatus(r.out.result);
2159 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
2160 TALLOC_CTX *mem_ctx,
2163 struct spoolss_DeletePrinterConnection r;
2168 if (DEBUGLEVEL >= 10) {
2169 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, &r);
2172 status = cli->dispatch(cli,
2175 NDR_SPOOLSS_DELETEPRINTERCONNECTION,
2178 if (!NT_STATUS_IS_OK(status)) {
2182 if (DEBUGLEVEL >= 10) {
2183 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, &r);
2186 if (NT_STATUS_IS_ERR(status)) {
2190 /* Return variables */
2194 *werror = r.out.result;
2197 return werror_to_ntstatus(r.out.result);
2200 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
2201 TALLOC_CTX *mem_ctx,
2204 struct spoolss_PrinterMessageBox r;
2209 if (DEBUGLEVEL >= 10) {
2210 NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, &r);
2213 status = cli->dispatch(cli,
2216 NDR_SPOOLSS_PRINTERMESSAGEBOX,
2219 if (!NT_STATUS_IS_OK(status)) {
2223 if (DEBUGLEVEL >= 10) {
2224 NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, &r);
2227 if (NT_STATUS_IS_ERR(status)) {
2231 /* Return variables */
2235 *werror = r.out.result;
2238 return werror_to_ntstatus(r.out.result);
2241 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
2242 TALLOC_CTX *mem_ctx,
2245 struct spoolss_AddMonitor r;
2250 if (DEBUGLEVEL >= 10) {
2251 NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, &r);
2254 status = cli->dispatch(cli,
2257 NDR_SPOOLSS_ADDMONITOR,
2260 if (!NT_STATUS_IS_OK(status)) {
2264 if (DEBUGLEVEL >= 10) {
2265 NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, &r);
2268 if (NT_STATUS_IS_ERR(status)) {
2272 /* Return variables */
2276 *werror = r.out.result;
2279 return werror_to_ntstatus(r.out.result);
2282 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
2283 TALLOC_CTX *mem_ctx,
2286 struct spoolss_DeleteMonitor r;
2291 if (DEBUGLEVEL >= 10) {
2292 NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, &r);
2295 status = cli->dispatch(cli,
2298 NDR_SPOOLSS_DELETEMONITOR,
2301 if (!NT_STATUS_IS_OK(status)) {
2305 if (DEBUGLEVEL >= 10) {
2306 NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, &r);
2309 if (NT_STATUS_IS_ERR(status)) {
2313 /* Return variables */
2317 *werror = r.out.result;
2320 return werror_to_ntstatus(r.out.result);
2323 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
2324 TALLOC_CTX *mem_ctx,
2327 struct spoolss_DeletePrintProcessor r;
2332 if (DEBUGLEVEL >= 10) {
2333 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, &r);
2336 status = cli->dispatch(cli,
2339 NDR_SPOOLSS_DELETEPRINTPROCESSOR,
2342 if (!NT_STATUS_IS_OK(status)) {
2346 if (DEBUGLEVEL >= 10) {
2347 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, &r);
2350 if (NT_STATUS_IS_ERR(status)) {
2354 /* Return variables */
2358 *werror = r.out.result;
2361 return werror_to_ntstatus(r.out.result);
2364 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
2365 TALLOC_CTX *mem_ctx,
2368 struct spoolss_AddPrintProvidor r;
2373 if (DEBUGLEVEL >= 10) {
2374 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, &r);
2377 status = cli->dispatch(cli,
2380 NDR_SPOOLSS_ADDPRINTPROVIDOR,
2383 if (!NT_STATUS_IS_OK(status)) {
2387 if (DEBUGLEVEL >= 10) {
2388 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, &r);
2391 if (NT_STATUS_IS_ERR(status)) {
2395 /* Return variables */
2399 *werror = r.out.result;
2402 return werror_to_ntstatus(r.out.result);
2405 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
2406 TALLOC_CTX *mem_ctx,
2409 struct spoolss_DeletePrintProvidor r;
2414 if (DEBUGLEVEL >= 10) {
2415 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, &r);
2418 status = cli->dispatch(cli,
2421 NDR_SPOOLSS_DELETEPRINTPROVIDOR,
2424 if (!NT_STATUS_IS_OK(status)) {
2428 if (DEBUGLEVEL >= 10) {
2429 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, &r);
2432 if (NT_STATUS_IS_ERR(status)) {
2436 /* Return variables */
2440 *werror = r.out.result;
2443 return werror_to_ntstatus(r.out.result);
2446 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
2447 TALLOC_CTX *mem_ctx,
2450 struct spoolss_EnumPrintProcDataTypes r;
2455 if (DEBUGLEVEL >= 10) {
2456 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2459 status = cli->dispatch(cli,
2462 NDR_SPOOLSS_ENUMPRINTPROCDATATYPES,
2465 if (!NT_STATUS_IS_OK(status)) {
2469 if (DEBUGLEVEL >= 10) {
2470 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2473 if (NT_STATUS_IS_ERR(status)) {
2477 /* Return variables */
2481 *werror = r.out.result;
2484 return werror_to_ntstatus(r.out.result);
2487 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
2488 TALLOC_CTX *mem_ctx,
2489 struct policy_handle *handle /* [in] [ref] */,
2490 const char *data_type /* [in] [unique,charset(UTF16)] */,
2491 struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */,
2494 struct spoolss_ResetPrinter r;
2498 r.in.handle = handle;
2499 r.in.data_type = data_type;
2500 r.in.devmode_ctr = devmode_ctr;
2502 if (DEBUGLEVEL >= 10) {
2503 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, &r);
2506 status = cli->dispatch(cli,
2509 NDR_SPOOLSS_RESETPRINTER,
2512 if (!NT_STATUS_IS_OK(status)) {
2516 if (DEBUGLEVEL >= 10) {
2517 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, &r);
2520 if (NT_STATUS_IS_ERR(status)) {
2524 /* Return variables */
2528 *werror = r.out.result;
2531 return werror_to_ntstatus(r.out.result);
2534 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
2535 TALLOC_CTX *mem_ctx,
2536 struct policy_handle *handle /* [in] [ref] */,
2537 const char *architecture /* [in] [unique,charset(UTF16)] */,
2538 uint32_t level /* [in] */,
2539 DATA_BLOB *buffer /* [in] [unique] */,
2540 uint32_t offered /* [in] */,
2541 uint32_t client_major_version /* [in] */,
2542 uint32_t client_minor_version /* [in] */,
2543 DATA_BLOB *info /* [out] [unique] */,
2544 uint32_t *needed /* [out] [ref] */,
2545 uint32_t *server_major_version /* [out] [ref] */,
2546 uint32_t *server_minor_version /* [out] [ref] */,
2549 struct spoolss_GetPrinterDriver2 r;
2553 r.in.handle = handle;
2554 r.in.architecture = architecture;
2556 r.in.buffer = buffer;
2557 r.in.offered = offered;
2558 r.in.client_major_version = client_major_version;
2559 r.in.client_minor_version = client_minor_version;
2561 if (DEBUGLEVEL >= 10) {
2562 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, &r);
2565 status = cli->dispatch(cli,
2568 NDR_SPOOLSS_GETPRINTERDRIVER2,
2571 if (!NT_STATUS_IS_OK(status)) {
2575 if (DEBUGLEVEL >= 10) {
2576 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, &r);
2579 if (NT_STATUS_IS_ERR(status)) {
2583 /* Return variables */
2584 if (info && r.out.info) {
2585 *info = *r.out.info;
2587 *needed = *r.out.needed;
2588 *server_major_version = *r.out.server_major_version;
2589 *server_minor_version = *r.out.server_minor_version;
2593 *werror = r.out.result;
2596 return werror_to_ntstatus(r.out.result);
2599 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2600 TALLOC_CTX *mem_ctx,
2603 struct spoolss_FindFirstPrinterChangeNotification r;
2608 if (DEBUGLEVEL >= 10) {
2609 NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2612 status = cli->dispatch(cli,
2615 NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION,
2618 if (!NT_STATUS_IS_OK(status)) {
2622 if (DEBUGLEVEL >= 10) {
2623 NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2626 if (NT_STATUS_IS_ERR(status)) {
2630 /* Return variables */
2634 *werror = r.out.result;
2637 return werror_to_ntstatus(r.out.result);
2640 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
2641 TALLOC_CTX *mem_ctx,
2644 struct spoolss_FindNextPrinterChangeNotification r;
2649 if (DEBUGLEVEL >= 10) {
2650 NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2653 status = cli->dispatch(cli,
2656 NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION,
2659 if (!NT_STATUS_IS_OK(status)) {
2663 if (DEBUGLEVEL >= 10) {
2664 NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2667 if (NT_STATUS_IS_ERR(status)) {
2671 /* Return variables */
2675 *werror = r.out.result;
2678 return werror_to_ntstatus(r.out.result);
2681 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
2682 TALLOC_CTX *mem_ctx,
2683 struct policy_handle *handle /* [in] [ref] */,
2686 struct spoolss_FindClosePrinterNotify r;
2690 r.in.handle = handle;
2692 if (DEBUGLEVEL >= 10) {
2693 NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, &r);
2696 status = cli->dispatch(cli,
2699 NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY,
2702 if (!NT_STATUS_IS_OK(status)) {
2706 if (DEBUGLEVEL >= 10) {
2707 NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, &r);
2710 if (NT_STATUS_IS_ERR(status)) {
2714 /* Return variables */
2718 *werror = r.out.result;
2721 return werror_to_ntstatus(r.out.result);
2724 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
2725 TALLOC_CTX *mem_ctx,
2728 struct spoolss_RouterFindFirstPrinterChangeNotificationOld r;
2733 if (DEBUGLEVEL >= 10) {
2734 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2737 status = cli->dispatch(cli,
2740 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD,
2743 if (!NT_STATUS_IS_OK(status)) {
2747 if (DEBUGLEVEL >= 10) {
2748 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2751 if (NT_STATUS_IS_ERR(status)) {
2755 /* Return variables */
2759 *werror = r.out.result;
2762 return werror_to_ntstatus(r.out.result);
2765 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
2766 TALLOC_CTX *mem_ctx,
2767 const char *server_name /* [in] [charset(UTF16)] */,
2768 uint32_t printer_local /* [in] */,
2769 enum winreg_Type type /* [in] */,
2770 uint32_t bufsize /* [in] [range(0,512)] */,
2771 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2772 struct policy_handle *handle /* [out] [ref] */,
2775 struct spoolss_ReplyOpenPrinter r;
2779 r.in.server_name = server_name;
2780 r.in.printer_local = printer_local;
2782 r.in.bufsize = bufsize;
2783 r.in.buffer = buffer;
2785 if (DEBUGLEVEL >= 10) {
2786 NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, &r);
2789 status = cli->dispatch(cli,
2792 NDR_SPOOLSS_REPLYOPENPRINTER,
2795 if (!NT_STATUS_IS_OK(status)) {
2799 if (DEBUGLEVEL >= 10) {
2800 NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, &r);
2803 if (NT_STATUS_IS_ERR(status)) {
2807 /* Return variables */
2808 *handle = *r.out.handle;
2812 *werror = r.out.result;
2815 return werror_to_ntstatus(r.out.result);
2818 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
2819 TALLOC_CTX *mem_ctx,
2820 struct policy_handle *handle /* [in] [ref] */,
2821 uint32_t flags /* [in] */,
2822 uint32_t bufsize /* [in] [range(0,512)] */,
2823 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2826 struct spoolss_RouterReplyPrinter r;
2830 r.in.handle = handle;
2832 r.in.bufsize = bufsize;
2833 r.in.buffer = buffer;
2835 if (DEBUGLEVEL >= 10) {
2836 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
2839 status = cli->dispatch(cli,
2842 NDR_SPOOLSS_ROUTERREPLYPRINTER,
2845 if (!NT_STATUS_IS_OK(status)) {
2849 if (DEBUGLEVEL >= 10) {
2850 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, &r);
2853 if (NT_STATUS_IS_ERR(status)) {
2857 /* Return variables */
2861 *werror = r.out.result;
2864 return werror_to_ntstatus(r.out.result);
2867 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
2868 TALLOC_CTX *mem_ctx,
2869 struct policy_handle *handle /* [in,out] [ref] */,
2872 struct spoolss_ReplyClosePrinter r;
2876 r.in.handle = handle;
2878 if (DEBUGLEVEL >= 10) {
2879 NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, &r);
2882 status = cli->dispatch(cli,
2885 NDR_SPOOLSS_REPLYCLOSEPRINTER,
2888 if (!NT_STATUS_IS_OK(status)) {
2892 if (DEBUGLEVEL >= 10) {
2893 NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, &r);
2896 if (NT_STATUS_IS_ERR(status)) {
2900 /* Return variables */
2901 *handle = *r.out.handle;
2905 *werror = r.out.result;
2908 return werror_to_ntstatus(r.out.result);
2911 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
2912 TALLOC_CTX *mem_ctx,
2915 struct spoolss_AddPortEx r;
2920 if (DEBUGLEVEL >= 10) {
2921 NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, &r);
2924 status = cli->dispatch(cli,
2927 NDR_SPOOLSS_ADDPORTEX,
2930 if (!NT_STATUS_IS_OK(status)) {
2934 if (DEBUGLEVEL >= 10) {
2935 NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, &r);
2938 if (NT_STATUS_IS_ERR(status)) {
2942 /* Return variables */
2946 *werror = r.out.result;
2949 return werror_to_ntstatus(r.out.result);
2952 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2953 TALLOC_CTX *mem_ctx,
2956 struct spoolss_RouterFindFirstPrinterChangeNotification r;
2961 if (DEBUGLEVEL >= 10) {
2962 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2965 status = cli->dispatch(cli,
2968 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION,
2971 if (!NT_STATUS_IS_OK(status)) {
2975 if (DEBUGLEVEL >= 10) {
2976 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2979 if (NT_STATUS_IS_ERR(status)) {
2983 /* Return variables */
2987 *werror = r.out.result;
2990 return werror_to_ntstatus(r.out.result);
2993 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
2994 TALLOC_CTX *mem_ctx,
2997 struct spoolss_SpoolerInit r;
3002 if (DEBUGLEVEL >= 10) {
3003 NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, &r);
3006 status = cli->dispatch(cli,
3009 NDR_SPOOLSS_SPOOLERINIT,
3012 if (!NT_STATUS_IS_OK(status)) {
3016 if (DEBUGLEVEL >= 10) {
3017 NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, &r);
3020 if (NT_STATUS_IS_ERR(status)) {
3024 /* Return variables */
3028 *werror = r.out.result;
3031 return werror_to_ntstatus(r.out.result);
3034 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
3035 TALLOC_CTX *mem_ctx,
3038 struct spoolss_ResetPrinterEx r;
3043 if (DEBUGLEVEL >= 10) {
3044 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, &r);
3047 status = cli->dispatch(cli,
3050 NDR_SPOOLSS_RESETPRINTEREX,
3053 if (!NT_STATUS_IS_OK(status)) {
3057 if (DEBUGLEVEL >= 10) {
3058 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, &r);
3061 if (NT_STATUS_IS_ERR(status)) {
3065 /* Return variables */
3069 *werror = r.out.result;
3072 return werror_to_ntstatus(r.out.result);
3075 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3076 TALLOC_CTX *mem_ctx,
3077 struct policy_handle *handle /* [in] [ref] */,
3078 uint32_t flags /* [in] */,
3079 uint32_t options /* [in] */,
3080 const char *local_machine /* [in] [unique,charset(UTF16)] */,
3081 uint32_t printer_local /* [in] */,
3082 struct spoolss_NotifyOption *notify_options /* [in] [unique] */,
3085 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r;
3089 r.in.handle = handle;
3091 r.in.options = options;
3092 r.in.local_machine = local_machine;
3093 r.in.printer_local = printer_local;
3094 r.in.notify_options = notify_options;
3096 if (DEBUGLEVEL >= 10) {
3097 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3100 status = cli->dispatch(cli,
3103 NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX,
3106 if (!NT_STATUS_IS_OK(status)) {
3110 if (DEBUGLEVEL >= 10) {
3111 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3114 if (NT_STATUS_IS_ERR(status)) {
3118 /* Return variables */
3122 *werror = r.out.result;
3125 return werror_to_ntstatus(r.out.result);
3128 NTSTATUS rpccli_spoolss_RouterReplyPrinterEx(struct rpc_pipe_client *cli,
3129 TALLOC_CTX *mem_ctx,
3130 struct policy_handle *handle /* [in] [ref] */,
3131 uint32_t color /* [in] */,
3132 uint32_t flags /* [in] */,
3133 uint32_t *reply_result /* [out] [ref] */,
3134 uint32_t reply_type /* [in] */,
3135 union spoolss_ReplyPrinterInfo info /* [in] [switch_is(reply_type)] */,
3138 struct spoolss_RouterReplyPrinterEx r;
3142 r.in.handle = handle;
3145 r.in.reply_type = reply_type;
3148 if (DEBUGLEVEL >= 10) {
3149 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinterEx, &r);
3152 status = cli->dispatch(cli,
3155 NDR_SPOOLSS_ROUTERREPLYPRINTEREX,
3158 if (!NT_STATUS_IS_OK(status)) {
3162 if (DEBUGLEVEL >= 10) {
3163 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinterEx, &r);
3166 if (NT_STATUS_IS_ERR(status)) {
3170 /* Return variables */
3171 *reply_result = *r.out.reply_result;
3175 *werror = r.out.result;
3178 return werror_to_ntstatus(r.out.result);
3181 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify(struct rpc_pipe_client *cli,
3182 TALLOC_CTX *mem_ctx,
3183 struct policy_handle *handle /* [in] [ref] */,
3184 uint32_t change_low /* [in] */,
3185 struct spoolss_NotifyOption *options /* [in] [unique] */,
3186 struct spoolss_NotifyInfo **info /* [out] [ref] */,
3189 struct spoolss_RouterRefreshPrinterChangeNotify r;
3193 r.in.handle = handle;
3194 r.in.change_low = change_low;
3195 r.in.options = options;
3197 if (DEBUGLEVEL >= 10) {
3198 NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, &r);
3201 status = cli->dispatch(cli,
3204 NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY,
3207 if (!NT_STATUS_IS_OK(status)) {
3211 if (DEBUGLEVEL >= 10) {
3212 NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, &r);
3215 if (NT_STATUS_IS_ERR(status)) {
3219 /* Return variables */
3220 *info = *r.out.info;
3224 *werror = r.out.result;
3227 return werror_to_ntstatus(r.out.result);
3230 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
3231 TALLOC_CTX *mem_ctx,
3234 struct spoolss_44 r;
3239 if (DEBUGLEVEL >= 10) {
3240 NDR_PRINT_IN_DEBUG(spoolss_44, &r);
3243 status = cli->dispatch(cli,
3249 if (!NT_STATUS_IS_OK(status)) {
3253 if (DEBUGLEVEL >= 10) {
3254 NDR_PRINT_OUT_DEBUG(spoolss_44, &r);
3257 if (NT_STATUS_IS_ERR(status)) {
3261 /* Return variables */
3265 *werror = r.out.result;
3268 return werror_to_ntstatus(r.out.result);
3271 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
3272 TALLOC_CTX *mem_ctx,
3273 const char *printername /* [in] [unique,charset(UTF16)] */,
3274 const char *datatype /* [in] [unique,charset(UTF16)] */,
3275 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3276 uint32_t access_mask /* [in] */,
3277 uint32_t level /* [in] */,
3278 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
3279 struct policy_handle *handle /* [out] [ref] */,
3282 struct spoolss_OpenPrinterEx r;
3286 r.in.printername = printername;
3287 r.in.datatype = datatype;
3288 r.in.devmode_ctr = devmode_ctr;
3289 r.in.access_mask = access_mask;
3291 r.in.userlevel = userlevel;
3293 if (DEBUGLEVEL >= 10) {
3294 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, &r);
3297 status = cli->dispatch(cli,
3300 NDR_SPOOLSS_OPENPRINTEREX,
3303 if (!NT_STATUS_IS_OK(status)) {
3307 if (DEBUGLEVEL >= 10) {
3308 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, &r);
3311 if (NT_STATUS_IS_ERR(status)) {
3315 /* Return variables */
3316 *handle = *r.out.handle;
3320 *werror = r.out.result;
3323 return werror_to_ntstatus(r.out.result);
3326 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
3327 TALLOC_CTX *mem_ctx,
3328 const char *server /* [in] [unique,charset(UTF16)] */,
3329 struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */,
3330 struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */,
3331 struct sec_desc_buf *secdesc_ctr /* [in] [ref] */,
3332 struct spoolss_UserLevelCtr *userlevel_ctr /* [in] [ref] */,
3333 struct policy_handle *handle /* [out] [ref] */,
3336 struct spoolss_AddPrinterEx r;
3340 r.in.server = server;
3341 r.in.info_ctr = info_ctr;
3342 r.in.devmode_ctr = devmode_ctr;
3343 r.in.secdesc_ctr = secdesc_ctr;
3344 r.in.userlevel_ctr = userlevel_ctr;
3346 if (DEBUGLEVEL >= 10) {
3347 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, &r);
3350 status = cli->dispatch(cli,
3353 NDR_SPOOLSS_ADDPRINTEREX,
3356 if (!NT_STATUS_IS_OK(status)) {
3360 if (DEBUGLEVEL >= 10) {
3361 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, &r);
3364 if (NT_STATUS_IS_ERR(status)) {
3368 /* Return variables */
3369 *handle = *r.out.handle;
3373 *werror = r.out.result;
3376 return werror_to_ntstatus(r.out.result);
3379 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
3380 TALLOC_CTX *mem_ctx,
3383 struct spoolss_47 r;
3388 if (DEBUGLEVEL >= 10) {
3389 NDR_PRINT_IN_DEBUG(spoolss_47, &r);
3392 status = cli->dispatch(cli,
3398 if (!NT_STATUS_IS_OK(status)) {
3402 if (DEBUGLEVEL >= 10) {
3403 NDR_PRINT_OUT_DEBUG(spoolss_47, &r);
3406 if (NT_STATUS_IS_ERR(status)) {
3410 /* Return variables */
3414 *werror = r.out.result;
3417 return werror_to_ntstatus(r.out.result);
3420 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
3421 TALLOC_CTX *mem_ctx,
3422 struct policy_handle *handle /* [in] [ref] */,
3423 uint32_t enum_index /* [in] */,
3424 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
3425 uint32_t value_offered /* [in] */,
3426 uint32_t *value_needed /* [out] [ref] */,
3427 uint32_t *printerdata_type /* [out] [ref] */,
3428 DATA_BLOB *buffer /* [out] [ref] */,
3429 uint32_t data_offered /* [in] */,
3430 uint32_t *data_needed /* [out] [ref] */,
3433 struct spoolss_EnumPrinterData r;
3437 r.in.handle = handle;
3438 r.in.enum_index = enum_index;
3439 r.in.value_offered = value_offered;
3440 r.in.data_offered = data_offered;
3442 if (DEBUGLEVEL >= 10) {
3443 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, &r);
3446 status = cli->dispatch(cli,
3449 NDR_SPOOLSS_ENUMPRINTERDATA,
3452 if (!NT_STATUS_IS_OK(status)) {
3456 if (DEBUGLEVEL >= 10) {
3457 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, &r);
3460 if (NT_STATUS_IS_ERR(status)) {
3464 /* Return variables */
3465 memcpy(CONST_DISCARD(char *, value_name), r.out.value_name, r.in.value_offered / 2 * sizeof(*value_name));
3466 *value_needed = *r.out.value_needed;
3467 *printerdata_type = *r.out.printerdata_type;
3468 *buffer = *r.out.buffer;
3469 *data_needed = *r.out.data_needed;
3473 *werror = r.out.result;
3476 return werror_to_ntstatus(r.out.result);
3479 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
3480 TALLOC_CTX *mem_ctx,
3481 struct policy_handle *handle /* [in] [ref] */,
3482 const char *value_name /* [in] [charset(UTF16)] */,
3485 struct spoolss_DeletePrinterData r;
3489 r.in.handle = handle;
3490 r.in.value_name = value_name;
3492 if (DEBUGLEVEL >= 10) {
3493 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, &r);
3496 status = cli->dispatch(cli,
3499 NDR_SPOOLSS_DELETEPRINTERDATA,
3502 if (!NT_STATUS_IS_OK(status)) {
3506 if (DEBUGLEVEL >= 10) {
3507 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, &r);
3510 if (NT_STATUS_IS_ERR(status)) {
3514 /* Return variables */
3518 *werror = r.out.result;
3521 return werror_to_ntstatus(r.out.result);
3524 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
3525 TALLOC_CTX *mem_ctx,
3528 struct spoolss_4a r;
3533 if (DEBUGLEVEL >= 10) {
3534 NDR_PRINT_IN_DEBUG(spoolss_4a, &r);
3537 status = cli->dispatch(cli,
3543 if (!NT_STATUS_IS_OK(status)) {
3547 if (DEBUGLEVEL >= 10) {
3548 NDR_PRINT_OUT_DEBUG(spoolss_4a, &r);
3551 if (NT_STATUS_IS_ERR(status)) {
3555 /* Return variables */
3559 *werror = r.out.result;
3562 return werror_to_ntstatus(r.out.result);
3565 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
3566 TALLOC_CTX *mem_ctx,
3569 struct spoolss_4b r;
3574 if (DEBUGLEVEL >= 10) {
3575 NDR_PRINT_IN_DEBUG(spoolss_4b, &r);
3578 status = cli->dispatch(cli,
3584 if (!NT_STATUS_IS_OK(status)) {
3588 if (DEBUGLEVEL >= 10) {
3589 NDR_PRINT_OUT_DEBUG(spoolss_4b, &r);
3592 if (NT_STATUS_IS_ERR(status)) {
3596 /* Return variables */
3600 *werror = r.out.result;
3603 return werror_to_ntstatus(r.out.result);
3606 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
3607 TALLOC_CTX *mem_ctx,
3610 struct spoolss_4c r;
3615 if (DEBUGLEVEL >= 10) {
3616 NDR_PRINT_IN_DEBUG(spoolss_4c, &r);
3619 status = cli->dispatch(cli,
3625 if (!NT_STATUS_IS_OK(status)) {
3629 if (DEBUGLEVEL >= 10) {
3630 NDR_PRINT_OUT_DEBUG(spoolss_4c, &r);
3633 if (NT_STATUS_IS_ERR(status)) {
3637 /* Return variables */
3641 *werror = r.out.result;
3644 return werror_to_ntstatus(r.out.result);
3647 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
3648 TALLOC_CTX *mem_ctx,
3649 struct policy_handle *handle /* [in] [ref] */,
3650 const char *key_name /* [in] [charset(UTF16)] */,
3651 const char *value_name /* [in] [charset(UTF16)] */,
3652 uint32_t type /* [in] */,
3653 uint8_t *buffer /* [in] [ref,size_is(offered)] */,
3654 uint32_t offered /* [in] */,
3657 struct spoolss_SetPrinterDataEx r;
3661 r.in.handle = handle;
3662 r.in.key_name = key_name;
3663 r.in.value_name = value_name;
3665 r.in.buffer = buffer;
3666 r.in.offered = offered;
3668 if (DEBUGLEVEL >= 10) {
3669 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, &r);
3672 status = cli->dispatch(cli,
3675 NDR_SPOOLSS_SETPRINTERDATAEX,
3678 if (!NT_STATUS_IS_OK(status)) {
3682 if (DEBUGLEVEL >= 10) {
3683 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, &r);
3686 if (NT_STATUS_IS_ERR(status)) {
3690 /* Return variables */
3694 *werror = r.out.result;
3697 return werror_to_ntstatus(r.out.result);
3700 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
3701 TALLOC_CTX *mem_ctx,
3702 struct policy_handle *handle /* [in] [ref] */,
3703 const char *key_name /* [in] [charset(UTF16)] */,
3704 const char *value_name /* [in] [charset(UTF16)] */,
3705 uint32_t *type /* [out] [ref] */,
3706 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3707 uint32_t offered /* [in] */,
3708 uint32_t *needed /* [out] [ref] */,
3711 struct spoolss_GetPrinterDataEx r;
3715 r.in.handle = handle;
3716 r.in.key_name = key_name;
3717 r.in.value_name = value_name;
3718 r.in.offered = offered;
3720 if (DEBUGLEVEL >= 10) {
3721 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, &r);
3724 status = cli->dispatch(cli,
3727 NDR_SPOOLSS_GETPRINTERDATAEX,
3730 if (!NT_STATUS_IS_OK(status)) {
3734 if (DEBUGLEVEL >= 10) {
3735 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, &r);
3738 if (NT_STATUS_IS_ERR(status)) {
3742 /* Return variables */
3743 *type = *r.out.type;
3744 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3745 *needed = *r.out.needed;
3749 *werror = r.out.result;
3752 return werror_to_ntstatus(r.out.result);
3755 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
3756 TALLOC_CTX *mem_ctx,
3757 struct policy_handle *handle /* [in] [ref] */,
3758 const char *key_name /* [in] [charset(UTF16)] */,
3759 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3760 uint32_t offered /* [in] */,
3761 uint32_t *needed /* [out] [ref] */,
3762 uint32_t *count /* [out] [ref] */,
3765 struct spoolss_EnumPrinterDataEx r;
3769 r.in.handle = handle;
3770 r.in.key_name = key_name;
3771 r.in.offered = offered;
3773 if (DEBUGLEVEL >= 10) {
3774 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, &r);
3777 status = cli->dispatch(cli,
3780 NDR_SPOOLSS_ENUMPRINTERDATAEX,
3783 if (!NT_STATUS_IS_OK(status)) {
3787 if (DEBUGLEVEL >= 10) {
3788 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, &r);
3791 if (NT_STATUS_IS_ERR(status)) {
3795 /* Return variables */
3796 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3797 *needed = *r.out.needed;
3798 *count = *r.out.count;
3802 *werror = r.out.result;
3805 return werror_to_ntstatus(r.out.result);
3808 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
3809 TALLOC_CTX *mem_ctx,
3810 struct policy_handle *handle /* [in] [ref] */,
3811 const char *key_name /* [in] [charset(UTF16)] */,
3812 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
3813 uint32_t key_buffer_size /* [in] */,
3814 uint32_t *needed /* [out] [ref] */,
3817 struct spoolss_EnumPrinterKey r;
3821 r.in.handle = handle;
3822 r.in.key_name = key_name;
3823 r.in.key_buffer_size = key_buffer_size;
3825 if (DEBUGLEVEL >= 10) {
3826 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, &r);
3829 status = cli->dispatch(cli,
3832 NDR_SPOOLSS_ENUMPRINTERKEY,
3835 if (!NT_STATUS_IS_OK(status)) {
3839 if (DEBUGLEVEL >= 10) {
3840 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, &r);
3843 if (NT_STATUS_IS_ERR(status)) {
3847 /* Return variables */
3848 memcpy(key_buffer, r.out.key_buffer, r.in.key_buffer_size / 2 * sizeof(*key_buffer));
3849 *needed = *r.out.needed;
3853 *werror = r.out.result;
3856 return werror_to_ntstatus(r.out.result);
3859 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
3860 TALLOC_CTX *mem_ctx,
3861 struct policy_handle *handle /* [in] [ref] */,
3862 const char *key_name /* [in] [charset(UTF16)] */,
3863 const char *value_name /* [in] [charset(UTF16)] */,
3866 struct spoolss_DeletePrinterDataEx r;
3870 r.in.handle = handle;
3871 r.in.key_name = key_name;
3872 r.in.value_name = value_name;
3874 if (DEBUGLEVEL >= 10) {
3875 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, &r);
3878 status = cli->dispatch(cli,
3881 NDR_SPOOLSS_DELETEPRINTERDATAEX,
3884 if (!NT_STATUS_IS_OK(status)) {
3888 if (DEBUGLEVEL >= 10) {
3889 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, &r);
3892 if (NT_STATUS_IS_ERR(status)) {
3896 /* Return variables */
3900 *werror = r.out.result;
3903 return werror_to_ntstatus(r.out.result);
3906 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
3907 TALLOC_CTX *mem_ctx,
3908 struct policy_handle *handle /* [in] [ref] */,
3909 const char *key_name /* [in] [charset(UTF16)] */,
3912 struct spoolss_DeletePrinterKey r;
3916 r.in.handle = handle;
3917 r.in.key_name = key_name;
3919 if (DEBUGLEVEL >= 10) {
3920 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
3923 status = cli->dispatch(cli,
3926 NDR_SPOOLSS_DELETEPRINTERKEY,
3929 if (!NT_STATUS_IS_OK(status)) {
3933 if (DEBUGLEVEL >= 10) {
3934 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, &r);
3937 if (NT_STATUS_IS_ERR(status)) {
3941 /* Return variables */
3945 *werror = r.out.result;
3948 return werror_to_ntstatus(r.out.result);
3951 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
3952 TALLOC_CTX *mem_ctx,
3955 struct spoolss_53 r;
3960 if (DEBUGLEVEL >= 10) {
3961 NDR_PRINT_IN_DEBUG(spoolss_53, &r);
3964 status = cli->dispatch(cli,
3970 if (!NT_STATUS_IS_OK(status)) {
3974 if (DEBUGLEVEL >= 10) {
3975 NDR_PRINT_OUT_DEBUG(spoolss_53, &r);
3978 if (NT_STATUS_IS_ERR(status)) {
3982 /* Return variables */
3986 *werror = r.out.result;
3989 return werror_to_ntstatus(r.out.result);
3992 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
3993 TALLOC_CTX *mem_ctx,
3994 const char *server /* [in] [unique,charset(UTF16)] */,
3995 const char *architecture /* [in] [charset(UTF16)] */,
3996 const char *driver /* [in] [charset(UTF16)] */,
3997 uint32_t delete_flags /* [in] */,
3998 uint32_t version /* [in] */,
4001 struct spoolss_DeletePrinterDriverEx r;
4005 r.in.server = server;
4006 r.in.architecture = architecture;
4007 r.in.driver = driver;
4008 r.in.delete_flags = delete_flags;
4009 r.in.version = version;
4011 if (DEBUGLEVEL >= 10) {
4012 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
4015 status = cli->dispatch(cli,
4018 NDR_SPOOLSS_DELETEPRINTERDRIVEREX,
4021 if (!NT_STATUS_IS_OK(status)) {
4025 if (DEBUGLEVEL >= 10) {
4026 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, &r);
4029 if (NT_STATUS_IS_ERR(status)) {
4033 /* Return variables */
4037 *werror = r.out.result;
4040 return werror_to_ntstatus(r.out.result);
4043 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
4044 TALLOC_CTX *mem_ctx,
4047 struct spoolss_55 r;
4052 if (DEBUGLEVEL >= 10) {
4053 NDR_PRINT_IN_DEBUG(spoolss_55, &r);
4056 status = cli->dispatch(cli,
4062 if (!NT_STATUS_IS_OK(status)) {
4066 if (DEBUGLEVEL >= 10) {
4067 NDR_PRINT_OUT_DEBUG(spoolss_55, &r);
4070 if (NT_STATUS_IS_ERR(status)) {
4074 /* Return variables */
4078 *werror = r.out.result;
4081 return werror_to_ntstatus(r.out.result);
4084 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
4085 TALLOC_CTX *mem_ctx,
4088 struct spoolss_56 r;
4093 if (DEBUGLEVEL >= 10) {
4094 NDR_PRINT_IN_DEBUG(spoolss_56, &r);
4097 status = cli->dispatch(cli,
4103 if (!NT_STATUS_IS_OK(status)) {
4107 if (DEBUGLEVEL >= 10) {
4108 NDR_PRINT_OUT_DEBUG(spoolss_56, &r);
4111 if (NT_STATUS_IS_ERR(status)) {
4115 /* Return variables */
4119 *werror = r.out.result;
4122 return werror_to_ntstatus(r.out.result);
4125 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
4126 TALLOC_CTX *mem_ctx,
4129 struct spoolss_57 r;
4134 if (DEBUGLEVEL >= 10) {
4135 NDR_PRINT_IN_DEBUG(spoolss_57, &r);
4138 status = cli->dispatch(cli,
4144 if (!NT_STATUS_IS_OK(status)) {
4148 if (DEBUGLEVEL >= 10) {
4149 NDR_PRINT_OUT_DEBUG(spoolss_57, &r);
4152 if (NT_STATUS_IS_ERR(status)) {
4156 /* Return variables */
4160 *werror = r.out.result;
4163 return werror_to_ntstatus(r.out.result);
4166 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
4167 TALLOC_CTX *mem_ctx,
4168 struct policy_handle *handle /* [in] [ref] */,
4169 const char *function_name /* [in] [charset(UTF16)] */,
4170 DATA_BLOB in_data /* [in] */,
4171 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
4172 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
4173 uint32_t out_data_size /* [in] */,
4174 uint32_t *needed /* [out] [ref] */,
4175 uint32_t *status_code /* [in,out] [ref] */,
4178 struct spoolss_XcvData r;
4182 r.in.handle = handle;
4183 r.in.function_name = function_name;
4184 r.in.in_data = in_data;
4185 r.in._in_data_length = _in_data_length;
4186 r.in.out_data_size = out_data_size;
4187 r.in.status_code = status_code;
4189 if (DEBUGLEVEL >= 10) {
4190 NDR_PRINT_IN_DEBUG(spoolss_XcvData, &r);
4193 status = cli->dispatch(cli,
4196 NDR_SPOOLSS_XCVDATA,
4199 if (!NT_STATUS_IS_OK(status)) {
4203 if (DEBUGLEVEL >= 10) {
4204 NDR_PRINT_OUT_DEBUG(spoolss_XcvData, &r);
4207 if (NT_STATUS_IS_ERR(status)) {
4211 /* Return variables */
4212 memcpy(out_data, r.out.out_data, r.in.out_data_size * sizeof(*out_data));
4213 *needed = *r.out.needed;
4214 *status_code = *r.out.status_code;
4218 *werror = r.out.result;
4221 return werror_to_ntstatus(r.out.result);
4224 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
4225 TALLOC_CTX *mem_ctx,
4226 const char *servername /* [in] [unique,charset(UTF16)] */,
4227 struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */,
4228 uint32_t flags /* [in] */,
4231 struct spoolss_AddPrinterDriverEx r;
4235 r.in.servername = servername;
4236 r.in.info_ctr = info_ctr;
4239 if (DEBUGLEVEL >= 10) {
4240 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
4243 status = cli->dispatch(cli,
4246 NDR_SPOOLSS_ADDPRINTERDRIVEREX,
4249 if (!NT_STATUS_IS_OK(status)) {
4253 if (DEBUGLEVEL >= 10) {
4254 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, &r);
4257 if (NT_STATUS_IS_ERR(status)) {
4261 /* Return variables */
4265 *werror = r.out.result;
4268 return werror_to_ntstatus(r.out.result);
4271 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
4272 TALLOC_CTX *mem_ctx,
4275 struct spoolss_5a r;
4280 if (DEBUGLEVEL >= 10) {
4281 NDR_PRINT_IN_DEBUG(spoolss_5a, &r);
4284 status = cli->dispatch(cli,
4290 if (!NT_STATUS_IS_OK(status)) {
4294 if (DEBUGLEVEL >= 10) {
4295 NDR_PRINT_OUT_DEBUG(spoolss_5a, &r);
4298 if (NT_STATUS_IS_ERR(status)) {
4302 /* Return variables */
4306 *werror = r.out.result;
4309 return werror_to_ntstatus(r.out.result);
4312 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
4313 TALLOC_CTX *mem_ctx,
4316 struct spoolss_5b r;
4321 if (DEBUGLEVEL >= 10) {
4322 NDR_PRINT_IN_DEBUG(spoolss_5b, &r);
4325 status = cli->dispatch(cli,
4331 if (!NT_STATUS_IS_OK(status)) {
4335 if (DEBUGLEVEL >= 10) {
4336 NDR_PRINT_OUT_DEBUG(spoolss_5b, &r);
4339 if (NT_STATUS_IS_ERR(status)) {
4343 /* Return variables */
4347 *werror = r.out.result;
4350 return werror_to_ntstatus(r.out.result);
4353 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
4354 TALLOC_CTX *mem_ctx,
4357 struct spoolss_5c r;
4362 if (DEBUGLEVEL >= 10) {
4363 NDR_PRINT_IN_DEBUG(spoolss_5c, &r);
4366 status = cli->dispatch(cli,
4372 if (!NT_STATUS_IS_OK(status)) {
4376 if (DEBUGLEVEL >= 10) {
4377 NDR_PRINT_OUT_DEBUG(spoolss_5c, &r);
4380 if (NT_STATUS_IS_ERR(status)) {
4384 /* Return variables */
4388 *werror = r.out.result;
4391 return werror_to_ntstatus(r.out.result);
4394 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
4395 TALLOC_CTX *mem_ctx,
4398 struct spoolss_5d r;
4403 if (DEBUGLEVEL >= 10) {
4404 NDR_PRINT_IN_DEBUG(spoolss_5d, &r);
4407 status = cli->dispatch(cli,
4413 if (!NT_STATUS_IS_OK(status)) {
4417 if (DEBUGLEVEL >= 10) {
4418 NDR_PRINT_OUT_DEBUG(spoolss_5d, &r);
4421 if (NT_STATUS_IS_ERR(status)) {
4425 /* Return variables */
4429 *werror = r.out.result;
4432 return werror_to_ntstatus(r.out.result);
4435 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
4436 TALLOC_CTX *mem_ctx,
4439 struct spoolss_5e r;
4444 if (DEBUGLEVEL >= 10) {
4445 NDR_PRINT_IN_DEBUG(spoolss_5e, &r);
4448 status = cli->dispatch(cli,
4454 if (!NT_STATUS_IS_OK(status)) {
4458 if (DEBUGLEVEL >= 10) {
4459 NDR_PRINT_OUT_DEBUG(spoolss_5e, &r);
4462 if (NT_STATUS_IS_ERR(status)) {
4466 /* Return variables */
4470 *werror = r.out.result;
4473 return werror_to_ntstatus(r.out.result);
4476 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
4477 TALLOC_CTX *mem_ctx,
4480 struct spoolss_5f r;
4485 if (DEBUGLEVEL >= 10) {
4486 NDR_PRINT_IN_DEBUG(spoolss_5f, &r);
4489 status = cli->dispatch(cli,
4495 if (!NT_STATUS_IS_OK(status)) {
4499 if (DEBUGLEVEL >= 10) {
4500 NDR_PRINT_OUT_DEBUG(spoolss_5f, &r);
4503 if (NT_STATUS_IS_ERR(status)) {
4507 /* Return variables */
4511 *werror = r.out.result;
4514 return werror_to_ntstatus(r.out.result);