1 #include "../librpc/gen_ndr/ndr_spoolss.h"
2 #ifndef __CLI_SPOOLSS__
3 #define __CLI_SPOOLSS__
4 NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli,
6 uint32_t flags /* [in] */,
7 const char *server /* [in] [unique,charset(UTF16)] */,
8 uint32_t level /* [in] */,
9 DATA_BLOB *buffer /* [in] [unique] */,
10 uint32_t offered /* [in] */,
11 union spoolss_PrinterInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
12 uint32_t *needed /* [out] [ref] */,
13 uint32_t count /* [out] */,
15 NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli,
17 const char *printername /* [in] [unique,charset(UTF16)] */,
18 const char *datatype /* [in] [unique,charset(UTF16)] */,
19 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
20 uint32_t access_mask /* [in] */,
21 struct policy_handle *handle /* [out] [ref] */,
23 NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli,
25 struct policy_handle *handle /* [in] [ref] */,
26 uint32_t job_id /* [in] */,
27 struct spoolss_JobInfoContainer *ctr /* [in] [unique] */,
28 enum spoolss_JobControl command /* [in] */,
30 NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli,
32 struct policy_handle *handle /* [in] [ref] */,
33 uint32_t job_id /* [in] */,
34 uint32_t level /* [in] */,
35 DATA_BLOB *buffer /* [in] [unique] */,
36 uint32_t offered /* [in] */,
37 union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
38 uint32_t *needed /* [out] [ref] */,
40 NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli,
42 struct policy_handle *handle /* [in] [ref] */,
43 uint32_t firstjob /* [in] */,
44 uint32_t numjobs /* [in] */,
45 uint32_t level /* [in] */,
46 DATA_BLOB *buffer /* [in] [unique] */,
47 uint32_t offered /* [in] */,
48 union spoolss_JobInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
49 uint32_t *needed /* [out] [ref] */,
50 uint32_t count /* [out] */,
52 NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli,
55 NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli,
57 struct policy_handle *handle /* [in] [ref] */,
59 NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli,
61 struct policy_handle *handle /* [in] [ref] */,
62 uint32_t level /* [in] */,
63 union spoolss_SetPrinterInfo info /* [in] [switch_is(level)] */,
64 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
65 struct sec_desc_buf secdesc_ctr /* [in] */,
66 enum spoolss_PrinterControl command /* [in] */,
68 NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli,
70 struct policy_handle *handle /* [in] [ref] */,
71 uint32_t level /* [in] */,
72 DATA_BLOB *buffer /* [in] [unique] */,
73 uint32_t offered /* [in] */,
74 union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
75 uint32_t *needed /* [out] [ref] */,
77 NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli,
79 const char *servername /* [in] [ref,charset(UTF16)] */,
80 uint32_t level /* [in] */,
81 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
83 NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli,
85 const char *server /* [in] [unique,charset(UTF16)] */,
86 const char *environment /* [in] [unique,charset(UTF16)] */,
87 uint32_t level /* [in] */,
88 DATA_BLOB *buffer /* [in] [unique] */,
89 uint32_t offered /* [in] */,
90 union spoolss_DriverInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
91 uint32_t *needed /* [out] [ref] */,
92 uint32_t count /* [out] */,
94 NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli,
97 NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli,
99 const char *server /* [in] [unique,charset(UTF16)] */,
100 const char *environment /* [in] [unique,charset(UTF16)] */,
101 uint32_t level /* [in] */,
102 DATA_BLOB *buffer /* [in] [unique] */,
103 uint32_t offered /* [in] */,
104 union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
105 uint32_t *needed /* [out] [ref] */,
107 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
109 const char *server /* [in] [unique,charset(UTF16)] */,
110 const char *architecture /* [in] [charset(UTF16)] */,
111 const char *driver /* [in] [charset(UTF16)] */,
113 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
115 const char *server /* [in] [unique,charset(UTF16)] */,
116 const char *architecture /* [in] [charset(UTF16)] */,
117 const char *path_name /* [in] [charset(UTF16)] */,
118 const char *print_processor_name /* [in] [charset(UTF16)] */,
120 NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli,
122 const char *servername /* [in] [unique,charset(UTF16)] */,
123 const char *environment /* [in] [unique,charset(UTF16)] */,
124 uint32_t level /* [in] */,
125 DATA_BLOB *buffer /* [in] [unique] */,
126 uint32_t offered /* [in] */,
127 union spoolss_PrintProcessorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
128 uint32_t *needed /* [out] [ref] */,
129 uint32_t count /* [out] */,
131 NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli,
134 NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli,
136 struct policy_handle *handle /* [in] [ref] */,
137 uint32_t level /* [in] */,
138 union spoolss_DocumentInfo info /* [in] [switch_is(level)] */,
139 uint32_t *job_id /* [out] [ref] */,
141 NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli,
143 struct policy_handle *handle /* [in] [ref] */,
145 NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli,
147 struct policy_handle *handle /* [in] [ref] */,
148 DATA_BLOB data /* [in] */,
149 uint32_t _data_size /* [in] [value(r->in.data.length)] */,
150 uint32_t *num_written /* [out] [ref] */,
152 NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli,
154 struct policy_handle *handle /* [in] [ref] */,
156 NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli,
158 struct policy_handle *handle /* [in] [ref] */,
160 NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli,
162 struct policy_handle *handle /* [in] [ref] */,
163 uint8_t *data /* [out] [ref,size_is(data_size)] */,
164 uint32_t data_size /* [in] */,
165 uint32_t *_data_size /* [out] [ref] */,
167 NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli,
169 struct policy_handle *handle /* [in] [ref] */,
171 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
173 struct policy_handle *handle /* [in] [ref] */,
174 uint32_t level /* [in] */,
175 uint8_t *buffer /* [in,out] [unique,size_is(offered)] */,
176 uint32_t offered /* [in] */,
177 uint32_t *needed /* [out] [ref] */,
179 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
181 struct policy_handle *handle /* [in] [ref] */,
182 uint32_t jobid /* [in] */,
184 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
186 struct policy_handle *handle /* [in] [ref] */,
187 const char *value_name /* [in] [charset(UTF16)] */,
188 uint32_t offered /* [in] */,
189 enum spoolss_PrinterDataType *type /* [out] [ref] */,
190 union spoolss_PrinterData data /* [out] [subcontext_size(offered),subcontext(4),switch_is(*type)] */,
191 uint32_t *needed /* [out] [ref] */,
193 NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli,
195 struct policy_handle *handle /* [in] [ref] */,
196 const char *value_name /* [in] [charset(UTF16)] */,
197 enum spoolss_PrinterDataType type /* [in] */,
198 union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
199 uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
201 NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli,
204 NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli,
206 struct policy_handle *handle /* [in,out] [ref] */,
208 NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli,
210 struct policy_handle *handle /* [in] [ref] */,
211 uint32_t level /* [in] */,
212 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
214 NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli,
216 struct policy_handle *handle /* [in] [ref] */,
217 const char *form_name /* [in] [charset(UTF16)] */,
219 NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli,
221 struct policy_handle *handle /* [in] [ref] */,
222 const char *form_name /* [in] [charset(UTF16)] */,
223 uint32_t level /* [in] */,
224 DATA_BLOB *buffer /* [in] [unique] */,
225 uint32_t offered /* [in] */,
226 union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */,
227 uint32_t *needed /* [out] [ref] */,
229 NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli,
231 struct policy_handle *handle /* [in] [ref] */,
232 const char *form_name /* [in] [charset(UTF16)] */,
233 uint32_t level /* [in] */,
234 union spoolss_AddFormInfo info /* [in] [switch_is(level)] */,
236 NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli,
238 struct policy_handle *handle /* [in] [ref] */,
239 uint32_t level /* [in] */,
240 DATA_BLOB *buffer /* [in] [unique] */,
241 uint32_t offered /* [in] */,
242 union spoolss_FormInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
243 uint32_t *needed /* [out] [ref] */,
244 uint32_t count /* [out] */,
246 NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli,
248 const char *servername /* [in] [unique,charset(UTF16)] */,
249 uint32_t level /* [in] */,
250 DATA_BLOB *buffer /* [in] [unique] */,
251 uint32_t offered /* [in] */,
252 union spoolss_PortInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
253 uint32_t *needed /* [out] [ref] */,
254 uint32_t count /* [out] */,
256 NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli,
258 const char *servername /* [in] [unique,charset(UTF16)] */,
259 uint32_t level /* [in] */,
260 DATA_BLOB *buffer /* [in] [unique] */,
261 uint32_t offered /* [in] */,
262 union spoolss_MonitorInfo *info /* [out] [unique,switch_is(level),size_is(count)] */,
263 uint32_t *needed /* [out] [ref] */,
264 uint32_t count /* [out] */,
266 NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli,
268 const char *server_name /* [in] [unique,charset(UTF16)] */,
269 uint32_t unknown /* [in] */,
270 const char *monitor_name /* [in] [charset(UTF16)] */,
272 NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli,
275 NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli,
278 NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli,
281 NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli,
284 NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli,
287 NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli,
290 NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli,
293 NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli,
296 NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli,
299 NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli,
302 NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli,
305 NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli,
308 NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli,
311 NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli,
314 NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli,
317 NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli,
319 struct policy_handle *handle /* [in] [ref] */,
320 const char *architecture /* [in] [unique,charset(UTF16)] */,
321 uint32_t level /* [in] */,
322 DATA_BLOB *buffer /* [in] [unique] */,
323 uint32_t offered /* [in] */,
324 uint32_t client_major_version /* [in] */,
325 uint32_t client_minor_version /* [in] */,
326 DATA_BLOB *info /* [out] [unique] */,
327 uint32_t *needed /* [out] [ref] */,
328 uint32_t *server_major_version /* [out] [ref] */,
329 uint32_t *server_minor_version /* [out] [ref] */,
331 NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
334 NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli,
337 NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli,
339 struct policy_handle *handle /* [in] [ref] */,
341 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli,
344 NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli,
346 const char *server_name /* [in] [charset(UTF16)] */,
347 uint32_t printer_local /* [in] */,
348 enum winreg_Type type /* [in] */,
349 uint32_t bufsize /* [in] [range(0,512)] */,
350 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
351 struct policy_handle *handle /* [out] [ref] */,
353 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
355 struct policy_handle *handle /* [in] [ref] */,
356 uint32_t flags /* [in] */,
357 uint32_t bufsize /* [in] [range(0,512)] */,
358 uint8_t *buffer /* [in] [unique,size_is(bufsize)] */,
360 NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli,
362 struct policy_handle *handle /* [in,out] [ref] */,
364 NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli,
367 NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli,
370 NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli,
373 NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli,
376 NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli,
378 struct policy_handle *handle /* [in] [ref] */,
379 uint32_t flags /* [in] */,
380 uint32_t options /* [in] */,
381 const char *str /* [in] [unique,charset(UTF16)] */,
382 uint32_t printer_local /* [in] */,
383 struct spoolss_NotifyOptionsContainer *t1 /* [in] [unique] */,
385 NTSTATUS rpccli_spoolss_RouterReplyPrinterEx(struct rpc_pipe_client *cli,
388 NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify(struct rpc_pipe_client *cli,
390 struct policy_handle *handle /* [in] [ref] */,
391 uint32_t change_low /* [in] */,
392 struct spoolss_NotifyOptionsContainer *container /* [in] [unique] */,
393 struct spoolss_NotifyInfo **info /* [out] [ref] */,
395 NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli,
398 NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli,
400 const char *printername /* [in] [unique,charset(UTF16)] */,
401 const char *datatype /* [in] [unique,charset(UTF16)] */,
402 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
403 uint32_t access_mask /* [in] */,
404 uint32_t level /* [in] */,
405 union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */,
406 struct policy_handle *handle /* [out] [ref] */,
408 NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli,
410 const char *server /* [in] [unique,charset(UTF16)] */,
411 uint32_t level /* [in] */,
412 union spoolss_PrinterInfo *info /* [in] [unique,switch_is(level)] */,
413 struct spoolss_DevmodeContainer devmode_ctr /* [in] */,
414 struct security_descriptor *secdesc /* [in] [unique] */,
415 uint32_t ulevel /* [in] */,
416 union spoolss_UserLevel userlevel /* [in] [switch_is(ulevel)] */,
418 NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli,
421 NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli,
423 struct policy_handle *handle /* [in] [ref] */,
424 uint32_t enum_index /* [in] */,
425 const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */,
426 uint32_t value_offered /* [in] */,
427 uint32_t *value_needed /* [out] [ref] */,
428 uint32_t *printerdata_type /* [out] [ref] */,
429 DATA_BLOB *buffer /* [out] [ref] */,
430 uint32_t data_offered /* [in] */,
431 uint32_t *data_needed /* [out] [ref] */,
433 NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli,
435 struct policy_handle *handle /* [in] [ref] */,
436 const char *value_name /* [in] [charset(UTF16)] */,
438 NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli,
441 NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli,
444 NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli,
447 NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
449 struct policy_handle *handle /* [in] [ref] */,
450 const char *key_name /* [in] [charset(UTF16)] */,
451 const char *value_name /* [in] [charset(UTF16)] */,
452 uint32_t type /* [in] */,
453 DATA_BLOB buffer /* [in] */,
454 uint32_t offered /* [in] */,
456 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
458 struct policy_handle *handle /* [in] [ref] */,
459 const char *key_name /* [in] [charset(UTF16)] */,
460 const char *value_name /* [in] [charset(UTF16)] */,
461 uint32_t *type /* [out] [ref] */,
462 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
463 uint32_t offered /* [in] */,
464 uint32_t *needed /* [out] [ref] */,
466 NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli,
468 struct policy_handle *handle /* [in] [ref] */,
469 const char *key_name /* [in] [charset(UTF16)] */,
470 uint8_t *buffer /* [out] [ref,size_is(offered)] */,
471 uint32_t offered /* [in] */,
472 uint32_t *needed /* [out] [ref] */,
473 uint32_t *count /* [out] [ref] */,
475 NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli,
477 struct policy_handle *handle /* [in] [ref] */,
478 const char *key_name /* [in] [charset(UTF16)] */,
479 uint16_t *key_buffer /* [out] [ref,size_is(key_buffer_size/2)] */,
480 uint32_t key_buffer_size /* [in] */,
481 uint32_t *needed /* [out] [ref] */,
483 NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli,
485 struct policy_handle *handle /* [in] [ref] */,
486 const char *key_name /* [in] [charset(UTF16)] */,
487 const char *value_name /* [in] [charset(UTF16)] */,
489 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
491 struct policy_handle *handle /* [in] [ref] */,
492 const char *key_name /* [in] [charset(UTF16)] */,
494 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
497 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
499 const char *server /* [in] [unique,charset(UTF16)] */,
500 const char *architecture /* [in] [charset(UTF16)] */,
501 const char *driver /* [in] [charset(UTF16)] */,
502 uint32_t delete_flags /* [in] */,
503 uint32_t version /* [in] */,
505 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
508 NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli,
511 NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli,
514 NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli,
516 struct policy_handle *handle /* [in] [ref] */,
517 const char *function_name /* [in] [charset(UTF16)] */,
518 DATA_BLOB in_data /* [in] */,
519 uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */,
520 uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */,
521 uint32_t out_data_size /* [in] */,
522 uint32_t *needed /* [out] [ref] */,
523 uint32_t *status_code /* [in,out] [ref] */,
525 NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli,
527 const char *servername /* [in] [ref,charset(UTF16)] */,
528 uint32_t level /* [in] */,
529 union spoolss_AddDriverInfo info /* [in] [switch_is(level)] */,
530 uint32_t flags /* [in] */,
532 NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli,
535 NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli,
538 NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli,
541 NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli,
544 NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli,
547 NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli,
550 #endif /* __CLI_SPOOLSS__ */