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;
62 [relative] nstring *name;
72 [relative] nstring *servername;
73 [relative] nstring *printername;
74 [relative] nstring *sharename;
75 [relative] nstring *portname;
76 [relative] nstring *drivername;
77 [relative] nstring *comment;
78 [relative] nstring *location;
79 [relative] spoolss_DeviceMode *devmode;
80 [relative] nstring *sepfile;
81 [relative] nstring *printprocessor;
82 [relative] nstring *datatype;
83 [relative] nstring *parameters;
84 [relative] security_descriptor *secdesc;
87 uint32 defaultpriority;
93 } spoolss_PrinterInfo2;
97 security_descriptor secdesc;
98 } spoolss_PrinterInfo3;
101 [relative] nstring *printername;
102 [relative] nstring *servername;
104 } spoolss_PrinterInfo4;
107 [relative] nstring *printername;
108 [relative] nstring *portname;
110 uint32 device_not_selected_timeout;
111 uint32 transmission_retry_timeout;
112 } spoolss_PrinterInfo5;
116 } spoolss_PrinterInfo6;
119 [relative] nstring *guid; /* text form of printer guid */
121 } spoolss_PrinterInfo7;
123 typedef [nodiscriminant,public] union {
124 [case(1)] spoolss_PrinterInfo1 info1;
125 [case(2)] spoolss_PrinterInfo2 info2;
126 [case(3)] spoolss_PrinterInfo3 info3;
127 [case(4)] spoolss_PrinterInfo4 info4;
128 [case(5)] spoolss_PrinterInfo5 info5;
129 [case(6)] spoolss_PrinterInfo6 info6;
130 [case(7)] spoolss_PrinterInfo7 info7;
131 } spoolss_PrinterInfo;
133 WERROR spoolss_EnumPrinters(
137 [in,out] DATA_BLOB *buffer,
138 [in,out,ref] uint32 *buf_size,
144 WERROR spoolss_OpenPrinter(
146 [in] unistr *printer,
147 [in] DATA_BLOB *buffer,
148 [in] uint32 access_mask,
149 [out,ref] policy_handle *handle
154 WERROR spoolss_SetJob(
155 [in,ref] policy_handle *handle,
163 WERROR spoolss_GetJob(
164 [in,ref] policy_handle *handle,
167 [in] DATA_BLOB *buffer,
168 [out,subcontext(4),switch_is(level)] spoolss_JobInfo *info,
169 [in,out,ref] uint32 *buf_size
185 [relative] nstring printer_name;
186 [relative] nstring server_name;
187 [relative] nstring user_name;
188 [relative] nstring document_name;
189 [relative] nstring data_type;
190 [relative] nstring text_status;
195 uint32 pages_printed;
199 typedef [nodiscriminant,public] union {
200 [case(1)] spoolss_JobInfo1 info1;
205 WERROR spoolss_EnumJobs(
206 [in,ref] policy_handle *handle,
207 [in] uint32 firstjob,
210 [in,out] DATA_BLOB *buffer,
211 [in,out,ref] uint32 *buf_size,
232 WERROR spoolss_GetPrinter(
233 [in,ref] policy_handle *handle,
235 [in] DATA_BLOB *buffer,
236 [out,subcontext(4),switch_is(level)] spoolss_PrinterInfo *info,
237 [in,out,ref] uint32 *buf_size
287 WERROR spoolss_StartPagePrinter(
288 [in,ref] policy_handle *handle
298 WERROR spoolss_EndPagePrinter(
299 [in,ref] policy_handle *handle
314 WERROR spoolss_EndDocPrinter(
329 WERROR spoolss_GetPrinterData(
330 [in,ref] policy_handle *handle,
331 [in] unistr value_name,
333 [out] DATA_BLOB buffer,
334 [in,out,ref] uint32 *buf_size
339 WERROR spoolss_SetPrinterData(
340 [in,ref] policy_handle *handle,
341 [in] unistr value_name,
343 [in] DATA_BLOB buffer,
354 WERROR spoolss_ClosePrinter(
355 [in,out,ref] policy_handle *handle
360 [relative] unistr *name;
367 } spoolss_AddFormInfo1;
370 [case(1)] spoolss_AddFormInfo1 *info1;
371 } spoolss_AddFormInfo;
375 WERROR spoolss_AddForm(
376 [in,ref] policy_handle *handle,
378 [in,switch_is(level)] spoolss_AddFormInfo info
383 WERROR spoolss_DeleteForm(
384 [in,ref] policy_handle *handle,
390 WERROR spoolss_GetForm(
391 [in,ref] policy_handle *handle,
392 [in] unistr formname,
394 [in] DATA_BLOB *buffer,
395 [out,subcontext(4),switch_is(level)] spoolss_FormInfo *info,
396 [in,out,ref] uint32 *buf_size
401 WERROR spoolss_SetForm(
402 [in,ref] policy_handle *handle,
403 [in] unistr form_name,
405 [in,switch_is(level)] spoolss_AddFormInfo info
408 typedef [nodiscriminant,public] union {
409 [case(1)] spoolss_FormInfo1 info1;
414 WERROR spoolss_EnumForms(
415 [in,ref] policy_handle *handle,
417 [in,out] DATA_BLOB *buffer,
418 [in,out,ref] uint32 *buf_size,
598 spoolss_Devmode *devmode;
599 } spoolss_DevmodeContainer;
609 } spoolss_UserLevel1;
612 [case(1)] spoolss_UserLevel1 *level1;
617 WERROR spoolss_OpenPrinterEx(
618 [in] unistr *printername,
619 [in] unistr *datatype,
620 [in] spoolss_DevmodeContainer devmode_ctr,
621 [in] uint32 access_required,
623 [in,switch_is(level)] spoolss_UserLevel userlevel,
624 [out,ref] policy_handle *handle
639 WERROR spoolss_EnumPrinterData(
640 [in,ref] policy_handle *handle,
641 [in] uint32 enum_index,
642 [in] uint32 value_offered,
643 [out] lstring value_name,
644 [out] uint32 value_needed,
645 [out] uint32 printerdata_type,
646 [out] DATA_BLOB data,
647 [in,out,ref] uint32 *data_size
652 WERROR spoolss_DeletePrinterData(
653 [in,ref] policy_handle *handle,
654 [in] unistr value_name