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,
480 const char *servername /* [in] [ref,charset(UTF16)] */,
481 uint32_t level /* [in] */,
482 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
485 struct spoolss_AddPrinterDriver r;
489 r.in.servername = servername;
493 if (DEBUGLEVEL >= 10) {
494 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, &r);
497 status = cli->dispatch(cli,
500 NDR_SPOOLSS_ADDPRINTERDRIVER,
503 if (!NT_STATUS_IS_OK(status)) {
507 if (DEBUGLEVEL >= 10) {
508 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, &r);
511 if (NT_STATUS_IS_ERR(status)) {
515 /* Return variables */
519 *werror = r.out.result;
522 return werror_to_ntstatus(r.out.result);
525 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
527 const char *server /* [in] [unique,charset(UTF16)] */,
528 const char *environment /* [in] [unique,charset(UTF16)] */,
529 uint32_t level /* [in] */,
530 DATA_BLOB *buffer /* [in] [unique] */,
531 uint32_t offered /* [in] */,
532 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
533 uint32_t *needed /* [out] [ref] */,
534 uint32_t count /* [out] */,
537 struct spoolss_EnumPrinterDrivers r;
541 r.in.server = server;
542 r.in.environment = environment;
544 r.in.buffer = buffer;
545 r.in.offered = offered;
547 if (DEBUGLEVEL >= 10) {
548 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, &r);
551 status = cli->dispatch(cli,
554 NDR_SPOOLSS_ENUMPRINTERDRIVERS,
557 if (!NT_STATUS_IS_OK(status)) {
561 if (DEBUGLEVEL >= 10) {
562 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, &r);
565 if (NT_STATUS_IS_ERR(status)) {
569 /* Return variables */
570 if (info && r.out.info) {
571 memcpy(info, r.out.info, count * sizeof(*info));
573 *needed = *r.out.needed;
574 return NT_STATUS_NOT_SUPPORTED;
578 *werror = r.out.result;
581 return werror_to_ntstatus(r.out.result);
584 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
588 struct spoolss_GetPrinterDriver r;
593 if (DEBUGLEVEL >= 10) {
594 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, &r);
597 status = cli->dispatch(cli,
600 NDR_SPOOLSS_GETPRINTERDRIVER,
603 if (!NT_STATUS_IS_OK(status)) {
607 if (DEBUGLEVEL >= 10) {
608 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, &r);
611 if (NT_STATUS_IS_ERR(status)) {
615 /* Return variables */
619 *werror = r.out.result;
622 return werror_to_ntstatus(r.out.result);
625 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
627 const char *server /* [in] [unique,charset(UTF16)] */,
628 const char *environment /* [in] [unique,charset(UTF16)] */,
629 uint32_t level /* [in] */,
630 DATA_BLOB *buffer /* [in] [unique] */,
631 uint32_t offered /* [in] */,
632 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
633 uint32_t *needed /* [out] [ref] */,
636 struct spoolss_GetPrinterDriverDirectory r;
640 r.in.server = server;
641 r.in.environment = environment;
643 r.in.buffer = buffer;
644 r.in.offered = offered;
646 if (DEBUGLEVEL >= 10) {
647 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
650 status = cli->dispatch(cli,
653 NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY,
656 if (!NT_STATUS_IS_OK(status)) {
660 if (DEBUGLEVEL >= 10) {
661 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, &r);
664 if (NT_STATUS_IS_ERR(status)) {
668 /* Return variables */
669 if (info && r.out.info) {
672 *needed = *r.out.needed;
676 *werror = r.out.result;
679 return werror_to_ntstatus(r.out.result);
682 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
684 const char *server /* [in] [unique,charset(UTF16)] */,
685 const char *architecture /* [in] [charset(UTF16)] */,
686 const char *driver /* [in] [charset(UTF16)] */,
689 struct spoolss_DeletePrinterDriver r;
693 r.in.server = server;
694 r.in.architecture = architecture;
695 r.in.driver = driver;
697 if (DEBUGLEVEL >= 10) {
698 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, &r);
701 status = cli->dispatch(cli,
704 NDR_SPOOLSS_DELETEPRINTERDRIVER,
707 if (!NT_STATUS_IS_OK(status)) {
711 if (DEBUGLEVEL >= 10) {
712 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, &r);
715 if (NT_STATUS_IS_ERR(status)) {
719 /* Return variables */
723 *werror = r.out.result;
726 return werror_to_ntstatus(r.out.result);
729 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
731 const char *server /* [in] [unique,charset(UTF16)] */,
732 const char *architecture /* [in] [charset(UTF16)] */,
733 const char *path_name /* [in] [charset(UTF16)] */,
734 const char *print_processor_name /* [in] [charset(UTF16)] */,
737 struct spoolss_AddPrintProcessor r;
741 r.in.server = server;
742 r.in.architecture = architecture;
743 r.in.path_name = path_name;
744 r.in.print_processor_name = print_processor_name;
746 if (DEBUGLEVEL >= 10) {
747 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
750 status = cli->dispatch(cli,
753 NDR_SPOOLSS_ADDPRINTPROCESSOR,
756 if (!NT_STATUS_IS_OK(status)) {
760 if (DEBUGLEVEL >= 10) {
761 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, &r);
764 if (NT_STATUS_IS_ERR(status)) {
768 /* Return variables */
772 *werror = r.out.result;
775 return werror_to_ntstatus(r.out.result);
778 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
780 const char *servername /* [in] [unique,charset(UTF16)] */,
781 const char *environment /* [in] [unique,charset(UTF16)] */,
782 uint32_t level /* [in] */,
783 DATA_BLOB *buffer /* [in] [unique] */,
784 uint32_t offered /* [in] */,
785 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
786 uint32_t *needed /* [out] [ref] */,
787 uint32_t count /* [out] */,
790 struct spoolss_EnumPrintProcessors r;
794 r.in.servername = servername;
795 r.in.environment = environment;
797 r.in.buffer = buffer;
798 r.in.offered = offered;
800 if (DEBUGLEVEL >= 10) {
801 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, &r);
804 status = cli->dispatch(cli,
807 NDR_SPOOLSS_ENUMPRINTPROCESSORS,
810 if (!NT_STATUS_IS_OK(status)) {
814 if (DEBUGLEVEL >= 10) {
815 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, &r);
818 if (NT_STATUS_IS_ERR(status)) {
822 /* Return variables */
823 if (info && r.out.info) {
824 memcpy(info, r.out.info, count * sizeof(*info));
826 *needed = *r.out.needed;
827 return NT_STATUS_NOT_SUPPORTED;
831 *werror = r.out.result;
834 return werror_to_ntstatus(r.out.result);
837 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
841 struct spoolss_GetPrintProcessorDirectory r;
846 if (DEBUGLEVEL >= 10) {
847 NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
850 status = cli->dispatch(cli,
853 NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY,
856 if (!NT_STATUS_IS_OK(status)) {
860 if (DEBUGLEVEL >= 10) {
861 NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, &r);
864 if (NT_STATUS_IS_ERR(status)) {
868 /* Return variables */
872 *werror = r.out.result;
875 return werror_to_ntstatus(r.out.result);
878 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
880 struct policy_handle *handle /* [in] [ref] */,
881 uint32_t level /* [in] */,
882 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
883 uint32_t *job_id /* [out] [ref] */,
886 struct spoolss_StartDocPrinter r;
890 r.in.handle = handle;
894 if (DEBUGLEVEL >= 10) {
895 NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, &r);
898 status = cli->dispatch(cli,
901 NDR_SPOOLSS_STARTDOCPRINTER,
904 if (!NT_STATUS_IS_OK(status)) {
908 if (DEBUGLEVEL >= 10) {
909 NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, &r);
912 if (NT_STATUS_IS_ERR(status)) {
916 /* Return variables */
917 *job_id = *r.out.job_id;
921 *werror = r.out.result;
924 return werror_to_ntstatus(r.out.result);
927 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
929 struct policy_handle *handle /* [in] [ref] */,
932 struct spoolss_StartPagePrinter r;
936 r.in.handle = handle;
938 if (DEBUGLEVEL >= 10) {
939 NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, &r);
942 status = cli->dispatch(cli,
945 NDR_SPOOLSS_STARTPAGEPRINTER,
948 if (!NT_STATUS_IS_OK(status)) {
952 if (DEBUGLEVEL >= 10) {
953 NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, &r);
956 if (NT_STATUS_IS_ERR(status)) {
960 /* Return variables */
964 *werror = r.out.result;
967 return werror_to_ntstatus(r.out.result);
970 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
972 struct policy_handle *handle /* [in] [ref] */,
973 DATA_BLOB data /* [in] */,
974 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
975 uint32_t *num_written /* [out] [ref] */,
978 struct spoolss_WritePrinter r;
982 r.in.handle = handle;
984 r.in._data_size = _data_size;
986 if (DEBUGLEVEL >= 10) {
987 NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, &r);
990 status = cli->dispatch(cli,
993 NDR_SPOOLSS_WRITEPRINTER,
996 if (!NT_STATUS_IS_OK(status)) {
1000 if (DEBUGLEVEL >= 10) {
1001 NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, &r);
1004 if (NT_STATUS_IS_ERR(status)) {
1008 /* Return variables */
1009 *num_written = *r.out.num_written;
1013 *werror = r.out.result;
1016 return werror_to_ntstatus(r.out.result);
1019 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
1020 TALLOC_CTX *mem_ctx,
1021 struct policy_handle *handle /* [in] [ref] */,
1024 struct spoolss_EndPagePrinter r;
1028 r.in.handle = handle;
1030 if (DEBUGLEVEL >= 10) {
1031 NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, &r);
1034 status = cli->dispatch(cli,
1037 NDR_SPOOLSS_ENDPAGEPRINTER,
1040 if (!NT_STATUS_IS_OK(status)) {
1044 if (DEBUGLEVEL >= 10) {
1045 NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, &r);
1048 if (NT_STATUS_IS_ERR(status)) {
1052 /* Return variables */
1056 *werror = r.out.result;
1059 return werror_to_ntstatus(r.out.result);
1062 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
1063 TALLOC_CTX *mem_ctx,
1064 struct policy_handle *handle /* [in] [ref] */,
1067 struct spoolss_AbortPrinter r;
1071 r.in.handle = handle;
1073 if (DEBUGLEVEL >= 10) {
1074 NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, &r);
1077 status = cli->dispatch(cli,
1080 NDR_SPOOLSS_ABORTPRINTER,
1083 if (!NT_STATUS_IS_OK(status)) {
1087 if (DEBUGLEVEL >= 10) {
1088 NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, &r);
1091 if (NT_STATUS_IS_ERR(status)) {
1095 /* Return variables */
1099 *werror = r.out.result;
1102 return werror_to_ntstatus(r.out.result);
1105 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
1106 TALLOC_CTX *mem_ctx,
1107 struct policy_handle *handle /* [in] [ref] */,
1108 uint8_t *data /* [out] [ref,size_is(data_size)] */,
1109 uint32_t data_size /* [in] */,
1110 uint32_t *_data_size /* [out] [ref] */,
1113 struct spoolss_ReadPrinter r;
1117 r.in.handle = handle;
1118 r.in.data_size = data_size;
1120 if (DEBUGLEVEL >= 10) {
1121 NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, &r);
1124 status = cli->dispatch(cli,
1127 NDR_SPOOLSS_READPRINTER,
1130 if (!NT_STATUS_IS_OK(status)) {
1134 if (DEBUGLEVEL >= 10) {
1135 NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, &r);
1138 if (NT_STATUS_IS_ERR(status)) {
1142 /* Return variables */
1143 memcpy(data, r.out.data, r.in.data_size * sizeof(*data));
1144 *_data_size = *r.out._data_size;
1148 *werror = r.out.result;
1151 return werror_to_ntstatus(r.out.result);
1154 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
1155 TALLOC_CTX *mem_ctx,
1156 struct policy_handle *handle /* [in] [ref] */,
1159 struct spoolss_EndDocPrinter r;
1163 r.in.handle = handle;
1165 if (DEBUGLEVEL >= 10) {
1166 NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, &r);
1169 status = cli->dispatch(cli,
1172 NDR_SPOOLSS_ENDDOCPRINTER,
1175 if (!NT_STATUS_IS_OK(status)) {
1179 if (DEBUGLEVEL >= 10) {
1180 NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, &r);
1183 if (NT_STATUS_IS_ERR(status)) {
1187 /* Return variables */
1191 *werror = r.out.result;
1194 return werror_to_ntstatus(r.out.result);
1197 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
1198 TALLOC_CTX *mem_ctx,
1199 struct policy_handle *handle /* [in] [ref] */,
1200 uint32_t level /* [in] */,
1201 uint8_t *buffer /* [in,out] [unique,size_is(offered)] */,
1202 uint32_t offered /* [in] */,
1203 uint32_t *needed /* [out] [ref] */,
1206 struct spoolss_AddJob r;
1210 r.in.handle = handle;
1212 r.in.buffer = buffer;
1213 r.in.offered = offered;
1215 if (DEBUGLEVEL >= 10) {
1216 NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
1219 status = cli->dispatch(cli,
1225 if (!NT_STATUS_IS_OK(status)) {
1229 if (DEBUGLEVEL >= 10) {
1230 NDR_PRINT_OUT_DEBUG(spoolss_AddJob, &r);
1233 if (NT_STATUS_IS_ERR(status)) {
1237 /* Return variables */
1238 if (buffer && r.out.buffer) {
1239 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
1241 *needed = *r.out.needed;
1245 *werror = r.out.result;
1248 return werror_to_ntstatus(r.out.result);
1251 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
1252 TALLOC_CTX *mem_ctx,
1253 struct policy_handle *handle /* [in] [ref] */,
1254 uint32_t jobid /* [in] */,
1257 struct spoolss_ScheduleJob r;
1261 r.in.handle = handle;
1264 if (DEBUGLEVEL >= 10) {
1265 NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
1268 status = cli->dispatch(cli,
1271 NDR_SPOOLSS_SCHEDULEJOB,
1274 if (!NT_STATUS_IS_OK(status)) {
1278 if (DEBUGLEVEL >= 10) {
1279 NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, &r);
1282 if (NT_STATUS_IS_ERR(status)) {
1286 /* Return variables */
1290 *werror = r.out.result;
1293 return werror_to_ntstatus(r.out.result);
1296 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
1297 TALLOC_CTX *mem_ctx,
1298 struct policy_handle *handle /* [in] [ref] */,
1299 const char *value_name /* [in] [charset(UTF16)] */,
1300 uint32_t offered /* [in] */,
1301 enum spoolss_PrinterDataType *type /* [out] [ref] */,
1302 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
1303 uint32_t *needed /* [out] [ref] */,
1306 struct spoolss_GetPrinterData r;
1310 r.in.handle = handle;
1311 r.in.value_name = value_name;
1312 r.in.offered = offered;
1314 if (DEBUGLEVEL >= 10) {
1315 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, &r);
1318 status = cli->dispatch(cli,
1321 NDR_SPOOLSS_GETPRINTERDATA,
1324 if (!NT_STATUS_IS_OK(status)) {
1328 if (DEBUGLEVEL >= 10) {
1329 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, &r);
1332 if (NT_STATUS_IS_ERR(status)) {
1336 /* Return variables */
1337 *type = *r.out.type;
1338 return NT_STATUS_NOT_SUPPORTED;
1339 *needed = *r.out.needed;
1343 *werror = r.out.result;
1346 return werror_to_ntstatus(r.out.result);
1349 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
1350 TALLOC_CTX *mem_ctx,
1351 struct policy_handle *handle /* [in] [ref] */,
1352 const char *value_name /* [in] [charset(UTF16)] */,
1353 enum spoolss_PrinterDataType type /* [in] */,
1354 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
1355 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
1358 struct spoolss_SetPrinterData r;
1362 r.in.handle = handle;
1363 r.in.value_name = value_name;
1366 r.in._offered = _offered;
1368 if (DEBUGLEVEL >= 10) {
1369 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, &r);
1372 status = cli->dispatch(cli,
1375 NDR_SPOOLSS_SETPRINTERDATA,
1378 if (!NT_STATUS_IS_OK(status)) {
1382 if (DEBUGLEVEL >= 10) {
1383 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, &r);
1386 if (NT_STATUS_IS_ERR(status)) {
1390 /* Return variables */
1394 *werror = r.out.result;
1397 return werror_to_ntstatus(r.out.result);
1400 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
1401 TALLOC_CTX *mem_ctx,
1404 struct spoolss_WaitForPrinterChange r;
1409 if (DEBUGLEVEL >= 10) {
1410 NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, &r);
1413 status = cli->dispatch(cli,
1416 NDR_SPOOLSS_WAITFORPRINTERCHANGE,
1419 if (!NT_STATUS_IS_OK(status)) {
1423 if (DEBUGLEVEL >= 10) {
1424 NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, &r);
1427 if (NT_STATUS_IS_ERR(status)) {
1431 /* Return variables */
1435 *werror = r.out.result;
1438 return werror_to_ntstatus(r.out.result);
1441 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
1442 TALLOC_CTX *mem_ctx,
1443 struct policy_handle *handle /* [in,out] [ref] */,
1446 struct spoolss_ClosePrinter r;
1450 r.in.handle = handle;
1452 if (DEBUGLEVEL >= 10) {
1453 NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, &r);
1456 status = cli->dispatch(cli,
1459 NDR_SPOOLSS_CLOSEPRINTER,
1462 if (!NT_STATUS_IS_OK(status)) {
1466 if (DEBUGLEVEL >= 10) {
1467 NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, &r);
1470 if (NT_STATUS_IS_ERR(status)) {
1474 /* Return variables */
1475 *handle = *r.out.handle;
1479 *werror = r.out.result;
1482 return werror_to_ntstatus(r.out.result);
1485 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
1486 TALLOC_CTX *mem_ctx,
1487 struct policy_handle *handle /* [in] [ref] */,
1488 uint32_t level /* [in] */,
1489 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1492 struct spoolss_AddForm r;
1496 r.in.handle = handle;
1500 if (DEBUGLEVEL >= 10) {
1501 NDR_PRINT_IN_DEBUG(spoolss_AddForm, &r);
1504 status = cli->dispatch(cli,
1507 NDR_SPOOLSS_ADDFORM,
1510 if (!NT_STATUS_IS_OK(status)) {
1514 if (DEBUGLEVEL >= 10) {
1515 NDR_PRINT_OUT_DEBUG(spoolss_AddForm, &r);
1518 if (NT_STATUS_IS_ERR(status)) {
1522 /* Return variables */
1526 *werror = r.out.result;
1529 return werror_to_ntstatus(r.out.result);
1532 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
1533 TALLOC_CTX *mem_ctx,
1534 struct policy_handle *handle /* [in] [ref] */,
1535 const char *form_name /* [in] [charset(UTF16)] */,
1538 struct spoolss_DeleteForm r;
1542 r.in.handle = handle;
1543 r.in.form_name = form_name;
1545 if (DEBUGLEVEL >= 10) {
1546 NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, &r);
1549 status = cli->dispatch(cli,
1552 NDR_SPOOLSS_DELETEFORM,
1555 if (!NT_STATUS_IS_OK(status)) {
1559 if (DEBUGLEVEL >= 10) {
1560 NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, &r);
1563 if (NT_STATUS_IS_ERR(status)) {
1567 /* Return variables */
1571 *werror = r.out.result;
1574 return werror_to_ntstatus(r.out.result);
1577 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
1578 TALLOC_CTX *mem_ctx,
1579 struct policy_handle *handle /* [in] [ref] */,
1580 const char *form_name /* [in] [charset(UTF16)] */,
1581 uint32_t level /* [in] */,
1582 DATA_BLOB *buffer /* [in] [unique] */,
1583 uint32_t offered /* [in] */,
1584 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
1585 uint32_t *needed /* [out] [ref] */,
1588 struct spoolss_GetForm r;
1592 r.in.handle = handle;
1593 r.in.form_name = form_name;
1595 r.in.buffer = buffer;
1596 r.in.offered = offered;
1598 if (DEBUGLEVEL >= 10) {
1599 NDR_PRINT_IN_DEBUG(spoolss_GetForm, &r);
1602 status = cli->dispatch(cli,
1605 NDR_SPOOLSS_GETFORM,
1608 if (!NT_STATUS_IS_OK(status)) {
1612 if (DEBUGLEVEL >= 10) {
1613 NDR_PRINT_OUT_DEBUG(spoolss_GetForm, &r);
1616 if (NT_STATUS_IS_ERR(status)) {
1620 /* Return variables */
1621 if (info && r.out.info) {
1622 *info = *r.out.info;
1624 *needed = *r.out.needed;
1628 *werror = r.out.result;
1631 return werror_to_ntstatus(r.out.result);
1634 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
1635 TALLOC_CTX *mem_ctx,
1636 struct policy_handle *handle /* [in] [ref] */,
1637 const char *form_name /* [in] [charset(UTF16)] */,
1638 uint32_t level /* [in] */,
1639 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
1642 struct spoolss_SetForm r;
1646 r.in.handle = handle;
1647 r.in.form_name = form_name;
1651 if (DEBUGLEVEL >= 10) {
1652 NDR_PRINT_IN_DEBUG(spoolss_SetForm, &r);
1655 status = cli->dispatch(cli,
1658 NDR_SPOOLSS_SETFORM,
1661 if (!NT_STATUS_IS_OK(status)) {
1665 if (DEBUGLEVEL >= 10) {
1666 NDR_PRINT_OUT_DEBUG(spoolss_SetForm, &r);
1669 if (NT_STATUS_IS_ERR(status)) {
1673 /* Return variables */
1677 *werror = r.out.result;
1680 return werror_to_ntstatus(r.out.result);
1683 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
1684 TALLOC_CTX *mem_ctx,
1685 struct policy_handle *handle /* [in] [ref] */,
1686 uint32_t level /* [in] */,
1687 DATA_BLOB *buffer /* [in] [unique] */,
1688 uint32_t offered /* [in] */,
1689 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1690 uint32_t *needed /* [out] [ref] */,
1691 uint32_t count /* [out] */,
1694 struct spoolss_EnumForms r;
1698 r.in.handle = handle;
1700 r.in.buffer = buffer;
1701 r.in.offered = offered;
1703 if (DEBUGLEVEL >= 10) {
1704 NDR_PRINT_IN_DEBUG(spoolss_EnumForms, &r);
1707 status = cli->dispatch(cli,
1710 NDR_SPOOLSS_ENUMFORMS,
1713 if (!NT_STATUS_IS_OK(status)) {
1717 if (DEBUGLEVEL >= 10) {
1718 NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, &r);
1721 if (NT_STATUS_IS_ERR(status)) {
1725 /* Return variables */
1726 if (info && r.out.info) {
1727 memcpy(info, r.out.info, count * sizeof(*info));
1729 *needed = *r.out.needed;
1730 return NT_STATUS_NOT_SUPPORTED;
1734 *werror = r.out.result;
1737 return werror_to_ntstatus(r.out.result);
1740 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
1741 TALLOC_CTX *mem_ctx,
1742 const char *servername /* [in] [unique,charset(UTF16)] */,
1743 uint32_t level /* [in] */,
1744 DATA_BLOB *buffer /* [in] [unique] */,
1745 uint32_t offered /* [in] */,
1746 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1747 uint32_t *needed /* [out] [ref] */,
1748 uint32_t count /* [out] */,
1751 struct spoolss_EnumPorts r;
1755 r.in.servername = servername;
1757 r.in.buffer = buffer;
1758 r.in.offered = offered;
1760 if (DEBUGLEVEL >= 10) {
1761 NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, &r);
1764 status = cli->dispatch(cli,
1767 NDR_SPOOLSS_ENUMPORTS,
1770 if (!NT_STATUS_IS_OK(status)) {
1774 if (DEBUGLEVEL >= 10) {
1775 NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, &r);
1778 if (NT_STATUS_IS_ERR(status)) {
1782 /* Return variables */
1783 if (info && r.out.info) {
1784 memcpy(info, r.out.info, count * sizeof(*info));
1786 *needed = *r.out.needed;
1787 return NT_STATUS_NOT_SUPPORTED;
1791 *werror = r.out.result;
1794 return werror_to_ntstatus(r.out.result);
1797 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
1798 TALLOC_CTX *mem_ctx,
1799 const char *servername /* [in] [unique,charset(UTF16)] */,
1800 uint32_t level /* [in] */,
1801 DATA_BLOB *buffer /* [in] [unique] */,
1802 uint32_t offered /* [in] */,
1803 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
1804 uint32_t *needed /* [out] [ref] */,
1805 uint32_t count /* [out] */,
1808 struct spoolss_EnumMonitors r;
1812 r.in.servername = servername;
1814 r.in.buffer = buffer;
1815 r.in.offered = offered;
1817 if (DEBUGLEVEL >= 10) {
1818 NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, &r);
1821 status = cli->dispatch(cli,
1824 NDR_SPOOLSS_ENUMMONITORS,
1827 if (!NT_STATUS_IS_OK(status)) {
1831 if (DEBUGLEVEL >= 10) {
1832 NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, &r);
1835 if (NT_STATUS_IS_ERR(status)) {
1839 /* Return variables */
1840 if (info && r.out.info) {
1841 memcpy(info, r.out.info, count * sizeof(*info));
1843 *needed = *r.out.needed;
1844 return NT_STATUS_NOT_SUPPORTED;
1848 *werror = r.out.result;
1851 return werror_to_ntstatus(r.out.result);
1854 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
1855 TALLOC_CTX *mem_ctx,
1856 const char *server_name /* [in] [unique,charset(UTF16)] */,
1857 uint32_t unknown /* [in] */,
1858 const char *monitor_name /* [in] [charset(UTF16)] */,
1861 struct spoolss_AddPort r;
1865 r.in.server_name = server_name;
1866 r.in.unknown = unknown;
1867 r.in.monitor_name = monitor_name;
1869 if (DEBUGLEVEL >= 10) {
1870 NDR_PRINT_IN_DEBUG(spoolss_AddPort, &r);
1873 status = cli->dispatch(cli,
1876 NDR_SPOOLSS_ADDPORT,
1879 if (!NT_STATUS_IS_OK(status)) {
1883 if (DEBUGLEVEL >= 10) {
1884 NDR_PRINT_OUT_DEBUG(spoolss_AddPort, &r);
1887 if (NT_STATUS_IS_ERR(status)) {
1891 /* Return variables */
1895 *werror = r.out.result;
1898 return werror_to_ntstatus(r.out.result);
1901 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
1902 TALLOC_CTX *mem_ctx,
1905 struct spoolss_ConfigurePort r;
1910 if (DEBUGLEVEL >= 10) {
1911 NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, &r);
1914 status = cli->dispatch(cli,
1917 NDR_SPOOLSS_CONFIGUREPORT,
1920 if (!NT_STATUS_IS_OK(status)) {
1924 if (DEBUGLEVEL >= 10) {
1925 NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, &r);
1928 if (NT_STATUS_IS_ERR(status)) {
1932 /* Return variables */
1936 *werror = r.out.result;
1939 return werror_to_ntstatus(r.out.result);
1942 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
1943 TALLOC_CTX *mem_ctx,
1946 struct spoolss_DeletePort r;
1951 if (DEBUGLEVEL >= 10) {
1952 NDR_PRINT_IN_DEBUG(spoolss_DeletePort, &r);
1955 status = cli->dispatch(cli,
1958 NDR_SPOOLSS_DELETEPORT,
1961 if (!NT_STATUS_IS_OK(status)) {
1965 if (DEBUGLEVEL >= 10) {
1966 NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, &r);
1969 if (NT_STATUS_IS_ERR(status)) {
1973 /* Return variables */
1977 *werror = r.out.result;
1980 return werror_to_ntstatus(r.out.result);
1983 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
1984 TALLOC_CTX *mem_ctx,
1987 struct spoolss_CreatePrinterIC r;
1992 if (DEBUGLEVEL >= 10) {
1993 NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, &r);
1996 status = cli->dispatch(cli,
1999 NDR_SPOOLSS_CREATEPRINTERIC,
2002 if (!NT_STATUS_IS_OK(status)) {
2006 if (DEBUGLEVEL >= 10) {
2007 NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, &r);
2010 if (NT_STATUS_IS_ERR(status)) {
2014 /* Return variables */
2018 *werror = r.out.result;
2021 return werror_to_ntstatus(r.out.result);
2024 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
2025 TALLOC_CTX *mem_ctx,
2028 struct spoolss_PlayGDIScriptOnPrinterIC r;
2033 if (DEBUGLEVEL >= 10) {
2034 NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2037 status = cli->dispatch(cli,
2040 NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC,
2043 if (!NT_STATUS_IS_OK(status)) {
2047 if (DEBUGLEVEL >= 10) {
2048 NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, &r);
2051 if (NT_STATUS_IS_ERR(status)) {
2055 /* Return variables */
2059 *werror = r.out.result;
2062 return werror_to_ntstatus(r.out.result);
2065 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
2066 TALLOC_CTX *mem_ctx,
2069 struct spoolss_DeletePrinterIC r;
2074 if (DEBUGLEVEL >= 10) {
2075 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, &r);
2078 status = cli->dispatch(cli,
2081 NDR_SPOOLSS_DELETEPRINTERIC,
2084 if (!NT_STATUS_IS_OK(status)) {
2088 if (DEBUGLEVEL >= 10) {
2089 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, &r);
2092 if (NT_STATUS_IS_ERR(status)) {
2096 /* Return variables */
2100 *werror = r.out.result;
2103 return werror_to_ntstatus(r.out.result);
2106 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
2107 TALLOC_CTX *mem_ctx,
2110 struct spoolss_AddPrinterConnection r;
2115 if (DEBUGLEVEL >= 10) {
2116 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, &r);
2119 status = cli->dispatch(cli,
2122 NDR_SPOOLSS_ADDPRINTERCONNECTION,
2125 if (!NT_STATUS_IS_OK(status)) {
2129 if (DEBUGLEVEL >= 10) {
2130 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, &r);
2133 if (NT_STATUS_IS_ERR(status)) {
2137 /* Return variables */
2141 *werror = r.out.result;
2144 return werror_to_ntstatus(r.out.result);
2147 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
2148 TALLOC_CTX *mem_ctx,
2151 struct spoolss_DeletePrinterConnection r;
2156 if (DEBUGLEVEL >= 10) {
2157 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, &r);
2160 status = cli->dispatch(cli,
2163 NDR_SPOOLSS_DELETEPRINTERCONNECTION,
2166 if (!NT_STATUS_IS_OK(status)) {
2170 if (DEBUGLEVEL >= 10) {
2171 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, &r);
2174 if (NT_STATUS_IS_ERR(status)) {
2178 /* Return variables */
2182 *werror = r.out.result;
2185 return werror_to_ntstatus(r.out.result);
2188 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
2189 TALLOC_CTX *mem_ctx,
2192 struct spoolss_PrinterMessageBox r;
2197 if (DEBUGLEVEL >= 10) {
2198 NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, &r);
2201 status = cli->dispatch(cli,
2204 NDR_SPOOLSS_PRINTERMESSAGEBOX,
2207 if (!NT_STATUS_IS_OK(status)) {
2211 if (DEBUGLEVEL >= 10) {
2212 NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, &r);
2215 if (NT_STATUS_IS_ERR(status)) {
2219 /* Return variables */
2223 *werror = r.out.result;
2226 return werror_to_ntstatus(r.out.result);
2229 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
2230 TALLOC_CTX *mem_ctx,
2233 struct spoolss_AddMonitor r;
2238 if (DEBUGLEVEL >= 10) {
2239 NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, &r);
2242 status = cli->dispatch(cli,
2245 NDR_SPOOLSS_ADDMONITOR,
2248 if (!NT_STATUS_IS_OK(status)) {
2252 if (DEBUGLEVEL >= 10) {
2253 NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, &r);
2256 if (NT_STATUS_IS_ERR(status)) {
2260 /* Return variables */
2264 *werror = r.out.result;
2267 return werror_to_ntstatus(r.out.result);
2270 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
2271 TALLOC_CTX *mem_ctx,
2274 struct spoolss_DeleteMonitor r;
2279 if (DEBUGLEVEL >= 10) {
2280 NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, &r);
2283 status = cli->dispatch(cli,
2286 NDR_SPOOLSS_DELETEMONITOR,
2289 if (!NT_STATUS_IS_OK(status)) {
2293 if (DEBUGLEVEL >= 10) {
2294 NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, &r);
2297 if (NT_STATUS_IS_ERR(status)) {
2301 /* Return variables */
2305 *werror = r.out.result;
2308 return werror_to_ntstatus(r.out.result);
2311 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
2312 TALLOC_CTX *mem_ctx,
2315 struct spoolss_DeletePrintProcessor r;
2320 if (DEBUGLEVEL >= 10) {
2321 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, &r);
2324 status = cli->dispatch(cli,
2327 NDR_SPOOLSS_DELETEPRINTPROCESSOR,
2330 if (!NT_STATUS_IS_OK(status)) {
2334 if (DEBUGLEVEL >= 10) {
2335 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, &r);
2338 if (NT_STATUS_IS_ERR(status)) {
2342 /* Return variables */
2346 *werror = r.out.result;
2349 return werror_to_ntstatus(r.out.result);
2352 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
2353 TALLOC_CTX *mem_ctx,
2356 struct spoolss_AddPrintProvidor r;
2361 if (DEBUGLEVEL >= 10) {
2362 NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, &r);
2365 status = cli->dispatch(cli,
2368 NDR_SPOOLSS_ADDPRINTPROVIDOR,
2371 if (!NT_STATUS_IS_OK(status)) {
2375 if (DEBUGLEVEL >= 10) {
2376 NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, &r);
2379 if (NT_STATUS_IS_ERR(status)) {
2383 /* Return variables */
2387 *werror = r.out.result;
2390 return werror_to_ntstatus(r.out.result);
2393 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
2394 TALLOC_CTX *mem_ctx,
2397 struct spoolss_DeletePrintProvidor r;
2402 if (DEBUGLEVEL >= 10) {
2403 NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, &r);
2406 status = cli->dispatch(cli,
2409 NDR_SPOOLSS_DELETEPRINTPROVIDOR,
2412 if (!NT_STATUS_IS_OK(status)) {
2416 if (DEBUGLEVEL >= 10) {
2417 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, &r);
2420 if (NT_STATUS_IS_ERR(status)) {
2424 /* Return variables */
2428 *werror = r.out.result;
2431 return werror_to_ntstatus(r.out.result);
2434 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
2435 TALLOC_CTX *mem_ctx,
2438 struct spoolss_EnumPrintProcDataTypes r;
2443 if (DEBUGLEVEL >= 10) {
2444 NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2447 status = cli->dispatch(cli,
2450 NDR_SPOOLSS_ENUMPRINTPROCDATATYPES,
2453 if (!NT_STATUS_IS_OK(status)) {
2457 if (DEBUGLEVEL >= 10) {
2458 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, &r);
2461 if (NT_STATUS_IS_ERR(status)) {
2465 /* Return variables */
2469 *werror = r.out.result;
2472 return werror_to_ntstatus(r.out.result);
2475 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
2476 TALLOC_CTX *mem_ctx,
2479 struct spoolss_ResetPrinter r;
2484 if (DEBUGLEVEL >= 10) {
2485 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, &r);
2488 status = cli->dispatch(cli,
2491 NDR_SPOOLSS_RESETPRINTER,
2494 if (!NT_STATUS_IS_OK(status)) {
2498 if (DEBUGLEVEL >= 10) {
2499 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, &r);
2502 if (NT_STATUS_IS_ERR(status)) {
2506 /* Return variables */
2510 *werror = r.out.result;
2513 return werror_to_ntstatus(r.out.result);
2516 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
2517 TALLOC_CTX *mem_ctx,
2518 struct policy_handle *handle /* [in] [ref] */,
2519 const char *architecture /* [in] [unique,charset(UTF16)] */,
2520 uint32_t level /* [in] */,
2521 DATA_BLOB *buffer /* [in] [unique] */,
2522 uint32_t offered /* [in] */,
2523 uint32_t client_major_version /* [in] */,
2524 uint32_t client_minor_version /* [in] */,
2525 DATA_BLOB *info /* [out] [unique] */,
2526 uint32_t *needed /* [out] [ref] */,
2527 uint32_t *server_major_version /* [out] [ref] */,
2528 uint32_t *server_minor_version /* [out] [ref] */,
2531 struct spoolss_GetPrinterDriver2 r;
2535 r.in.handle = handle;
2536 r.in.architecture = architecture;
2538 r.in.buffer = buffer;
2539 r.in.offered = offered;
2540 r.in.client_major_version = client_major_version;
2541 r.in.client_minor_version = client_minor_version;
2543 if (DEBUGLEVEL >= 10) {
2544 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, &r);
2547 status = cli->dispatch(cli,
2550 NDR_SPOOLSS_GETPRINTERDRIVER2,
2553 if (!NT_STATUS_IS_OK(status)) {
2557 if (DEBUGLEVEL >= 10) {
2558 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, &r);
2561 if (NT_STATUS_IS_ERR(status)) {
2565 /* Return variables */
2566 if (info && r.out.info) {
2567 *info = *r.out.info;
2569 *needed = *r.out.needed;
2570 *server_major_version = *r.out.server_major_version;
2571 *server_minor_version = *r.out.server_minor_version;
2575 *werror = r.out.result;
2578 return werror_to_ntstatus(r.out.result);
2581 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2582 TALLOC_CTX *mem_ctx,
2585 struct spoolss_FindFirstPrinterChangeNotification r;
2590 if (DEBUGLEVEL >= 10) {
2591 NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2594 status = cli->dispatch(cli,
2597 NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION,
2600 if (!NT_STATUS_IS_OK(status)) {
2604 if (DEBUGLEVEL >= 10) {
2605 NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, &r);
2608 if (NT_STATUS_IS_ERR(status)) {
2612 /* Return variables */
2616 *werror = r.out.result;
2619 return werror_to_ntstatus(r.out.result);
2622 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
2623 TALLOC_CTX *mem_ctx,
2626 struct spoolss_FindNextPrinterChangeNotification r;
2631 if (DEBUGLEVEL >= 10) {
2632 NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2635 status = cli->dispatch(cli,
2638 NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION,
2641 if (!NT_STATUS_IS_OK(status)) {
2645 if (DEBUGLEVEL >= 10) {
2646 NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, &r);
2649 if (NT_STATUS_IS_ERR(status)) {
2653 /* Return variables */
2657 *werror = r.out.result;
2660 return werror_to_ntstatus(r.out.result);
2663 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
2664 TALLOC_CTX *mem_ctx,
2665 struct policy_handle *handle /* [in] [ref] */,
2668 struct spoolss_FindClosePrinterNotify r;
2672 r.in.handle = handle;
2674 if (DEBUGLEVEL >= 10) {
2675 NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, &r);
2678 status = cli->dispatch(cli,
2681 NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY,
2684 if (!NT_STATUS_IS_OK(status)) {
2688 if (DEBUGLEVEL >= 10) {
2689 NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, &r);
2692 if (NT_STATUS_IS_ERR(status)) {
2696 /* Return variables */
2700 *werror = r.out.result;
2703 return werror_to_ntstatus(r.out.result);
2706 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
2707 TALLOC_CTX *mem_ctx,
2710 struct spoolss_RouterFindFirstPrinterChangeNotificationOld r;
2715 if (DEBUGLEVEL >= 10) {
2716 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2719 status = cli->dispatch(cli,
2722 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD,
2725 if (!NT_STATUS_IS_OK(status)) {
2729 if (DEBUGLEVEL >= 10) {
2730 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, &r);
2733 if (NT_STATUS_IS_ERR(status)) {
2737 /* Return variables */
2741 *werror = r.out.result;
2744 return werror_to_ntstatus(r.out.result);
2747 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
2748 TALLOC_CTX *mem_ctx,
2749 const char *server_name /* [in] [charset(UTF16)] */,
2750 uint32_t printer_local /* [in] */,
2751 enum winreg_Type type /* [in] */,
2752 uint32_t bufsize /* [in] [range(0,512)] */,
2753 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2754 struct policy_handle *handle /* [out] [ref] */,
2757 struct spoolss_ReplyOpenPrinter r;
2761 r.in.server_name = server_name;
2762 r.in.printer_local = printer_local;
2764 r.in.bufsize = bufsize;
2765 r.in.buffer = buffer;
2767 if (DEBUGLEVEL >= 10) {
2768 NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, &r);
2771 status = cli->dispatch(cli,
2774 NDR_SPOOLSS_REPLYOPENPRINTER,
2777 if (!NT_STATUS_IS_OK(status)) {
2781 if (DEBUGLEVEL >= 10) {
2782 NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, &r);
2785 if (NT_STATUS_IS_ERR(status)) {
2789 /* Return variables */
2790 *handle = *r.out.handle;
2794 *werror = r.out.result;
2797 return werror_to_ntstatus(r.out.result);
2800 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
2801 TALLOC_CTX *mem_ctx,
2802 struct policy_handle *handle /* [in] [ref] */,
2803 uint32_t flags /* [in] */,
2804 uint32_t bufsize /* [in] [range(0,512)] */,
2805 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
2808 struct spoolss_RouterReplyPrinter r;
2812 r.in.handle = handle;
2814 r.in.bufsize = bufsize;
2815 r.in.buffer = buffer;
2817 if (DEBUGLEVEL >= 10) {
2818 NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
2821 status = cli->dispatch(cli,
2824 NDR_SPOOLSS_ROUTERREPLYPRINTER,
2827 if (!NT_STATUS_IS_OK(status)) {
2831 if (DEBUGLEVEL >= 10) {
2832 NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, &r);
2835 if (NT_STATUS_IS_ERR(status)) {
2839 /* Return variables */
2843 *werror = r.out.result;
2846 return werror_to_ntstatus(r.out.result);
2849 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
2850 TALLOC_CTX *mem_ctx,
2851 struct policy_handle *handle /* [in,out] [ref] */,
2854 struct spoolss_ReplyClosePrinter r;
2858 r.in.handle = handle;
2860 if (DEBUGLEVEL >= 10) {
2861 NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, &r);
2864 status = cli->dispatch(cli,
2867 NDR_SPOOLSS_REPLYCLOSEPRINTER,
2870 if (!NT_STATUS_IS_OK(status)) {
2874 if (DEBUGLEVEL >= 10) {
2875 NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, &r);
2878 if (NT_STATUS_IS_ERR(status)) {
2882 /* Return variables */
2883 *handle = *r.out.handle;
2887 *werror = r.out.result;
2890 return werror_to_ntstatus(r.out.result);
2893 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
2894 TALLOC_CTX *mem_ctx,
2897 struct spoolss_AddPortEx r;
2902 if (DEBUGLEVEL >= 10) {
2903 NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, &r);
2906 status = cli->dispatch(cli,
2909 NDR_SPOOLSS_ADDPORTEX,
2912 if (!NT_STATUS_IS_OK(status)) {
2916 if (DEBUGLEVEL >= 10) {
2917 NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, &r);
2920 if (NT_STATUS_IS_ERR(status)) {
2924 /* Return variables */
2928 *werror = r.out.result;
2931 return werror_to_ntstatus(r.out.result);
2934 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
2935 TALLOC_CTX *mem_ctx,
2938 struct spoolss_RouterFindFirstPrinterChangeNotification r;
2943 if (DEBUGLEVEL >= 10) {
2944 NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2947 status = cli->dispatch(cli,
2950 NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION,
2953 if (!NT_STATUS_IS_OK(status)) {
2957 if (DEBUGLEVEL >= 10) {
2958 NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, &r);
2961 if (NT_STATUS_IS_ERR(status)) {
2965 /* Return variables */
2969 *werror = r.out.result;
2972 return werror_to_ntstatus(r.out.result);
2975 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
2976 TALLOC_CTX *mem_ctx,
2979 struct spoolss_SpoolerInit r;
2984 if (DEBUGLEVEL >= 10) {
2985 NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, &r);
2988 status = cli->dispatch(cli,
2991 NDR_SPOOLSS_SPOOLERINIT,
2994 if (!NT_STATUS_IS_OK(status)) {
2998 if (DEBUGLEVEL >= 10) {
2999 NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, &r);
3002 if (NT_STATUS_IS_ERR(status)) {
3006 /* Return variables */
3010 *werror = r.out.result;
3013 return werror_to_ntstatus(r.out.result);
3016 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
3017 TALLOC_CTX *mem_ctx,
3020 struct spoolss_ResetPrinterEx r;
3025 if (DEBUGLEVEL >= 10) {
3026 NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, &r);
3029 status = cli->dispatch(cli,
3032 NDR_SPOOLSS_RESETPRINTEREX,
3035 if (!NT_STATUS_IS_OK(status)) {
3039 if (DEBUGLEVEL >= 10) {
3040 NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, &r);
3043 if (NT_STATUS_IS_ERR(status)) {
3047 /* Return variables */
3051 *werror = r.out.result;
3054 return werror_to_ntstatus(r.out.result);
3057 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3058 TALLOC_CTX *mem_ctx,
3059 struct policy_handle *handle /* [in] [ref] */,
3060 uint32_t flags /* [in] */,
3061 uint32_t options /* [in] */,
3062 const char *str /* [in] [unique,charset(UTF16)] */,
3063 uint32_t printer_local /* [in] */,
3064 struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
3067 struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r;
3071 r.in.handle = handle;
3073 r.in.options = options;
3075 r.in.printer_local = printer_local;
3078 if (DEBUGLEVEL >= 10) {
3079 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3082 status = cli->dispatch(cli,
3085 NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX,
3088 if (!NT_STATUS_IS_OK(status)) {
3092 if (DEBUGLEVEL >= 10) {
3093 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, &r);
3096 if (NT_STATUS_IS_ERR(status)) {
3100 /* Return variables */
3104 *werror = r.out.result;
3107 return werror_to_ntstatus(r.out.result);
3110 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotification(struct rpc_pipe_client *cli,
3111 TALLOC_CTX *mem_ctx,
3114 struct spoolss_RouterRefreshPrinterChangeNotification r;
3119 if (DEBUGLEVEL >= 10) {
3120 NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3123 status = cli->dispatch(cli,
3126 NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFICATION,
3129 if (!NT_STATUS_IS_OK(status)) {
3133 if (DEBUGLEVEL >= 10) {
3134 NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotification, &r);
3137 if (NT_STATUS_IS_ERR(status)) {
3141 /* Return variables */
3145 *werror = r.out.result;
3148 return werror_to_ntstatus(r.out.result);
3151 NTSTATUS rpccli_spoolss_RemoteFindNextPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
3152 TALLOC_CTX *mem_ctx,
3153 struct policy_handle *handle /* [in] [ref] */,
3154 uint32_t change_low /* [in] */,
3155 struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
3156 struct spoolss_NotifyInfo **info /* [out] [ref] */,
3159 struct spoolss_RemoteFindNextPrinterChangeNotifyEx r;
3163 r.in.handle = handle;
3164 r.in.change_low = change_low;
3165 r.in.container = container;
3167 if (DEBUGLEVEL >= 10) {
3168 NDR_PRINT_IN_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3171 status = cli->dispatch(cli,
3174 NDR_SPOOLSS_REMOTEFINDNEXTPRINTERCHANGENOTIFYEX,
3177 if (!NT_STATUS_IS_OK(status)) {
3181 if (DEBUGLEVEL >= 10) {
3182 NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindNextPrinterChangeNotifyEx, &r);
3185 if (NT_STATUS_IS_ERR(status)) {
3189 /* Return variables */
3190 *info = *r.out.info;
3194 *werror = r.out.result;
3197 return werror_to_ntstatus(r.out.result);
3200 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
3201 TALLOC_CTX *mem_ctx,
3204 struct spoolss_44 r;
3209 if (DEBUGLEVEL >= 10) {
3210 NDR_PRINT_IN_DEBUG(spoolss_44, &r);
3213 status = cli->dispatch(cli,
3219 if (!NT_STATUS_IS_OK(status)) {
3223 if (DEBUGLEVEL >= 10) {
3224 NDR_PRINT_OUT_DEBUG(spoolss_44, &r);
3227 if (NT_STATUS_IS_ERR(status)) {
3231 /* Return variables */
3235 *werror = r.out.result;
3238 return werror_to_ntstatus(r.out.result);
3241 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
3242 TALLOC_CTX *mem_ctx,
3243 const char *printername /* [in] [unique,charset(UTF16)] */,
3244 const char *datatype /* [in] [unique,charset(UTF16)] */,
3245 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3246 uint32_t access_mask /* [in] */,
3247 uint32_t level /* [in] */,
3248 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
3249 struct policy_handle *handle /* [out] [ref] */,
3252 struct spoolss_OpenPrinterEx r;
3256 r.in.printername = printername;
3257 r.in.datatype = datatype;
3258 r.in.devmode_ctr = devmode_ctr;
3259 r.in.access_mask = access_mask;
3261 r.in.userlevel = userlevel;
3263 if (DEBUGLEVEL >= 10) {
3264 NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, &r);
3267 status = cli->dispatch(cli,
3270 NDR_SPOOLSS_OPENPRINTEREX,
3273 if (!NT_STATUS_IS_OK(status)) {
3277 if (DEBUGLEVEL >= 10) {
3278 NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, &r);
3281 if (NT_STATUS_IS_ERR(status)) {
3285 /* Return variables */
3286 *handle = *r.out.handle;
3290 *werror = r.out.result;
3293 return werror_to_ntstatus(r.out.result);
3296 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
3297 TALLOC_CTX *mem_ctx,
3298 const char *server /* [in] [unique,charset(UTF16)] */,
3299 uint32_t level /* [in] */,
3300 union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
3301 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
3302 struct security_descriptor *secdesc /* [in] [unique] */,
3303 uint32_t ulevel /* [in] */,
3304 union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
3307 struct spoolss_AddPrinterEx r;
3311 r.in.server = server;
3314 r.in.devmode_ctr = devmode_ctr;
3315 r.in.secdesc = secdesc;
3316 r.in.ulevel = ulevel;
3317 r.in.userlevel = userlevel;
3319 if (DEBUGLEVEL >= 10) {
3320 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, &r);
3323 status = cli->dispatch(cli,
3326 NDR_SPOOLSS_ADDPRINTEREX,
3329 if (!NT_STATUS_IS_OK(status)) {
3333 if (DEBUGLEVEL >= 10) {
3334 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, &r);
3337 if (NT_STATUS_IS_ERR(status)) {
3341 /* Return variables */
3345 *werror = r.out.result;
3348 return werror_to_ntstatus(r.out.result);
3351 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
3352 TALLOC_CTX *mem_ctx,
3355 struct spoolss_47 r;
3360 if (DEBUGLEVEL >= 10) {
3361 NDR_PRINT_IN_DEBUG(spoolss_47, &r);
3364 status = cli->dispatch(cli,
3370 if (!NT_STATUS_IS_OK(status)) {
3374 if (DEBUGLEVEL >= 10) {
3375 NDR_PRINT_OUT_DEBUG(spoolss_47, &r);
3378 if (NT_STATUS_IS_ERR(status)) {
3382 /* Return variables */
3386 *werror = r.out.result;
3389 return werror_to_ntstatus(r.out.result);
3392 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
3393 TALLOC_CTX *mem_ctx,
3394 struct policy_handle *handle /* [in] [ref] */,
3395 uint32_t enum_index /* [in] */,
3396 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
3397 uint32_t value_offered /* [in] */,
3398 uint32_t *value_needed /* [out] [ref] */,
3399 uint32_t *printerdata_type /* [out] [ref] */,
3400 DATA_BLOB *buffer /* [out] [ref] */,
3401 uint32_t data_offered /* [in] */,
3402 uint32_t *data_needed /* [out] [ref] */,
3405 struct spoolss_EnumPrinterData r;
3409 r.in.handle = handle;
3410 r.in.enum_index = enum_index;
3411 r.in.value_offered = value_offered;
3412 r.in.data_offered = data_offered;
3414 if (DEBUGLEVEL >= 10) {
3415 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, &r);
3418 status = cli->dispatch(cli,
3421 NDR_SPOOLSS_ENUMPRINTERDATA,
3424 if (!NT_STATUS_IS_OK(status)) {
3428 if (DEBUGLEVEL >= 10) {
3429 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, &r);
3432 if (NT_STATUS_IS_ERR(status)) {
3436 /* Return variables */
3437 memcpy(CONST_DISCARD(char *, value_name), r.out.value_name, r.in.value_offered / 2 * sizeof(*value_name));
3438 *value_needed = *r.out.value_needed;
3439 *printerdata_type = *r.out.printerdata_type;
3440 *buffer = *r.out.buffer;
3441 *data_needed = *r.out.data_needed;
3445 *werror = r.out.result;
3448 return werror_to_ntstatus(r.out.result);
3451 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
3452 TALLOC_CTX *mem_ctx,
3453 struct policy_handle *handle /* [in] [ref] */,
3454 const char *value_name /* [in] [charset(UTF16)] */,
3457 struct spoolss_DeletePrinterData r;
3461 r.in.handle = handle;
3462 r.in.value_name = value_name;
3464 if (DEBUGLEVEL >= 10) {
3465 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, &r);
3468 status = cli->dispatch(cli,
3471 NDR_SPOOLSS_DELETEPRINTERDATA,
3474 if (!NT_STATUS_IS_OK(status)) {
3478 if (DEBUGLEVEL >= 10) {
3479 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, &r);
3482 if (NT_STATUS_IS_ERR(status)) {
3486 /* Return variables */
3490 *werror = r.out.result;
3493 return werror_to_ntstatus(r.out.result);
3496 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
3497 TALLOC_CTX *mem_ctx,
3500 struct spoolss_4a r;
3505 if (DEBUGLEVEL >= 10) {
3506 NDR_PRINT_IN_DEBUG(spoolss_4a, &r);
3509 status = cli->dispatch(cli,
3515 if (!NT_STATUS_IS_OK(status)) {
3519 if (DEBUGLEVEL >= 10) {
3520 NDR_PRINT_OUT_DEBUG(spoolss_4a, &r);
3523 if (NT_STATUS_IS_ERR(status)) {
3527 /* Return variables */
3531 *werror = r.out.result;
3534 return werror_to_ntstatus(r.out.result);
3537 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
3538 TALLOC_CTX *mem_ctx,
3541 struct spoolss_4b r;
3546 if (DEBUGLEVEL >= 10) {
3547 NDR_PRINT_IN_DEBUG(spoolss_4b, &r);
3550 status = cli->dispatch(cli,
3556 if (!NT_STATUS_IS_OK(status)) {
3560 if (DEBUGLEVEL >= 10) {
3561 NDR_PRINT_OUT_DEBUG(spoolss_4b, &r);
3564 if (NT_STATUS_IS_ERR(status)) {
3568 /* Return variables */
3572 *werror = r.out.result;
3575 return werror_to_ntstatus(r.out.result);
3578 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
3579 TALLOC_CTX *mem_ctx,
3582 struct spoolss_4c r;
3587 if (DEBUGLEVEL >= 10) {
3588 NDR_PRINT_IN_DEBUG(spoolss_4c, &r);
3591 status = cli->dispatch(cli,
3597 if (!NT_STATUS_IS_OK(status)) {
3601 if (DEBUGLEVEL >= 10) {
3602 NDR_PRINT_OUT_DEBUG(spoolss_4c, &r);
3605 if (NT_STATUS_IS_ERR(status)) {
3609 /* Return variables */
3613 *werror = r.out.result;
3616 return werror_to_ntstatus(r.out.result);
3619 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
3620 TALLOC_CTX *mem_ctx,
3621 struct policy_handle *handle /* [in] [ref] */,
3622 const char *key_name /* [in] [charset(UTF16)] */,
3623 const char *value_name /* [in] [charset(UTF16)] */,
3624 uint32_t type /* [in] */,
3625 DATA_BLOB buffer /* [in] */,
3626 uint32_t offered /* [in] */,
3629 struct spoolss_SetPrinterDataEx r;
3633 r.in.handle = handle;
3634 r.in.key_name = key_name;
3635 r.in.value_name = value_name;
3637 r.in.buffer = buffer;
3638 r.in.offered = offered;
3640 if (DEBUGLEVEL >= 10) {
3641 NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, &r);
3644 status = cli->dispatch(cli,
3647 NDR_SPOOLSS_SETPRINTERDATAEX,
3650 if (!NT_STATUS_IS_OK(status)) {
3654 if (DEBUGLEVEL >= 10) {
3655 NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, &r);
3658 if (NT_STATUS_IS_ERR(status)) {
3662 /* Return variables */
3666 *werror = r.out.result;
3669 return werror_to_ntstatus(r.out.result);
3672 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
3673 TALLOC_CTX *mem_ctx,
3674 struct policy_handle *handle /* [in] [ref] */,
3675 const char *key_name /* [in] [charset(UTF16)] */,
3676 const char *value_name /* [in] [charset(UTF16)] */,
3677 uint32_t *type /* [out] [ref] */,
3678 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3679 uint32_t offered /* [in] */,
3680 uint32_t *needed /* [out] [ref] */,
3683 struct spoolss_GetPrinterDataEx r;
3687 r.in.handle = handle;
3688 r.in.key_name = key_name;
3689 r.in.value_name = value_name;
3690 r.in.offered = offered;
3692 if (DEBUGLEVEL >= 10) {
3693 NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, &r);
3696 status = cli->dispatch(cli,
3699 NDR_SPOOLSS_GETPRINTERDATAEX,
3702 if (!NT_STATUS_IS_OK(status)) {
3706 if (DEBUGLEVEL >= 10) {
3707 NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, &r);
3710 if (NT_STATUS_IS_ERR(status)) {
3714 /* Return variables */
3715 *type = *r.out.type;
3716 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3717 *needed = *r.out.needed;
3721 *werror = r.out.result;
3724 return werror_to_ntstatus(r.out.result);
3727 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
3728 TALLOC_CTX *mem_ctx,
3729 struct policy_handle *handle /* [in] [ref] */,
3730 const char *key_name /* [in] [charset(UTF16)] */,
3731 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
3732 uint32_t offered /* [in] */,
3733 uint32_t *needed /* [out] [ref] */,
3734 uint32_t *count /* [out] [ref] */,
3737 struct spoolss_EnumPrinterDataEx r;
3741 r.in.handle = handle;
3742 r.in.key_name = key_name;
3743 r.in.offered = offered;
3745 if (DEBUGLEVEL >= 10) {
3746 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, &r);
3749 status = cli->dispatch(cli,
3752 NDR_SPOOLSS_ENUMPRINTERDATAEX,
3755 if (!NT_STATUS_IS_OK(status)) {
3759 if (DEBUGLEVEL >= 10) {
3760 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, &r);
3763 if (NT_STATUS_IS_ERR(status)) {
3767 /* Return variables */
3768 memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
3769 *needed = *r.out.needed;
3770 *count = *r.out.count;
3774 *werror = r.out.result;
3777 return werror_to_ntstatus(r.out.result);
3780 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
3781 TALLOC_CTX *mem_ctx,
3782 struct policy_handle *handle /* [in] [ref] */,
3783 const char *key_name /* [in] [charset(UTF16)] */,
3784 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
3785 uint32_t key_buffer_size /* [in] */,
3786 uint32_t *needed /* [out] [ref] */,
3789 struct spoolss_EnumPrinterKey r;
3793 r.in.handle = handle;
3794 r.in.key_name = key_name;
3795 r.in.key_buffer_size = key_buffer_size;
3797 if (DEBUGLEVEL >= 10) {
3798 NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, &r);
3801 status = cli->dispatch(cli,
3804 NDR_SPOOLSS_ENUMPRINTERKEY,
3807 if (!NT_STATUS_IS_OK(status)) {
3811 if (DEBUGLEVEL >= 10) {
3812 NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, &r);
3815 if (NT_STATUS_IS_ERR(status)) {
3819 /* Return variables */
3820 memcpy(key_buffer, r.out.key_buffer, r.in.key_buffer_size / 2 * sizeof(*key_buffer));
3821 *needed = *r.out.needed;
3825 *werror = r.out.result;
3828 return werror_to_ntstatus(r.out.result);
3831 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
3832 TALLOC_CTX *mem_ctx,
3833 struct policy_handle *handle /* [in] [ref] */,
3834 const char *key_name /* [in] [charset(UTF16)] */,
3835 const char *value_name /* [in] [charset(UTF16)] */,
3838 struct spoolss_DeletePrinterDataEx r;
3842 r.in.handle = handle;
3843 r.in.key_name = key_name;
3844 r.in.value_name = value_name;
3846 if (DEBUGLEVEL >= 10) {
3847 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, &r);
3850 status = cli->dispatch(cli,
3853 NDR_SPOOLSS_DELETEPRINTERDATAEX,
3856 if (!NT_STATUS_IS_OK(status)) {
3860 if (DEBUGLEVEL >= 10) {
3861 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, &r);
3864 if (NT_STATUS_IS_ERR(status)) {
3868 /* Return variables */
3872 *werror = r.out.result;
3875 return werror_to_ntstatus(r.out.result);
3878 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
3879 TALLOC_CTX *mem_ctx,
3880 struct policy_handle *handle /* [in] [ref] */,
3881 const char *key_name /* [in] [charset(UTF16)] */,
3884 struct spoolss_DeletePrinterKey r;
3888 r.in.handle = handle;
3889 r.in.key_name = key_name;
3891 if (DEBUGLEVEL >= 10) {
3892 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
3895 status = cli->dispatch(cli,
3898 NDR_SPOOLSS_DELETEPRINTERKEY,
3901 if (!NT_STATUS_IS_OK(status)) {
3905 if (DEBUGLEVEL >= 10) {
3906 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, &r);
3909 if (NT_STATUS_IS_ERR(status)) {
3913 /* Return variables */
3917 *werror = r.out.result;
3920 return werror_to_ntstatus(r.out.result);
3923 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
3924 TALLOC_CTX *mem_ctx,
3927 struct spoolss_53 r;
3932 if (DEBUGLEVEL >= 10) {
3933 NDR_PRINT_IN_DEBUG(spoolss_53, &r);
3936 status = cli->dispatch(cli,
3942 if (!NT_STATUS_IS_OK(status)) {
3946 if (DEBUGLEVEL >= 10) {
3947 NDR_PRINT_OUT_DEBUG(spoolss_53, &r);
3950 if (NT_STATUS_IS_ERR(status)) {
3954 /* Return variables */
3958 *werror = r.out.result;
3961 return werror_to_ntstatus(r.out.result);
3964 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
3965 TALLOC_CTX *mem_ctx,
3966 const char *server /* [in] [unique,charset(UTF16)] */,
3967 const char *architecture /* [in] [charset(UTF16)] */,
3968 const char *driver /* [in] [charset(UTF16)] */,
3969 uint32_t delete_flags /* [in] */,
3970 uint32_t version /* [in] */,
3973 struct spoolss_DeletePrinterDriverEx r;
3977 r.in.server = server;
3978 r.in.architecture = architecture;
3979 r.in.driver = driver;
3980 r.in.delete_flags = delete_flags;
3981 r.in.version = version;
3983 if (DEBUGLEVEL >= 10) {
3984 NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
3987 status = cli->dispatch(cli,
3990 NDR_SPOOLSS_DELETEPRINTERDRIVEREX,
3993 if (!NT_STATUS_IS_OK(status)) {
3997 if (DEBUGLEVEL >= 10) {
3998 NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, &r);
4001 if (NT_STATUS_IS_ERR(status)) {
4005 /* Return variables */
4009 *werror = r.out.result;
4012 return werror_to_ntstatus(r.out.result);
4015 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
4016 TALLOC_CTX *mem_ctx,
4019 struct spoolss_55 r;
4024 if (DEBUGLEVEL >= 10) {
4025 NDR_PRINT_IN_DEBUG(spoolss_55, &r);
4028 status = cli->dispatch(cli,
4034 if (!NT_STATUS_IS_OK(status)) {
4038 if (DEBUGLEVEL >= 10) {
4039 NDR_PRINT_OUT_DEBUG(spoolss_55, &r);
4042 if (NT_STATUS_IS_ERR(status)) {
4046 /* Return variables */
4050 *werror = r.out.result;
4053 return werror_to_ntstatus(r.out.result);
4056 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
4057 TALLOC_CTX *mem_ctx,
4060 struct spoolss_56 r;
4065 if (DEBUGLEVEL >= 10) {
4066 NDR_PRINT_IN_DEBUG(spoolss_56, &r);
4069 status = cli->dispatch(cli,
4075 if (!NT_STATUS_IS_OK(status)) {
4079 if (DEBUGLEVEL >= 10) {
4080 NDR_PRINT_OUT_DEBUG(spoolss_56, &r);
4083 if (NT_STATUS_IS_ERR(status)) {
4087 /* Return variables */
4091 *werror = r.out.result;
4094 return werror_to_ntstatus(r.out.result);
4097 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
4098 TALLOC_CTX *mem_ctx,
4101 struct spoolss_57 r;
4106 if (DEBUGLEVEL >= 10) {
4107 NDR_PRINT_IN_DEBUG(spoolss_57, &r);
4110 status = cli->dispatch(cli,
4116 if (!NT_STATUS_IS_OK(status)) {
4120 if (DEBUGLEVEL >= 10) {
4121 NDR_PRINT_OUT_DEBUG(spoolss_57, &r);
4124 if (NT_STATUS_IS_ERR(status)) {
4128 /* Return variables */
4132 *werror = r.out.result;
4135 return werror_to_ntstatus(r.out.result);
4138 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
4139 TALLOC_CTX *mem_ctx,
4140 struct policy_handle *handle /* [in] [ref] */,
4141 const char *function_name /* [in] [charset(UTF16)] */,
4142 DATA_BLOB in_data /* [in] */,
4143 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
4144 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
4145 uint32_t out_data_size /* [in] */,
4146 uint32_t *needed /* [out] [ref] */,
4147 uint32_t *status_code /* [in,out] [ref] */,
4150 struct spoolss_XcvData r;
4154 r.in.handle = handle;
4155 r.in.function_name = function_name;
4156 r.in.in_data = in_data;
4157 r.in._in_data_length = _in_data_length;
4158 r.in.out_data_size = out_data_size;
4159 r.in.status_code = status_code;
4161 if (DEBUGLEVEL >= 10) {
4162 NDR_PRINT_IN_DEBUG(spoolss_XcvData, &r);
4165 status = cli->dispatch(cli,
4168 NDR_SPOOLSS_XCVDATA,
4171 if (!NT_STATUS_IS_OK(status)) {
4175 if (DEBUGLEVEL >= 10) {
4176 NDR_PRINT_OUT_DEBUG(spoolss_XcvData, &r);
4179 if (NT_STATUS_IS_ERR(status)) {
4183 /* Return variables */
4184 memcpy(out_data, r.out.out_data, r.in.out_data_size * sizeof(*out_data));
4185 *needed = *r.out.needed;
4186 *status_code = *r.out.status_code;
4190 *werror = r.out.result;
4193 return werror_to_ntstatus(r.out.result);
4196 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
4197 TALLOC_CTX *mem_ctx,
4198 const char *servername /* [in] [ref,charset(UTF16)] */,
4199 uint32_t level /* [in] */,
4200 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
4201 uint32_t flags /* [in] */,
4204 struct spoolss_AddPrinterDriverEx r;
4208 r.in.servername = servername;
4213 if (DEBUGLEVEL >= 10) {
4214 NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, &r);
4217 status = cli->dispatch(cli,
4220 NDR_SPOOLSS_ADDPRINTERDRIVEREX,
4223 if (!NT_STATUS_IS_OK(status)) {
4227 if (DEBUGLEVEL >= 10) {
4228 NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, &r);
4231 if (NT_STATUS_IS_ERR(status)) {
4235 /* Return variables */
4239 *werror = r.out.result;
4242 return werror_to_ntstatus(r.out.result);
4245 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
4246 TALLOC_CTX *mem_ctx,
4249 struct spoolss_5a r;
4254 if (DEBUGLEVEL >= 10) {
4255 NDR_PRINT_IN_DEBUG(spoolss_5a, &r);
4258 status = cli->dispatch(cli,
4264 if (!NT_STATUS_IS_OK(status)) {
4268 if (DEBUGLEVEL >= 10) {
4269 NDR_PRINT_OUT_DEBUG(spoolss_5a, &r);
4272 if (NT_STATUS_IS_ERR(status)) {
4276 /* Return variables */
4280 *werror = r.out.result;
4283 return werror_to_ntstatus(r.out.result);
4286 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
4287 TALLOC_CTX *mem_ctx,
4290 struct spoolss_5b r;
4295 if (DEBUGLEVEL >= 10) {
4296 NDR_PRINT_IN_DEBUG(spoolss_5b, &r);
4299 status = cli->dispatch(cli,
4305 if (!NT_STATUS_IS_OK(status)) {
4309 if (DEBUGLEVEL >= 10) {
4310 NDR_PRINT_OUT_DEBUG(spoolss_5b, &r);
4313 if (NT_STATUS_IS_ERR(status)) {
4317 /* Return variables */
4321 *werror = r.out.result;
4324 return werror_to_ntstatus(r.out.result);
4327 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
4328 TALLOC_CTX *mem_ctx,
4331 struct spoolss_5c r;
4336 if (DEBUGLEVEL >= 10) {
4337 NDR_PRINT_IN_DEBUG(spoolss_5c, &r);
4340 status = cli->dispatch(cli,
4346 if (!NT_STATUS_IS_OK(status)) {
4350 if (DEBUGLEVEL >= 10) {
4351 NDR_PRINT_OUT_DEBUG(spoolss_5c, &r);
4354 if (NT_STATUS_IS_ERR(status)) {
4358 /* Return variables */
4362 *werror = r.out.result;
4365 return werror_to_ntstatus(r.out.result);
4368 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
4369 TALLOC_CTX *mem_ctx,
4372 struct spoolss_5d r;
4377 if (DEBUGLEVEL >= 10) {
4378 NDR_PRINT_IN_DEBUG(spoolss_5d, &r);
4381 status = cli->dispatch(cli,
4387 if (!NT_STATUS_IS_OK(status)) {
4391 if (DEBUGLEVEL >= 10) {
4392 NDR_PRINT_OUT_DEBUG(spoolss_5d, &r);
4395 if (NT_STATUS_IS_ERR(status)) {
4399 /* Return variables */
4403 *werror = r.out.result;
4406 return werror_to_ntstatus(r.out.result);
4409 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
4410 TALLOC_CTX *mem_ctx,
4413 struct spoolss_5e r;
4418 if (DEBUGLEVEL >= 10) {
4419 NDR_PRINT_IN_DEBUG(spoolss_5e, &r);
4422 status = cli->dispatch(cli,
4428 if (!NT_STATUS_IS_OK(status)) {
4432 if (DEBUGLEVEL >= 10) {
4433 NDR_PRINT_OUT_DEBUG(spoolss_5e, &r);
4436 if (NT_STATUS_IS_ERR(status)) {
4440 /* Return variables */
4444 *werror = r.out.result;
4447 return werror_to_ntstatus(r.out.result);
4450 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
4451 TALLOC_CTX *mem_ctx,
4454 struct spoolss_5f r;
4459 if (DEBUGLEVEL >= 10) {
4460 NDR_PRINT_IN_DEBUG(spoolss_5f, &r);
4463 status = cli->dispatch(cli,
4469 if (!NT_STATUS_IS_OK(status)) {
4473 if (DEBUGLEVEL >= 10) {
4474 NDR_PRINT_OUT_DEBUG(spoolss_5f, &r);
4477 if (NT_STATUS_IS_ERR(status)) {
4481 /* Return variables */
4485 *werror = r.out.result;
4488 return werror_to_ntstatus(r.out.result);