2 spoolss interface definitions
5 [ uuid(12345678-1234-abcd-ef00-0123456789ab),
7 pointer_default(unique)
39 uint32 displayfrequency;
48 uint8 private[driverextra];
53 [relative] nstring name;
54 [relative] nstring description;
55 [relative] nstring comment;
56 } spoolss_PrinterInfo1;
59 [relative] nstring servername;
60 [relative] nstring printername;
61 [relative] nstring sharename;
62 [relative] nstring portname;
63 [relative] nstring drivername;
64 [relative] nstring comment;
65 [relative] nstring location;
66 [relative] spoolss_DeviceMode *devmode;
67 [relative] nstring sepfile;
68 [relative] nstring printprocessor;
69 [relative] nstring datatype;
70 [relative] nstring parameters;
71 [relative] security_descriptor *secdesc;
74 uint32 defaultpriority;
80 } spoolss_PrinterInfo2;
84 security_descriptor secdesc;
85 } spoolss_PrinterInfo3;
88 [relative] nstring printername;
89 [relative] nstring servername;
91 } spoolss_PrinterInfo4;
94 [relative] nstring printername;
95 [relative] nstring portname;
97 uint32 device_not_selected_timeout;
98 uint32 transmission_retry_timeout;
99 } spoolss_PrinterInfo5;
103 } spoolss_PrinterInfo6;
106 [relative] nstring guid; /* text form of printer guid */
108 } spoolss_PrinterInfo7;
110 typedef [nodiscriminant,public] union {
111 case(1) spoolss_PrinterInfo1 info1;
112 case(2) spoolss_PrinterInfo2 info2;
113 case(3) spoolss_PrinterInfo3 info3;
114 case(4) spoolss_PrinterInfo4 info4;
115 case(5) spoolss_PrinterInfo5 info5;
116 case(6) spoolss_PrinterInfo6 info6;
117 case(7) spoolss_PrinterInfo7 info7;
118 } spoolss_PrinterInfo;
120 WERROR spoolss_EnumPrinters(
124 [in,out] DATA_BLOB *buffer,
125 [in,out,ref] uint32 *buf_size,
131 WERROR spoolss_OpenPrinter(
133 [in] unistr *printer,
134 [in] DATA_BLOB *buffer,
135 [in] uint32 access_mask,
136 [out,ref] policy_handle *handle
151 NTSTATUS spoolss_EnumJobs(
152 [in,ref] policy_handle *handle,
153 [in] uint32 firstjob,
156 [in,out] DATA_BLOB *buffer,
157 [in,out,ref] uint32 *buf_size,
178 WERROR spoolss_GetPrinter(
179 [in,ref] policy_handle *handle,
181 [in,out] DATA_BLOB *buffer,
182 [in,out,ref] uint32 *buf_size
232 NTSTATUS spoolss_StartPagePrinter(
233 [in,ref] policy_handle *handle
243 NTSTATUS spoolss_EndPagePrinter(
244 [in,ref] policy_handle *handle
259 NTSTATUS spoolss_EndDocPrinter(
289 WERROR spoolss_ClosePrinter(
290 [in,out,ref] policy_handle *handle
494 spoolss_Devmode *devmode;
495 } spoolss_DevmodeContainer;
505 } spoolss_UserLevel1;
508 case(1) spoolss_UserLevel1 *level1;
513 WERROR spoolss_OpenPrinterEx(
514 [in] unistr *printername,
515 [in] unistr *datatype,
516 [in] spoolss_DevmodeContainer devmode_ctr,
517 [in] uint32 access_required,
519 [in,switch_is(level)] spoolss_UserLevel userlevel,
520 [out,ref] policy_handle *handle
535 NTSTATUS spoolss_EnumPrinterData(
536 [in,ref] policy_handle *handle,
537 [in] uint32 enum_index,
538 [in] uint32 value_offered,
539 [out] uint32 value_len,
540 [out] unistr *value_name,
541 [out] uint32 value_needed,
542 [out] uint32 printerdata_type,
543 [in,out] DATA_BLOB *buffer,
544 [in,out,ref] uint32 *buf_size