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 union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
17 uint32_t *needed /* [out] [ref] */,
18 uint32_t count /* [out] */,
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 if (info && r.out.info) {
55 memcpy(info, r.out.info, count * sizeof(*info));
57 *needed = *r.out.needed;
58 return NT_STATUS_NOT_SUPPORTED;
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 union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
234 uint32_t *needed /* [out] [ref] */,
235 uint32_t count /* [out] */,
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 if (info && r.out.info) {
273 memcpy(info, r.out.info, count * sizeof(*info));
275 *needed = *r.out.needed;
276 return NT_STATUS_NOT_SUPPORTED;
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 uint32_t level /* [in] */,
374 union spoolss_SetPrinterInfo info /* [in] [switch_is(level)] */,
375 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
376 struct sec_desc_buf secdesc_ctr /* [in] */,
377 enum spoolss_PrinterControl command /* [in] */,
380 struct spoolss_SetPrinter r;
384 r.in.handle = handle;
387 r.in.devmode_ctr = devmode_ctr;
388 r.in.secdesc_ctr = secdesc_ctr;
389 r.in.command = command;
391 if (DEBUGLEVEL >= 10) {
392 NDR_PRINT_IN_DEBUG(spoolss_SetPrinter, &r);
395 status = cli->dispatch(cli,
398 NDR_SPOOLSS_SETPRINTER,
401 if (!NT_STATUS_IS_OK(status)) {
405 if (DEBUGLEVEL >= 10) {
406 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinter, &r);
409 if (NT_STATUS_IS_ERR(status)) {
413 /* Return variables */
417 *werror = r.out.result;
420 return werror_to_ntstatus(r.out.result);
423 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
425 struct policy_handle *handle /* [in] [ref] */,
426 uint32_t level /* [in] */,
427 DATA_BLOB *buffer /* [in] [unique] */,
428 uint32_t offered /* [in] */,
429 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
430 uint32_t *needed /* [out] [ref] */,
433 struct spoolss_GetPrinter r;
437 r.in.handle = handle;
439 r.in.buffer = buffer;
440 r.in.offered = offered;
442 if (DEBUGLEVEL >= 10) {
443 NDR_PRINT_IN_DEBUG(spoolss_GetPrinter, &r);
446 status = cli->dispatch(cli,
449 NDR_SPOOLSS_GETPRINTER,
452 if (!NT_STATUS_IS_OK(status)) {
456 if (DEBUGLEVEL >= 10) {
457 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinter, &r);
460 if (NT_STATUS_IS_ERR(status)) {
464 /* Return variables */
465 if (info && r.out.info) {
468 *needed = *r.out.needed;
472 *werror = r.out.result;
475 return werror_to_ntstatus(r.out.result);
478 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
482 struct spoolss_AddPrinterDriver r;
487 if (DEBUGLEVEL >= 10) {
488 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
491 status = cli->dispatch(cli,
494 NDR_SPOOLSS_ADDPRINTERDRIVER,
497 if (!NT_STATUS_IS_OK(status)) {
501 if (DEBUGLEVEL >= 10) {
502 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, &r);
505 if (NT_STATUS_IS_ERR(status)) {
509 /* Return variables */
513 *werror = r.out.result;
516 return werror_to_ntstatus(r.out.result);
519 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
521 const char *server /* [in] [unique,charset(UTF16)] */,
522 const char *environment /* [in] [unique,charset(UTF16)] */,
523 uint32_t level /* [in] */,
524 DATA_BLOB *buffer /* [in] [unique] */,
525 uint32_t offered /* [in] */,
526 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
527 uint32_t *needed /* [out] [ref] */,
528 uint32_t count /* [out] */,
531 struct spoolss_EnumPrinterDrivers r;
535 r.in.server = server;
536 r.in.environment = environment;
538 r.in.buffer = buffer;
539 r.in.offered = offered;
541 if (DEBUGLEVEL >= 10) {
542 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, &r);
545 status = cli->dispatch(cli,
548 NDR_SPOOLSS_ENUMPRINTERDRIVERS,
551 if (!NT_STATUS_IS_OK(status)) {
555 if (DEBUGLEVEL >= 10) {
556 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, &r);
559 if (NT_STATUS_IS_ERR(status)) {
563 /* Return variables */
564 if (info && r.out.info) {
565 memcpy(info, r.out.info, count * sizeof(*info));
567 *needed = *r.out.needed;
568 return NT_STATUS_NOT_SUPPORTED;
572 *werror = r.out.result;
575 return werror_to_ntstatus(r.out.result);
578 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
582 struct spoolss_GetPrinterDriver r;
587 if (DEBUGLEVEL >= 10) {
588 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, &r);
591 status = cli->dispatch(cli,
594 NDR_SPOOLSS_GETPRINTERDRIVER,
597 if (!NT_STATUS_IS_OK(status)) {
601 if (DEBUGLEVEL >= 10) {
602 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, &r);
605 if (NT_STATUS_IS_ERR(status)) {
609 /* Return variables */
613 *werror = r.out.result;
616 return werror_to_ntstatus(r.out.result);
619 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
621 const char *server /* [in] [unique,charset(UTF16)] */,
622 const char *environment /* [in] [unique,charset(UTF16)] */,
623 uint32_t level /* [in] */,
624 DATA_BLOB *buffer /* [in] [unique] */,
625 uint32_t offered /* [in] */,
626 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
627 uint32_t *needed /* [out] [ref] */,
630 struct spoolss_GetPrinterDriverDirectory r;
634 r.in.server = server;
635 r.in.environment = environment;
637 r.in.buffer = buffer;
638 r.in.offered = offered;
640 if (DEBUGLEVEL >= 10) {
641 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
644 status = cli->dispatch(cli,
647 NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY,
650 if (!NT_STATUS_IS_OK(status)) {
654 if (DEBUGLEVEL >= 10) {
655 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
658 if (NT_STATUS_IS_ERR(status)) {
662 /* Return variables */
663 if (info && r.out.info) {
666 *needed = *r.out.needed;
670 *werror = r.out.result;
673 return werror_to_ntstatus(r.out.result);
676 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
678 const char *server /* [in] [unique,charset(UTF16)] */,
679 const char *architecture /* [in] [charset(UTF16)] */,
680 const char *driver /* [in] [charset(UTF16)] */,
683 struct spoolss_DeletePrinterDriver r;
687 r.in.server = server;
688 r.in.architecture = architecture;
689 r.in.driver = driver;
691 if (DEBUGLEVEL >= 10) {
692 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, &r);
695 status = cli->dispatch(cli,
698 NDR_SPOOLSS_DELETEPRINTERDRIVER,
701 if (!NT_STATUS_IS_OK(status)) {
705 if (DEBUGLEVEL >= 10) {
706 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, &r);
709 if (NT_STATUS_IS_ERR(status)) {
713 /* Return variables */
717 *werror = r.out.result;
720 return werror_to_ntstatus(r.out.result);
723 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
725 const char *server /* [in] [unique,charset(UTF16)] */,
726 const char *architecture /* [in] [charset(UTF16)] */,
727 const char *path_name /* [in] [charset(UTF16)] */,
728 const char *print_processor_name /* [in] [charset(UTF16)] */,
731 struct spoolss_AddPrintProcessor r;
735 r.in.server = server;
736 r.in.architecture = architecture;
737 r.in.path_name = path_name;
738 r.in.print_processor_name = print_processor_name;
740 if (DEBUGLEVEL >= 10) {
741 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
744 status = cli->dispatch(cli,
747 NDR_SPOOLSS_ADDPRINTPROCESSOR,
750 if (!NT_STATUS_IS_OK(status)) {
754 if (DEBUGLEVEL >= 10) {
755 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, &r);
758 if (NT_STATUS_IS_ERR(status)) {
762 /* Return variables */
766 *werror = r.out.result;
769 return werror_to_ntstatus(r.out.result);
772 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
774 const char *servername /* [in] [unique,charset(UTF16)] */,
775 const char *environment /* [in] [unique,charset(UTF16)] */,
776 uint32_t level /* [in] */,
777 DATA_BLOB *buffer /* [in] [unique] */,
778 uint32_t offered /* [in] */,
779 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
780 uint32_t *needed /* [out] [ref] */,
781 uint32_t count /* [out] */,
784 struct spoolss_EnumPrintProcessors r;
788 r.in.servername = servername;
789 r.in.environment = environment;
791 r.in.buffer = buffer;
792 r.in.offered = offered;
794 if (DEBUGLEVEL >= 10) {
795 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, &r);
798 status = cli->dispatch(cli,
801 NDR_SPOOLSS_ENUMPRINTPROCESSORS,
804 if (!NT_STATUS_IS_OK(status)) {
808 if (DEBUGLEVEL >= 10) {
809 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, &r);
812 if (NT_STATUS_IS_ERR(status)) {
816 /* Return variables */
817 if (info && r.out.info) {
818 memcpy(info, r.out.info, count * sizeof(*info));
820 *needed = *r.out.needed;
821 return NT_STATUS_NOT_SUPPORTED;
825 *werror = r.out.result;
828 return werror_to_ntstatus(r.out.result);
831 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
835 struct spoolss_GetPrintProcessorDirectory r;
840 if (DEBUGLEVEL >= 10) {
841 NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
844 status = cli->dispatch(cli,
847 NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY,
850 if (!NT_STATUS_IS_OK(status)) {
854 if (DEBUGLEVEL >= 10) {
855 NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
858 if (NT_STATUS_IS_ERR(status)) {
862 /* Return variables */
866 *werror = r.out.result;
869 return werror_to_ntstatus(r.out.result);
872 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
874 struct policy_handle *handle /* [in] [ref] */,
875 uint32_t level /* [in] */,
876 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
877 uint32_t *job_id /* [out] [ref] */,
880 struct spoolss_StartDocPrinter r;
884 r.in.handle = handle;
888 if (DEBUGLEVEL >= 10) {
889 NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, &r);
892 status = cli->dispatch(cli,
895 NDR_SPOOLSS_STARTDOCPRINTER,
898 if (!NT_STATUS_IS_OK(status)) {
902 if (DEBUGLEVEL >= 10) {
903 NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, &r);
906 if (NT_STATUS_IS_ERR(status)) {
910 /* Return variables */
911 *job_id = *r.out.job_id;
915 *werror = r.out.result;
918 return werror_to_ntstatus(r.out.result);
921 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
923 struct policy_handle *handle /* [in] [ref] */,
926 struct spoolss_StartPagePrinter r;
930 r.in.handle = handle;
932 if (DEBUGLEVEL >= 10) {
933 NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, &r);
936 status = cli->dispatch(cli,
939 NDR_SPOOLSS_STARTPAGEPRINTER,
942 if (!NT_STATUS_IS_OK(status)) {
946 if (DEBUGLEVEL >= 10) {
947 NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, &r);
950 if (NT_STATUS_IS_ERR(status)) {
954 /* Return variables */
958 *werror = r.out.result;
961 return werror_to_ntstatus(r.out.result);
964 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
966 struct policy_handle *handle /* [in] [ref] */,
967 DATA_BLOB data /* [in] */,
968 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
969 uint32_t *num_written /* [out] [ref] */,
972 struct spoolss_WritePrinter r;
976 r.in.handle = handle;
978 r.in._data_size = _data_size;
980 if (DEBUGLEVEL >= 10) {
981 NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, &r);
984 status = cli->dispatch(cli,
987 NDR_SPOOLSS_WRITEPRINTER,
990 if (!NT_STATUS_IS_OK(status)) {
994 if (DEBUGLEVEL >= 10) {
995 NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, &r);
998 if (NT_STATUS_IS_ERR(status)) {
1002 /* Return variables */
1003 *num_written = *r.out.num_written;
1007 *werror = r.out.result;
1010 return werror_to_ntstatus(r.out.result);
1013 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
1014 TALLOC_CTX *mem_ctx,
1015 struct policy_handle *handle /* [in] [ref] */,
1018 struct spoolss_EndPagePrinter r;
1022 r.in.handle = handle;
1024 if (DEBUGLEVEL >= 10) {
1025 NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, &r);
1028 status = cli->dispatch(cli,
1031 NDR_SPOOLSS_ENDPAGEPRINTER,
1034 if (!NT_STATUS_IS_OK(status)) {
1038 if (DEBUGLEVEL >= 10) {
1039 NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, &r);
1042 if (NT_STATUS_IS_ERR(status)) {
1046 /* Return variables */
1050 *werror = r.out.result;
1053 return werror_to_ntstatus(r.out.result);
1056 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
1057 TALLOC_CTX *mem_ctx,
1058 struct policy_handle *handle /* [in] [ref] */,
1061 struct spoolss_AbortPrinter r;
1065 r.in.handle = handle;
1067 if (DEBUGLEVEL >= 10) {
1068 NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, &r);
1071 status = cli->dispatch(cli,
1074 NDR_SPOOLSS_ABORTPRINTER,
1077 if (!NT_STATUS_IS_OK(status)) {
1081 if (DEBUGLEVEL >= 10) {
1082 NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, &r);
1085 if (NT_STATUS_IS_ERR(status)) {
1089 /* Return variables */
1093 *werror = r.out.result;
1096 return werror_to_ntstatus(r.out.result);
1099 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
1100 TALLOC_CTX *mem_ctx,
1101 struct policy_handle *handle /* [in] [ref] */,
1102 uint8_t *data /* [out] [ref,size_is(data_size)] */,
1103 uint32_t data_size /* [in] */,
1104 uint32_t *_data_size /* [out] [ref] */,
1107 struct spoolss_ReadPrinter r;
1111 r.in.handle = handle;
1112 r.in.data_size = data_size;
1114 if (DEBUGLEVEL >= 10) {
1115 NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, &r);
1118 status = cli->dispatch(cli,
1121 NDR_SPOOLSS_READPRINTER,
1124 if (!NT_STATUS_IS_OK(status)) {
1128 if (DEBUGLEVEL >= 10) {
1129 NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, &r);
1132 if (NT_STATUS_IS_ERR(status)) {
1136 /* Return variables */
1137 memcpy(data, r.out.data, r.in.data_size * sizeof(*data));
1138 *_data_size = *r.out._data_size;
1142 *werror = r.out.result;
1145 return werror_to_ntstatus(r.out.result);
1148 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
1149 TALLOC_CTX *mem_ctx,
1150 struct policy_handle *handle /* [in] [ref] */,
1153 struct spoolss_EndDocPrinter r;
1157 r.in.handle = handle;
1159 if (DEBUGLEVEL >= 10) {
1160 NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, &r);
1163 status = cli->dispatch(cli,
1166 NDR_SPOOLSS_ENDDOCPRINTER,
1169 if (!NT_STATUS_IS_OK(status)) {
1173 if (DEBUGLEVEL >= 10) {
1174 NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, &r);
1177 if (NT_STATUS_IS_ERR(status)) {
1181 /* Return variables */
1185 *werror = r.out.result;
1188 return werror_to_ntstatus(r.out.result);
1191 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
1192 TALLOC_CTX *mem_ctx,
1193 struct policy_handle *handle /* [in] [ref] */,
1194 uint32_t level /* [in] */,
1195 uint8_t *buffer /* [in,out] [unique,size_is(offered)] */,
1196 uint32_t offered /* [in] */,
1197 uint32_t *needed /* [out] [ref] */,
1200 struct spoolss_AddJob r;
1204 r.in.handle = handle;
1206 r.in.buffer = buffer;
1207 r.in.offered = offered;
1209 if (DEBUGLEVEL >= 10) {
1210 NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
1213 status = cli->dispatch(cli,
1219 if (!NT_STATUS_IS_OK(status)) {
1223 if (DEBUGLEVEL >= 10) {
1224 NDR_PRINT_OUT_DEBUG(spoolss_AddJob, &r);
1227 if (NT_STATUS_IS_ERR(status)) {
1231 /* Return variables */
1232 if (buffer && r.out.buffer) {
1233 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
1235 *needed = *r.out.needed;
1239 *werror = r.out.result;
1242 return werror_to_ntstatus(r.out.result);
1245 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
1246 TALLOC_CTX *mem_ctx,
1247 struct policy_handle *handle /* [in] [ref] */,
1248 uint32_t jobid /* [in] */,
1251 struct spoolss_ScheduleJob r;
1255 r.in.handle = handle;
1258 if (DEBUGLEVEL >= 10) {
1259 NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
1262 status = cli->dispatch(cli,
1265 NDR_SPOOLSS_SCHEDULEJOB,
1268 if (!NT_STATUS_IS_OK(status)) {
1272 if (DEBUGLEVEL >= 10) {
1273 NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, &r);
1276 if (NT_STATUS_IS_ERR(status)) {
1280 /* Return variables */
1284 *werror = r.out.result;
1287 return werror_to_ntstatus(r.out.result);
1290 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
1291 TALLOC_CTX *mem_ctx,
1292 struct policy_handle *handle /* [in] [ref] */,
1293 const char *value_name /* [in] [charset(UTF16)] */,
1294 uint32_t offered /* [in] */,
1295 enum spoolss_PrinterDataType *type /* [out] [ref] */,
1296 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
1297 uint32_t *needed /* [out] [ref] */,
1300 struct spoolss_GetPrinterData r;
1304 r.in.handle = handle;
1305 r.in.value_name = value_name;
1306 r.in.offered = offered;
1308 if (DEBUGLEVEL >= 10) {
1309 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, &r);
1312 status = cli->dispatch(cli,
1315 NDR_SPOOLSS_GETPRINTERDATA,
1318 if (!NT_STATUS_IS_OK(status)) {
1322 if (DEBUGLEVEL >= 10) {
1323 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, &r);
1326 if (NT_STATUS_IS_ERR(status)) {
1330 /* Return variables */
1331 *type = *r.out.type;
1332 return NT_STATUS_NOT_SUPPORTED;
1333 *needed = *r.out.needed;
1337 *werror = r.out.result;
1340 return werror_to_ntstatus(r.out.result);
1343 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
1344 TALLOC_CTX *mem_ctx,
1345 struct policy_handle *handle /* [in] [ref] */,
1346 const char *value_name /* [in] [charset(UTF16)] */,
1347 enum spoolss_PrinterDataType type /* [in] */,
1348 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
1349 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
1352 struct spoolss_SetPrinterData r;
1356 r.in.handle = handle;
1357 r.in.value_name = value_name;
1360 r.in._offered = _offered;
1362 if (DEBUGLEVEL >= 10) {
1363 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, &r);
1366 status = cli->dispatch(cli,
1369 NDR_SPOOLSS_SETPRINTERDATA,
1372 if (!NT_STATUS_IS_OK(status)) {
1376 if (DEBUGLEVEL >= 10) {
1377 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, &r);
1380 if (NT_STATUS_IS_ERR(status)) {
1384 /* Return variables */
1388 *werror = r.out.result;
1391 return werror_to_ntstatus(r.out.result);
1394 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
1395 TALLOC_CTX *mem_ctx,
1398 struct spoolss_WaitForPrinterChange r;
1403 if (DEBUGLEVEL >= 10) {
1404 NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, &r);
1407 status = cli->dispatch(cli,
1410 NDR_SPOOLSS_WAITFORPRINTERCHANGE,
1413 if (!NT_STATUS_IS_OK(status)) {
1417 if (DEBUGLEVEL >= 10) {
1418 NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, &r);
1421 if (NT_STATUS_IS_ERR(status)) {
1425 /* Return variables */
1429 *werror = r.out.result;
1432 return werror_to_ntstatus(r.out.result);
1435 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
1436 TALLOC_CTX *mem_ctx,
1437 struct policy_handle *handle /* [in,out] [ref] */,
1440 struct spoolss_ClosePrinter r;
1444 r.in.handle = handle;
1446 if (DEBUGLEVEL >= 10) {
1447 NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, &r);
1450 status = cli->dispatch(cli,
1453 NDR_SPOOLSS_CLOSEPRINTER,
1456 if (!NT_STATUS_IS_OK(status)) {
1460 if (DEBUGLEVEL >= 10) {
1461 NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, &r);
1464 if (NT_STATUS_IS_ERR(status)) {
1468 /* Return variables */
1469 *handle = *r.out.handle;
1473 *werror = r.out.result;
1476 return werror_to_ntstatus(r.out.result);
1479 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
1480 TALLOC_CTX *mem_ctx,
1481 struct policy_handle *handle /* [in] [ref] */,
1482 uint32_t level /* [in] */,
1483 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1486 struct spoolss_AddForm r;
1490 r.in.handle = handle;
1494 if (DEBUGLEVEL >= 10) {
1495 NDR_PRINT_IN_DEBUG(spoolss_AddForm, &r);
1498 status = cli->dispatch(cli,
1501 NDR_SPOOLSS_ADDFORM,
1504 if (!NT_STATUS_IS_OK(status)) {
1508 if (DEBUGLEVEL >= 10) {
1509 NDR_PRINT_OUT_DEBUG(spoolss_AddForm, &r);
1512 if (NT_STATUS_IS_ERR(status)) {
1516 /* Return variables */
1520 *werror = r.out.result;
1523 return werror_to_ntstatus(r.out.result);
1526 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
1527 TALLOC_CTX *mem_ctx,
1528 struct policy_handle *handle /* [in] [ref] */,
1529 const char *form_name /* [in] [charset(UTF16)] */,
1532 struct spoolss_DeleteForm r;
1536 r.in.handle = handle;
1537 r.in.form_name = form_name;
1539 if (DEBUGLEVEL >= 10) {
1540 NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, &r);
1543 status = cli->dispatch(cli,
1546 NDR_SPOOLSS_DELETEFORM,
1549 if (!NT_STATUS_IS_OK(status)) {
1553 if (DEBUGLEVEL >= 10) {
1554 NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, &r);
1557 if (NT_STATUS_IS_ERR(status)) {
1561 /* Return variables */
1565 *werror = r.out.result;
1568 return werror_to_ntstatus(r.out.result);
1571 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
1572 TALLOC_CTX *mem_ctx,
1573 struct policy_handle *handle /* [in] [ref] */,
1574 const char *form_name /* [in] [charset(UTF16)] */,
1575 uint32_t level /* [in] */,
1576 DATA_BLOB *buffer /* [in] [unique] */,
1577 uint32_t offered /* [in] */,
1578 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
1579 uint32_t *needed /* [out] [ref] */,
1582 struct spoolss_GetForm r;
1586 r.in.handle = handle;
1587 r.in.form_name = form_name;
1589 r.in.buffer = buffer;
1590 r.in.offered = offered;
1592 if (DEBUGLEVEL >= 10) {
1593 NDR_PRINT_IN_DEBUG(spoolss_GetForm, &r);
1596 status = cli->dispatch(cli,
1599 NDR_SPOOLSS_GETFORM,
1602 if (!NT_STATUS_IS_OK(status)) {
1606 if (DEBUGLEVEL >= 10) {
1607 NDR_PRINT_OUT_DEBUG(spoolss_GetForm, &r);
1610 if (NT_STATUS_IS_ERR(status)) {
1614 /* Return variables */
1615 if (info && r.out.info) {
1616 *info = *r.out.info;
1618 *needed = *r.out.needed;
1622 *werror = r.out.result;
1625 return werror_to_ntstatus(r.out.result);
1628 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
1629 TALLOC_CTX *mem_ctx,
1630 struct policy_handle *handle /* [in] [ref] */,
1631 const char *form_name /* [in] [charset(UTF16)] */,
1632 uint32_t level /* [in] */,
1633 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1636 struct spoolss_SetForm r;
1640 r.in.handle = handle;
1641 r.in.form_name = form_name;
1645 if (DEBUGLEVEL >= 10) {
1646 NDR_PRINT_IN_DEBUG(spoolss_SetForm, &r);
1649 status = cli->dispatch(cli,
1652 NDR_SPOOLSS_SETFORM,
1655 if (!NT_STATUS_IS_OK(status)) {
1659 if (DEBUGLEVEL >= 10) {
1660 NDR_PRINT_OUT_DEBUG(spoolss_SetForm, &r);
1663 if (NT_STATUS_IS_ERR(status)) {
1667 /* Return variables */
1671 *werror = r.out.result;
1674 return werror_to_ntstatus(r.out.result);
1677 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
1678 TALLOC_CTX *mem_ctx,
1679 struct policy_handle *handle /* [in] [ref] */,
1680 uint32_t level /* [in] */,
1681 DATA_BLOB *buffer /* [in] [unique] */,
1682 uint32_t offered /* [in] */,
1683 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1684 uint32_t *needed /* [out] [ref] */,
1685 uint32_t count /* [out] */,
1688 struct spoolss_EnumForms r;
1692 r.in.handle = handle;
1694 r.in.buffer = buffer;
1695 r.in.offered = offered;
1697 if (DEBUGLEVEL >= 10) {
1698 NDR_PRINT_IN_DEBUG(spoolss_EnumForms, &r);
1701 status = cli->dispatch(cli,
1704 NDR_SPOOLSS_ENUMFORMS,
1707 if (!NT_STATUS_IS_OK(status)) {
1711 if (DEBUGLEVEL >= 10) {
1712 NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, &r);
1715 if (NT_STATUS_IS_ERR(status)) {
1719 /* Return variables */
1720 if (info && r.out.info) {
1721 memcpy(info, r.out.info, count * sizeof(*info));
1723 *needed = *r.out.needed;
1724 return NT_STATUS_NOT_SUPPORTED;
1728 *werror = r.out.result;
1731 return werror_to_ntstatus(r.out.result);
1734 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
1735 TALLOC_CTX *mem_ctx,
1736 const char *servername /* [in] [unique,charset(UTF16)] */,
1737 uint32_t level /* [in] */,
1738 DATA_BLOB *buffer /* [in] [unique] */,
1739 uint32_t offered /* [in] */,
1740 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1741 uint32_t *needed /* [out] [ref] */,
1742 uint32_t count /* [out] */,
1745 struct spoolss_EnumPorts r;
1749 r.in.servername = servername;
1751 r.in.buffer = buffer;
1752 r.in.offered = offered;
1754 if (DEBUGLEVEL >= 10) {
1755 NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, &r);
1758 status = cli->dispatch(cli,
1761 NDR_SPOOLSS_ENUMPORTS,
1764 if (!NT_STATUS_IS_OK(status)) {
1768 if (DEBUGLEVEL >= 10) {
1769 NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, &r);
1772 if (NT_STATUS_IS_ERR(status)) {
1776 /* Return variables */
1777 if (info && r.out.info) {
1778 memcpy(info, r.out.info, count * sizeof(*info));
1780 *needed = *r.out.needed;
1781 return NT_STATUS_NOT_SUPPORTED;
1785 *werror = r.out.result;
1788 return werror_to_ntstatus(r.out.result);
1791 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
1792 TALLOC_CTX *mem_ctx,
1793 const char *servername /* [in] [unique,charset(UTF16)] */,
1794 uint32_t level /* [in] */,
1795 DATA_BLOB *buffer /* [in] [unique] */,
1796 uint32_t offered /* [in] */,
1797 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1798 uint32_t *needed /* [out] [ref] */,
1799 uint32_t count /* [out] */,
1802 struct spoolss_EnumMonitors r;
1806 r.in.servername = servername;
1808 r.in.buffer = buffer;
1809 r.in.offered = offered;
1811 if (DEBUGLEVEL >= 10) {
1812 NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, &r);
1815 status = cli->dispatch(cli,
1818 NDR_SPOOLSS_ENUMMONITORS,
1821 if (!NT_STATUS_IS_OK(status)) {
1825 if (DEBUGLEVEL >= 10) {
1826 NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, &r);
1829 if (NT_STATUS_IS_ERR(status)) {
1833 /* Return variables */
1834 if (info && r.out.info) {
1835 memcpy(info, r.out.info, count * sizeof(*info));
1837 *needed = *r.out.needed;
1838 return NT_STATUS_NOT_SUPPORTED;
1842 *werror = r.out.result;
1845 return werror_to_ntstatus(r.out.result);
1848 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
1849 TALLOC_CTX *mem_ctx,
1850 const char *server_name /* [in] [unique,charset(UTF16)] */,
1851 uint32_t unknown /* [in] */,
1852 const char *monitor_name /* [in] [charset(UTF16)] */,
1855 struct spoolss_AddPort r;
1859 r.in.server_name = server_name;
1860 r.in.unknown = unknown;
1861 r.in.monitor_name = monitor_name;
1863 if (DEBUGLEVEL >= 10) {
1864 NDR_PRINT_IN_DEBUG(spoolss_AddPort, &r);
1867 status = cli->dispatch(cli,
1870 NDR_SPOOLSS_ADDPORT,
1873 if (!NT_STATUS_IS_OK(status)) {
1877 if (DEBUGLEVEL >= 10) {
1878 NDR_PRINT_OUT_DEBUG(spoolss_AddPort, &r);
1881 if (NT_STATUS_IS_ERR(status)) {
1885 /* Return variables */
1889 *werror = r.out.result;
1892 return werror_to_ntstatus(r.out.result);
1895 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
1896 TALLOC_CTX *mem_ctx,
1899 struct spoolss_ConfigurePort r;
1904 if (DEBUGLEVEL >= 10) {
1905 NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, &r);
1908 status = cli->dispatch(cli,
1911 NDR_SPOOLSS_CONFIGUREPORT,
1914 if (!NT_STATUS_IS_OK(status)) {
1918 if (DEBUGLEVEL >= 10) {
1919 NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, &r);
1922 if (NT_STATUS_IS_ERR(status)) {
1926 /* Return variables */
1930 *werror = r.out.result;
1933 return werror_to_ntstatus(r.out.result);
1936 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
1937 TALLOC_CTX *mem_ctx,
1940 struct spoolss_DeletePort r;
1945 if (DEBUGLEVEL >= 10) {
1946 NDR_PRINT_IN_DEBUG(spoolss_DeletePort, &r);
1949 status = cli->dispatch(cli,
1952 NDR_SPOOLSS_DELETEPORT,
1955 if (!NT_STATUS_IS_OK(status)) {
1959 if (DEBUGLEVEL >= 10) {
1960 NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, &r);
1963 if (NT_STATUS_IS_ERR(status)) {
1967 /* Return variables */
1971 *werror = r.out.result;
1974 return werror_to_ntstatus(r.out.result);
1977 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
1978 TALLOC_CTX *mem_ctx,
1981 struct spoolss_CreatePrinterIC r;
1986 if (DEBUGLEVEL >= 10) {
1987 NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, &r);
1990 status = cli->dispatch(cli,
1993 NDR_SPOOLSS_CREATEPRINTERIC,
1996 if (!NT_STATUS_IS_OK(status)) {
2000 if (DEBUGLEVEL >= 10) {
2001 NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, &r);
2004 if (NT_STATUS_IS_ERR(status)) {
2008 /* Return variables */
2012 *werror = r.out.result;
2015 return werror_to_ntstatus(r.out.result);
2018 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
2019 TALLOC_CTX *mem_ctx,
2022 struct spoolss_PlayGDIScriptOnPrinterIC r;
2027 if (DEBUGLEVEL >= 10) {
2028 NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2031 status = cli->dispatch(cli,
2034 NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC,
2037 if (!NT_STATUS_IS_OK(status)) {
2041 if (DEBUGLEVEL >= 10) {
2042 NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2045 if (NT_STATUS_IS_ERR(status)) {
2049 /* Return variables */
2053 *werror = r.out.result;
2056 return werror_to_ntstatus(r.out.result);
2059 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
2060 TALLOC_CTX *mem_ctx,
2063 struct spoolss_DeletePrinterIC r;
2068 if (DEBUGLEVEL >= 10) {
2069 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, &r);
2072 status = cli->dispatch(cli,
2075 NDR_SPOOLSS_DELETEPRINTERIC,
2078 if (!NT_STATUS_IS_OK(status)) {
2082 if (DEBUGLEVEL >= 10) {
2083 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, &r);
2086 if (NT_STATUS_IS_ERR(status)) {
2090 /* Return variables */
2094 *werror = r.out.result;
2097 return werror_to_ntstatus(r.out.result);
2100 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
2101 TALLOC_CTX *mem_ctx,
2104 struct spoolss_AddPrinterConnection r;
2109 if (DEBUGLEVEL >= 10) {
2110 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, &r);
2113 status = cli->dispatch(cli,
2116 NDR_SPOOLSS_ADDPRINTERCONNECTION,
2119 if (!NT_STATUS_IS_OK(status)) {
2123 if (DEBUGLEVEL >= 10) {
2124 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, &r);
2127 if (NT_STATUS_IS_ERR(status)) {
2131 /* Return variables */
2135 *werror = r.out.result;
2138 return werror_to_ntstatus(r.out.result);
2141 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
2142 TALLOC_CTX *mem_ctx,
2145 struct spoolss_DeletePrinterConnection r;
2150 if (DEBUGLEVEL >= 10) {
2151 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, &r);
2154 status = cli->dispatch(cli,
2157 NDR_SPOOLSS_DELETEPRINTERCONNECTION,
2160 if (!NT_STATUS_IS_OK(status)) {
2164 if (DEBUGLEVEL >= 10) {
2165 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, &r);
2168 if (NT_STATUS_IS_ERR(status)) {
2172 /* Return variables */
2176 *werror = r.out.result;
2179 return werror_to_ntstatus(r.out.result);
2182 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
2183 TALLOC_CTX *mem_ctx,
2186 struct spoolss_PrinterMessageBox r;
2191 if (DEBUGLEVEL >= 10) {
2192 NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, &r);
2195 status = cli->dispatch(cli,
2198 NDR_SPOOLSS_PRINTERMESSAGEBOX,
2201 if (!NT_STATUS_IS_OK(status)) {
2205 if (DEBUGLEVEL >= 10) {
2206 NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, &r);
2209 if (NT_STATUS_IS_ERR(status)) {
2213 /* Return variables */
2217 *werror = r.out.result;
2220 return werror_to_ntstatus(r.out.result);
2223 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
2224 TALLOC_CTX *mem_ctx,
2227 struct spoolss_AddMonitor r;
2232 if (DEBUGLEVEL >= 10) {
2233 NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, &r);
2236 status = cli->dispatch(cli,
2239 NDR_SPOOLSS_ADDMONITOR,
2242 if (!NT_STATUS_IS_OK(status)) {
2246 if (DEBUGLEVEL >= 10) {
2247 NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, &r);
2250 if (NT_STATUS_IS_ERR(status)) {
2254 /* Return variables */
2258 *werror = r.out.result;
2261 return werror_to_ntstatus(r.out.result);
2264 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
2265 TALLOC_CTX *mem_ctx,
2268 struct spoolss_DeleteMonitor r;
2273 if (DEBUGLEVEL >= 10) {
2274 NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, &r);
2277 status = cli->dispatch(cli,
2280 NDR_SPOOLSS_DELETEMONITOR,
2283 if (!NT_STATUS_IS_OK(status)) {
2287 if (DEBUGLEVEL >= 10) {
2288 NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, &r);
2291 if (NT_STATUS_IS_ERR(status)) {
2295 /* Return variables */
2299 *werror = r.out.result;
2302 return werror_to_ntstatus(r.out.result);
2305 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
2306 TALLOC_CTX *mem_ctx,
2309 struct spoolss_DeletePrintProcessor r;
2314 if (DEBUGLEVEL >= 10) {
2315 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, &r);
2318 status = cli->dispatch(cli,
2321 NDR_SPOOLSS_DELETEPRINTPROCESSOR,
2324 if (!NT_STATUS_IS_OK(status)) {
2328 if (DEBUGLEVEL >= 10) {
2329 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, &r);
2332 if (NT_STATUS_IS_ERR(status)) {
2336 /* Return variables */
2340 *werror = r.out.result;
2343 return werror_to_ntstatus(r.out.result);
2346 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
2347 TALLOC_CTX *mem_ctx,
2350 struct spoolss_AddPrintProvidor r;
2355 if (DEBUGLEVEL >= 10) {
2356 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, &r);
2359 status = cli->dispatch(cli,
2362 NDR_SPOOLSS_ADDPRINTPROVIDOR,
2365 if (!NT_STATUS_IS_OK(status)) {
2369 if (DEBUGLEVEL >= 10) {
2370 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, &r);
2373 if (NT_STATUS_IS_ERR(status)) {
2377 /* Return variables */
2381 *werror = r.out.result;
2384 return werror_to_ntstatus(r.out.result);
2387 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
2388 TALLOC_CTX *mem_ctx,
2391 struct spoolss_DeletePrintProvidor r;
2396 if (DEBUGLEVEL >= 10) {
2397 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, &r);
2400 status = cli->dispatch(cli,
2403 NDR_SPOOLSS_DELETEPRINTPROVIDOR,
2406 if (!NT_STATUS_IS_OK(status)) {
2410 if (DEBUGLEVEL >= 10) {
2411 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, &r);
2414 if (NT_STATUS_IS_ERR(status)) {
2418 /* Return variables */
2422 *werror = r.out.result;
2425 return werror_to_ntstatus(r.out.result);
2428 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
2429 TALLOC_CTX *mem_ctx,
2432 struct spoolss_EnumPrintProcDataTypes r;
2437 if (DEBUGLEVEL >= 10) {
2438 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2441 status = cli->dispatch(cli,
2444 NDR_SPOOLSS_ENUMPRINTPROCDATATYPES,
2447 if (!NT_STATUS_IS_OK(status)) {
2451 if (DEBUGLEVEL >= 10) {
2452 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2455 if (NT_STATUS_IS_ERR(status)) {
2459 /* Return variables */
2463 *werror = r.out.result;
2466 return werror_to_ntstatus(r.out.result);
2469 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
2470 TALLOC_CTX *mem_ctx,
2473 struct spoolss_ResetPrinter r;
2478 if (DEBUGLEVEL >= 10) {
2479 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, &r);
2482 status = cli->dispatch(cli,
2485 NDR_SPOOLSS_RESETPRINTER,
2488 if (!NT_STATUS_IS_OK(status)) {
2492 if (DEBUGLEVEL >= 10) {
2493 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, &r);
2496 if (NT_STATUS_IS_ERR(status)) {
2500 /* Return variables */
2504 *werror = r.out.result;
2507 return werror_to_ntstatus(r.out.result);
2510 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
2511 TALLOC_CTX *mem_ctx,
2512 struct policy_handle *handle /* [in] [ref] */,
2513 const char *architecture /* [in] [unique,charset(UTF16)] */,
2514 uint32_t level /* [in] */,
2515 DATA_BLOB *buffer /* [in] [unique] */,
2516 uint32_t offered /* [in] */,
2517 uint32_t client_major_version /* [in] */,
2518 uint32_t client_minor_version /* [in] */,
2519 DATA_BLOB *info /* [out] [unique] */,
2520 uint32_t *needed /* [out] [ref] */,
2521 uint32_t *server_major_version /* [out] [ref] */,
2522 uint32_t *server_minor_version /* [out] [ref] */,
2525 struct spoolss_GetPrinterDriver2 r;
2529 r.in.handle = handle;
2530 r.in.architecture = architecture;
2532 r.in.buffer = buffer;
2533 r.in.offered = offered;
2534 r.in.client_major_version = client_major_version;
2535 r.in.client_minor_version = client_minor_version;
2537 if (DEBUGLEVEL >= 10) {
2538 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, &r);
2541 status = cli->dispatch(cli,
2544 NDR_SPOOLSS_GETPRINTERDRIVER2,
2547 if (!NT_STATUS_IS_OK(status)) {
2551 if (DEBUGLEVEL >= 10) {
2552 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, &r);
2555 if (NT_STATUS_IS_ERR(status)) {
2559 /* Return variables */
2560 if (info && r.out.info) {
2561 *info = *r.out.info;
2563 *needed = *r.out.needed;
2564 *server_major_version = *r.out.server_major_version;
2565 *server_minor_version = *r.out.server_minor_version;
2569 *werror = r.out.result;
2572 return werror_to_ntstatus(r.out.result);
2575 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2576 TALLOC_CTX *mem_ctx,
2579 struct spoolss_FindFirstPrinterChangeNotification r;
2584 if (DEBUGLEVEL >= 10) {
2585 NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2588 status = cli->dispatch(cli,
2591 NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION,
2594 if (!NT_STATUS_IS_OK(status)) {
2598 if (DEBUGLEVEL >= 10) {
2599 NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2602 if (NT_STATUS_IS_ERR(status)) {
2606 /* Return variables */
2610 *werror = r.out.result;
2613 return werror_to_ntstatus(r.out.result);
2616 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
2617 TALLOC_CTX *mem_ctx,
2620 struct spoolss_FindNextPrinterChangeNotification r;
2625 if (DEBUGLEVEL >= 10) {
2626 NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2629 status = cli->dispatch(cli,
2632 NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION,
2635 if (!NT_STATUS_IS_OK(status)) {
2639 if (DEBUGLEVEL >= 10) {
2640 NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2643 if (NT_STATUS_IS_ERR(status)) {
2647 /* Return variables */
2651 *werror = r.out.result;
2654 return werror_to_ntstatus(r.out.result);
2657 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
2658 TALLOC_CTX *mem_ctx,
2659 struct policy_handle *handle /* [in] [ref] */,
2662 struct spoolss_FindClosePrinterNotify r;
2666 r.in.handle = handle;
2668 if (DEBUGLEVEL >= 10) {
2669 NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, &r);
2672 status = cli->dispatch(cli,
2675 NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY,
2678 if (!NT_STATUS_IS_OK(status)) {
2682 if (DEBUGLEVEL >= 10) {
2683 NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, &r);
2686 if (NT_STATUS_IS_ERR(status)) {
2690 /* Return variables */
2694 *werror = r.out.result;
2697 return werror_to_ntstatus(r.out.result);
2700 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
2701 TALLOC_CTX *mem_ctx,
2704 struct spoolss_RouterFindFirstPrinterChangeNotificationOld r;
2709 if (DEBUGLEVEL >= 10) {
2710 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2713 status = cli->dispatch(cli,
2716 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD,
2719 if (!NT_STATUS_IS_OK(status)) {
2723 if (DEBUGLEVEL >= 10) {
2724 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2727 if (NT_STATUS_IS_ERR(status)) {
2731 /* Return variables */
2735 *werror = r.out.result;
2738 return werror_to_ntstatus(r.out.result);
2741 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
2742 TALLOC_CTX *mem_ctx,
2743 const char *server_name /* [in] [charset(UTF16)] */,
2744 uint32_t printer_local /* [in] */,
2745 enum winreg_Type type /* [in] */,
2746 uint32_t bufsize /* [in] [range(0,512)] */,
2747 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2748 struct policy_handle *handle /* [out] [ref] */,
2751 struct spoolss_ReplyOpenPrinter r;
2755 r.in.server_name = server_name;
2756 r.in.printer_local = printer_local;
2758 r.in.bufsize = bufsize;
2759 r.in.buffer = buffer;
2761 if (DEBUGLEVEL >= 10) {
2762 NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, &r);
2765 status = cli->dispatch(cli,
2768 NDR_SPOOLSS_REPLYOPENPRINTER,
2771 if (!NT_STATUS_IS_OK(status)) {
2775 if (DEBUGLEVEL >= 10) {
2776 NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, &r);
2779 if (NT_STATUS_IS_ERR(status)) {
2783 /* Return variables */
2784 *handle = *r.out.handle;
2788 *werror = r.out.result;
2791 return werror_to_ntstatus(r.out.result);
2794 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
2795 TALLOC_CTX *mem_ctx,
2796 struct policy_handle *handle /* [in] [ref] */,
2797 uint32_t flags /* [in] */,
2798 uint32_t bufsize /* [in] [range(0,512)] */,
2799 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2802 struct spoolss_RouterReplyPrinter r;
2806 r.in.handle = handle;
2808 r.in.bufsize = bufsize;
2809 r.in.buffer = buffer;
2811 if (DEBUGLEVEL >= 10) {
2812 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
2815 status = cli->dispatch(cli,
2818 NDR_SPOOLSS_ROUTERREPLYPRINTER,
2821 if (!NT_STATUS_IS_OK(status)) {
2825 if (DEBUGLEVEL >= 10) {
2826 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, &r);
2829 if (NT_STATUS_IS_ERR(status)) {
2833 /* Return variables */
2837 *werror = r.out.result;
2840 return werror_to_ntstatus(r.out.result);
2843 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
2844 TALLOC_CTX *mem_ctx,
2845 struct policy_handle *handle /* [in,out] [ref] */,
2848 struct spoolss_ReplyClosePrinter r;
2852 r.in.handle = handle;
2854 if (DEBUGLEVEL >= 10) {
2855 NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, &r);
2858 status = cli->dispatch(cli,
2861 NDR_SPOOLSS_REPLYCLOSEPRINTER,
2864 if (!NT_STATUS_IS_OK(status)) {
2868 if (DEBUGLEVEL >= 10) {
2869 NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, &r);
2872 if (NT_STATUS_IS_ERR(status)) {
2876 /* Return variables */
2877 *handle = *r.out.handle;
2881 *werror = r.out.result;
2884 return werror_to_ntstatus(r.out.result);
2887 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
2888 TALLOC_CTX *mem_ctx,
2891 struct spoolss_AddPortEx r;
2896 if (DEBUGLEVEL >= 10) {
2897 NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, &r);
2900 status = cli->dispatch(cli,
2903 NDR_SPOOLSS_ADDPORTEX,
2906 if (!NT_STATUS_IS_OK(status)) {
2910 if (DEBUGLEVEL >= 10) {
2911 NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, &r);
2914 if (NT_STATUS_IS_ERR(status)) {
2918 /* Return variables */
2922 *werror = r.out.result;
2925 return werror_to_ntstatus(r.out.result);
2928 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2929 TALLOC_CTX *mem_ctx,
2932 struct spoolss_RouterFindFirstPrinterChangeNotification r;
2937 if (DEBUGLEVEL >= 10) {
2938 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2941 status = cli->dispatch(cli,
2944 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION,
2947 if (!NT_STATUS_IS_OK(status)) {
2951 if (DEBUGLEVEL >= 10) {
2952 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2955 if (NT_STATUS_IS_ERR(status)) {
2959 /* Return variables */
2963 *werror = r.out.result;
2966 return werror_to_ntstatus(r.out.result);
2969 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
2970 TALLOC_CTX *mem_ctx,
2973 struct spoolss_SpoolerInit r;
2978 if (DEBUGLEVEL >= 10) {
2979 NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, &r);
2982 status = cli->dispatch(cli,
2985 NDR_SPOOLSS_SPOOLERINIT,
2988 if (!NT_STATUS_IS_OK(status)) {
2992 if (DEBUGLEVEL >= 10) {
2993 NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, &r);
2996 if (NT_STATUS_IS_ERR(status)) {
3000 /* Return variables */
3004 *werror = r.out.result;
3007 return werror_to_ntstatus(r.out.result);
3010 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
3011 TALLOC_CTX *mem_ctx,
3014 struct spoolss_ResetPrinterEx r;
3019 if (DEBUGLEVEL >= 10) {
3020 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, &r);
3023 status = cli->dispatch(cli,
3026 NDR_SPOOLSS_RESETPRINTEREX,
3029 if (!NT_STATUS_IS_OK(status)) {
3033 if (DEBUGLEVEL >= 10) {
3034 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, &r);
3037 if (NT_STATUS_IS_ERR(status)) {
3041 /* Return variables */
3045 *werror = r.out.result;
3048 return werror_to_ntstatus(r.out.result);
3051 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3052 TALLOC_CTX *mem_ctx,
3053 struct policy_handle *handle /* [in] [ref] */,
3054 uint32_t flags /* [in] */,
3055 uint32_t options /* [in] */,
3056 const char *str /* [in] [unique,charset(UTF16)] */,
3057 uint32_t printer_local /* [in] */,
3058 struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
3061 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r;
3065 r.in.handle = handle;
3067 r.in.options = options;
3069 r.in.printer_local = printer_local;
3072 if (DEBUGLEVEL >= 10) {
3073 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3076 status = cli->dispatch(cli,
3079 NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX,
3082 if (!NT_STATUS_IS_OK(status)) {
3086 if (DEBUGLEVEL >= 10) {
3087 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3090 if (NT_STATUS_IS_ERR(status)) {
3094 /* Return variables */
3098 *werror = r.out.result;
3101 return werror_to_ntstatus(r.out.result);
3104 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotification(struct rpc_pipe_client *cli,
3105 TALLOC_CTX *mem_ctx,
3108 struct spoolss_RouterRefreshPrinterChangeNotification r;
3113 if (DEBUGLEVEL >= 10) {
3114 NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3117 status = cli->dispatch(cli,
3120 NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFICATION,
3123 if (!NT_STATUS_IS_OK(status)) {
3127 if (DEBUGLEVEL >= 10) {
3128 NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3131 if (NT_STATUS_IS_ERR(status)) {
3135 /* Return variables */
3139 *werror = r.out.result;
3142 return werror_to_ntstatus(r.out.result);
3145 NTSTATUS rpccli_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3146 TALLOC_CTX *mem_ctx,
3147 struct policy_handle *handle /* [in] [ref] */,
3148 uint32_t change_low /* [in] */,
3149 struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
3150 struct spoolss_NotifyInfo **info /* [out] [ref] */,
3153 struct spoolss_RemoteFindNextPrinterChangeNotifyEx r;
3157 r.in.handle = handle;
3158 r.in.change_low = change_low;
3159 r.in.container = container;
3161 if (DEBUGLEVEL >= 10) {
3162 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3165 status = cli->dispatch(cli,
3168 NDR_SPOOLSS_REMOTEFINDNEXTPRINTERCHANGENOTIFYEX,
3171 if (!NT_STATUS_IS_OK(status)) {
3175 if (DEBUGLEVEL >= 10) {
3176 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3179 if (NT_STATUS_IS_ERR(status)) {
3183 /* Return variables */
3184 *info = *r.out.info;
3188 *werror = r.out.result;
3191 return werror_to_ntstatus(r.out.result);
3194 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
3195 TALLOC_CTX *mem_ctx,
3198 struct spoolss_44 r;
3203 if (DEBUGLEVEL >= 10) {
3204 NDR_PRINT_IN_DEBUG(spoolss_44, &r);
3207 status = cli->dispatch(cli,
3213 if (!NT_STATUS_IS_OK(status)) {
3217 if (DEBUGLEVEL >= 10) {
3218 NDR_PRINT_OUT_DEBUG(spoolss_44, &r);
3221 if (NT_STATUS_IS_ERR(status)) {
3225 /* Return variables */
3229 *werror = r.out.result;
3232 return werror_to_ntstatus(r.out.result);
3235 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
3236 TALLOC_CTX *mem_ctx,
3237 const char *printername /* [in] [unique,charset(UTF16)] */,
3238 const char *datatype /* [in] [unique,charset(UTF16)] */,
3239 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3240 uint32_t access_mask /* [in] */,
3241 uint32_t level /* [in] */,
3242 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
3243 struct policy_handle *handle /* [out] [ref] */,
3246 struct spoolss_OpenPrinterEx r;
3250 r.in.printername = printername;
3251 r.in.datatype = datatype;
3252 r.in.devmode_ctr = devmode_ctr;
3253 r.in.access_mask = access_mask;
3255 r.in.userlevel = userlevel;
3257 if (DEBUGLEVEL >= 10) {
3258 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, &r);
3261 status = cli->dispatch(cli,
3264 NDR_SPOOLSS_OPENPRINTEREX,
3267 if (!NT_STATUS_IS_OK(status)) {
3271 if (DEBUGLEVEL >= 10) {
3272 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, &r);
3275 if (NT_STATUS_IS_ERR(status)) {
3279 /* Return variables */
3280 *handle = *r.out.handle;
3284 *werror = r.out.result;
3287 return werror_to_ntstatus(r.out.result);
3290 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
3291 TALLOC_CTX *mem_ctx,
3292 const char *server /* [in] [unique,charset(UTF16)] */,
3293 uint32_t level /* [in] */,
3294 union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
3295 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3296 struct security_descriptor *secdesc /* [in] [unique] */,
3297 uint32_t ulevel /* [in] */,
3298 union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
3301 struct spoolss_AddPrinterEx r;
3305 r.in.server = server;
3308 r.in.devmode_ctr = devmode_ctr;
3309 r.in.secdesc = secdesc;
3310 r.in.ulevel = ulevel;
3311 r.in.userlevel = userlevel;
3313 if (DEBUGLEVEL >= 10) {
3314 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, &r);
3317 status = cli->dispatch(cli,
3320 NDR_SPOOLSS_ADDPRINTEREX,
3323 if (!NT_STATUS_IS_OK(status)) {
3327 if (DEBUGLEVEL >= 10) {
3328 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, &r);
3331 if (NT_STATUS_IS_ERR(status)) {
3335 /* Return variables */
3339 *werror = r.out.result;
3342 return werror_to_ntstatus(r.out.result);
3345 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
3346 TALLOC_CTX *mem_ctx,
3349 struct spoolss_47 r;
3354 if (DEBUGLEVEL >= 10) {
3355 NDR_PRINT_IN_DEBUG(spoolss_47, &r);
3358 status = cli->dispatch(cli,
3364 if (!NT_STATUS_IS_OK(status)) {
3368 if (DEBUGLEVEL >= 10) {
3369 NDR_PRINT_OUT_DEBUG(spoolss_47, &r);
3372 if (NT_STATUS_IS_ERR(status)) {
3376 /* Return variables */
3380 *werror = r.out.result;
3383 return werror_to_ntstatus(r.out.result);
3386 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
3387 TALLOC_CTX *mem_ctx,
3388 struct policy_handle *handle /* [in] [ref] */,
3389 uint32_t enum_index /* [in] */,
3390 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
3391 uint32_t value_offered /* [in] */,
3392 uint32_t *value_needed /* [out] [ref] */,
3393 uint32_t *printerdata_type /* [out] [ref] */,
3394 DATA_BLOB *buffer /* [out] [ref] */,
3395 uint32_t data_offered /* [in] */,
3396 uint32_t *data_needed /* [out] [ref] */,
3399 struct spoolss_EnumPrinterData r;
3403 r.in.handle = handle;
3404 r.in.enum_index = enum_index;
3405 r.in.value_offered = value_offered;
3406 r.in.data_offered = data_offered;
3408 if (DEBUGLEVEL >= 10) {
3409 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, &r);
3412 status = cli->dispatch(cli,
3415 NDR_SPOOLSS_ENUMPRINTERDATA,
3418 if (!NT_STATUS_IS_OK(status)) {
3422 if (DEBUGLEVEL >= 10) {
3423 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, &r);
3426 if (NT_STATUS_IS_ERR(status)) {
3430 /* Return variables */
3431 memcpy(CONST_DISCARD(char *, value_name), r.out.value_name, r.in.value_offered / 2 * sizeof(*value_name));
3432 *value_needed = *r.out.value_needed;
3433 *printerdata_type = *r.out.printerdata_type;
3434 *buffer = *r.out.buffer;
3435 *data_needed = *r.out.data_needed;
3439 *werror = r.out.result;
3442 return werror_to_ntstatus(r.out.result);
3445 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
3446 TALLOC_CTX *mem_ctx,
3447 struct policy_handle *handle /* [in] [ref] */,
3448 const char *value_name /* [in] [charset(UTF16)] */,
3451 struct spoolss_DeletePrinterData r;
3455 r.in.handle = handle;
3456 r.in.value_name = value_name;
3458 if (DEBUGLEVEL >= 10) {
3459 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, &r);
3462 status = cli->dispatch(cli,
3465 NDR_SPOOLSS_DELETEPRINTERDATA,
3468 if (!NT_STATUS_IS_OK(status)) {
3472 if (DEBUGLEVEL >= 10) {
3473 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, &r);
3476 if (NT_STATUS_IS_ERR(status)) {
3480 /* Return variables */
3484 *werror = r.out.result;
3487 return werror_to_ntstatus(r.out.result);
3490 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
3491 TALLOC_CTX *mem_ctx,
3494 struct spoolss_4a r;
3499 if (DEBUGLEVEL >= 10) {
3500 NDR_PRINT_IN_DEBUG(spoolss_4a, &r);
3503 status = cli->dispatch(cli,
3509 if (!NT_STATUS_IS_OK(status)) {
3513 if (DEBUGLEVEL >= 10) {
3514 NDR_PRINT_OUT_DEBUG(spoolss_4a, &r);
3517 if (NT_STATUS_IS_ERR(status)) {
3521 /* Return variables */
3525 *werror = r.out.result;
3528 return werror_to_ntstatus(r.out.result);
3531 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
3532 TALLOC_CTX *mem_ctx,
3535 struct spoolss_4b r;
3540 if (DEBUGLEVEL >= 10) {
3541 NDR_PRINT_IN_DEBUG(spoolss_4b, &r);
3544 status = cli->dispatch(cli,
3550 if (!NT_STATUS_IS_OK(status)) {
3554 if (DEBUGLEVEL >= 10) {
3555 NDR_PRINT_OUT_DEBUG(spoolss_4b, &r);
3558 if (NT_STATUS_IS_ERR(status)) {
3562 /* Return variables */
3566 *werror = r.out.result;
3569 return werror_to_ntstatus(r.out.result);
3572 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
3573 TALLOC_CTX *mem_ctx,
3576 struct spoolss_4c r;
3581 if (DEBUGLEVEL >= 10) {
3582 NDR_PRINT_IN_DEBUG(spoolss_4c, &r);
3585 status = cli->dispatch(cli,
3591 if (!NT_STATUS_IS_OK(status)) {
3595 if (DEBUGLEVEL >= 10) {
3596 NDR_PRINT_OUT_DEBUG(spoolss_4c, &r);
3599 if (NT_STATUS_IS_ERR(status)) {
3603 /* Return variables */
3607 *werror = r.out.result;
3610 return werror_to_ntstatus(r.out.result);
3613 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
3614 TALLOC_CTX *mem_ctx,
3615 struct policy_handle *handle /* [in] [ref] */,
3616 const char *key_name /* [in] [charset(UTF16)] */,
3617 const char *value_name /* [in] [charset(UTF16)] */,
3618 uint32_t type /* [in] */,
3619 DATA_BLOB buffer /* [in] */,
3620 uint32_t offered /* [in] */,
3623 struct spoolss_SetPrinterDataEx r;
3627 r.in.handle = handle;
3628 r.in.key_name = key_name;
3629 r.in.value_name = value_name;
3631 r.in.buffer = buffer;
3632 r.in.offered = offered;
3634 if (DEBUGLEVEL >= 10) {
3635 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, &r);
3638 status = cli->dispatch(cli,
3641 NDR_SPOOLSS_SETPRINTERDATAEX,
3644 if (!NT_STATUS_IS_OK(status)) {
3648 if (DEBUGLEVEL >= 10) {
3649 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, &r);
3652 if (NT_STATUS_IS_ERR(status)) {
3656 /* Return variables */
3660 *werror = r.out.result;
3663 return werror_to_ntstatus(r.out.result);
3666 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
3667 TALLOC_CTX *mem_ctx,
3668 struct policy_handle *handle /* [in] [ref] */,
3669 const char *key_name /* [in] [charset(UTF16)] */,
3670 const char *value_name /* [in] [charset(UTF16)] */,
3671 uint32_t *type /* [out] [ref] */,
3672 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3673 uint32_t offered /* [in] */,
3674 uint32_t *needed /* [out] [ref] */,
3677 struct spoolss_GetPrinterDataEx r;
3681 r.in.handle = handle;
3682 r.in.key_name = key_name;
3683 r.in.value_name = value_name;
3684 r.in.offered = offered;
3686 if (DEBUGLEVEL >= 10) {
3687 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, &r);
3690 status = cli->dispatch(cli,
3693 NDR_SPOOLSS_GETPRINTERDATAEX,
3696 if (!NT_STATUS_IS_OK(status)) {
3700 if (DEBUGLEVEL >= 10) {
3701 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, &r);
3704 if (NT_STATUS_IS_ERR(status)) {
3708 /* Return variables */
3709 *type = *r.out.type;
3710 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3711 *needed = *r.out.needed;
3715 *werror = r.out.result;
3718 return werror_to_ntstatus(r.out.result);
3721 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
3722 TALLOC_CTX *mem_ctx,
3723 struct policy_handle *handle /* [in] [ref] */,
3724 const char *key_name /* [in] [charset(UTF16)] */,
3725 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3726 uint32_t offered /* [in] */,
3727 uint32_t *needed /* [out] [ref] */,
3728 uint32_t *count /* [out] [ref] */,
3731 struct spoolss_EnumPrinterDataEx r;
3735 r.in.handle = handle;
3736 r.in.key_name = key_name;
3737 r.in.offered = offered;
3739 if (DEBUGLEVEL >= 10) {
3740 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, &r);
3743 status = cli->dispatch(cli,
3746 NDR_SPOOLSS_ENUMPRINTERDATAEX,
3749 if (!NT_STATUS_IS_OK(status)) {
3753 if (DEBUGLEVEL >= 10) {
3754 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, &r);
3757 if (NT_STATUS_IS_ERR(status)) {
3761 /* Return variables */
3762 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3763 *needed = *r.out.needed;
3764 *count = *r.out.count;
3768 *werror = r.out.result;
3771 return werror_to_ntstatus(r.out.result);
3774 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
3775 TALLOC_CTX *mem_ctx,
3776 struct policy_handle *handle /* [in] [ref] */,
3777 const char *key_name /* [in] [charset(UTF16)] */,
3778 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
3779 uint32_t key_buffer_size /* [in] */,
3780 uint32_t *needed /* [out] [ref] */,
3783 struct spoolss_EnumPrinterKey r;
3787 r.in.handle = handle;
3788 r.in.key_name = key_name;
3789 r.in.key_buffer_size = key_buffer_size;
3791 if (DEBUGLEVEL >= 10) {
3792 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, &r);
3795 status = cli->dispatch(cli,
3798 NDR_SPOOLSS_ENUMPRINTERKEY,
3801 if (!NT_STATUS_IS_OK(status)) {
3805 if (DEBUGLEVEL >= 10) {
3806 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, &r);
3809 if (NT_STATUS_IS_ERR(status)) {
3813 /* Return variables */
3814 memcpy(key_buffer, r.out.key_buffer, r.in.key_buffer_size / 2 * sizeof(*key_buffer));
3815 *needed = *r.out.needed;
3819 *werror = r.out.result;
3822 return werror_to_ntstatus(r.out.result);
3825 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
3826 TALLOC_CTX *mem_ctx,
3827 struct policy_handle *handle /* [in] [ref] */,
3828 const char *key_name /* [in] [charset(UTF16)] */,
3829 const char *value_name /* [in] [charset(UTF16)] */,
3832 struct spoolss_DeletePrinterDataEx r;
3836 r.in.handle = handle;
3837 r.in.key_name = key_name;
3838 r.in.value_name = value_name;
3840 if (DEBUGLEVEL >= 10) {
3841 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, &r);
3844 status = cli->dispatch(cli,
3847 NDR_SPOOLSS_DELETEPRINTERDATAEX,
3850 if (!NT_STATUS_IS_OK(status)) {
3854 if (DEBUGLEVEL >= 10) {
3855 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, &r);
3858 if (NT_STATUS_IS_ERR(status)) {
3862 /* Return variables */
3866 *werror = r.out.result;
3869 return werror_to_ntstatus(r.out.result);
3872 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
3873 TALLOC_CTX *mem_ctx,
3874 struct policy_handle *handle /* [in] [ref] */,
3875 const char *key_name /* [in] [charset(UTF16)] */,
3878 struct spoolss_DeletePrinterKey r;
3882 r.in.handle = handle;
3883 r.in.key_name = key_name;
3885 if (DEBUGLEVEL >= 10) {
3886 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
3889 status = cli->dispatch(cli,
3892 NDR_SPOOLSS_DELETEPRINTERKEY,
3895 if (!NT_STATUS_IS_OK(status)) {
3899 if (DEBUGLEVEL >= 10) {
3900 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, &r);
3903 if (NT_STATUS_IS_ERR(status)) {
3907 /* Return variables */
3911 *werror = r.out.result;
3914 return werror_to_ntstatus(r.out.result);
3917 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
3918 TALLOC_CTX *mem_ctx,
3921 struct spoolss_53 r;
3926 if (DEBUGLEVEL >= 10) {
3927 NDR_PRINT_IN_DEBUG(spoolss_53, &r);
3930 status = cli->dispatch(cli,
3936 if (!NT_STATUS_IS_OK(status)) {
3940 if (DEBUGLEVEL >= 10) {
3941 NDR_PRINT_OUT_DEBUG(spoolss_53, &r);
3944 if (NT_STATUS_IS_ERR(status)) {
3948 /* Return variables */
3952 *werror = r.out.result;
3955 return werror_to_ntstatus(r.out.result);
3958 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
3959 TALLOC_CTX *mem_ctx,
3960 const char *server /* [in] [unique,charset(UTF16)] */,
3961 const char *architecture /* [in] [charset(UTF16)] */,
3962 const char *driver /* [in] [charset(UTF16)] */,
3963 uint32_t delete_flags /* [in] */,
3964 uint32_t version /* [in] */,
3967 struct spoolss_DeletePrinterDriverEx r;
3971 r.in.server = server;
3972 r.in.architecture = architecture;
3973 r.in.driver = driver;
3974 r.in.delete_flags = delete_flags;
3975 r.in.version = version;
3977 if (DEBUGLEVEL >= 10) {
3978 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3981 status = cli->dispatch(cli,
3984 NDR_SPOOLSS_DELETEPRINTERDRIVEREX,
3987 if (!NT_STATUS_IS_OK(status)) {
3991 if (DEBUGLEVEL >= 10) {
3992 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3995 if (NT_STATUS_IS_ERR(status)) {
3999 /* Return variables */
4003 *werror = r.out.result;
4006 return werror_to_ntstatus(r.out.result);
4009 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
4010 TALLOC_CTX *mem_ctx,
4013 struct spoolss_55 r;
4018 if (DEBUGLEVEL >= 10) {
4019 NDR_PRINT_IN_DEBUG(spoolss_55, &r);
4022 status = cli->dispatch(cli,
4028 if (!NT_STATUS_IS_OK(status)) {
4032 if (DEBUGLEVEL >= 10) {
4033 NDR_PRINT_OUT_DEBUG(spoolss_55, &r);
4036 if (NT_STATUS_IS_ERR(status)) {
4040 /* Return variables */
4044 *werror = r.out.result;
4047 return werror_to_ntstatus(r.out.result);
4050 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
4051 TALLOC_CTX *mem_ctx,
4054 struct spoolss_56 r;
4059 if (DEBUGLEVEL >= 10) {
4060 NDR_PRINT_IN_DEBUG(spoolss_56, &r);
4063 status = cli->dispatch(cli,
4069 if (!NT_STATUS_IS_OK(status)) {
4073 if (DEBUGLEVEL >= 10) {
4074 NDR_PRINT_OUT_DEBUG(spoolss_56, &r);
4077 if (NT_STATUS_IS_ERR(status)) {
4081 /* Return variables */
4085 *werror = r.out.result;
4088 return werror_to_ntstatus(r.out.result);
4091 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
4092 TALLOC_CTX *mem_ctx,
4095 struct spoolss_57 r;
4100 if (DEBUGLEVEL >= 10) {
4101 NDR_PRINT_IN_DEBUG(spoolss_57, &r);
4104 status = cli->dispatch(cli,
4110 if (!NT_STATUS_IS_OK(status)) {
4114 if (DEBUGLEVEL >= 10) {
4115 NDR_PRINT_OUT_DEBUG(spoolss_57, &r);
4118 if (NT_STATUS_IS_ERR(status)) {
4122 /* Return variables */
4126 *werror = r.out.result;
4129 return werror_to_ntstatus(r.out.result);
4132 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
4133 TALLOC_CTX *mem_ctx,
4134 struct policy_handle *handle /* [in] [ref] */,
4135 const char *function_name /* [in] [charset(UTF16)] */,
4136 DATA_BLOB in_data /* [in] */,
4137 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
4138 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
4139 uint32_t out_data_size /* [in] */,
4140 uint32_t *needed /* [out] [ref] */,
4141 uint32_t *status_code /* [in,out] [ref] */,
4144 struct spoolss_XcvData r;
4148 r.in.handle = handle;
4149 r.in.function_name = function_name;
4150 r.in.in_data = in_data;
4151 r.in._in_data_length = _in_data_length;
4152 r.in.out_data_size = out_data_size;
4153 r.in.status_code = status_code;
4155 if (DEBUGLEVEL >= 10) {
4156 NDR_PRINT_IN_DEBUG(spoolss_XcvData, &r);
4159 status = cli->dispatch(cli,
4162 NDR_SPOOLSS_XCVDATA,
4165 if (!NT_STATUS_IS_OK(status)) {
4169 if (DEBUGLEVEL >= 10) {
4170 NDR_PRINT_OUT_DEBUG(spoolss_XcvData, &r);
4173 if (NT_STATUS_IS_ERR(status)) {
4177 /* Return variables */
4178 memcpy(out_data, r.out.out_data, r.in.out_data_size * sizeof(*out_data));
4179 *needed = *r.out.needed;
4180 *status_code = *r.out.status_code;
4184 *werror = r.out.result;
4187 return werror_to_ntstatus(r.out.result);
4190 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
4191 TALLOC_CTX *mem_ctx,
4194 struct spoolss_AddPrinterDriverEx r;
4199 if (DEBUGLEVEL >= 10) {
4200 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
4203 status = cli->dispatch(cli,
4206 NDR_SPOOLSS_ADDPRINTERDRIVEREX,
4209 if (!NT_STATUS_IS_OK(status)) {
4213 if (DEBUGLEVEL >= 10) {
4214 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, &r);
4217 if (NT_STATUS_IS_ERR(status)) {
4221 /* Return variables */
4225 *werror = r.out.result;
4228 return werror_to_ntstatus(r.out.result);
4231 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
4232 TALLOC_CTX *mem_ctx,
4235 struct spoolss_5a r;
4240 if (DEBUGLEVEL >= 10) {
4241 NDR_PRINT_IN_DEBUG(spoolss_5a, &r);
4244 status = cli->dispatch(cli,
4250 if (!NT_STATUS_IS_OK(status)) {
4254 if (DEBUGLEVEL >= 10) {
4255 NDR_PRINT_OUT_DEBUG(spoolss_5a, &r);
4258 if (NT_STATUS_IS_ERR(status)) {
4262 /* Return variables */
4266 *werror = r.out.result;
4269 return werror_to_ntstatus(r.out.result);
4272 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
4273 TALLOC_CTX *mem_ctx,
4276 struct spoolss_5b r;
4281 if (DEBUGLEVEL >= 10) {
4282 NDR_PRINT_IN_DEBUG(spoolss_5b, &r);
4285 status = cli->dispatch(cli,
4291 if (!NT_STATUS_IS_OK(status)) {
4295 if (DEBUGLEVEL >= 10) {
4296 NDR_PRINT_OUT_DEBUG(spoolss_5b, &r);
4299 if (NT_STATUS_IS_ERR(status)) {
4303 /* Return variables */
4307 *werror = r.out.result;
4310 return werror_to_ntstatus(r.out.result);
4313 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
4314 TALLOC_CTX *mem_ctx,
4317 struct spoolss_5c r;
4322 if (DEBUGLEVEL >= 10) {
4323 NDR_PRINT_IN_DEBUG(spoolss_5c, &r);
4326 status = cli->dispatch(cli,
4332 if (!NT_STATUS_IS_OK(status)) {
4336 if (DEBUGLEVEL >= 10) {
4337 NDR_PRINT_OUT_DEBUG(spoolss_5c, &r);
4340 if (NT_STATUS_IS_ERR(status)) {
4344 /* Return variables */
4348 *werror = r.out.result;
4351 return werror_to_ntstatus(r.out.result);
4354 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
4355 TALLOC_CTX *mem_ctx,
4358 struct spoolss_5d r;
4363 if (DEBUGLEVEL >= 10) {
4364 NDR_PRINT_IN_DEBUG(spoolss_5d, &r);
4367 status = cli->dispatch(cli,
4373 if (!NT_STATUS_IS_OK(status)) {
4377 if (DEBUGLEVEL >= 10) {
4378 NDR_PRINT_OUT_DEBUG(spoolss_5d, &r);
4381 if (NT_STATUS_IS_ERR(status)) {
4385 /* Return variables */
4389 *werror = r.out.result;
4392 return werror_to_ntstatus(r.out.result);
4395 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
4396 TALLOC_CTX *mem_ctx,
4399 struct spoolss_5e r;
4404 if (DEBUGLEVEL >= 10) {
4405 NDR_PRINT_IN_DEBUG(spoolss_5e, &r);
4408 status = cli->dispatch(cli,
4414 if (!NT_STATUS_IS_OK(status)) {
4418 if (DEBUGLEVEL >= 10) {
4419 NDR_PRINT_OUT_DEBUG(spoolss_5e, &r);
4422 if (NT_STATUS_IS_ERR(status)) {
4426 /* Return variables */
4430 *werror = r.out.result;
4433 return werror_to_ntstatus(r.out.result);
4436 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
4437 TALLOC_CTX *mem_ctx,
4440 struct spoolss_5f r;
4445 if (DEBUGLEVEL >= 10) {
4446 NDR_PRINT_IN_DEBUG(spoolss_5f, &r);
4449 status = cli->dispatch(cli,
4455 if (!NT_STATUS_IS_OK(status)) {
4459 if (DEBUGLEVEL >= 10) {
4460 NDR_PRINT_OUT_DEBUG(spoolss_5f, &r);
4463 if (NT_STATUS_IS_ERR(status)) {
4467 /* Return variables */
4471 *werror = r.out.result;
4474 return werror_to_ntstatus(r.out.result);