4 spoolss interface definitions
7 [ uuid(12345678-1234-abcd-ef00-0123456789ab),
9 pointer_default(unique)
41 uint32 displayfrequency;
50 uint8 private[driverextra];
55 [relative] nstring *name;
56 [relative] nstring *description;
57 [relative] nstring *comment;
58 } spoolss_PrinterInfo1;
61 [relative] nstring *servername;
62 [relative] nstring *printername;
63 [relative] nstring *sharename;
64 [relative] nstring *portname;
65 [relative] nstring *drivername;
66 [relative] nstring *comment;
67 [relative] nstring *location;
68 [relative] spoolss_DeviceMode *devmode;
69 [relative] nstring *sepfile;
70 [relative] nstring *printprocessor;
71 [relative] nstring *datatype;
72 [relative] nstring *parameters;
73 [relative] security_descriptor *secdesc;
76 uint32 defaultpriority;
82 } spoolss_PrinterInfo2;
86 security_descriptor secdesc;
87 } spoolss_PrinterInfo3;
90 [relative] nstring *printername;
91 [relative] nstring *servername;
93 } spoolss_PrinterInfo4;
96 [relative] nstring *printername;
97 [relative] nstring *portname;
99 uint32 device_not_selected_timeout;
100 uint32 transmission_retry_timeout;
101 } spoolss_PrinterInfo5;
105 } spoolss_PrinterInfo6;
108 [relative] nstring *guid; /* text form of printer guid */
110 } spoolss_PrinterInfo7;
112 typedef [nodiscriminant,public] union {
113 [case(1)] spoolss_PrinterInfo1 info1;
114 [case(2)] spoolss_PrinterInfo2 info2;
115 [case(3)] spoolss_PrinterInfo3 info3;
116 [case(4)] spoolss_PrinterInfo4 info4;
117 [case(5)] spoolss_PrinterInfo5 info5;
118 [case(6)] spoolss_PrinterInfo6 info6;
119 [case(7)] spoolss_PrinterInfo7 info7;
120 } spoolss_PrinterInfo;
122 WERROR spoolss_EnumPrinters(
126 [in,out] DATA_BLOB *buffer,
127 [in,out,ref] uint32 *buf_size,
133 WERROR spoolss_OpenPrinter(
135 [in] unistr *printer,
136 [in] DATA_BLOB *buffer,
137 [in] uint32 access_mask,
138 [out,ref] policy_handle *handle
153 NTSTATUS spoolss_EnumJobs(
154 [in,ref] policy_handle *handle,
155 [in] uint32 firstjob,
158 [in,out] DATA_BLOB *buffer,
159 [in,out,ref] uint32 *buf_size,
180 WERROR spoolss_GetPrinter(
181 [in,ref] policy_handle *handle,
183 [in] DATA_BLOB *buffer,
184 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
185 [in,out,ref] uint32 *buf_size
235 NTSTATUS spoolss_StartPagePrinter(
236 [in,ref] policy_handle *handle
246 NTSTATUS spoolss_EndPagePrinter(
247 [in,ref] policy_handle *handle
262 NTSTATUS spoolss_EndDocPrinter(
292 WERROR spoolss_ClosePrinter(
293 [in,out,ref] policy_handle *handle
497 spoolss_Devmode *devmode;
498 } spoolss_DevmodeContainer;
508 } spoolss_UserLevel1;
511 [case(1)] spoolss_UserLevel1 *level1;
516 WERROR spoolss_OpenPrinterEx(
517 [in] unistr *printername,
518 [in] unistr *datatype,
519 [in] spoolss_DevmodeContainer devmode_ctr,
520 [in] uint32 access_required,
522 [in,switch_is(level)] spoolss_UserLevel userlevel,
523 [out,ref] policy_handle *handle
538 WERROR spoolss_EnumPrinterData(
539 [in,ref] policy_handle *handle,
540 [in] uint32 enum_index,
541 [in] uint32 value_offered,
543 [out] uint32 value_needed,
544 [out] uint32 printerdata_type,
545 [out] DATA_BLOB data,
546 [in,out,ref] uint32 *data_size