source: Daodan/MinGW/include/winspool.h@ 1089

Last change on this file since 1089 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 34.9 KB
Line 
1#ifndef _WINSPOOL_H
2#define _WINSPOOL_H
3#if __GNUC__ >=3
4#pragma GCC system_header
5#endif
6
7#ifdef __cplusplus
8extern "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
237typedef struct _ADDJOB_INFO_1A {
238 LPSTR Path;
239 DWORD JobId;
240} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
241typedef struct _ADDJOB_INFO_1W {
242 LPWSTR Path;
243 DWORD JobId;
244} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
245typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
246typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
247typedef 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;
262typedef 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;
277typedef 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;
302typedef 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;
327typedef struct _JOB_INFO_3 {
328 DWORD JobId;
329 DWORD NextJobId;
330 DWORD Reserved;
331} JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3;
332typedef struct _DOC_INFO_1A {
333 LPSTR pDocName;
334 LPSTR pOutputFile;
335 LPSTR pDatatype;
336} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
337typedef struct _DOC_INFO_1W {
338 LPWSTR pDocName;
339 LPWSTR pOutputFile;
340 LPWSTR pDatatype;
341} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
342typedef 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;
349typedef 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;
356typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
357typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
358typedef 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;
366typedef 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;
374typedef 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;
386typedef 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)
399typedef 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;
412typedef 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;
425typedef 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;
436typedef 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;
447typedef 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;
466typedef 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
486typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
487typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
488typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
489typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
490typedef struct _MONITOR_INFO_2A{
491 LPSTR pName;
492 LPSTR pEnvironment;
493 LPSTR pDLLName;
494} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
495typedef struct _MONITOR_INFO_2W{
496 LPWSTR pName;
497 LPWSTR pEnvironment;
498 LPWSTR pDLLName;
499} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
500typedef 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;
507typedef 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;
514typedef struct _PORT_INFO_3A {
515 DWORD dwStatus;
516 LPSTR pszStatus;
517 DWORD dwSeverity;
518} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
519typedef 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)
525typedef 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;
532typedef 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
540typedef 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;
546typedef 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;
552typedef 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;
575typedef 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;
598typedef struct _PRINTER_INFO_3 {
599 PSECURITY_DESCRIPTOR pSecurityDescriptor;
600} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
601typedef struct _PRINTER_INFO_4A {
602 LPSTR pPrinterName;
603 LPSTR pServerName;
604 DWORD Attributes;
605} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
606typedef struct _PRINTER_INFO_4W {
607 LPWSTR pPrinterName;
608 LPWSTR pServerName;
609 DWORD Attributes;
610} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
611typedef 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;
618typedef 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;
625typedef struct _PRINTER_INFO_6 {
626 DWORD dwStatus;
627} PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
628#if (_WIN32_WINNT >= 0x0500)
629typedef struct _PRINTER_INFO_7A {
630 LPWSTR pszObjectGUID;
631 DWORD dwAction;
632} PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
633typedef struct _PRINTER_INFO_7W {
634 LPWSTR pszObjectGUID;
635 DWORD dwAction;
636} PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
637typedef struct _PRINTER_INFO_8 {
638 LPDEVMODE pDevMode;
639} PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8;
640typedef struct _PRINTER_INFO_9 {
641 LPDEVMODE pDevMode;
642} PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9;
643#endif
644typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
645typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
646typedef 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;
659typedef 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;
665typedef 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;
671typedef 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;
677typedef struct _PRINTER_DEFAULTSA {
678 LPSTR pDatatype;
679 LPDEVMODE pDevMode;
680 ACCESS_MASK DesiredAccess;
681} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
682typedef 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)
688typedef 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
695typedef struct _PROVIDOR_INFO_1A {
696 LPSTR pName;
697 LPSTR pEnvironment;
698 LPSTR pDLLName;
699} PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A;
700typedef struct _PROVIDOR_INFO_1W {
701 LPWSTR pName;
702 LPWSTR pEnvironment;
703 LPWSTR pDLLName;
704} PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W;
705typedef struct _PROVIDOR_INFO_2A {
706 LPSTR pOrder;
707} PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPROVIDOR_INFO_2A;
708typedef struct _PROVIDOR_INFO_2W {
709 LPWSTR pOrder;
710} PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPROVIDOR_INFO_2W;
711
712BOOL WINAPI AbortPrinter(HANDLE);
713BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE);
714BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE);
715BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
716BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
717BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE);
718BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE);
719BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR);
720BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR);
721HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE);
722HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE);
723BOOL WINAPI AddPrinterConnectionA(LPSTR);
724BOOL WINAPI AddPrinterConnectionW(LPWSTR);
725BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE);
726BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE);
727BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR);
728BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR);
729BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE);
730BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE);
731LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA);
732LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW);
733BOOL WINAPI ClosePrinter(HANDLE);
734BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR);
735BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR);
736HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD);
737BOOL WINAPI DeleteFormA(HANDLE,LPSTR);
738BOOL WINAPI DeleteFormW(HANDLE,LPWSTR);
739BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR);
740BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR);
741BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR);
742BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR);
743BOOL WINAPI DeletePrinter(HANDLE);
744BOOL WINAPI DeletePrinterConnectionA(LPSTR);
745BOOL WINAPI DeletePrinterConnectionW(LPWSTR);
746DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR);
747DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR);
748BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR);
749BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR);
750BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR);
751BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
752BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
753BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
754LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
755LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
756BOOL WINAPI EndDocPrinter(HANDLE);
757BOOL WINAPI EndPagePrinter(HANDLE);
758BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
759BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
760BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
761BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
762BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
763BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
764BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
765BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
766DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
767DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
768BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
769BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
770BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
771BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
772BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
773BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
774BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
775BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
776BOOL WINAPI FindClosePrinterChangeNotification(HANDLE);
777HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
778HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
779BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
780#if _WIN32_WINNT >= 0x0500
781BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
782BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
783#endif
784BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
785BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
786BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
787BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
788BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
789BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
790DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD);
791DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD);
792DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
793DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
794DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
795DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
796DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
797DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
798BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA);
799BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
800DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD);
801DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD);
802BOOL WINAPI PrinterProperties(HWND,HANDLE);
803BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD);
804BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA);
805BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW);
806BOOL WINAPI ScheduleJob(HANDLE,DWORD);
807BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE);
808BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE);
809BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD);
810BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD);
811BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD);
812BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD);
813BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD);
814BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD);
815DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE);
816DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE);
817BOOL WINAPI StartPagePrinter(HANDLE);
818DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
819BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
820
821#ifdef UNICODE
822typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
823typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
824typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
825typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
826typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
827typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
828typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
829typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
830typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
831typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
832typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
833typedef DRIVER_INFO_1W DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
834typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
835typedef DRIVER_INFO_3W DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
836#if (_WIN32_WINNT >= 0x0500)
837typedef DRIVER_INFO_4W DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
838typedef DRIVER_INFO_5W DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
839typedef DRIVER_INFO_6W DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
840typedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
841#endif
842typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
843typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
844typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
845typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
846#if (_WIN32_WINNT >= 0x0500)
847typedef PRINTER_INFO_7W PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
848#endif
849typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
850typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
851typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
852typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
853typedef 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
900typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
901typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
902typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
903typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
904typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
905typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
906typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
907typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
908typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
909typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
910typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
911typedef DRIVER_INFO_1A DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
912typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
913typedef DRIVER_INFO_3A DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
914#if (_WIN32_WINNT >= 0x0500)
915typedef DRIVER_INFO_4A DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
916typedef DRIVER_INFO_5A DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
917typedef DRIVER_INFO_6A DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
918typedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
919#endif
920typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
921typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
922typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
923typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
924#if (_WIN32_WINNT >= 0x0500)
925typedef PRINTER_INFO_7A PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
926#endif
927typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
928typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
929typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
930typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
931typedef 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
980}
981#endif
982#endif
Note: See TracBrowser for help on using the repository browser.