Update tcl to version 8.5.13
[msysgit.git] / mingw / include / winspool.h
bloba7d4892013ce2540be51c487be8351b3d4ec5073
1 #ifndef _WINSPOOL_H
2 #define _WINSPOOL_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define DI_CHANNEL 1
11 #define DI_CHANNEL_WRITE 2
12 #define DI_READ_SPOOL_JOB 3
13 #define DI_MEMORYMAP_WRITE 0x1
14 #define FORM_USER 0x0
15 #define FORM_BUILTIN 0x1
16 #define FORM_PRINTER 0x2
17 #if (_WIN32_WINNT >= 0x0500)
18 #define DRIVER_KERNELMODE 0x00000001
19 #define DRIVER_USERMODE 0x00000002
20 #define DSPRINT_PUBLISH 0x00000001
21 #define DSPRINT_UPDATE 0x00000002
22 #define DSPRINT_UNPUBLISH 0x00000004
23 #define DSPRINT_REPUBLISH 0x00000008
24 #define DSPRINT_PENDING 0x80000000
25 #endif
26 #define JOB_CONTROL_PAUSE 1
27 #define JOB_CONTROL_RESUME 2
28 #define JOB_CONTROL_CANCEL 3
29 #define JOB_CONTROL_RESTART 4
30 #define JOB_CONTROL_DELETE 5
31 #define JOB_CONTROL_SENT_TO_PRINTER 6
32 #define JOB_CONTROL_LAST_PAGE_EJECTED 7
33 #define JOB_STATUS_PAUSED 0x1
34 #define JOB_STATUS_ERROR 0x2
35 #define JOB_STATUS_DELETING 0x4
36 #define JOB_STATUS_SPOOLING 0x8
37 #define JOB_STATUS_PRINTING 0x10
38 #define JOB_STATUS_OFFLINE 0x20
39 #define JOB_STATUS_PAPEROUT 0x40
40 #define JOB_STATUS_PRINTED 0x80
41 #define JOB_STATUS_DELETED 0x100
42 #define JOB_STATUS_BLOCKED_DEVQ 0x200
43 #define JOB_STATUS_USER_INTERVENTION 0x400
44 #define JOB_STATUS_RESTART 0x800
45 #define JOB_STATUS_COMPLETE 0x1000
46 #define JOB_POSITION_UNSPECIFIED 0
47 #define JOB_NOTIFY_TYPE 1
48 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0
49 #define JOB_NOTIFY_FIELD_MACHINE_NAME 1
50 #define JOB_NOTIFY_FIELD_PORT_NAME 2
51 #define JOB_NOTIFY_FIELD_USER_NAME 3
52 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 4
53 #define JOB_NOTIFY_FIELD_DATATYPE 5
54 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6
55 #define JOB_NOTIFY_FIELD_PARAMETERS 7
56 #define JOB_NOTIFY_FIELD_DRIVER_NAME 8
57 #define JOB_NOTIFY_FIELD_DEVMODE 9
58 #define JOB_NOTIFY_FIELD_STATUS 10
59 #define JOB_NOTIFY_FIELD_STATUS_STRING 11
60 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
61 #define JOB_NOTIFY_FIELD_DOCUMENT 13
62 #define JOB_NOTIFY_FIELD_PRIORITY 14
63 #define JOB_NOTIFY_FIELD_POSITION 15
64 #define JOB_NOTIFY_FIELD_SUBMITTED 16
65 #define JOB_NOTIFY_FIELD_START_TIME 17
66 #define JOB_NOTIFY_FIELD_UNTIL_TIME 18
67 #define JOB_NOTIFY_FIELD_TIME 19
68 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 20
69 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 21
70 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 22
71 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 23
72 #define JOB_ACCESS_ADMINISTER 16
73 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
74 #define JOB_READ (STANDARD_RIGHTS_READ| JOB_ACCESS_ADMINISTER)
75 #define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
76 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
77 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
78 #define PRINTER_ACCESS_ADMINISTER 4
79 #define PRINTER_ACCESS_USE 8
80 #define PRINTER_ERROR_INFORMATION 0x80000000
81 #define PRINTER_ERROR_WARNING 0x40000000
82 #define PRINTER_ERROR_SEVERE 0x20000000
83 #define PRINTER_ERROR_OUTOFPAPER 1
84 #define PRINTER_ERROR_JAM 2
85 #define PRINTER_ERROR_OUTOFTONER 4
86 #define PRINTER_CONTROL_PAUSE 1
87 #define PRINTER_CONTROL_RESUME 2
88 #define PRINTER_CONTROL_PURGE 3
89 #define PRINTER_CONTROL_SET_STATUS 4
90 #define PRINTER_STATUS_PAUSED 1
91 #define PRINTER_STATUS_ERROR 2
92 #define PRINTER_STATUS_PENDING_DELETION 4
93 #define PRINTER_STATUS_PAPER_JAM 8
94 #define PRINTER_STATUS_PAPER_OUT 0x10
95 #define PRINTER_STATUS_MANUAL_FEED 0x20
96 #define PRINTER_STATUS_PAPER_PROBLEM 0x40
97 #define PRINTER_STATUS_OFFLINE 0x80
98 #define PRINTER_STATUS_IO_ACTIVE 0x100
99 #define PRINTER_STATUS_BUSY 0x200
100 #define PRINTER_STATUS_PRINTING 0x400
101 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800
102 #define PRINTER_STATUS_NOT_AVAILABLE 0x1000
103 #define PRINTER_STATUS_WAITING 0x2000
104 #define PRINTER_STATUS_PROCESSING 0x4000
105 #define PRINTER_STATUS_INITIALIZING 0x8000
106 #define PRINTER_STATUS_WARMING_UP 0x10000
107 #define PRINTER_STATUS_TONER_LOW 0x20000
108 #define PRINTER_STATUS_NO_TONER 0x40000
109 #define PRINTER_STATUS_PAGE_PUNT 0x80000
110 #define PRINTER_STATUS_USER_INTERVENTION 0x100000
111 #define PRINTER_STATUS_OUT_OF_MEMORY 0x200000
112 #define PRINTER_STATUS_DOOR_OPEN 0x400000
113 #define PRINTER_STATUS_SERVER_UNKNOWN 0x800000
114 #define PRINTER_STATUS_POWER_SAVE 0x1000000
115 #define PRINTER_ATTRIBUTE_QUEUED 1
116 #define PRINTER_ATTRIBUTE_DIRECT 2
117 #define PRINTER_ATTRIBUTE_DEFAULT 4
118 #define PRINTER_ATTRIBUTE_SHARED 8
119 #define PRINTER_ATTRIBUTE_NETWORK 0x10
120 #define PRINTER_ATTRIBUTE_HIDDEN 0x20
121 #define PRINTER_ATTRIBUTE_LOCAL 0x40
122 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80
123 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100
124 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200
125 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400
126 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800
127 #define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000
128 #define PRINTER_ATTRIBUTE_PUBLISHED 0x2000
129 #define PRINTER_ENUM_DEFAULT 1
130 #define PRINTER_ENUM_LOCAL 2
131 #define PRINTER_ENUM_CONNECTIONS 4
132 #define PRINTER_ENUM_FAVORITE 4
133 #define PRINTER_ENUM_NAME 8
134 #define PRINTER_ENUM_REMOTE 16
135 #define PRINTER_ENUM_SHARED 32
136 #define PRINTER_ENUM_NETWORK 0x40
137 #define PRINTER_ENUM_EXPAND 0x4000
138 #define PRINTER_ENUM_CONTAINER 0x8000
139 #define PRINTER_ENUM_ICONMASK 0xff0000
140 #define PRINTER_ENUM_ICON1 0x10000
141 #define PRINTER_ENUM_ICON2 0x20000
142 #define PRINTER_ENUM_ICON3 0x40000
143 #define PRINTER_ENUM_ICON4 0x80000
144 #define PRINTER_ENUM_ICON5 0x100000
145 #define PRINTER_ENUM_ICON6 0x200000
146 #define PRINTER_ENUM_ICON7 0x400000
147 #define PRINTER_ENUM_ICON8 0x800000
148 #define PRINTER_NOTIFY_TYPE 0
149 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0
150 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1
151 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 2
152 #define PRINTER_NOTIFY_FIELD_PORT_NAME 3
153 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4
154 #define PRINTER_NOTIFY_FIELD_COMMENT 5
155 #define PRINTER_NOTIFY_FIELD_LOCATION 6
156 #define PRINTER_NOTIFY_FIELD_DEVMODE 7
157 #define PRINTER_NOTIFY_FIELD_SEPFILE 8
158 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9
159 #define PRINTER_NOTIFY_FIELD_PARAMETERS 10
160 #define PRINTER_NOTIFY_FIELD_DATATYPE 11
161 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
162 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13
163 #define PRINTER_NOTIFY_FIELD_PRIORITY 14
164 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15
165 #define PRINTER_NOTIFY_FIELD_START_TIME 16
166 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17
167 #define PRINTER_NOTIFY_FIELD_STATUS 18
168 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 19
169 #define PRINTER_NOTIFY_FIELD_CJOBS 20
170 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21
171 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22
172 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23
173 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24
174 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25
175 #define PRINTER_CHANGE_ADD_PRINTER 1
176 #define PRINTER_CHANGE_SET_PRINTER 2
177 #define PRINTER_CHANGE_DELETE_PRINTER 4
178 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8
179 #define PRINTER_CHANGE_PRINTER 0xFF
180 #define PRINTER_CHANGE_ADD_JOB 0x100
181 #define PRINTER_CHANGE_SET_JOB 0x200
182 #define PRINTER_CHANGE_DELETE_JOB 0x400
183 #define PRINTER_CHANGE_WRITE_JOB 0x800
184 #define PRINTER_CHANGE_JOB 0xFF00
185 #define PRINTER_CHANGE_ADD_FORM 0x10000
186 #define PRINTER_CHANGE_SET_FORM 0x20000
187 #define PRINTER_CHANGE_DELETE_FORM 0x40000
188 #define PRINTER_CHANGE_FORM 0x70000
189 #define PRINTER_CHANGE_ADD_PORT 0x100000
190 #define PRINTER_CHANGE_CONFIGURE_PORT 0x200000
191 #define PRINTER_CHANGE_DELETE_PORT 0x400000
192 #define PRINTER_CHANGE_PORT 0x700000
193 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000
194 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000
195 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000
196 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
197 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
198 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
199 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
200 #define PRINTER_CHANGE_TIMEOUT 0x80000000
201 #define PRINTER_CHANGE_ALL 0x7777FFFF
202 #define PRINTER_NOTIFY_INFO_DISCARDED 1
203 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
204 #define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
205 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
206 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
207 #define NO_PRIORITY 0
208 #define MAX_PRIORITY 99
209 #define MIN_PRIORITY 1
210 #define DEF_PRIORITY 1
211 #define PORT_TYPE_WRITE 1
212 #define PORT_TYPE_READ 2
213 #define PORT_TYPE_REDIRECTED 4
214 #define PORT_TYPE_NET_ATTACHED 8
215 #define SERVER_ACCESS_ADMINISTER 1
216 #define SERVER_ACCESS_ENUMERATE 2
217 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
218 #define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
219 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
220 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
221 #define PORT_STATUS_TYPE_ERROR 1
222 #define PORT_STATUS_TYPE_WARNING 2
223 #define PORT_STATUS_TYPE_INFO 3
224 #define PORT_STATUS_OFFLINE 1
225 #define PORT_STATUS_PAPER_JAM 2
226 #define PORT_STATUS_PAPER_OUT 3
227 #define PORT_STATUS_OUTPUT_BIN_FULL 4
228 #define PORT_STATUS_PAPER_PROBLEM 5
229 #define PORT_STATUS_NO_TONER 6
230 #define PORT_STATUS_DOOR_OPEN 7
231 #define PORT_STATUS_USER_INTERVENTION 8
232 #define PORT_STATUS_OUT_OF_MEMORY 9
233 #define PORT_STATUS_TONER_LOW 10
234 #define PORT_STATUS_WARMING_UP 11
235 #define PORT_STATUS_POWER_SAVE 12
236 #ifndef RC_INVOKED
237 typedef struct _ADDJOB_INFO_1A {
238 LPSTR Path;
239 DWORD JobId;
240 } ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
241 typedef struct _ADDJOB_INFO_1W {
242 LPWSTR Path;
243 DWORD JobId;
244 } ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
245 typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
246 typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
247 typedef struct _JOB_INFO_1A {
248 DWORD JobId;
249 LPSTR pPrinterName;
250 LPSTR pMachineName;
251 LPSTR pUserName;
252 LPSTR pDocument;
253 LPSTR pDatatype;
254 LPSTR pStatus;
255 DWORD Status;
256 DWORD Priority;
257 DWORD Position;
258 DWORD TotalPages;
259 DWORD PagesPrinted;
260 SYSTEMTIME Submitted;
261 } JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
262 typedef struct _JOB_INFO_1W {
263 DWORD JobId;
264 LPWSTR pPrinterName;
265 LPWSTR pMachineName;
266 LPWSTR pUserName;
267 LPWSTR pDocument;
268 LPWSTR pDatatype;
269 LPWSTR pStatus;
270 DWORD Status;
271 DWORD Priority;
272 DWORD Position;
273 DWORD TotalPages;
274 DWORD PagesPrinted;
275 SYSTEMTIME Submitted;
276 } JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
277 typedef struct _JOB_INFO_2A {
278 DWORD JobId;
279 LPSTR pPrinterName;
280 LPSTR pMachineName;
281 LPSTR pUserName;
282 LPSTR pDocument;
283 LPSTR pNotifyName;
284 LPSTR pDatatype;
285 LPSTR pPrintProcessor;
286 LPSTR pParameters;
287 LPSTR pDriverName;
288 LPDEVMODEA pDevMode;
289 LPSTR pStatus;
290 PSECURITY_DESCRIPTOR pSecurityDescriptor;
291 DWORD Status;
292 DWORD Priority;
293 DWORD Position;
294 DWORD StartTime;
295 DWORD UntilTime;
296 DWORD TotalPages;
297 DWORD Size;
298 SYSTEMTIME Submitted;
299 DWORD Time;
300 DWORD PagesPrinted;
301 } JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
302 typedef struct _JOB_INFO_2W {
303 DWORD JobId;
304 LPWSTR pPrinterName;
305 LPWSTR pMachineName;
306 LPWSTR pUserName;
307 LPWSTR pDocument;
308 LPWSTR pNotifyName;
309 LPWSTR pDatatype;
310 LPWSTR pPrintProcessor;
311 LPWSTR pParameters;
312 LPWSTR pDriverName;
313 LPDEVMODEW pDevMode;
314 LPWSTR pStatus;
315 PSECURITY_DESCRIPTOR pSecurityDescriptor;
316 DWORD Status;
317 DWORD Priority;
318 DWORD Position;
319 DWORD StartTime;
320 DWORD UntilTime;
321 DWORD TotalPages;
322 DWORD Size;
323 SYSTEMTIME Submitted;
324 DWORD Time;
325 DWORD PagesPrinted;
326 } JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
327 typedef struct _JOB_INFO_3 {
328 DWORD JobId;
329 DWORD NextJobId;
330 DWORD Reserved;
331 } JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3;
332 typedef struct _DOC_INFO_1A {
333 LPSTR pDocName;
334 LPSTR pOutputFile;
335 LPSTR pDatatype;
336 } DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
337 typedef struct _DOC_INFO_1W {
338 LPWSTR pDocName;
339 LPWSTR pOutputFile;
340 LPWSTR pDatatype;
341 } DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
342 typedef struct _DOC_INFO_2A {
343 LPSTR pDocName;
344 LPSTR pOutputFile;
345 LPSTR pDatatype;
346 DWORD dwMode;
347 DWORD JobId;
348 } DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
349 typedef struct _DOC_INFO_2W {
350 LPWSTR pDocName;
351 LPWSTR pOutputFile;
352 LPWSTR pDatatype;
353 DWORD dwMode;
354 DWORD JobId;
355 } DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
356 typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
357 typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
358 typedef struct _DRIVER_INFO_2A {
359 DWORD cVersion;
360 LPSTR pName;
361 LPSTR pEnvironment;
362 LPSTR pDriverPath;
363 LPSTR pDataFile;
364 LPSTR pConfigFile;
365 } DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
366 typedef struct _DRIVER_INFO_2W {
367 DWORD cVersion;
368 LPWSTR pName;
369 LPWSTR pEnvironment;
370 LPWSTR pDriverPath;
371 LPWSTR pDataFile;
372 LPWSTR pConfigFile;
373 } DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
374 typedef struct _DRIVER_INFO_3A {
375 DWORD cVersion;
376 LPSTR pName;
377 LPSTR pEnvironment;
378 LPSTR pDriverPath;
379 LPSTR pDataFile;
380 LPSTR pConfigFile;
381 LPSTR pHelpFile;
382 LPSTR pDependentFiles;
383 LPSTR pMonitorName;
384 LPSTR pDefaultDataType;
385 } DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
386 typedef struct _DRIVER_INFO_3W {
387 DWORD cVersion;
388 LPWSTR pName;
389 LPWSTR pEnvironment;
390 LPWSTR pDriverPath;
391 LPWSTR pDataFile;
392 LPWSTR pConfigFile;
393 LPWSTR pHelpFile;
394 LPWSTR pDependentFiles;
395 LPWSTR pMonitorName;
396 LPWSTR pDefaultDataType;
397 } DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
398 #if (_WIN32_WINNT >= 0x0500)
399 typedef struct _DRIVER_INFO_4A {
400 DWORD cVersion;
401 LPSTR pName;
402 LPSTR pEnvironment;
403 LPSTR pDriverPath;
404 LPSTR pDataFile;
405 LPSTR pConfigFile;
406 LPSTR pHelpFile;
407 LPSTR pDependentFiles;
408 LPSTR pMonitorName;
409 LPSTR pDefaultDataType;
410 LPSTR pszzPreviousNames;
411 } DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
412 typedef struct _DRIVER_INFO_4W {
413 DWORD cVersion;
414 LPWSTR pName;
415 LPWSTR pEnvironment;
416 LPWSTR pDriverPath;
417 LPWSTR pDataFile;
418 LPWSTR pConfigFile;
419 LPWSTR pHelpFile;
420 LPWSTR pDependentFiles;
421 LPWSTR pMonitorName;
422 LPWSTR pDefaultDataType;
423 LPWSTR pszzPreviousNames;
424 } DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
425 typedef struct _DRIVER_INFO_5A {
426 DWORD cVersion;
427 LPSTR pName;
428 LPSTR pEnvironment;
429 LPSTR pDriverPath;
430 LPSTR pDataFile;
431 LPSTR pConfigFile;
432 DWORD dwDriverAttributes;
433 DWORD dwConfigVersion;
434 DWORD dwDriverVersion;
435 } DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
436 typedef struct _DRIVER_INFO_5W {
437 DWORD cVersion;
438 LPWSTR pName;
439 LPWSTR pEnvironment;
440 LPWSTR pDriverPath;
441 LPWSTR pDataFile;
442 LPWSTR pConfigFile;
443 DWORD dwDriverAttributes;
444 DWORD dwConfigVersion;
445 DWORD dwDriverVersion;
446 } DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
447 typedef struct _DRIVER_INFO_6A {
448 DWORD cVersion;
449 LPSTR pName;
450 LPSTR pEnvironment;
451 LPSTR pDriverPath;
452 LPSTR pDataFile;
453 LPSTR pConfigFile;
454 LPSTR pHelpFile;
455 LPSTR pDependentFiles;
456 LPSTR pMonitorName;
457 LPSTR pDefaultDataType;
458 LPSTR pszzPreviousNames;
459 FILETIME ftDriverDate;
460 DWORDLONG dwlDriverVersion;
461 LPSTR pszMfgName;
462 LPSTR pszOEMUrl;
463 LPSTR pszHardwareID;
464 LPSTR pszProvider;
465 } DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
466 typedef struct _DRIVER_INFO_6W {
467 DWORD cVersion;
468 LPWSTR pName;
469 LPWSTR pEnvironment;
470 LPWSTR pDriverPath;
471 LPWSTR pDataFile;
472 LPWSTR pConfigFile;
473 LPWSTR pHelpFile;
474 LPWSTR pDependentFiles;
475 LPWSTR pMonitorName;
476 LPWSTR pDefaultDataType;
477 LPWSTR pszzPreviousNames;
478 FILETIME ftDriverDate;
479 DWORDLONG dwlDriverVersion;
480 LPWSTR pszMfgName;
481 LPWSTR pszOEMUrl;
482 LPWSTR pszHardwareID;
483 LPWSTR pszProvider;
484 } DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
485 #endif
486 typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
487 typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
488 typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
489 typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
490 typedef struct _MONITOR_INFO_2A{
491 LPSTR pName;
492 LPSTR pEnvironment;
493 LPSTR pDLLName;
494 } MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
495 typedef struct _MONITOR_INFO_2W{
496 LPWSTR pName;
497 LPWSTR pEnvironment;
498 LPWSTR pDLLName;
499 } MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
500 typedef struct _PORT_INFO_2A {
501 LPSTR pPortName;
502 LPSTR pMonitorName;
503 LPSTR pDescription;
504 DWORD fPortType;
505 DWORD Reserved;
506 } PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
507 typedef struct _PORT_INFO_2W {
508 LPWSTR pPortName;
509 LPWSTR pMonitorName;
510 LPWSTR pDescription;
511 DWORD fPortType;
512 DWORD Reserved;
513 } PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
514 typedef struct _PORT_INFO_3A {
515 DWORD dwStatus;
516 LPSTR pszStatus;
517 DWORD dwSeverity;
518 } PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
519 typedef struct _PORT_INFO_3W {
520 DWORD dwStatus;
521 LPWSTR pszStatus;
522 DWORD dwSeverity;
523 } PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
524 #if (_WIN32_WINNT >= 0x0500)
525 typedef struct _PRINTER_ENUM_VALUESA {
526 LPSTR pValueName;
527 DWORD cbValueName;
528 DWORD dwType;
529 LPBYTE pData;
530 DWORD cbData;
531 } PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPRINTER_ENUM_VALUESA;
532 typedef struct _PRINTER_ENUM_VALUESW {
533 LPWSTR pValueName;
534 DWORD cbValueName;
535 DWORD dwType;
536 LPBYTE pData;
537 DWORD cbData;
538 } PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPRINTER_ENUM_VALUESW;
539 #endif
540 typedef struct _PRINTER_INFO_1A {
541 DWORD Flags;
542 LPSTR pDescription;
543 LPSTR pName;
544 LPSTR pComment;
545 } PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A;
546 typedef struct _PRINTER_INFO_1W {
547 DWORD Flags;
548 LPWSTR pDescription;
549 LPWSTR pName;
550 LPWSTR pComment;
551 } PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W;
552 typedef struct _PRINTER_INFO_2A {
553 LPSTR pServerName;
554 LPSTR pPrinterName;
555 LPSTR pShareName;
556 LPSTR pPortName;
557 LPSTR pDriverName;
558 LPSTR pComment;
559 LPSTR pLocation;
560 LPDEVMODEA pDevMode;
561 LPSTR pSepFile;
562 LPSTR pPrintProcessor;
563 LPSTR pDatatype;
564 LPSTR pParameters;
565 PSECURITY_DESCRIPTOR pSecurityDescriptor;
566 DWORD Attributes;
567 DWORD Priority;
568 DWORD DefaultPriority;
569 DWORD StartTime;
570 DWORD UntilTime;
571 DWORD Status;
572 DWORD cJobs;
573 DWORD AveragePPM;
574 } PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A;
575 typedef struct _PRINTER_INFO_2W {
576 LPWSTR pServerName;
577 LPWSTR pPrinterName;
578 LPWSTR pShareName;
579 LPWSTR pPortName;
580 LPWSTR pDriverName;
581 LPWSTR pComment;
582 LPWSTR pLocation;
583 LPDEVMODEW pDevMode;
584 LPWSTR pSepFile;
585 LPWSTR pPrintProcessor;
586 LPWSTR pDatatype;
587 LPWSTR pParameters;
588 PSECURITY_DESCRIPTOR pSecurityDescriptor;
589 DWORD Attributes;
590 DWORD Priority;
591 DWORD DefaultPriority;
592 DWORD StartTime;
593 DWORD UntilTime;
594 DWORD Status;
595 DWORD cJobs;
596 DWORD AveragePPM;
597 } PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W;
598 typedef struct _PRINTER_INFO_3 {
599 PSECURITY_DESCRIPTOR pSecurityDescriptor;
600 } PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
601 typedef struct _PRINTER_INFO_4A {
602 LPSTR pPrinterName;
603 LPSTR pServerName;
604 DWORD Attributes;
605 } PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
606 typedef struct _PRINTER_INFO_4W {
607 LPWSTR pPrinterName;
608 LPWSTR pServerName;
609 DWORD Attributes;
610 } PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
611 typedef struct _PRINTER_INFO_5A {
612 LPSTR pPrinterName;
613 LPSTR pPortName;
614 DWORD Attributes;
615 DWORD DeviceNotSelectedTimeout;
616 DWORD TransmissionRetryTimeout;
617 } PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A;
618 typedef struct _PRINTER_INFO_5W {
619 LPWSTR pPrinterName;
620 LPWSTR pPortName;
621 DWORD Attributes;
622 DWORD DeviceNotSelectedTimeout;
623 DWORD TransmissionRetryTimeout;
624 } PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W;
625 typedef struct _PRINTER_INFO_6 {
626 DWORD dwStatus;
627 } PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
628 #if (_WIN32_WINNT >= 0x0500)
629 typedef struct _PRINTER_INFO_7A {
630 LPWSTR pszObjectGUID;
631 DWORD dwAction;
632 } PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
633 typedef struct _PRINTER_INFO_7W {
634 LPWSTR pszObjectGUID;
635 DWORD dwAction;
636 } PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
637 typedef struct _PRINTER_INFO_8 {
638 LPDEVMODE pDevMode;
639 } PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8;
640 typedef struct _PRINTER_INFO_9 {
641 LPDEVMODE pDevMode;
642 } PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9;
643 #endif
644 typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
645 typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
646 typedef struct _PRINTER_NOTIFY_INFO_DATA {
647 WORD Type;
648 WORD Field;
649 DWORD Reserved;
650 DWORD Id;
651 union {
652 DWORD adwData[2];
653 struct {
654 DWORD cbBuf;
655 PVOID pBuf;
656 } Data;
657 } NotifyData;
658 } PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA;
659 typedef struct _PRINTER_NOTIFY_INFO {
660 DWORD Version;
661 DWORD Flags;
662 DWORD Count;
663 PRINTER_NOTIFY_INFO_DATA aData[1];
664 } PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO;
665 typedef struct _FORM_INFO_1A {
666 DWORD Flags;
667 LPSTR pName;
668 SIZEL Size;
669 RECTL ImageableArea;
670 } FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
671 typedef struct _FORM_INFO_1W {
672 DWORD Flags;
673 LPWSTR pName;
674 SIZEL Size;
675 RECTL ImageableArea;
676 } FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
677 typedef struct _PRINTER_DEFAULTSA {
678 LPSTR pDatatype;
679 LPDEVMODE pDevMode;
680 ACCESS_MASK DesiredAccess;
681 } PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
682 typedef struct _PRINTER_DEFAULTSW {
683 LPWSTR pDatatype;
684 LPDEVMODE pDevMode;
685 ACCESS_MASK DesiredAccess;
686 } PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
687 #if (_WIN32_WINNT >= 0x0500)
688 typedef struct _PRINTPROCESSOR_CAPS_1 {
689 DWORD dwLevel;
690 DWORD dwNupOptions;
691 DWORD dwPageOrderFlags;
692 DWORD dwNumberOfCopies;
693 } PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1,*LPPRINTPROCESSOR_CAPS_1;
694 #endif
695 typedef struct _PROVIDOR_INFO_1A {
696 LPSTR pName;
697 LPSTR pEnvironment;
698 LPSTR pDLLName;
699 } PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A;
700 typedef struct _PROVIDOR_INFO_1W {
701 LPWSTR pName;
702 LPWSTR pEnvironment;
703 LPWSTR pDLLName;
704 } PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W;
705 typedef struct _PROVIDOR_INFO_2A {
706 LPSTR pOrder;
707 } PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPROVIDOR_INFO_2A;
708 typedef struct _PROVIDOR_INFO_2W {
709 LPWSTR pOrder;
710 } PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPROVIDOR_INFO_2W;
712 BOOL WINAPI AbortPrinter(HANDLE);
713 BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE);
714 BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE);
715 BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
716 BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
717 BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE);
718 BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE);
719 BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR);
720 BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR);
721 HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE);
722 HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE);
723 BOOL WINAPI AddPrinterConnectionA(LPSTR);
724 BOOL WINAPI AddPrinterConnectionW(LPWSTR);
725 BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE);
726 BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE);
727 BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR);
728 BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR);
729 BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE);
730 BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE);
731 LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA);
732 LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW);
733 BOOL WINAPI ClosePrinter(HANDLE);
734 BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR);
735 BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR);
736 HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD);
737 BOOL WINAPI DeleteFormA(HANDLE,LPSTR);
738 BOOL WINAPI DeleteFormW(HANDLE,LPWSTR);
739 BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR);
740 BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR);
741 BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR);
742 BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR);
743 BOOL WINAPI DeletePrinter(HANDLE);
744 BOOL WINAPI DeletePrinterConnectionA(LPSTR);
745 BOOL WINAPI DeletePrinterConnectionW(LPWSTR);
746 DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR);
747 DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR);
748 BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR);
749 BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR);
750 BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR);
751 BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
752 BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
753 BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
754 LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
755 LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
756 BOOL WINAPI EndDocPrinter(HANDLE);
757 BOOL WINAPI EndPagePrinter(HANDLE);
758 BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
759 BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
760 BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
761 BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
762 BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
763 BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
764 BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
765 BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
766 DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
767 DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
768 BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
769 BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
770 BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
771 BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
772 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
773 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
774 BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
775 BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
776 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE);
777 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
778 HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
779 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
780 #if _WIN32_WINNT >= 0x0500
781 BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
782 BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
783 #endif
784 BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
785 BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
786 BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
787 BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
788 BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
789 BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
790 DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD);
791 DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD);
792 DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
793 DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
794 DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
795 DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
796 DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
797 DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
798 BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA);
799 BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
800 DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD);
801 DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD);
802 BOOL WINAPI PrinterProperties(HWND,HANDLE);
803 BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD);
804 BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA);
805 BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW);
806 BOOL WINAPI ScheduleJob(HANDLE,DWORD);
807 BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE);
808 BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE);
809 BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD);
810 BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD);
811 BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD);
812 BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD);
813 BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD);
814 BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD);
815 DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE);
816 DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE);
817 BOOL WINAPI StartPagePrinter(HANDLE);
818 DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
819 BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
821 #ifdef UNICODE
822 typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
823 typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
824 typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
825 typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
826 typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
827 typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
828 typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
829 typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
830 typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
831 typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
832 typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
833 typedef DRIVER_INFO_1W DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
834 typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
835 typedef DRIVER_INFO_3W DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
836 #if (_WIN32_WINNT >= 0x0500)
837 typedef DRIVER_INFO_4W DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
838 typedef DRIVER_INFO_5W DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
839 typedef DRIVER_INFO_6W DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
840 typedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
841 #endif
842 typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
843 typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
844 typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
845 typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
846 #if (_WIN32_WINNT >= 0x0500)
847 typedef PRINTER_INFO_7W PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
848 #endif
849 typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
850 typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
851 typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
852 typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
853 typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
854 #define AddForm AddFormW
855 #define AddJob AddJobW
856 #define AddMonitor AddMonitorW
857 #define AddPort AddPortW
858 #define AddPrinter AddPrinterW
859 #define AddPrinterConnection AddPrinterConnectionW
860 #define AddPrinterDriver AddPrinterDriverW
861 #define AddPrintProcessor AddPrintProcessorW
862 #define AddPrintProvidor AddPrintProvidorW
863 #define AdvancedDocumentProperties AdvancedDocumentPropertiesW
864 #define ConfigurePort ConfigurePortW
865 #define DeleteForm DeleteFormW
866 #define DeleteMonitor DeleteMonitorW
867 #define DeletePort DeletePortW
868 #define DeletePrinterConnection DeletePrinterConnectionW
869 #define DeletePrinterData DeletePrinterDataW
870 #define DeletePrinterDriver DeletePrinterDriverW
871 #define DeletePrintProcessor DeletePrinterProcessorW
872 #define DeletePrintProvidor DeletePrinterProvidorW
873 #define DocumentProperties DocumentPropertiesW
874 #define EnumForms EnumFormsW
875 #define EnumJobs EnumJobsW
876 #define EnumMonitors EnumMonitorsW
877 #define EnumPorts EnumPortsW
878 #define EnumPrinterData EnumPrinterDataW
879 #define EnumPrinterDrivers EnumPrinterDriversW
880 #define EnumPrinters EnumPrintersW
881 #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
882 #define EnumPrintProcessors EnumPrintProcessorsW
883 #define GetDefaultPrinter GetDefaultPrinterW
884 #define GetForm GetFormW
885 #define GetJob GetJobW
886 #define GetPrinter GetPrinterW
887 #define GetPrinterData GetPrinterDataW
888 #define GetPrinterDriver GetPrinterDriverW
889 #define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
890 #define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
891 #define OpenPrinter OpenPrinterW
892 #define PrinterMessageBox PrinterMessageBoxW
893 #define ResetPrinter ResetPrinterW
894 #define SetForm SetFormW
895 #define SetJob SetJobW
896 #define SetPrinter SetPrinterW
897 #define SetPrinterData SetPrinterDataW
898 #define StartDocPrinter StartDocPrinterW
899 #else
900 typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
901 typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
902 typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
903 typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
904 typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
905 typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
906 typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
907 typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
908 typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
909 typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
910 typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
911 typedef DRIVER_INFO_1A DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
912 typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
913 typedef DRIVER_INFO_3A DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
914 #if (_WIN32_WINNT >= 0x0500)
915 typedef DRIVER_INFO_4A DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
916 typedef DRIVER_INFO_5A DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
917 typedef DRIVER_INFO_6A DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
918 typedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
919 #endif
920 typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
921 typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
922 typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
923 typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
924 #if (_WIN32_WINNT >= 0x0500)
925 typedef PRINTER_INFO_7A PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
926 #endif
927 typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
928 typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
929 typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
930 typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
931 typedef PROVIDOR_INFO_2A PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
932 #define AddForm AddFormA
933 #define AddJob AddJobA
934 #define AddMonitor AddMonitorA
935 #define AddPort AddPortA
936 #define AddPrinter AddPrinterA
937 #define AddPrinterConnection AddPrinterConnectionA
938 #define AddPrinterDriver AddPrinterDriverA
939 #define AddPrintProcessor AddPrintProcessorA
940 #define AddPrintProvidor AddPrintProvidorA
941 #define AdvancedDocumentProperties AdvancedDocumentPropertiesA
942 #define ConfigurePort ConfigurePortA
943 #define DeleteForm DeleteFormA
944 #define DeleteMonitor DeleteMonitorA
945 #define DeletePort DeletePortA
946 #define DeletePrinterConnection DeletePrinterConnectionA
947 #define DeletePrinterData DeletePrinterDataA
948 #define DeletePrinterDriver DeletePrinterDriverA
949 #define DeletePrintProcessor DeletePrinterProcessorA
950 #define DeletePrintProvidor DeletePrinterProvidorA
951 #define DocumentProperties DocumentPropertiesA
952 #define EnumForms EnumFormsA
953 #define EnumJobs EnumJobsA
954 #define EnumMonitors EnumMonitorsA
955 #define EnumPorts EnumPortsA
956 #define EnumPrinterData EnumPrinterDataA
957 #define EnumPrinterDrivers EnumPrinterDriversA
958 #define EnumPrinters EnumPrintersA
959 #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
960 #define EnumPrintProcessors EnumPrintProcessorsA
961 #define GetDefaultPrinter GetDefaultPrinterA
962 #define GetForm GetFormA
963 #define GetJob GetJobA
964 #define GetPrinter GetPrinterA
965 #define GetPrinterData GetPrinterDataA
966 #define GetPrinterDriver GetPrinterDriverA
967 #define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
968 #define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
969 #define OpenPrinter OpenPrinterA
970 #define PrinterMessageBox PrinterMessageBoxA
971 #define ResetPrinter ResetPrinterA
972 #define SetForm SetFormA
973 #define SetJob SetJobA
974 #define SetPrinter SetPrinterA
975 #define SetPrinterData SetPrinterDataA
976 #define StartDocPrinter StartDocPrinterA
977 #endif
978 #endif /* RC_INVOKED */
979 #ifdef __cplusplus
981 #endif
982 #endif