4 spoolss interface definitions
7 [ uuid("12345678-1234-abcd-ef00-0123456789ab"),
9 endpoint("ncacn_np:[\\pipe\\spoolss]"),
10 pointer_default(unique),
11 pointer_default_top(unique),
12 helpstring("Spooler SubSystem"),
28 [relative] nstring *printername;
29 [relative] nstring *servername;
34 uint32 global_counter;
40 uint32 session_counter;
42 uint32 printer_errors;
57 } spoolss_PrinterInfo0;
64 [value(r->driverextra_data.length)] uint16 __driverextra_length;
85 uint32 displayfrequency;
94 [subcontext_size(r->__driverextra_length),subcontext(0),flag(NDR_REMAINING)] DATA_BLOB driverextra_data;
97 typedef [public] bitmap {
98 PRINTER_ENUM_DEFAULT = 0x00000001,
99 PRINTER_ENUM_LOCAL = 0x00000002,
100 PRINTER_ENUM_CONNECTIONS = 0x00000004,
101 PRINTER_ENUM_FAVORITE = 0x00000004,
102 PRINTER_ENUM_NAME = 0x00000008,
103 PRINTER_ENUM_REMOTE = 0x00000010,
104 PRINTER_ENUM_SHARED = 0x00000020,
105 PRINTER_ENUM_NETWORK = 0x00000040,
106 PRINTER_ENUM_EXPAND = 0x00004000,
107 PRINTER_ENUM_CONTAINER = 0x00008000,
108 PRINTER_ENUM_ICON1 = 0x00010000,
109 PRINTER_ENUM_ICON2 = 0x00020000,
110 PRINTER_ENUM_ICON3 = 0x00040000,
111 PRINTER_ENUM_ICON4 = 0x00080000,
112 PRINTER_ENUM_ICON5 = 0x00100000,
113 PRINTER_ENUM_ICON6 = 0x00200000,
114 PRINTER_ENUM_ICON7 = 0x00400000,
115 PRINTER_ENUM_ICON8 = 0x00800000,
116 PRINTER_ENUM_HIDE = 0x01000000
117 } spoolss_EnumPrinterFlags;
120 spoolss_EnumPrinterFlags flags;
121 [relative] nstring *name;
122 [relative] nstring *description;
123 [relative] nstring *comment;
124 } spoolss_PrinterInfo1;
127 PRINTER_ATTRIBUTE_QUEUED = 0x00000001,
128 PRINTER_ATTRIBUTE_DIRECT = 0x00000002,
129 PRINTER_ATTRIBUTE_DEFAULT = 0x00000004,
130 PRINTER_ATTRIBUTE_SHARED = 0x00000008,
131 PRINTER_ATTRIBUTE_NETWORK = 0x00000010,
132 PRINTER_ATTRIBUTE_HIDDEN = 0x00000020,
133 PRINTER_ATTRIBUTE_LOCAL = 0x00000040,
134 PRINTER_ATTRIBUTE_ENABLE_DEVQ = 0x00000080,
135 PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = 0x00000100,
136 PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = 0x00000200,
137 PRINTER_ATTRIBUTE_WORK_OFFLINE = 0x00000400,
138 PRINTER_ATTRIBUTE_ENABLE_BIDI = 0x00000800,
139 PRINTER_ATTRIBUTE_RAW_ONLY = 0x00001000,
140 PRINTER_ATTRIBUTE_PUBLISHED = 0x00002000,
141 PRINTER_ATTRIBUTE_FAX = 0x00004000,
142 PRINTER_ATTRIBUTE_TS = 0x00008000
143 } spoolss_PrinterAttributes;
146 PRINTER_STATUS_PAUSED = 0x00000001,
147 PRINTER_STATUS_ERROR = 0x00000002,
148 PRINTER_STATUS_PENDING_DELETION = 0x00000004,
149 PRINTER_STATUS_PAPER_JAM = 0x00000008,
150 PRINTER_STATUS_PAPER_OUT = 0x00000010,
151 PRINTER_STATUS_MANUAL_FEED = 0x00000020,
152 PRINTER_STATUS_PAPER_PROBLEM = 0x00000040,
153 PRINTER_STATUS_OFFLINE = 0x00000080,
154 PRINTER_STATUS_IO_ACTIVE = 0x00000100,
155 PRINTER_STATUS_BUSY = 0x00000200,
156 PRINTER_STATUS_PRINTING = 0x00000400,
157 PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800,
158 PRINTER_STATUS_NOT_AVAILABLE = 0x00001000,
159 PRINTER_STATUS_WAITING = 0x00002000,
160 PRINTER_STATUS_PROCESSING = 0x00004000,
161 PRINTER_STATUS_INITIALIZING = 0x00008000,
162 PRINTER_STATUS_WARMING_UP = 0x00010000,
163 PRINTER_STATUS_TONER_LOW = 0x00020000,
164 PRINTER_STATUS_NO_TONER = 0x00040000,
165 PRINTER_STATUS_PAGE_PUNT = 0x00080000,
166 PRINTER_STATUS_USER_INTERVENTION= 0x00100000,
167 PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000,
168 PRINTER_STATUS_DOOR_OPEN = 0x00400000,
169 PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000,
170 PRINTER_STATUS_POWER_SAVE = 0x01000000
171 } spoolss_PrinterStatus;
174 [relative] nstring *servername;
175 [relative] nstring *printername;
176 [relative] nstring *sharename;
177 [relative] nstring *portname;
178 [relative] nstring *drivername;
179 [relative] nstring *comment;
180 [relative] nstring *location;
181 [relative] spoolss_DeviceMode *devmode;
182 [relative] nstring *sepfile;
183 [relative] nstring *printprocessor;
184 [relative] nstring *datatype;
185 [relative] nstring *parameters;
186 [relative,subcontext(0)] security_descriptor *secdesc;
187 spoolss_PrinterAttributes attributes;
189 uint32 defaultpriority;
192 spoolss_PrinterStatus status;
195 } spoolss_PrinterInfo2;
198 [relative,subcontext(0)] security_descriptor *secdesc;
199 } spoolss_PrinterInfo3;
202 [relative] nstring *printername;
203 [relative] nstring *servername;
204 spoolss_PrinterAttributes attributes;
205 } spoolss_PrinterInfo4;
208 [relative] nstring *printername;
209 [relative] nstring *portname;
210 spoolss_PrinterAttributes attributes;
211 uint32 device_not_selected_timeout;
212 uint32 transmission_retry_timeout;
213 } spoolss_PrinterInfo5;
216 spoolss_PrinterStatus status;
217 } spoolss_PrinterInfo6;
220 DSPRINT_PUBLISH = 0x00000001,
221 DSPRINT_UPDATE = 0x00000002,
222 DSPRINT_UNPUBLISH = 0x00000004,
223 DSPRINT_REPUBLISH = 0x00000008,
224 DSPRINT_PENDING = 0x80000000
225 } spoolss_DsPrintAction;
228 [relative] nstring *guid; /* text form of printer guid */
229 spoolss_DsPrintAction action;
230 } spoolss_PrinterInfo7;
233 [relative] spoolss_DeviceMode *devmode;
234 } spoolss_DeviceModeInfo;
236 typedef [nodiscriminant,public] union {
237 [case(0)] spoolss_PrinterInfo0 info0;
238 [case(1)] spoolss_PrinterInfo1 info1;
239 [case(2)] spoolss_PrinterInfo2 info2;
240 [case(3)] spoolss_PrinterInfo3 info3;
241 [case(4)] spoolss_PrinterInfo4 info4;
242 [case(5)] spoolss_PrinterInfo5 info5;
243 [case(6)] spoolss_PrinterInfo6 info6;
244 [case(7)] spoolss_PrinterInfo7 info7;
245 [case(8)] spoolss_DeviceModeInfo info8;
246 [case(9)] spoolss_DeviceModeInfo info9;
248 } spoolss_PrinterInfo;
252 [noprint,nopull,nopush] WERROR spoolss_EnumPrinters(
253 [in] spoolss_EnumPrinterFlags flags,
256 [in] DATA_BLOB *buffer,
257 /* [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info[count],*/
258 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo **info,
259 [in,out,ref] uint32 *buf_size,
271 spoolss_Devmode *devmode;
272 } spoolss_DevmodeContainer;
274 WERROR spoolss_OpenPrinter(
275 [in] unistr *printername,
276 [in] unistr *datatype,
277 [in] spoolss_DevmodeContainer devmode_ctr,
278 [in] uint32 access_mask,
279 [out,ref] policy_handle *handle
284 WERROR spoolss_SetJob(
285 [in,ref] policy_handle *handle,
293 WERROR spoolss_GetJob(
294 [in,ref] policy_handle *handle,
297 [in] DATA_BLOB *buffer,
298 [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
299 [in,out,ref] uint32 *buf_size
304 [relative] nstring *printer_name;
305 [relative] nstring *server_name;
306 [relative] nstring *user_name;
307 [relative] nstring *document_name;
308 [relative] nstring *data_type;
309 [relative] nstring *text_status;
314 uint32 pages_printed;
318 typedef [nodiscriminant,public] union {
319 [case(1)] spoolss_JobInfo1 info1;
320 [case(2)]; /* TODO */
321 [case(3)]; /* TODO */
327 [noprint,nopull,nopush] WERROR spoolss_EnumJobs(
328 [in,ref] policy_handle *handle,
329 [in] uint32 firstjob,
332 [in] DATA_BLOB *buffer,
333 /* [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info[count],*/
334 [out,subcontext(4),switch_is(level)] spoolss_JobInfo **info,
335 [in,out,ref] uint32 *buf_size,
341 WERROR spoolss_AddPrinter(
342 /* This function is not implemented in Samba 3 as no
343 clients have been observed using it. */
348 WERROR spoolss_DeletePrinter(
351 typedef [v1_enum] enum {
352 SPOOLSS_PRINTER_CONTROL_UNPAUSE = 0,
353 SPOOLSS_PRINTER_CONTROL_PAUSE = 1,
354 SPOOLSS_PRINTER_CONTROL_RESUME = 2,
355 SPOOLSS_PRINTER_CONTROL_PURGE = 3,
356 SPOOLSS_PRINTER_CONTROL_SET_STATUS = 4
357 } spoolss_PrinterControl;
361 WERROR spoolss_SetPrinter(
362 [in,ref] policy_handle *handle,
364 [in,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
365 [in] spoolss_DevmodeContainer devmode_ctr,
366 [in,relative,subcontext(0)] security_descriptor *secdesc,
367 [in] spoolss_PrinterControl command
372 WERROR spoolss_GetPrinter(
373 [in,ref] policy_handle *handle,
375 [in] DATA_BLOB *buffer,
376 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
377 [in,out,ref] uint32 *buf_size
382 WERROR spoolss_AddPrinterDriver(
386 [relative] nstring *driver_name;
387 } spoolss_DriverInfo1;
389 typedef [v1_enum] enum {
390 SPOOLSS_DRIVER_VERSION_9X = 0,
391 SPOOLSS_DRIVER_VERSION_NT35 = 1,
392 SPOOLSS_DRIVER_VERSION_NT4 = 2,
393 SPOOLSS_DRIVER_VERSION_200X = 3
394 } spoolss_DriverOSVersion;
397 spoolss_DriverOSVersion version;
398 [relative] nstring *driver_name;
399 [relative] nstring *architecture;
400 [relative] nstring *driver_path;
401 [relative] nstring *data_file;
402 [relative] nstring *config_file;
403 } spoolss_DriverInfo2;
406 spoolss_DriverOSVersion version;
407 [relative] nstring *driver_name;
408 [relative] nstring *architecture;
409 [relative] nstring *driver_path;
410 [relative] nstring *data_file;
411 [relative] nstring *config_file;
412 [relative] nstring *help_file;
413 [relative] nstring_array *dependent_files;
414 [relative] nstring *monitor_name;
415 [relative] nstring *default_datatype;
416 } spoolss_DriverInfo3;
419 spoolss_DriverOSVersion version;
420 [relative] nstring *driver_name;
421 [relative] nstring *architecture;
422 [relative] nstring *driver_path;
423 [relative] nstring *data_file;
424 [relative] nstring *config_file;
425 [relative] nstring *help_file;
426 [relative] nstring_array *dependent_files;
427 [relative] nstring *monitor_name;
428 [relative] nstring *default_datatype;
429 [relative] nstring_array *previous_names;
430 } spoolss_DriverInfo4;
433 spoolss_DriverOSVersion version;
434 [relative] nstring *driver_name;
435 [relative] nstring *architecture;
436 [relative] nstring *driver_path;
437 [relative] nstring *data_file;
438 [relative] nstring *config_file;
439 uint32 driver_attributes;
440 uint32 config_version;
441 uint32 driver_version;
442 } spoolss_DriverInfo5;
445 spoolss_DriverOSVersion version;
446 [relative] nstring *driver_name;
447 [relative] nstring *architecture;
448 [relative] nstring *driver_path;
449 [relative] nstring *data_file;
450 [relative] nstring *config_file;
451 [relative] nstring *help_file;
452 [relative] nstring_array *dependent_files;
453 [relative] nstring *monitor_name;
454 [relative] nstring *default_datatype;
455 [relative] nstring_array *previous_names;
457 hyper driver_version;
458 [relative] nstring *manufacturer_name;
459 [relative] nstring *manufacturer_url;
460 [relative] nstring *hardware_id;
461 [relative] nstring *provider;
462 } spoolss_DriverInfo6;
464 typedef [nodiscriminant,public] union {
465 [case(1)] spoolss_DriverInfo1 info1;
466 [case(2)] spoolss_DriverInfo2 info2;
467 [case(3)] spoolss_DriverInfo3 info3;
468 [case(4)] spoolss_DriverInfo4 info4;
469 [case(5)] spoolss_DriverInfo5 info5;
470 [case(6)] spoolss_DriverInfo6 info6;
472 } spoolss_DriverInfo;
476 [noprint,nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
478 [in] unistr *environment,
480 [in] DATA_BLOB *buffer,
481 /* [out,subcontext(4),switch_is(level)] spoolss_DriverInfo *info[count],*/
482 [out,subcontext(4),switch_is(level)] spoolss_DriverInfo **info,
483 [in,out,ref] uint32 *buf_size,
489 WERROR spoolss_GetPrinterDriver(
494 WERROR spoolss_GetPrinterDriverDirectory(
499 WERROR spoolss_DeletePrinterDriver(
500 [in,ref] policy_handle *handle,
502 [in] unistr architecture,
508 WERROR spoolss_AddPrintProcessor(
514 [relative] nstring *print_processor_name;
515 } spoolss_PrintProcessorInfo1;
517 typedef [nodiscriminant,public] union {
518 [case(1)] spoolss_PrintProcessorInfo1 info1;
520 } spoolss_PrintProcessorInfo;
522 [noprint,nopull,nopush] WERROR spoolss_EnumPrintProcessors(
523 [in] unistr *servername,
524 [in] unistr *environment,
526 [in] DATA_BLOB *buffer,
527 /* [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo *info[count],*/
528 [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo **info,
529 /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
530 [in,out,ref] uint32 *buf_size,
536 WERROR spoolss_GetPrintProcessorDirectory(
541 WERROR spoolss_StartDocPrinter(
546 WERROR spoolss_StartPagePrinter(
547 [in,ref] policy_handle *handle
552 WERROR spoolss_WritePrinter(
557 WERROR spoolss_EndPagePrinter(
558 [in,ref] policy_handle *handle
563 WERROR spoolss_AbortPrinter(
568 WERROR spoolss_ReadPrinter(
573 WERROR spoolss_EndDocPrinter(
578 WERROR spoolss_AddJob(
583 WERROR spoolss_ScheduleJob(
588 const string SPOOLSS_ARCHITECTURE_NT_X86 = "Windows NT x86";
590 typedef [v1_enum] enum {
591 SPOOLSS_PRINTER_DATA_TYPE_NULL = 0,
592 SPOOLSS_PRINTER_DATA_TYPE_STRING = 1,
593 SPOOLSS_PRINTER_DATA_TYPE_UINT32 = 4
594 } spoolss_PrinterDataType;
596 typedef [nodiscriminant,gensize] union {
597 [case(SPOOLSS_PRINTER_DATA_TYPE_NULL)];
598 [case(SPOOLSS_PRINTER_DATA_TYPE_STRING)] nstring string;
599 [case(SPOOLSS_PRINTER_DATA_TYPE_UINT32)] uint32 value;
600 [default,flag(NDR_REMAINING)] DATA_BLOB data;
601 } spoolss_PrinterData;
603 WERROR spoolss_GetPrinterData(
604 [in,ref] policy_handle *handle,
605 [in] unistr value_name,
606 [out] spoolss_PrinterDataType type,
607 [out,subcontext(4),switch_is(type)] spoolss_PrinterData data,
608 [in,out,ref] uint32 *buf_size
613 WERROR spoolss_SetPrinterData(
614 [in,ref] policy_handle *handle,
615 [in] unistr value_name,
617 [in] DATA_BLOB buffer,
623 WERROR spoolss_WaitForPrinterChange(
628 WERROR spoolss_ClosePrinter(
629 [in,out,ref] policy_handle *handle
634 typedef [v1_enum] enum {
635 SPOOLSS_FORM_USER = 0,
636 SPOOLSS_FORM_BUILTIN = 1,
637 SPOOLSS_FORM_PRINTER = 2
653 spoolss_FormFlags flags;
654 [relative] unistr *form_name;
655 spoolss_FormSize size;
656 spoolss_FormArea area;
657 } spoolss_AddFormInfo1;
660 [case(1)] spoolss_AddFormInfo1 *info1;
661 } spoolss_AddFormInfo;
663 WERROR spoolss_AddForm(
664 [in,ref] policy_handle *handle,
666 [in,switch_is(level)] spoolss_AddFormInfo info
671 WERROR spoolss_DeleteForm(
672 [in,ref] policy_handle *handle,
673 [in] unistr form_name
679 spoolss_FormFlags flags;
680 [relative] nstring *form_name;
681 spoolss_FormSize size;
682 spoolss_FormArea area;
685 WERROR spoolss_GetForm(
686 [in,ref] policy_handle *handle,
687 [in] unistr form_name,
689 [in] DATA_BLOB *buffer,
690 [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info,
691 [in,out,ref] uint32 *buf_size
695 spoolss_FormFlags flags;
697 spoolss_FormSize size;
698 spoolss_FormArea area;
699 } spoolss_SetFormInfo1;
702 [case(1)] spoolss_SetFormInfo1 *info1;
703 } spoolss_SetFormInfo;
707 WERROR spoolss_SetForm(
708 [in,ref] policy_handle *handle,
709 [in] unistr form_name,
711 [in,switch_is(level)] spoolss_SetFormInfo info
714 typedef [nodiscriminant,public] union {
715 [case(1)] spoolss_FormInfo1 info1;
721 [noprint,nopull,nopush] WERROR spoolss_EnumForms(
722 [in,ref] policy_handle *handle,
724 [in] DATA_BLOB *buffer,
725 /* [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info[count],*/
726 [out,subcontext(4),switch_is(level)] spoolss_FormInfo **info,
727 [in,out,ref] uint32 *buf_size,
731 typedef [flag(RELATIVE_CURRENT)] struct {
732 [relative] nstring *port_name;
736 SPOOLSS_PORT_TYPE_WRITE = 0x00000001,
737 SPOOLSS_PORT_TYPE_READ = 0x00000002,
738 SPOOLSS_PORT_TYPE_REDIRECTED = 0x00000004,
739 SPOOLSS_PORT_TYPE_NET_ATTACHED = 0x00000008
743 [relative] nstring *port_name;
744 [relative] nstring *monitor_name;
745 [relative] nstring *description;
746 spoolss_PortType port_type;
750 typedef [nodiscriminant,public] union {
751 [case(1)] spoolss_PortInfo1 info1;
752 [case(2)] spoolss_PortInfo2 info2;
753 [case(3)]; /* TODO */
759 [noprint,nopull,nopush] WERROR spoolss_EnumPorts(
760 [in] unistr *servername,
762 [in] DATA_BLOB *buffer,
763 /* [out,subcontext(4),switch_is(level)] spoolss_PortInfo *info[count], */
764 [out,subcontext(4),switch_is(level)] spoolss_PortInfo **info,
765 [in,out,ref] uint32 *buf_size,
772 [relative] nstring *monitor_name;
773 } spoolss_MonitorInfo1;
776 [relative] nstring *monitor_name;
777 [relative] nstring *environment;
778 [relative] nstring *dll_name;
779 } spoolss_MonitorInfo2;
781 typedef [nodiscriminant,public] union {
782 [case(1)] spoolss_MonitorInfo1 info1;
783 [case(2)] spoolss_MonitorInfo2 info2;
785 } spoolss_MonitorInfo;
787 [noprint,nopull,nopush] WERROR spoolss_EnumMonitors(
788 [in] unistr *servername,
790 [in] DATA_BLOB *buffer,
791 /* [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo *info[count], */
792 [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo **info,
793 /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
794 [in,out,ref] uint32 *buf_size,
800 WERROR spoolss_AddPort(
801 [in] unistr *server_name,
803 [in] unistr monitor_name
808 WERROR spoolss_ConfigurePort(
813 WERROR spoolss_DeletePort(
818 WERROR spoolss_CreatePrinterIC(
823 WERROR spoolss_PlayGDIScriptOnPrinterIC(
828 WERROR spoolss_DeletePrinterIC(
833 WERROR spoolss_AddPrinterConnection(
838 WERROR spoolss_DeletePrinterConnection(
843 WERROR spoolss_PrinterMessageBox(
844 /* Marked as obsolete in MSDN. "Not necessary and has
850 WERROR spoolss_AddMonitor(
855 WERROR spoolss_DeleteMonitor(
860 WERROR spoolss_DeletePrintProcessor(
865 WERROR spoolss_AddPrintProvidor(
870 WERROR spoolss_DeletePrintProvidor(
875 WERROR spoolss_EnumPrintProcDataTypes(
880 WERROR spoolss_ResetPrinter(
885 WERROR spoolss_GetPrinterDriver2(
886 [in,ref] policy_handle *handle,
887 [in] unistr *architecture,
889 [in,out] DATA_BLOB *buffer,
890 [in,out,ref] uint32 *buf_size,
891 [in] uint32 client_major_version,
892 [in] uint32 client_minor_version,
893 [out] uint32 server_major_version,
894 [out] uint32 server_minor_version
899 WERROR spoolss_FindFirstPrinterChangeNotification(
904 WERROR spoolss_FindNextPrinterChangeNotification(
909 WERROR spoolss_FindClosePrinterNotify(
914 WERROR spoolss_RouterFindFirstPrinterChangeNotificationOld(
919 WERROR spoolss_ReplyOpenPrinter(
924 WERROR spoolss_RouterReplyPrinter(
929 WERROR spoolss_ReplyClosePrinter(
934 WERROR spoolss_AddPortEx(
939 WERROR spoolss_RouterFindFirstPrinterChangeNotification(
944 WERROR spoolss_SpoolerInit(
949 WERROR spoolss_ResetPrinterEx(
954 typedef [flag(NDR_PAHEX)] struct {
960 [size_is(count)] uint16 *array;
961 } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2;
967 [size_is(count)] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2 *t2;
968 } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1;
970 WERROR spoolss_RemoteFindFirstPrinterChangeNotifyEx(
971 [in,ref] policy_handle *handle,
976 [in] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1 *t1
981 WERROR spoolss_RouterRefreshPrinterChangeNotification(
986 WERROR spoolss_RemoteFindNextPrinterChangeNotifyEx(
1002 } spoolss_UserLevel1;
1005 [case(1)] spoolss_UserLevel1 *level1;
1006 } spoolss_UserLevel;
1008 /******************/
1009 /* Function: 0x45 */
1010 WERROR spoolss_OpenPrinterEx(
1011 [in] unistr *printername,
1012 [in] unistr *datatype,
1013 [in] spoolss_DevmodeContainer devmode_ctr,
1014 [in] uint32 access_mask,
1016 [in,switch_is(level)] spoolss_UserLevel userlevel,
1017 [out,ref] policy_handle *handle
1020 /******************/
1021 /* Function: 0x46 */
1022 WERROR spoolss_AddPrinterEx(
1023 [in] unistr *server,
1025 [in,switch_is(level)] spoolss_PrinterInfo *info,
1026 [in] spoolss_DevmodeContainer devmode_ctr,
1027 [in] security_descriptor *secdesc,
1029 [in,switch_is(ulevel)] spoolss_UserLevel userlevel
1032 /******************/
1033 /* Function: 0x47 */
1037 /******************/
1038 /* Function: 0x48 */
1039 WERROR spoolss_EnumPrinterData(
1040 [in,ref] policy_handle *handle,
1041 [in] uint32 enum_index,
1042 [in] uint32 value_offered,
1043 [out] lstring value_name,
1044 [out] uint32 value_needed,
1045 [out] uint32 printerdata_type,
1046 [out] DATA_BLOB buffer,
1047 [in,out,ref] uint32 *data_size
1050 /******************/
1051 /* Function: 0x49 */
1052 WERROR spoolss_DeletePrinterData(
1053 [in,ref] policy_handle *handle,
1054 [in] unistr value_name
1057 /******************/
1058 /* Function: 0x4a */
1062 /******************/
1063 /* Function: 0x4b */
1067 /******************/
1068 /* Function: 0x4c */
1072 /******************/
1073 /* Function: 0x4d */
1074 WERROR spoolss_SetPrinterDataEx(
1075 [in,ref] policy_handle *handle,
1076 [in] unistr key_name,
1077 [in] unistr value_name,
1079 [in] DATA_BLOB buffer,
1080 [in,out,ref] uint32 *buf_size
1083 /******************/
1084 /* Function: 0x4e */
1085 WERROR spoolss_GetPrinterDataEx(
1086 [in,ref] policy_handle *handle,
1087 [in] unistr key_name,
1088 [in] unistr value_name,
1090 [out] DATA_BLOB buffer,
1091 [in,out,ref] uint32 *buf_size
1094 /******************/
1095 /* Function: 0x4f */
1096 WERROR spoolss_EnumPrinterDataEx(
1097 [in,ref] policy_handle *handle,
1098 [in] unistr key_name,
1099 [out] DATA_BLOB buffer,
1100 [in,out] uint32 buf_size,
1104 /******************/
1105 /* Function: 0x50 */
1106 WERROR spoolss_EnumPrinterKey(
1109 /******************/
1110 /* Function: 0x51 */
1111 WERROR spoolss_DeletePrinterDataEx(
1112 [in,ref] policy_handle *handle,
1113 [in] unistr key_name,
1114 [in] unistr value_name
1117 /******************/
1118 /* Function: 0x52 */
1119 WERROR spoolss_DeletePrinterKey(
1122 /******************/
1123 /* Function: 0x53 */
1127 /******************/
1128 /* Function: 0x54 */
1129 WERROR spoolss_DeletePrinterDriverEx(
1132 /******************/
1133 /* Function: 0x55 */
1137 /******************/
1138 /* Function: 0x56 */
1142 /******************/
1143 /* Function: 0x57 */
1147 /******************/
1148 /* Function: 0x58 */
1152 /******************/
1153 /* Function: 0x59 */
1154 WERROR spoolss_AddPrinterDriverEx(
1157 /******************/
1158 /* Function: 0x5a */
1162 /******************/
1163 /* Function: 0x5b */
1167 /******************/
1168 /* Function: 0x5c */
1172 /******************/
1173 /* Function: 0x5d */
1177 /******************/
1178 /* Function: 0x5e */
1182 /******************/
1183 /* Function: 0x5f */