4 spoolss interface definitions
7 [ uuid("12345678-1234-abcd-ef00-0123456789ab"),
9 endpoint("ncacn_np:[\\pipe\\spoolss]"),
10 pointer_default(unique),
11 helpstring("Spooler SubSystem"),
27 [relative] nstring *printername;
28 [relative] nstring *servername;
33 uint32 global_counter;
39 uint32 session_counter;
41 uint32 printer_errors;
56 } spoolss_PrinterInfo0;
63 [value(r->driverextra_data.length)] uint16 __driverextra_length;
84 uint32 displayfrequency;
93 [subcontext_size(r->__driverextra_length),subcontext(0),flag(NDR_REMAINING)] DATA_BLOB driverextra_data;
96 typedef [public] bitmap {
97 PRINTER_ENUM_DEFAULT = 0x00000001,
98 PRINTER_ENUM_LOCAL = 0x00000002,
99 PRINTER_ENUM_CONNECTIONS = 0x00000004,
100 PRINTER_ENUM_FAVORITE = 0x00000004,
101 PRINTER_ENUM_NAME = 0x00000008,
102 PRINTER_ENUM_REMOTE = 0x00000010,
103 PRINTER_ENUM_SHARED = 0x00000020,
104 PRINTER_ENUM_NETWORK = 0x00000040,
105 PRINTER_ENUM_EXPAND = 0x00004000,
106 PRINTER_ENUM_CONTAINER = 0x00008000,
107 PRINTER_ENUM_ICON1 = 0x00010000,
108 PRINTER_ENUM_ICON2 = 0x00020000,
109 PRINTER_ENUM_ICON3 = 0x00040000,
110 PRINTER_ENUM_ICON4 = 0x00080000,
111 PRINTER_ENUM_ICON5 = 0x00100000,
112 PRINTER_ENUM_ICON6 = 0x00200000,
113 PRINTER_ENUM_ICON7 = 0x00400000,
114 PRINTER_ENUM_ICON8 = 0x00800000,
115 PRINTER_ENUM_HIDE = 0x01000000
116 } spoolss_EnumPrinterFlags;
119 spoolss_EnumPrinterFlags flags;
120 [relative] nstring *name;
121 [relative] nstring *description;
122 [relative] nstring *comment;
123 } spoolss_PrinterInfo1;
126 PRINTER_ATTRIBUTE_QUEUED = 0x00000001,
127 PRINTER_ATTRIBUTE_DIRECT = 0x00000002,
128 PRINTER_ATTRIBUTE_DEFAULT = 0x00000004,
129 PRINTER_ATTRIBUTE_SHARED = 0x00000008,
130 PRINTER_ATTRIBUTE_NETWORK = 0x00000010,
131 PRINTER_ATTRIBUTE_HIDDEN = 0x00000020,
132 PRINTER_ATTRIBUTE_LOCAL = 0x00000040,
133 PRINTER_ATTRIBUTE_ENABLE_DEVQ = 0x00000080,
134 PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = 0x00000100,
135 PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = 0x00000200,
136 PRINTER_ATTRIBUTE_WORK_OFFLINE = 0x00000400,
137 PRINTER_ATTRIBUTE_ENABLE_BIDI = 0x00000800,
138 PRINTER_ATTRIBUTE_RAW_ONLY = 0x00001000,
139 PRINTER_ATTRIBUTE_PUBLISHED = 0x00002000,
140 PRINTER_ATTRIBUTE_FAX = 0x00004000,
141 PRINTER_ATTRIBUTE_TS = 0x00008000
142 } spoolss_PrinterAttributes;
145 PRINTER_STATUS_PAUSED = 0x00000001,
146 PRINTER_STATUS_ERROR = 0x00000002,
147 PRINTER_STATUS_PENDING_DELETION = 0x00000004,
148 PRINTER_STATUS_PAPER_JAM = 0x00000008,
149 PRINTER_STATUS_PAPER_OUT = 0x00000010,
150 PRINTER_STATUS_MANUAL_FEED = 0x00000020,
151 PRINTER_STATUS_PAPER_PROBLEM = 0x00000040,
152 PRINTER_STATUS_OFFLINE = 0x00000080,
153 PRINTER_STATUS_IO_ACTIVE = 0x00000100,
154 PRINTER_STATUS_BUSY = 0x00000200,
155 PRINTER_STATUS_PRINTING = 0x00000400,
156 PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800,
157 PRINTER_STATUS_NOT_AVAILABLE = 0x00001000,
158 PRINTER_STATUS_WAITING = 0x00002000,
159 PRINTER_STATUS_PROCESSING = 0x00004000,
160 PRINTER_STATUS_INITIALIZING = 0x00008000,
161 PRINTER_STATUS_WARMING_UP = 0x00010000,
162 PRINTER_STATUS_TONER_LOW = 0x00020000,
163 PRINTER_STATUS_NO_TONER = 0x00040000,
164 PRINTER_STATUS_PAGE_PUNT = 0x00080000,
165 PRINTER_STATUS_USER_INTERVENTION= 0x00100000,
166 PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000,
167 PRINTER_STATUS_DOOR_OPEN = 0x00400000,
168 PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000,
169 PRINTER_STATUS_POWER_SAVE = 0x01000000
170 } spoolss_PrinterStatus;
173 [relative] nstring *servername;
174 [relative] nstring *printername;
175 [relative] nstring *sharename;
176 [relative] nstring *portname;
177 [relative] nstring *drivername;
178 [relative] nstring *comment;
179 [relative] nstring *location;
180 [relative] spoolss_DeviceMode *devmode;
181 [relative] nstring *sepfile;
182 [relative] nstring *printprocessor;
183 [relative] nstring *datatype;
184 [relative] nstring *parameters;
185 [relative,subcontext(0)] security_descriptor *secdesc;
186 spoolss_PrinterAttributes attributes;
188 uint32 defaultpriority;
191 spoolss_PrinterStatus status;
194 } spoolss_PrinterInfo2;
197 [relative,subcontext(0)] security_descriptor *secdesc;
198 } spoolss_PrinterInfo3;
201 [relative] nstring *printername;
202 [relative] nstring *servername;
203 spoolss_PrinterAttributes attributes;
204 } spoolss_PrinterInfo4;
207 [relative] nstring *printername;
208 [relative] nstring *portname;
209 spoolss_PrinterAttributes attributes;
210 uint32 device_not_selected_timeout;
211 uint32 transmission_retry_timeout;
212 } spoolss_PrinterInfo5;
215 spoolss_PrinterStatus status;
216 } spoolss_PrinterInfo6;
219 DSPRINT_PUBLISH = 0x00000001,
220 DSPRINT_UPDATE = 0x00000002,
221 DSPRINT_UNPUBLISH = 0x00000004,
222 DSPRINT_REPUBLISH = 0x00000008,
223 DSPRINT_PENDING = 0x80000000
224 } spoolss_DsPrintAction;
227 [relative] nstring *guid; /* text form of printer guid */
228 spoolss_DsPrintAction action;
229 } spoolss_PrinterInfo7;
232 [relative] spoolss_DeviceMode *devmode;
233 } spoolss_DeviceModeInfo;
235 typedef [nodiscriminant,public] union {
236 [case(0)] spoolss_PrinterInfo0 info0;
237 [case(1)] spoolss_PrinterInfo1 info1;
238 [case(2)] spoolss_PrinterInfo2 info2;
239 [case(3)] spoolss_PrinterInfo3 info3;
240 [case(4)] spoolss_PrinterInfo4 info4;
241 [case(5)] spoolss_PrinterInfo5 info5;
242 [case(6)] spoolss_PrinterInfo6 info6;
243 [case(7)] spoolss_PrinterInfo7 info7;
244 [case(8)] spoolss_DeviceModeInfo info8;
245 [case(9)] spoolss_DeviceModeInfo info9;
247 } spoolss_PrinterInfo;
251 [noprint,nopull,nopush] WERROR spoolss_EnumPrinters(
252 [in] spoolss_EnumPrinterFlags flags,
255 [in] DATA_BLOB *buffer,
256 /* [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info[count],*/
257 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo **info,
258 [in,out,ref] uint32 *buf_size,
270 spoolss_Devmode *devmode;
271 } spoolss_DevmodeContainer;
273 WERROR spoolss_OpenPrinter(
274 [in] unistr *printername,
275 [in] unistr *datatype,
276 [in] spoolss_DevmodeContainer devmode_ctr,
277 [in] uint32 access_mask,
278 [out,ref] policy_handle *handle
283 WERROR spoolss_SetJob(
284 [in,ref] policy_handle *handle,
292 WERROR spoolss_GetJob(
293 [in,ref] policy_handle *handle,
296 [in] DATA_BLOB *buffer,
297 [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
298 [in,out,ref] uint32 *buf_size
303 [relative] nstring *printer_name;
304 [relative] nstring *server_name;
305 [relative] nstring *user_name;
306 [relative] nstring *document_name;
307 [relative] nstring *data_type;
308 [relative] nstring *text_status;
313 uint32 pages_printed;
317 typedef [nodiscriminant,public] union {
318 [case(1)] spoolss_JobInfo1 info1;
319 [case(2)]; /* TODO */
320 [case(3)]; /* TODO */
326 [noprint,nopull,nopush] WERROR spoolss_EnumJobs(
327 [in,ref] policy_handle *handle,
328 [in] uint32 firstjob,
331 [in] DATA_BLOB *buffer,
332 /* [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info[count],*/
333 [out,subcontext(4),switch_is(level)] spoolss_JobInfo **info,
334 [in,out,ref] uint32 *buf_size,
340 WERROR spoolss_AddPrinter(
341 /* This function is not implemented in Samba 3 as no
342 clients have been observed using it. */
347 WERROR spoolss_DeletePrinter(
350 typedef [v1_enum] enum {
351 SPOOLSS_PRINTER_CONTROL_UNPAUSE = 0,
352 SPOOLSS_PRINTER_CONTROL_PAUSE = 1,
353 SPOOLSS_PRINTER_CONTROL_RESUME = 2,
354 SPOOLSS_PRINTER_CONTROL_PURGE = 3,
355 SPOOLSS_PRINTER_CONTROL_SET_STATUS = 4
356 } spoolss_PrinterControl;
360 WERROR spoolss_SetPrinter(
361 [in,ref] policy_handle *handle,
363 [in,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
364 [in] spoolss_DevmodeContainer devmode_ctr,
365 [in,relative,subcontext(0)] security_descriptor *secdesc,
366 [in] spoolss_PrinterControl command
371 WERROR spoolss_GetPrinter(
372 [in,ref] policy_handle *handle,
374 [in] DATA_BLOB *buffer,
375 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
376 [in,out,ref] uint32 *buf_size
381 WERROR spoolss_AddPrinterDriver(
385 [relative] nstring *driver_name;
386 } spoolss_DriverInfo1;
388 typedef [v1_enum] enum {
389 SPOOLSS_DRIVER_VERSION_9X = 0,
390 SPOOLSS_DRIVER_VERSION_NT35 = 1,
391 SPOOLSS_DRIVER_VERSION_NT4 = 2,
392 SPOOLSS_DRIVER_VERSION_200X = 3
393 } spoolss_DriverOSVersion;
396 spoolss_DriverOSVersion version;
397 [relative] nstring *driver_name;
398 [relative] nstring *architecture;
399 [relative] nstring *driver_path;
400 [relative] nstring *data_file;
401 [relative] nstring *config_file;
402 } spoolss_DriverInfo2;
405 spoolss_DriverOSVersion version;
406 [relative] nstring *driver_name;
407 [relative] nstring *architecture;
408 [relative] nstring *driver_path;
409 [relative] nstring *data_file;
410 [relative] nstring *config_file;
411 [relative] nstring *help_file;
412 [relative] nstring *dependent_files; /* array */
413 [relative] nstring *monitor_name;
414 [relative] nstring *default_datatype;
415 } spoolss_DriverInfo3;
418 spoolss_DriverOSVersion version;
419 [relative] nstring *driver_name;
420 [relative] nstring *architecture;
421 [relative] nstring *driver_path;
422 [relative] nstring *data_file;
423 [relative] nstring *config_file;
424 [relative] nstring *help_file;
425 [relative] nstring *dependent_files; /* array */
426 [relative] nstring *monitor_name;
427 [relative] nstring *default_datatype;
428 [relative] nstring *previous_names; /* array */
429 } spoolss_DriverInfo4;
432 spoolss_DriverOSVersion version;
433 [relative] nstring *driver_name;
434 [relative] nstring *architecture;
435 [relative] nstring *driver_path;
436 [relative] nstring *data_file;
437 [relative] nstring *config_file;
438 uint32 driver_attributes;
439 uint32 config_version;
440 uint32 driver_version;
441 } spoolss_DriverInfo5;
444 spoolss_DriverOSVersion version;
445 [relative] nstring *driver_name;
446 [relative] nstring *architecture;
447 [relative] nstring *driver_path;
448 [relative] nstring *data_file;
449 [relative] nstring *config_file;
450 [relative] nstring *help_file;
451 [relative] nstring *dependent_files; /* array */
452 [relative] nstring *monitor_name;
453 [relative] nstring *default_datatype;
454 [relative] nstring *previous_names; /* array */
456 hyper driver_version;
457 [relative] nstring *manufacturer_name;
458 [relative] nstring *manufacturer_url;
459 [relative] nstring *hardware_id;
460 [relative] nstring *provider;
461 } spoolss_DriverInfo6;
463 typedef [nodiscriminant,public] union {
464 [case(1)] spoolss_DriverInfo1 info1;
465 [case(2)] spoolss_DriverInfo2 info2;
466 [case(3)] spoolss_DriverInfo3 info3;
467 [case(4)] spoolss_DriverInfo4 info4;
468 [case(5)] spoolss_DriverInfo5 info5;
469 [case(6)] spoolss_DriverInfo6 info6;
471 } spoolss_DriverInfo;
475 [noprint,nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
477 [in] unistr *environment,
479 [in] DATA_BLOB *buffer,
480 /* [out,subcontext(4),switch_is(level)] spoolss_DriverInfo *info[count],*/
481 [out,subcontext(4),switch_is(level)] spoolss_DriverInfo **info,
482 [in,out,ref] uint32 *buf_size,
488 WERROR spoolss_GetPrinterDriver(
493 WERROR spoolss_GetPrinterDriverDirectory(
498 WERROR spoolss_DeletePrinterDriver(
499 [in,ref] policy_handle *handle,
501 [in] unistr architecture,
507 WERROR spoolss_AddPrintProcessor(
513 [relative] nstring *print_processor_name;
514 } spoolss_PrintProcessorInfo1;
516 typedef [nodiscriminant,public] union {
517 [case(1)] spoolss_PrintProcessorInfo1 info1;
519 } spoolss_PrintProcessorInfo;
521 [noprint,nopull,nopush] WERROR spoolss_EnumPrintProcessors(
522 [in] unistr *servername,
523 [in] unistr *environment,
525 [in] DATA_BLOB *buffer,
526 /* [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo *info[count],*/
527 [out,subcontext(4),switch_is(level)] spoolss_PrintProcessorInfo **info,
528 /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
529 [in,out,ref] uint32 *buf_size,
535 WERROR spoolss_GetPrintProcessorDirectory(
540 WERROR spoolss_StartDocPrinter(
545 WERROR spoolss_StartPagePrinter(
546 [in,ref] policy_handle *handle
551 WERROR spoolss_WritePrinter(
556 WERROR spoolss_EndPagePrinter(
557 [in,ref] policy_handle *handle
562 WERROR spoolss_AbortPrinter(
567 WERROR spoolss_ReadPrinter(
572 WERROR spoolss_EndDocPrinter(
577 WERROR spoolss_AddJob(
582 WERROR spoolss_ScheduleJob(
587 const string SPOOLSS_ARCHITECTURE_NT_X86 = "Windows NT x86";
589 typedef [v1_enum] enum {
590 SPOOLSS_PRINTER_DATA_TYPE_NULL = 0,
591 SPOOLSS_PRINTER_DATA_TYPE_STRING = 1,
592 SPOOLSS_PRINTER_DATA_TYPE_UINT32 = 4
593 } spoolss_PrinterDataType;
595 typedef [nodiscriminant,gensize] union {
596 [case(SPOOLSS_PRINTER_DATA_TYPE_NULL)];
597 [case(SPOOLSS_PRINTER_DATA_TYPE_STRING)] nstring string;
598 [case(SPOOLSS_PRINTER_DATA_TYPE_UINT32)] uint32 value;
599 [default,flag(NDR_REMAINING)] DATA_BLOB data;
600 } spoolss_PrinterData;
602 WERROR spoolss_GetPrinterData(
603 [in,ref] policy_handle *handle,
604 [in] unistr value_name,
605 [out] spoolss_PrinterDataType type,
606 [out,subcontext(4),switch_is(type)] spoolss_PrinterData data,
607 [in,out,ref] uint32 *buf_size
612 WERROR spoolss_SetPrinterData(
613 [in,ref] policy_handle *handle,
614 [in] unistr value_name,
616 [in] DATA_BLOB buffer,
622 WERROR spoolss_WaitForPrinterChange(
627 WERROR spoolss_ClosePrinter(
628 [in,out,ref] policy_handle *handle
633 typedef [v1_enum] enum {
634 SPOOLSS_FORM_USER = 0,
635 SPOOLSS_FORM_BUILTIN = 1,
636 SPOOLSS_FORM_PRINTER = 2
652 spoolss_FormFlags flags;
653 [relative] unistr *form_name;
654 spoolss_FormSize size;
655 spoolss_FormArea area;
656 } spoolss_AddFormInfo1;
659 [case(1)] spoolss_AddFormInfo1 *info1;
660 } spoolss_AddFormInfo;
662 WERROR spoolss_AddForm(
663 [in,ref] policy_handle *handle,
665 [in,switch_is(level)] spoolss_AddFormInfo info
670 WERROR spoolss_DeleteForm(
671 [in,ref] policy_handle *handle,
672 [in] unistr form_name
678 spoolss_FormFlags flags;
679 [relative] nstring *form_name;
680 spoolss_FormSize size;
681 spoolss_FormArea area;
684 WERROR spoolss_GetForm(
685 [in,ref] policy_handle *handle,
686 [in] unistr form_name,
688 [in] DATA_BLOB *buffer,
689 [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info,
690 [in,out,ref] uint32 *buf_size
694 spoolss_FormFlags flags;
696 spoolss_FormSize size;
697 spoolss_FormArea area;
698 } spoolss_SetFormInfo1;
701 [case(1)] spoolss_SetFormInfo1 *info1;
702 } spoolss_SetFormInfo;
706 WERROR spoolss_SetForm(
707 [in,ref] policy_handle *handle,
708 [in] unistr form_name,
710 [in,switch_is(level)] spoolss_SetFormInfo info
713 typedef [nodiscriminant,public] union {
714 [case(1)] spoolss_FormInfo1 info1;
720 [noprint,nopull,nopush] WERROR spoolss_EnumForms(
721 [in,ref] policy_handle *handle,
723 [in] DATA_BLOB *buffer,
724 /* [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info[count],*/
725 [out,subcontext(4),switch_is(level)] spoolss_FormInfo **info,
726 [in,out,ref] uint32 *buf_size,
730 typedef [flag(RELATIVE_CURRENT)] struct {
731 [relative] nstring *port_name;
735 SPOOLSS_PORT_TYPE_WRITE = 0x00000001,
736 SPOOLSS_PORT_TYPE_READ = 0x00000002,
737 SPOOLSS_PORT_TYPE_REDIRECTED = 0x00000004,
738 SPOOLSS_PORT_TYPE_NET_ATTACHED = 0x00000008
742 [relative] nstring *port_name;
743 [relative] nstring *monitor_name;
744 [relative] nstring *description;
745 spoolss_PortType port_type;
749 typedef [nodiscriminant,public] union {
750 [case(1)] spoolss_PortInfo1 info1;
751 [case(2)] spoolss_PortInfo2 info2;
752 [case(3)]; /* TODO */
758 [noprint,nopull,nopush] WERROR spoolss_EnumPorts(
759 [in] unistr *servername,
761 [in] DATA_BLOB *buffer,
762 /* [out,subcontext(4),switch_is(level)] spoolss_PortInfo *info[count], */
763 [out,subcontext(4),switch_is(level)] spoolss_PortInfo **info,
764 [in,out,ref] uint32 *buf_size,
771 [relative] nstring *monitor_name;
772 } spoolss_MonitorInfo1;
775 [relative] nstring *monitor_name;
776 [relative] nstring *environment;
777 [relative] nstring *dll_name;
778 } spoolss_MonitorInfo2;
780 typedef [nodiscriminant,public] union {
781 [case(1)] spoolss_MonitorInfo1 info1;
782 [case(2)] spoolss_MonitorInfo2 info2;
784 } spoolss_MonitorInfo;
786 [noprint,nopull,nopush] WERROR spoolss_EnumMonitors(
787 [in] unistr *servername,
789 [in] DATA_BLOB *buffer,
790 /* [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo *info[count], */
791 [out,subcontext(4),switch_is(level)] spoolss_MonitorInfo **info,
792 /* [out,subcontext(4),flag(NDR_REMAINING)] DATA_BLOB *info,*/
793 [in,out,ref] uint32 *buf_size,
799 WERROR spoolss_AddPort(
800 [in] unistr *server_name,
802 [in] unistr monitor_name
807 WERROR spoolss_ConfigurePort(
812 WERROR spoolss_DeletePort(
817 WERROR spoolss_CreatePrinterIC(
822 WERROR spoolss_PlayGDIScriptOnPrinterIC(
827 WERROR spoolss_DeletePrinterIC(
832 WERROR spoolss_AddPrinterConnection(
837 WERROR spoolss_DeletePrinterConnection(
842 WERROR spoolss_PrinterMessageBox(
843 /* Marked as obsolete in MSDN. "Not necessary and has
849 WERROR spoolss_AddMonitor(
854 WERROR spoolss_DeleteMonitor(
859 WERROR spoolss_DeletePrintProcessor(
864 WERROR spoolss_AddPrintProvidor(
869 WERROR spoolss_DeletePrintProvidor(
874 WERROR spoolss_EnumPrintProcDataTypes(
879 WERROR spoolss_ResetPrinter(
884 WERROR spoolss_GetPrinterDriver2(
885 [in,ref] policy_handle *handle,
886 [in] unistr *architecture,
888 [in,out] DATA_BLOB *buffer,
889 [in,out,ref] uint32 *buf_size,
890 [in] uint32 client_major_version,
891 [in] uint32 client_minor_version,
892 [out] uint32 server_major_version,
893 [out] uint32 server_minor_version
898 WERROR spoolss_FindFirstPrinterChangeNotification(
903 WERROR spoolss_FindNextPrinterChangeNotification(
908 WERROR spoolss_FindClosePrinterNotify(
913 WERROR spoolss_RouterFindFirstPrinterChangeNotificationOld(
918 WERROR spoolss_ReplyOpenPrinter(
923 WERROR spoolss_RouterReplyPrinter(
928 WERROR spoolss_ReplyClosePrinter(
933 WERROR spoolss_AddPortEx(
938 WERROR spoolss_RouterFindFirstPrinterChangeNotification(
943 WERROR spoolss_SpoolerInit(
948 WERROR spoolss_ResetPrinterEx(
953 typedef [flag(NDR_PAHEX)] struct {
959 [size_is(count)] uint16 *array[];
960 } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2;
966 [size_is(count)] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2 *t2[];
967 } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1;
969 WERROR spoolss_RemoteFindFirstPrinterChangeNotifyEx(
970 [in,ref] policy_handle *handle,
975 [in] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1 *t1
980 WERROR spoolss_RouterRefreshPrinterChangeNotification(
985 WERROR spoolss_RemoteFindNextPrinterChangeNotifyEx(
1001 } spoolss_UserLevel1;
1004 [case(1)] spoolss_UserLevel1 *level1;
1005 } spoolss_UserLevel;
1007 /******************/
1008 /* Function: 0x45 */
1009 WERROR spoolss_OpenPrinterEx(
1010 [in] unistr *printername,
1011 [in] unistr *datatype,
1012 [in] spoolss_DevmodeContainer devmode_ctr,
1013 [in] uint32 access_mask,
1015 [in,switch_is(level)] spoolss_UserLevel userlevel,
1016 [out,ref] policy_handle *handle
1019 /******************/
1020 /* Function: 0x46 */
1021 WERROR spoolss_AddPrinterEx(
1022 [in] unistr *server,
1024 [in,switch_is(level)] spoolss_PrinterInfo *info,
1025 [in] spoolss_DevmodeContainer devmode_ctr,
1026 [in] security_descriptor *secdesc,
1028 [in,switch_is(ulevel)] spoolss_UserLevel userlevel
1031 /******************/
1032 /* Function: 0x47 */
1036 /******************/
1037 /* Function: 0x48 */
1038 WERROR spoolss_EnumPrinterData(
1039 [in,ref] policy_handle *handle,
1040 [in] uint32 enum_index,
1041 [in] uint32 value_offered,
1042 [out] lstring value_name,
1043 [out] uint32 value_needed,
1044 [out] uint32 printerdata_type,
1045 [out] DATA_BLOB buffer,
1046 [in,out,ref] uint32 *data_size
1049 /******************/
1050 /* Function: 0x49 */
1051 WERROR spoolss_DeletePrinterData(
1052 [in,ref] policy_handle *handle,
1053 [in] unistr value_name
1056 /******************/
1057 /* Function: 0x4a */
1061 /******************/
1062 /* Function: 0x4b */
1066 /******************/
1067 /* Function: 0x4c */
1071 /******************/
1072 /* Function: 0x4d */
1073 WERROR spoolss_SetPrinterDataEx(
1074 [in,ref] policy_handle *handle,
1075 [in] unistr key_name,
1076 [in] unistr value_name,
1078 [in] DATA_BLOB buffer,
1079 [in,out,ref] uint32 *buf_size
1082 /******************/
1083 /* Function: 0x4e */
1084 WERROR spoolss_GetPrinterDataEx(
1085 [in,ref] policy_handle *handle,
1086 [in] unistr key_name,
1087 [in] unistr value_name,
1089 [out] DATA_BLOB buffer,
1090 [in,out,ref] uint32 *buf_size
1093 /******************/
1094 /* Function: 0x4f */
1095 WERROR spoolss_EnumPrinterDataEx(
1096 [in,ref] policy_handle *handle,
1097 [in] unistr key_name,
1098 [out] DATA_BLOB buffer,
1099 [in,out] uint32 buf_size,
1103 /******************/
1104 /* Function: 0x50 */
1105 WERROR spoolss_EnumPrinterKey(
1108 /******************/
1109 /* Function: 0x51 */
1110 WERROR spoolss_DeletePrinterDataEx(
1111 [in,ref] policy_handle *handle,
1112 [in] unistr key_name,
1113 [in] unistr value_name
1116 /******************/
1117 /* Function: 0x52 */
1118 WERROR spoolss_DeletePrinterKey(
1121 /******************/
1122 /* Function: 0x53 */
1126 /******************/
1127 /* Function: 0x54 */
1128 WERROR spoolss_DeletePrinterDriverEx(
1131 /******************/
1132 /* Function: 0x55 */
1136 /******************/
1137 /* Function: 0x56 */
1141 /******************/
1142 /* Function: 0x57 */
1146 /******************/
1147 /* Function: 0x58 */
1151 /******************/
1152 /* Function: 0x59 */
1153 WERROR spoolss_AddPrinterDriverEx(
1156 /******************/
1157 /* Function: 0x5a */
1161 /******************/
1162 /* Function: 0x5b */
1166 /******************/
1167 /* Function: 0x5c */
1171 /******************/
1172 /* Function: 0x5d */
1176 /******************/
1177 /* Function: 0x5e */
1181 /******************/
1182 /* Function: 0x5f */