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;
102 [relative] nstring guid; /* text form of printer guid */
104 } spoolss_PrinterInfo7;
106 typedef [nodiscriminant,public] union {
107 case(1) spoolss_PrinterInfo1 info1;
108 case(2) spoolss_PrinterInfo2 info2;
109 case(3) spoolss_PrinterInfo3 info3;
110 case(4) spoolss_PrinterInfo4 info4;
111 case(5) spoolss_PrinterInfo5 info5;
112 case(7) spoolss_PrinterInfo7 info7;
113 } spoolss_PrinterInfo;
115 WERROR spoolss_EnumPrinters(
119 [in,out] DATA_BLOB *buffer,
120 [in,out,ref] uint32 *buf_size,
126 WERROR spoolss_OpenPrinter(
128 [in] unistr *printer,
129 [in] DATA_BLOB *buffer,
130 [in] uint32 access_mask,
131 [out,ref] policy_handle *handle
146 NTSTATUS spoolss_EnumJobs(
147 [in,ref] policy_handle *handle,
148 [in] uint32 firstjob,
151 [in,out] DATA_BLOB *buffer,
152 [in,out,ref] uint32 *buf_size,
173 WERROR spoolss_GetPrinter(
174 [in,ref] policy_handle *handle,
176 [in] DATA_BLOB *buffer,
177 [out,subcontext,switch_is(level)] spoolss_PrinterInfo *info,
178 [in,out,ref] uint32 *buf_size
228 NTSTATUS spoolss_StartPagePrinter(
229 [in,ref] policy_handle *handle
239 NTSTATUS spoolss_EndPagePrinter(
240 [in,ref] policy_handle *handle
255 NTSTATUS spoolss_EndDocPrinter(
285 WERROR spoolss_ClosePrinter(
286 [in,out,ref] policy_handle *handle
490 spoolss_Devmode *devmode;
491 } spoolss_DevmodeContainer;
501 } spoolss_UserLevel1;
504 case(1) spoolss_UserLevel1 *level1;
509 WERROR spoolss_OpenPrinterEx(
510 [in] unistr *printername,
511 [in] unistr *datatype,
512 [in] spoolss_DevmodeContainer devmode_ctr,
513 [in] uint32 access_required,
515 [in,switch_is(level)] spoolss_UserLevel userlevel,
516 [out,ref] policy_handle *handle
531 NTSTATUS spoolss_EnumPrinterData(
532 [in,ref] policy_handle *handle,
533 [in] uint32 enum_index,
534 [in] uint32 value_offered,
535 [out] uint32 value_len,
536 [out] unistr *value_name,
537 [out] uint32 value_needed,
538 [out] uint32 printerdata_type,
539 [in,out] DATA_BLOB *buffer,
540 [in,out,ref] uint32 *buf_size