10 #pragma warning(disable:4820)
14 #define DI_CHANNEL_WRITE 2
15 #define DI_READ_SPOOL_JOB 3
17 #define FORM_BUILTIN 1
19 #define JOB_CONTROL_PAUSE 1
20 #define JOB_CONTROL_RESUME 2
21 #define JOB_CONTROL_CANCEL 3
22 #define JOB_CONTROL_RESTART 4
23 #define JOB_CONTROL_DELETE 5
25 #define JOB_STATUS_PAUSED 1
26 #define JOB_STATUS_ERROR 2
27 #define JOB_STATUS_DELETING 4
28 #define JOB_STATUS_SPOOLING 8
29 #define JOB_STATUS_PRINTING 16
30 #define JOB_STATUS_OFFLINE 32
31 #define JOB_STATUS_PAPEROUT 0x40
32 #define JOB_STATUS_PRINTED 0x80
33 #define JOB_STATUS_DELETED 0x100
34 #define JOB_STATUS_BLOCKED_DEVQ 0x200
35 #define JOB_STATUS_USER_INTERVENTION 0x400
37 #define JOB_POSITION_UNSPECIFIED 0
39 #define JOB_NOTIFY_TYPE 1
41 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0
42 #define JOB_NOTIFY_FIELD_MACHINE_NAME 1
43 #define JOB_NOTIFY_FIELD_PORT_NAME 2
44 #define JOB_NOTIFY_FIELD_USER_NAME 3
45 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 4
46 #define JOB_NOTIFY_FIELD_DATATYPE 5
47 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6
48 #define JOB_NOTIFY_FIELD_PARAMETERS 7
49 #define JOB_NOTIFY_FIELD_DRIVER_NAME 8
50 #define JOB_NOTIFY_FIELD_DEVMODE 9
51 #define JOB_NOTIFY_FIELD_STATUS 10
52 #define JOB_NOTIFY_FIELD_STATUS_STRING 11
53 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
54 #define JOB_NOTIFY_FIELD_DOCUMENT 13
55 #define JOB_NOTIFY_FIELD_PRIORITY 14
56 #define JOB_NOTIFY_FIELD_POSITION 15
57 #define JOB_NOTIFY_FIELD_SUBMITTED 16
58 #define JOB_NOTIFY_FIELD_START_TIME 17
59 #define JOB_NOTIFY_FIELD_UNTIL_TIME 18
60 #define JOB_NOTIFY_FIELD_TIME 19
61 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 20
62 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 21
63 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 22
64 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 23
66 #define JOB_ACCESS_ADMINISTER 16
67 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
68 #define JOB_READ (STANDARD_RIGHTS_READ|JOB_ACCESS_ADMINISTER)
69 #define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
70 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
72 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
73 #define PRINTER_ACCESS_ADMINISTER 4
74 #define PRINTER_ACCESS_USE 8
76 #define PRINTER_ERROR_INFORMATION 0x80000000
77 #define PRINTER_ERROR_WARNING 0x40000000
78 #define PRINTER_ERROR_SEVERE 0x20000000
79 #define PRINTER_ERROR_OUTOFPAPER 1
80 #define PRINTER_ERROR_JAM 2
81 #define PRINTER_ERROR_OUTOFTONER 4
83 #define PRINTER_CONTROL_PAUSE 1
84 #define PRINTER_CONTROL_RESUME 2
85 #define PRINTER_CONTROL_PURGE 3
86 #define PRINTER_CONTROL_SET_STATUS 4
88 #define PRINTER_STATUS_PAUSED 1
89 #define PRINTER_STATUS_ERROR 2
90 #define PRINTER_STATUS_PENDING_DELETION 4
91 #define PRINTER_STATUS_PAPER_JAM 8
92 #define PRINTER_STATUS_PAPER_OUT 0x10
93 #define PRINTER_STATUS_MANUAL_FEED 0x20
94 #define PRINTER_STATUS_PAPER_PROBLEM 0x40
95 #define PRINTER_STATUS_OFFLINE 0x80
96 #define PRINTER_STATUS_IO_ACTIVE 0x100
97 #define PRINTER_STATUS_BUSY 0x200
98 #define PRINTER_STATUS_PRINTING 0x400
99 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800
100 #define PRINTER_STATUS_NOT_AVAILABLE 0x1000
101 #define PRINTER_STATUS_WAITING 0x2000
102 #define PRINTER_STATUS_PROCESSING 0x4000
103 #define PRINTER_STATUS_INITIALIZING 0x8000
104 #define PRINTER_STATUS_WARMING_UP 0x10000
105 #define PRINTER_STATUS_TONER_LOW 0x20000
106 #define PRINTER_STATUS_NO_TONER 0x40000
107 #define PRINTER_STATUS_PAGE_PUNT 0x80000
108 #define PRINTER_STATUS_USER_INTERVENTION 0x100000
109 #define PRINTER_STATUS_OUT_OF_MEMORY 0x200000
110 #define PRINTER_STATUS_DOOR_OPEN 0x400000
111 #define PRINTER_STATUS_SERVER_UNKNOWN 0x800000
112 #define PRINTER_STATUS_POWER_SAVE 0x1000000
114 #define PRINTER_ATTRIBUTE_QUEUED 1
115 #define PRINTER_ATTRIBUTE_DIRECT 2
116 #define PRINTER_ATTRIBUTE_DEFAULT 4
117 #define PRINTER_ATTRIBUTE_SHARED 8
118 #define PRINTER_ATTRIBUTE_NETWORK 0x10
119 #define PRINTER_ATTRIBUTE_HIDDEN 0x20
120 #define PRINTER_ATTRIBUTE_LOCAL 0x40
121 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80
122 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100
123 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200
124 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400
125 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800
126 #define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000
127 #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
149 #define PRINTER_NOTIFY_TYPE 0
150 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0
151 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1
152 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 2
153 #define PRINTER_NOTIFY_FIELD_PORT_NAME 3
154 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4
155 #define PRINTER_NOTIFY_FIELD_COMMENT 5
156 #define PRINTER_NOTIFY_FIELD_LOCATION 6
157 #define PRINTER_NOTIFY_FIELD_DEVMODE 7
158 #define PRINTER_NOTIFY_FIELD_SEPFILE 8
159 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9
160 #define PRINTER_NOTIFY_FIELD_PARAMETERS 10
161 #define PRINTER_NOTIFY_FIELD_DATATYPE 11
162 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
163 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13
164 #define PRINTER_NOTIFY_FIELD_PRIORITY 14
165 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15
166 #define PRINTER_NOTIFY_FIELD_START_TIME 16
167 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17
168 #define PRINTER_NOTIFY_FIELD_STATUS 18
169 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 19
170 #define PRINTER_NOTIFY_FIELD_CJOBS 20
171 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21
172 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22
173 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23
174 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24
175 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25
177 #define PRINTER_CHANGE_ADD_PRINTER 1
178 #define PRINTER_CHANGE_SET_PRINTER 2
179 #define PRINTER_CHANGE_DELETE_PRINTER 4
180 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8
181 #define PRINTER_CHANGE_PRINTER 0xFF
182 #define PRINTER_CHANGE_ADD_JOB 0x100
183 #define PRINTER_CHANGE_SET_JOB 0x200
184 #define PRINTER_CHANGE_DELETE_JOB 0x400
185 #define PRINTER_CHANGE_WRITE_JOB 0x800
186 #define PRINTER_CHANGE_JOB 0xFF00
187 #define PRINTER_CHANGE_ADD_FORM 0x10000
188 #define PRINTER_CHANGE_SET_FORM 0x20000
189 #define PRINTER_CHANGE_DELETE_FORM 0x40000
190 #define PRINTER_CHANGE_FORM 0x70000
191 #define PRINTER_CHANGE_ADD_PORT 0x100000
192 #define PRINTER_CHANGE_CONFIGURE_PORT 0x200000
193 #define PRINTER_CHANGE_DELETE_PORT 0x400000
194 #define PRINTER_CHANGE_PORT 0x700000
195 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000
196 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000
197 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000
198 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
199 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
200 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
201 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
202 #define PRINTER_CHANGE_TIMEOUT 0x80000000
203 #define PRINTER_CHANGE_ALL 0x7777FFFF
205 #define PRINTER_NOTIFY_INFO_DISCARDED 1
206 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
207 #define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
208 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
209 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
211 #define NO_PRIORITY 0
212 #define MAX_PRIORITY 99
213 #define MIN_PRIORITY 1
214 #define DEF_PRIORITY 1
216 #define PORT_TYPE_WRITE 1
217 #define PORT_TYPE_READ 2
218 #define PORT_TYPE_REDIRECTED 4
219 #define PORT_TYPE_NET_ATTACHED 8
221 #define SERVER_ACCESS_ADMINISTER 1
222 #define SERVER_ACCESS_ENUMERATE 2
223 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
224 #define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
225 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
226 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
228 #define PORT_STATUS_TYPE_ERROR 1
229 #define PORT_STATUS_TYPE_WARNING 2
230 #define PORT_STATUS_TYPE_INFO 3
231 #define PORT_STATUS_OFFLINE 1
232 #define PORT_STATUS_PAPER_JAM 2
233 #define PORT_STATUS_PAPER_OUT 3
234 #define PORT_STATUS_OUTPUT_BIN_FULL 4
235 #define PORT_STATUS_PAPER_PROBLEM 5
236 #define PORT_STATUS_NO_TONER 6
237 #define PORT_STATUS_DOOR_OPEN 7
238 #define PORT_STATUS_USER_INTERVENTION 8
239 #define PORT_STATUS_OUT_OF_MEMORY 9
240 #define PORT_STATUS_TONER_LOW 10
241 #define PORT_STATUS_WARMING_UP 11
242 #define PORT_STATUS_POWER_SAVE 12
244 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
251 } PRINTER_NOTIFY_OPTIONS_TYPE
, *PPRINTER_NOTIFY_OPTIONS_TYPE
, *LPPRINTER_NOTIFY_OPTIONS_TYPE
;
253 typedef struct _PRINTER_NOTIFY_OPTIONS
{
257 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
258 } PRINTER_NOTIFY_OPTIONS
, *PPRINTER_NOTIFY_OPTIONS
, *LPPRINTER_NOTIFY_OPTIONS
;
262 typedef struct _ADDJOB_INFO_1A
{
265 } ADDJOB_INFO_1A
, *PADDJOB_INFO_1A
, *LPADDJOB_INFO_1A
;
267 typedef struct _ADDJOB_INFO_1W
{
270 } ADDJOB_INFO_1W
, *PADDJOB_INFO_1W
, *LPADDJOB_INFO_1W
;
272 typedef struct _DATATYPES_INFO_1A
{
274 } DATATYPES_INFO_1A
, *PDATATYPES_INFO_1A
, *LPDATATYPES_INFO_1A
;
276 typedef struct _DATATYPES_INFO_1W
{
278 } DATATYPES_INFO_1W
, *PDATATYPES_INFO_1W
, *LPDATATYPES_INFO_1W
;
280 typedef struct _JOB_INFO_1A
{
293 SYSTEMTIME Submitted
;
294 } JOB_INFO_1A
, *PJOB_INFO_1A
, *LPJOB_INFO_1A
;
296 typedef struct _JOB_INFO_1W
{
309 SYSTEMTIME Submitted
;
310 } JOB_INFO_1W
, *PJOB_INFO_1W
, *LPJOB_INFO_1W
;
312 typedef struct _JOB_INFO_2A
{
320 LPSTR pPrintProcessor
;
325 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
333 SYSTEMTIME Submitted
;
336 } JOB_INFO_2A
, *PJOB_INFO_2A
, *LPJOB_INFO_2A
;
338 typedef struct _JOB_INFO_2W
{
346 LPWSTR pPrintProcessor
;
351 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
359 SYSTEMTIME Submitted
;
362 } JOB_INFO_2W
, *PJOB_INFO_2W
, *LPJOB_INFO_2W
;
364 typedef struct _DOC_INFO_1A
{
368 } DOC_INFO_1A
, *PDOC_INFO_1A
, *LPDOC_INFO_1A
;
370 typedef struct _DOC_INFO_1W
{
374 } DOC_INFO_1W
, *PDOC_INFO_1W
, *LPDOC_INFO_1W
;
376 typedef struct _DOC_INFO_2A
{
382 } DOC_INFO_2A
, *PDOC_INFO_2A
, *LPDOC_INFO_2A
;
384 typedef struct _DOC_INFO_2W
{
390 } DOC_INFO_2W
, *PDOC_INFO_2W
, *LPDOC_INFO_2W
;
392 typedef struct _DRIVER_INFO_1A
{
394 } DRIVER_INFO_1A
, *PDRIVER_INFO_1A
, *LPDRIVER_INFO_1A
;
396 typedef struct _DRIVER_INFO_1W
{
398 } DRIVER_INFO_1W
, *PDRIVER_INFO_1W
, *LPDRIVER_INFO_1W
;
400 typedef struct _DRIVER_INFO_2A
{
407 } DRIVER_INFO_2A
, *PDRIVER_INFO_2A
, *LPDRIVER_INFO_2A
;
409 typedef struct _DRIVER_INFO_2W
{
416 } DRIVER_INFO_2W
, *PDRIVER_INFO_2W
, *LPDRIVER_INFO_2W
;
418 typedef struct _DRIVER_INFO_3A
{
426 LPSTR pDependentFiles
;
428 LPSTR pDefaultDataType
;
429 } DRIVER_INFO_3A
, *PDRIVER_INFO_3A
, *LPDRIVER_INFO_3A
;
431 typedef struct _DRIVER_INFO_3W
{
439 LPWSTR pDependentFiles
;
441 LPWSTR pDefaultDataType
;
442 } DRIVER_INFO_3W
, *PDRIVER_INFO_3W
, *LPDRIVER_INFO_3W
;
444 typedef struct _DRIVER_INFO_4A
{
445 DWORD cVersion
; // SDK examples:
446 LPSTR pName
; // QMS 810
447 LPSTR pEnvironment
; // Win32 x86
448 LPSTR pDriverPath
; // c:\drivers\pscript.dll
449 LPSTR pDataFile
; // c:\drivers\QMS810.PPD
450 LPSTR pConfigFile
; // c:\drivers\PSCRPTUI.DLL
451 LPSTR pHelpFile
; // c:\drivers\PSCRPTUI.HLP
452 LPSTR pDependentFiles
; // PSCRIPT.DLL\0QMS810.PPD\0PSCRIPTUI.DLL\0PSCRIPTUI.HLP\0PSTEST.TXT\0\0
453 LPSTR pMonitorName
; // "PJL monitor"
454 LPSTR pDefaultDataType
; // "EMF"
455 LPSTR pszzPreviousNames
; // "OldName1\0OldName2\0\0
456 } DRIVER_INFO_4A
, *PDRIVER_INFO_4A
, *LPDRIVER_INFO_4A
;
458 typedef struct _DRIVER_INFO_4W
{
466 LPWSTR pDependentFiles
;
468 LPWSTR pDefaultDataType
;
469 LPWSTR pszzPreviousNames
;
470 } DRIVER_INFO_4W
, *PDRIVER_INFO_4W
, *LPDRIVER_INFO_4W
;
472 typedef struct _DRIVER_INFO_5A
{
473 DWORD cVersion
; // SDK examples:
474 LPSTR pName
; // QMS 810
475 LPSTR pEnvironment
; // Win32 x86
476 LPSTR pDriverPath
; // c:\drivers\pscript.dll
477 LPSTR pDataFile
; // c:\drivers\QMS810.PPD
478 LPSTR pConfigFile
; // c:\drivers\PSCRPTUI.DLL
479 DWORD dwDriverAttributes
; // driver attributes (like UMPD/KMPD)
480 DWORD dwConfigVersion
; // version number of the config file since reboot
481 DWORD dwDriverVersion
; // version number of the driver file since reboot
482 } DRIVER_INFO_5A
, *PDRIVER_INFO_5A
, *LPDRIVER_INFO_5A
;
484 typedef struct _DRIVER_INFO_5W
{
491 DWORD dwDriverAttributes
;
492 DWORD dwConfigVersion
;
493 DWORD dwDriverVersion
;
494 } DRIVER_INFO_5W
, *PDRIVER_INFO_5W
, *LPDRIVER_INFO_5W
;
496 typedef struct _DRIVER_INFO_6A
{
504 LPSTR pDependentFiles
;
506 LPSTR pDefaultDataType
;
507 LPSTR pszzPreviousNames
;
508 FILETIME ftDriverDate
;
509 DWORDLONG dwlDriverVersion
;
514 } DRIVER_INFO_6A
, *PDRIVER_INFO_6A
, *LPDRIVER_INFO_6A
;
516 typedef struct _DRIVER_INFO_6W
{
524 LPWSTR pDependentFiles
;
526 LPWSTR pDefaultDataType
;
527 LPWSTR pszzPreviousNames
;
528 FILETIME ftDriverDate
;
529 DWORDLONG dwlDriverVersion
;
532 LPWSTR pszHardwareID
;
534 } DRIVER_INFO_6W
, *PDRIVER_INFO_6W
, *LPDRIVER_INFO_6W
;
536 #define PRINTER_DRIVER_PACKAGE_AWARE 0x00000001
538 typedef struct _DRIVER_INFO_8A
{
546 LPSTR pDependentFiles
;
548 LPSTR pDefaultDataType
;
549 LPSTR pszzPreviousNames
;
550 FILETIME ftDriverDate
;
551 DWORDLONG dwlDriverVersion
;
556 LPSTR pszPrintProcessor
;
557 LPSTR pszVendorSetup
;
558 LPSTR pszzColorProfiles
;
560 DWORD dwPrinterDriverAttributes
;
561 LPSTR pszzCoreDriverDependencies
;
562 FILETIME ftMinInboxDriverVerDate
;
563 DWORDLONG dwlMinInboxDriverVerVersion
;
564 } DRIVER_INFO_8A
, *PDRIVER_INFO_8A
, *LPDRIVER_INFO_8A
;
566 typedef struct _DRIVER_INFO_8W
{
574 LPWSTR pDependentFiles
;
576 LPWSTR pDefaultDataType
;
577 LPWSTR pszzPreviousNames
;
578 FILETIME ftDriverDate
;
579 DWORDLONG dwlDriverVersion
;
582 LPWSTR pszHardwareID
;
584 LPWSTR pszPrintProcessor
;
585 LPWSTR pszVendorSetup
;
586 LPWSTR pszzColorProfiles
;
588 DWORD dwPrinterDriverAttributes
;
589 LPWSTR pszzCoreDriverDependencies
;
590 FILETIME ftMinInboxDriverVerDate
;
591 DWORDLONG dwlMinInboxDriverVerVersion
;
592 } DRIVER_INFO_8W
, *PDRIVER_INFO_8W
, *LPDRIVER_INFO_8W
;
594 // FLAGS for dwDriverAttributes
595 #define DRIVER_KERNELMODE 0x00000001
596 #define DRIVER_USERMODE 0x00000002
598 // FLAGS for DeletePrinterDriverEx.
599 #define DPD_DELETE_UNUSED_FILES 0x00000001
600 #define DPD_DELETE_SPECIFIC_VERSION 0x00000002
601 #define DPD_DELETE_ALL_FILES 0x00000004
603 // FLAGS for AddPrinterDriverEx.
604 #define APD_STRICT_UPGRADE 0x00000001
605 #define APD_STRICT_DOWNGRADE 0x00000002
606 #define APD_COPY_ALL_FILES 0x00000004
607 #define APD_COPY_NEW_FILES 0x00000008
608 #if(_WIN32_WINNT >= 0x0501)
609 #define APD_COPY_FROM_DIRECTORY 0x00000010
612 typedef struct _MONITOR_INFO_1A
{
614 } MONITOR_INFO_1A
, *PMONITOR_INFO_1A
, *LPMONITOR_INFO_1A
;
616 typedef struct _MONITOR_INFO_1W
{
618 } MONITOR_INFO_1W
, *PMONITOR_INFO_1W
, *LPMONITOR_INFO_1W
;
620 typedef struct _PORT_INFO_1A
{
622 } PORT_INFO_1A
, *PPORT_INFO_1A
, *LPPORT_INFO_1A
;
624 typedef struct _PORT_INFO_1W
{
626 } PORT_INFO_1W
, *PPORT_INFO_1W
, *LPPORT_INFO_1W
;
628 typedef struct _MONITOR_INFO_2A
{
632 } MONITOR_INFO_2A
, *PMONITOR_INFO_2A
, *LPMONITOR_INFO_2A
;
634 typedef struct _MONITOR_INFO_2W
{
638 } MONITOR_INFO_2W
, *PMONITOR_INFO_2W
, *LPMONITOR_INFO_2W
;
640 typedef struct _PORT_INFO_2A
{
646 } PORT_INFO_2A
, *PPORT_INFO_2A
, *LPPORT_INFO_2A
;
648 typedef struct _PORT_INFO_2W
{
654 } PORT_INFO_2W
, *PPORT_INFO_2W
, *LPPORT_INFO_2W
;
656 typedef struct _PORT_INFO_3A
{
660 } PORT_INFO_3A
, *PPORT_INFO_3A
, *LPPORT_INFO_3A
;
662 typedef struct _PORT_INFO_3W
{
666 } PORT_INFO_3W
, *PPORT_INFO_3W
, *LPPORT_INFO_3W
;
668 typedef struct _PRINTER_INFO_1A
{
673 } PRINTER_INFO_1A
, *PPRINTER_INFO_1A
, *LPPRINTER_INFO_1A
;
675 typedef struct _PRINTER_INFO_1W
{
680 } PRINTER_INFO_1W
, *PPRINTER_INFO_1W
, *LPPRINTER_INFO_1W
;
682 typedef struct _PRINTER_INFO_2A
{
692 LPSTR pPrintProcessor
;
695 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
698 DWORD DefaultPriority
;
704 } PRINTER_INFO_2A
, *PPRINTER_INFO_2A
, *LPPRINTER_INFO_2A
;
706 typedef struct _PRINTER_INFO_2W
{
716 LPWSTR pPrintProcessor
;
719 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
722 DWORD DefaultPriority
;
728 } PRINTER_INFO_2W
, *PPRINTER_INFO_2W
, *LPPRINTER_INFO_2W
;
730 typedef struct _PRINTER_INFO_3
{
731 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
732 } PRINTER_INFO_3
, *PPRINTER_INFO_3
, *LPPRINTER_INFO_3
;
734 typedef struct _PRINTER_INFO_4A
{
738 } PRINTER_INFO_4A
, *PPRINTER_INFO_4A
, *LPPRINTER_INFO_4A
;
740 typedef struct _PRINTER_INFO_4W
{
744 } PRINTER_INFO_4W
, *PPRINTER_INFO_4W
, *LPPRINTER_INFO_4W
;
746 typedef struct _PRINTER_INFO_5A
{
750 DWORD DeviceNotSelectedTimeout
;
751 DWORD TransmissionRetryTimeout
;
752 } PRINTER_INFO_5A
, *PPRINTER_INFO_5A
, *LPPRINTER_INFO_5A
;
754 typedef struct _PRINTER_INFO_5W
{
758 DWORD DeviceNotSelectedTimeout
;
759 DWORD TransmissionRetryTimeout
;
760 } PRINTER_INFO_5W
, *PPRINTER_INFO_5W
, *LPPRINTER_INFO_5W
;
762 typedef struct _PRINTER_INFO_6
{
764 } PRINTER_INFO_6
, *PPRINTER_INFO_6
, *LPPRINTER_INFO_6
;
766 typedef struct _PRINTPROCESSOR_INFO_1A
{
768 } PRINTPROCESSOR_INFO_1A
, *PPRINTPROCESSOR_INFO_1A
, *LPPRINTPROCESSOR_INFO_1A
;
770 typedef struct _PRINTPROCESSOR_INFO_1W
{
772 } PRINTPROCESSOR_INFO_1W
, *PPRINTPROCESSOR_INFO_1W
, *LPPRINTPROCESSOR_INFO_1W
;
774 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
786 } PRINTER_NOTIFY_INFO_DATA
, *PPRINTER_NOTIFY_INFO_DATA
, *LPPRINTER_NOTIFY_INFO_DATA
;
788 typedef struct _PRINTER_NOTIFY_INFO
{
792 PRINTER_NOTIFY_INFO_DATA aData
[1];
793 } PRINTER_NOTIFY_INFO
, *PPRINTER_NOTIFY_INFO
, *LPPRINTER_NOTIFY_INFO
;
795 typedef struct _FORM_INFO_1A
{
800 } FORM_INFO_1A
, *PFORM_INFO_1A
, *LPFORM_INFO_1A
;
802 typedef struct _FORM_INFO_1W
{
807 } FORM_INFO_1W
, *PFORM_INFO_1W
, *LPFORM_INFO_1W
;
809 typedef struct _PRINTER_DEFAULTSA
{
812 ACCESS_MASK DesiredAccess
;
813 } PRINTER_DEFAULTSA
, *PPRINTER_DEFAULTSA
, *LPPRINTER_DEFAULTSA
;
815 typedef struct _PRINTER_DEFAULTSW
{
818 ACCESS_MASK DesiredAccess
;
819 } PRINTER_DEFAULTSW
, *PPRINTER_DEFAULTSW
, *LPPRINTER_DEFAULTSW
;
821 typedef struct _PROVIDOR_INFO_1A
{
825 } PROVIDOR_INFO_1A
, *PPROVIDOR_INFO_1A
, *LPPROVIDOR_INFO_1A
;
827 typedef struct _PROVIDOR_INFO_1W
{
831 } PROVIDOR_INFO_1W
, *LPPROVIDOR_INFO_1W
;
833 typedef struct _PROVIDOR_INFO_2A
{
835 } PROVIDOR_INFO_2A
, *PPROVIDOR_INFO_2A
, *LPPROVIDOR_INFO_2A
;
837 typedef struct _PROVIDOR_INFO_2W
{
839 } PROVIDOR_INFO_2W
, *LPPROVIDOR_INFO_2W
;
841 typedef struct _BINARY_CONTAINER
{
844 } BINARY_CONTAINER
, *PBINARY_CONTAINER
;
846 typedef struct _BIDI_DATA
{
853 BINARY_CONTAINER biData
;
855 } BIDI_DATA
, *LPBIDI_DATA
, *PBIDI_DATA
;
857 typedef struct _BIDI_REQUEST_DATA
{
861 } BIDI_REQUEST_DATA
, *LPBIDI_REQUEST_DATA
, *PBIDI_REQUEST_DATA
;
863 typedef struct _BIDI_REQUEST_CONTAINER
{
867 BIDI_REQUEST_DATA aData
[1];
868 } BIDI_REQUEST_CONTAINER
, *LPBIDI_REQUEST_CONTAINER
, *PBIDI_REQUEST_CONTAINER
;
870 typedef struct _BIDI_RESPONSE_DATA
{
875 } BIDI_RESPONSE_DATA
, *LPBIDI_RESPONSE_DATA
, *PBIDI_RESPONSE_DATA
;
877 typedef struct _BIDI_RESPONSE_CONTAINER
{
881 BIDI_RESPONSE_DATA aData
[1];
882 } BIDI_RESPONSE_CONTAINER
, *LPBIDI_RESPONSE_CONTAINER
, *PBIDI_RESPONSE_CONTAINER
;
886 typedef JOB_INFO_1W JOB_INFO_1
, *PJOB_INFO_1
, *LPJOB_INFO_1
;
887 typedef JOB_INFO_2W JOB_INFO_2
, *PJOB_INFO_2
, *LPJOB_INFO_2
;
888 typedef ADDJOB_INFO_1W ADDJOB_INFO_1
, *PADDJOB_INFO_1
, *LPADDJOB_INFO_1
;
889 typedef DATATYPES_INFO_1W DATATYPES_INFO_1
, *PDATATYPES_INFO_1
, *LPDATATYPES_INFO_1
;
890 typedef MONITOR_INFO_1W MONITOR_INFO_1
, *PMONITOR_INFO_1
, *LPMONITOR_INFO_1
;
891 typedef MONITOR_INFO_2W MONITOR_INFO_2
, *PMONITOR_INFO_2
, *LPMONITOR_INFO_2
;
892 typedef DOC_INFO_1W DOC_INFO_1
, *PDOC_INFO_1
, *LPDOC_INFO_1
;
893 typedef DOC_INFO_2W DOC_INFO_2
, *PDOC_INFO_2
, *LPDOC_INFO_2
;
894 typedef PORT_INFO_1W PORT_INFO_1
, *PPORT_INFO_1
, *LPPORT_INFO_1
;
895 typedef PORT_INFO_2W PORT_INFO_2
, *PPORT_INFO_2
, *LPPORT_INFO_2
;
896 typedef PORT_INFO_3W PORT_INFO_3
, *PPORT_INFO_3
, *LPPORT_INFO_3
;
897 typedef DRIVER_INFO_2W DRIVER_INFO_2
, *PDRIVER_INFO_2
, *LPDRIVER_INFO_2
;
898 typedef DRIVER_INFO_4W DRIVER_INFO_4
, *PDRIVER_INFO_4
, *LPDRIVER_INFO_4
;
899 typedef DRIVER_INFO_5W DRIVER_INFO_5
, *PDRIVER_INFO_5
, *LPDRIVER_INFO_5
;
900 typedef DRIVER_INFO_6W DRIVER_INFO_6
, *PDRIVER_INFO_6
, *LPDRIVER_INFO_6
;
901 typedef DRIVER_INFO_8W DRIVER_INFO_8
, *PDRIVER_INFO_8
, *LPDRIVER_INFO_8
;
902 typedef PRINTER_INFO_1W PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
903 typedef PRINTER_INFO_2W PRINTER_INFO_2
, *PPRINTER_INFO_2
, *LPPRINTER_INFO_2
;
904 typedef PRINTER_INFO_4W PRINTER_INFO_4
, *PPRINTER_INFO_4
, *LPPRINTER_INFO_4
;
905 typedef PRINTER_INFO_5W PRINTER_INFO_5
, *PPRINTER_INFO_5
, *LPPRINTER_INFO_5
;
906 typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1
, *PPRINTPROCESSOR_INFO_1
, *LPPRINTPROCESSOR_INFO_1
;
907 typedef FORM_INFO_1W FORM_INFO_1
, *PFORM_INFO_1
, *LPFORM_INFO_1
;
908 typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS
, *PPRINTER_DEFAULTS
, *LPPRINTER_DEFAULTS
;
909 typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1
;
910 typedef LPPROVIDOR_INFO_1W LPPROVIDOR_INFO_1
;
911 typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2
;
912 typedef LPPROVIDOR_INFO_2W LPPROVIDOR_INFO_2
;
916 typedef JOB_INFO_1A JOB_INFO_1
, *PJOB_INFO_1
, *LPJOB_INFO_1
;
917 typedef JOB_INFO_2A JOB_INFO_2
, *PJOB_INFO_2
, *LPJOB_INFO_2
;
918 typedef ADDJOB_INFO_1A ADDJOB_INFO_1
, *PADDJOB_INFO_1
, *LPADDJOB_INFO_1
;
919 typedef DATATYPES_INFO_1A DATATYPES_INFO_1
, *PDATATYPES_INFO_1
, *LPDATATYPES_INFO_1
;
920 typedef MONITOR_INFO_1A MONITOR_INFO_1
, *PMONITOR_INFO_1
, *LPMONITOR_INFO_1
;
921 typedef MONITOR_INFO_2A MONITOR_INFO_2
, *PMONITOR_INFO_2
, *LPMONITOR_INFO_2
;
922 typedef DOC_INFO_1A DOC_INFO_1
, *PDOC_INFO_1
, *LPDOC_INFO_1
;
923 typedef DOC_INFO_2A DOC_INFO_2
, *PDOC_INFO_2
, *LPDOC_INFO_2
;
924 typedef PORT_INFO_1A PORT_INFO_1
, *PPORT_INFO_1
, *LPPORT_INFO_1
;
925 typedef PORT_INFO_2A PORT_INFO_2
, *PPORT_INFO_2
, *LPPORT_INFO_2
;
926 typedef PORT_INFO_3A PORT_INFO_3
, *PPORT_INFO_3
, *LPPORT_INFO_3
;
927 typedef DRIVER_INFO_2A DRIVER_INFO_2
, *PDRIVER_INFO_2
, *LPDRIVER_INFO_2
;
928 typedef DRIVER_INFO_4A DRIVER_INFO_4
, *PDRIVER_INFO_4
, *LPDRIVER_INFO_4
;
929 typedef DRIVER_INFO_5A DRIVER_INFO_5
, *PDRIVER_INFO_5
, *LPDRIVER_INFO_5
;
930 typedef DRIVER_INFO_6A DRIVER_INFO_6
, *PDRIVER_INFO_6
, *LPDRIVER_INFO_6
;
931 typedef DRIVER_INFO_8A DRIVER_INFO_8
, *PDRIVER_INFO_8
, *LPDRIVER_INFO_8
;
932 typedef PRINTER_INFO_1A PRINTER_INFO_1
, *PPRINTER_INFO_1
, *LPPRINTER_INFO_1
;
933 typedef PRINTER_INFO_2A PRINTER_INFO_2
, *PPRINTER_INFO_2
, *LPPRINTER_INFO_2
;
934 typedef PRINTER_INFO_4A PRINTER_INFO_4
, *PPRINTER_INFO_4
, *LPPRINTER_INFO_4
;
935 typedef PRINTER_INFO_5A PRINTER_INFO_5
, *PPRINTER_INFO_5
, *LPPRINTER_INFO_5
;
936 typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1
, *PPRINTPROCESSOR_INFO_1
, *LPPRINTPROCESSOR_INFO_1
;
937 typedef FORM_INFO_1A FORM_INFO_1
, *PFORM_INFO_1
, *LPFORM_INFO_1
;
938 typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS
, *PPRINTER_DEFAULTS
, *LPPRINTER_DEFAULTS
;
942 BOOL WINAPI
AbortPrinter(HANDLE
);
943 BOOL WINAPI
AddFormA(HANDLE
,DWORD
,PBYTE
);
944 BOOL WINAPI
AddFormW(HANDLE
,DWORD
,PBYTE
);
945 BOOL WINAPI
AddJobA(HANDLE
,DWORD
,PBYTE
,DWORD
,PDWORD
);
946 BOOL WINAPI
AddJobW(HANDLE
,DWORD
,PBYTE
,DWORD
,PDWORD
);
947 BOOL WINAPI
AddMonitorA(LPSTR
,DWORD
,PBYTE
);
948 BOOL WINAPI
AddMonitorW(LPWSTR
,DWORD
,PBYTE
);
949 BOOL WINAPI
AddPortA(LPSTR
,HWND
,LPSTR
);
950 BOOL WINAPI
AddPortW(LPWSTR
,HWND
,LPWSTR
);
951 HANDLE WINAPI
AddPrinterA(LPSTR
,DWORD
,PBYTE
);
952 HANDLE WINAPI
AddPrinterW(LPWSTR
,DWORD
,PBYTE
);
953 BOOL WINAPI
AddPrinterConnectionA(LPSTR
);
954 BOOL WINAPI
AddPrinterConnectionW(LPWSTR
);
955 BOOL WINAPI
AddPrinterDriverA(LPSTR
,DWORD
,PBYTE
);
956 BOOL WINAPI
AddPrinterDriverW(LPWSTR
,DWORD
,PBYTE
);
957 BOOL WINAPI
AddPrintProcessorA(LPSTR
,LPSTR
,LPSTR
,LPSTR
);
958 BOOL WINAPI
AddPrintProcessorW(LPWSTR
,LPWSTR
,LPWSTR
,LPWSTR
);
959 BOOL WINAPI
AddPrintProvidorA(LPSTR
,DWORD
,PBYTE
);
960 BOOL WINAPI
AddPrintProvidorW(LPWSTR
,DWORD
,PBYTE
);
961 LONG WINAPI
AdvancedDocumentPropertiesA(HWND
,HANDLE
,LPSTR
,PDEVMODEA
,PDEVMODEA
);
962 LONG WINAPI
AdvancedDocumentPropertiesW(HWND
,HANDLE
,LPWSTR
,PDEVMODEW
,PDEVMODEW
);
963 BOOL WINAPI
ClosePrinter(HANDLE
);
964 BOOL WINAPI
ConfigurePortA(LPSTR
,HWND
,LPSTR
);
965 BOOL WINAPI
ConfigurePortW(LPWSTR
,HWND
,LPWSTR
);
966 HANDLE WINAPI
ConnectToPrinterDlg(HWND
,DWORD
);
967 BOOL WINAPI
DeleteFormA(HANDLE
,LPSTR
);
968 BOOL WINAPI
DeleteFormW(HANDLE
,LPWSTR
);
969 BOOL WINAPI
DeleteMonitorA(LPSTR
,LPSTR
,LPSTR
);
970 BOOL WINAPI
DeleteMonitorW(LPWSTR
,LPWSTR
,LPWSTR
);
971 BOOL WINAPI
DeletePortA(LPSTR
,HWND
,LPSTR
);
972 BOOL WINAPI
DeletePortW(LPWSTR
,HWND
,LPWSTR
);
973 BOOL WINAPI
DeletePrinter(HANDLE
);
974 BOOL WINAPI
DeletePrinterConnectionA(LPSTR
);
975 BOOL WINAPI
DeletePrinterConnectionW(LPWSTR
);
976 DWORD WINAPI
DeletePrinterDataA(HANDLE
,LPSTR
);
977 DWORD WINAPI
DeletePrinterDataW(HANDLE
,LPWSTR
);
978 BOOL WINAPI
DeletePrinterDriverA(LPSTR
,LPSTR
,LPSTR
);
979 BOOL WINAPI
DeletePrinterDriverW(LPWSTR
,LPWSTR
,LPWSTR
);
980 BOOL WINAPI
DeletePrintProcessorA(LPSTR
,LPSTR
,LPSTR
);
981 BOOL WINAPI
DeletePrintProcessorW(LPWSTR
,LPWSTR
,LPWSTR
);
982 BOOL WINAPI
DeletePrintProvidorA(LPSTR
,LPSTR
,LPSTR
);
983 BOOL WINAPI
DeletePrintProvidorW(LPWSTR
,LPWSTR
,LPWSTR
);
984 LONG WINAPI
DocumentPropertiesA(HWND
,HANDLE
,LPSTR
,PDEVMODEA
,PDEVMODEA
,DWORD
);
985 LONG WINAPI
DocumentPropertiesW(HWND
,HANDLE
,LPWSTR
,PDEVMODEW
,PDEVMODEW
,DWORD
);
986 BOOL WINAPI
EndDocPrinter(HANDLE
);
987 BOOL WINAPI
EndPagePrinter(HANDLE
);
988 BOOL WINAPI
EnumFormsA(HANDLE
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
989 BOOL WINAPI
EnumFormsW(HANDLE
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
990 BOOL WINAPI
EnumJobsA(HANDLE
,DWORD
,DWORD
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
991 BOOL WINAPI
EnumJobsW(HANDLE
,DWORD
,DWORD
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
992 BOOL WINAPI
EnumMonitorsA(LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
993 BOOL WINAPI
EnumMonitorsW(LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
994 BOOL WINAPI
EnumPortsA(LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
995 BOOL WINAPI
EnumPortsW(LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
996 DWORD WINAPI
EnumPrinterDataA(HANDLE
,DWORD
,LPSTR
,DWORD
,PDWORD
,PDWORD
,PBYTE
,DWORD
,PDWORD
);
997 DWORD WINAPI
EnumPrinterDataW(HANDLE
,DWORD
,LPWSTR
,DWORD
,PDWORD
,PDWORD
,PBYTE
,DWORD
,PDWORD
);
998 BOOL WINAPI
EnumPrinterDriversA(LPSTR
,LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
999 BOOL WINAPI
EnumPrinterDriversW(LPWSTR
,LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1000 BOOL WINAPI
EnumPrintersA(DWORD
,LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1001 BOOL WINAPI
EnumPrintersW(DWORD
,LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1002 BOOL WINAPI
EnumPrintProcessorDatatypesA(LPSTR
,LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1003 BOOL WINAPI
EnumPrintProcessorDatatypesW(LPWSTR
,LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1004 BOOL WINAPI
EnumPrintProcessorsA(LPSTR
,LPSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1005 BOOL WINAPI
EnumPrintProcessorsW(LPWSTR
,LPWSTR
,DWORD
,PBYTE
,DWORD
,PDWORD
,PDWORD
);
1006 LONG WINAPI
ExtDeviceMode(HWND
,HANDLE
,LPDEVMODEA
,LPSTR
,LPSTR
,LPDEVMODEA
,LPSTR
,DWORD
);
1007 BOOL WINAPI
FindClosePrinterChangeNotification(HANDLE
);
1008 HANDLE WINAPI
FindFirstPrinterChangeNotification(HANDLE
,DWORD
,DWORD
,PVOID
);
1009 HANDLE WINAPI
FindNextPrinterChangeNotification(HANDLE
,PDWORD
,PVOID
,PVOID
*);
1010 BOOL WINAPI
FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO
);
1011 #if _WIN32_WINNT >= 0x0500
1012 BOOL WINAPI
GetDefaultPrinterA(LPSTR
,LPDWORD
);
1013 BOOL WINAPI
GetDefaultPrinterW(LPWSTR
,LPDWORD
);
1015 BOOL WINAPI
GetFormA(HANDLE
,LPSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1016 BOOL WINAPI
GetFormW(HANDLE
,LPWSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1017 BOOL WINAPI
GetJobA(HANDLE
,DWORD
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1018 BOOL WINAPI
GetJobW(HANDLE
,DWORD
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1019 BOOL WINAPI
GetPrinterA(HANDLE
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1020 BOOL WINAPI
GetPrinterW(HANDLE
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1021 DWORD WINAPI
GetPrinterDataA(HANDLE
,LPSTR
,PDWORD
,LPBYTE
,DWORD
,LPDWORD
);
1022 DWORD WINAPI
GetPrinterDataW(HANDLE
,LPWSTR
,LPDWORD
,LPBYTE
,DWORD
,LPDWORD
);
1023 BOOL WINAPI
GetPrinterDriverA(HANDLE
,LPSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1024 BOOL WINAPI
GetPrinterDriverW(HANDLE
,LPWSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1025 BOOL WINAPI
GetPrinterDriverDirectoryA(LPSTR
,LPSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1026 BOOL WINAPI
GetPrinterDriverDirectoryW(LPWSTR
,LPWSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1027 BOOL WINAPI
GetPrintProcessorDirectoryA(LPSTR
,LPSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1028 BOOL WINAPI
GetPrintProcessorDirectoryW(LPWSTR
,LPWSTR
,DWORD
,LPBYTE
,DWORD
,LPDWORD
);
1029 #if NTDDI_VERSION >= NTDDI_WINXPSP2
1030 BOOL WINAPI
IsValidDevmodeA(PDEVMODEA
,size_t);
1031 BOOL WINAPI
IsValidDevmodeW(PDEVMODEW
,size_t);
1033 BOOL WINAPI
OpenPrinterA(LPSTR
,PHANDLE
,LPPRINTER_DEFAULTSA
);
1034 BOOL WINAPI
OpenPrinterW(LPWSTR
,PHANDLE
,LPPRINTER_DEFAULTSW
);
1035 DWORD WINAPI
PrinterMessageBoxA(HANDLE
,DWORD
,HWND
,LPSTR
,LPSTR
,DWORD
);
1036 DWORD WINAPI
PrinterMessageBoxW(HANDLE
,DWORD
,HWND
,LPWSTR
,LPWSTR
,DWORD
);
1037 BOOL WINAPI
PrinterProperties(HWND
,HANDLE
);
1038 BOOL WINAPI
ReadPrinter(HANDLE
,PVOID
,DWORD
,PDWORD
);
1039 BOOL WINAPI
ResetPrinterA(HANDLE
,LPPRINTER_DEFAULTSA
);
1040 BOOL WINAPI
ResetPrinterW(HANDLE
,LPPRINTER_DEFAULTSW
);
1041 BOOL WINAPI
ScheduleJob(HANDLE
,DWORD
);
1042 BOOL WINAPI
SetFormA(HANDLE
,LPSTR
,DWORD
,PBYTE
);
1043 BOOL WINAPI
SetFormW(HANDLE
,LPWSTR
,DWORD
,PBYTE
);
1044 BOOL WINAPI
SetJobA(HANDLE
,DWORD
,DWORD
,PBYTE
,DWORD
);
1045 BOOL WINAPI
SetJobW(HANDLE
,DWORD
,DWORD
,PBYTE
,DWORD
);
1046 BOOL WINAPI
SetPrinterA(HANDLE
,DWORD
,PBYTE
,DWORD
);
1047 BOOL WINAPI
SetPrinterW(HANDLE
,DWORD
,PBYTE
,DWORD
);
1048 BOOL WINAPI
SetPrinterDataA(HANDLE
,LPSTR
,DWORD
,PBYTE
,DWORD
);
1049 BOOL WINAPI
SetPrinterDataW(HANDLE
,LPWSTR
,DWORD
,PBYTE
,DWORD
);
1051 LPSTR WINAPI
StartDocDlgA(HANDLE hPrinter
, DOCINFOA
*doc
);
1052 LPWSTR WINAPI
StartDocDlgW(HANDLE hPrinter
, DOCINFOW
*doc
);
1053 #define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1055 DWORD WINAPI
StartDocPrinterA(HANDLE
,DWORD
,PBYTE
);
1056 DWORD WINAPI
StartDocPrinterW(HANDLE
,DWORD
,PBYTE
);
1057 BOOL WINAPI
StartPagePrinter(HANDLE
);
1058 DWORD WINAPI
WaitForPrinterChange(HANDLE
,DWORD
);
1059 BOOL WINAPI
WritePrinter(HANDLE
,PVOID
,DWORD
,PDWORD
);
1060 BOOL WINAPI
XcvDataW(HANDLE
, LPCWSTR
, PBYTE
, DWORD
, PBYTE
, DWORD
, PDWORD
, PDWORD
);
1064 #define AddForm AddFormW
1065 #define AddJob AddJobW
1066 #define AddMonitor AddMonitorW
1067 #define AddPort AddPortW
1068 #define AddPrinter AddPrinterW
1069 #define AddPrinterConnection AddPrinterConnectionW
1070 #define AddPrinterDriver AddPrinterDriverW
1071 #define AddPrintProcessor AddPrintProcessorW
1072 #define AddPrintProvidor AddPrintProvidorW
1073 #define AdvancedDocumentProperties AdvancedDocumentPropertiesW
1074 #define ConfigurePort ConfigurePortW
1075 #define DeleteForm DeleteFormW
1076 #define DeleteMonitor DeleteMonitorW
1077 #define DeletePort DeletePortW
1078 #define DeletePrinterConnection DeletePrinterConnectionW
1079 #define DeletePrinterData DeletePrinterDataW
1080 #define DeletePrinterDriver DeletePrinterDriverW
1081 #define DeletePrintProcessor DeletePrinterProcessorW
1082 #define DeletePrintProvidor DeletePrinterProvidorW
1083 #define DocumentProperties DocumentPropertiesW
1084 #define EnumForms EnumFormsW
1085 #define EnumJobs EnumJobsW
1086 #define EnumMonitors EnumMonitorsW
1087 #define EnumPorts EnumPortsW
1088 #define EnumPrinterData EnumPrinterDataW
1089 #define EnumPrinterDrivers EnumPrinterDriversW
1090 #define EnumPrinters EnumPrintersW
1091 #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
1092 #define EnumPrintProcessors EnumPrintProcessorsW
1093 #define GetDefaultPrinter GetDefaultPrinterW
1094 #define GetForm GetFormW
1095 #define GetJob GetJobW
1096 #define GetPrinter GetPrinterW
1097 #define GetPrinterData GetPrinterDataW
1098 #define GetPrinterDriver GetPrinterDriverW
1099 #define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
1100 #define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
1101 #define IsValidDevmode IsValidDevmodeW
1102 #define OpenPrinter OpenPrinterW
1103 #define PrinterMessageBox PrinterMessageBoxW
1104 #define ResetPrinter ResetPrinterW
1105 #define SetForm SetFormW
1106 #define SetJob SetJobW
1107 #define SetPrinter SetPrinterW
1108 #define SetPrinterData SetPrinterDataW
1109 #define StartDocPrinter StartDocPrinterW
1113 #define AddForm AddFormA
1114 #define AddJob AddJobA
1115 #define AddMonitor AddMonitorA
1116 #define AddPort AddPortA
1117 #define AddPrinter AddPrinterA
1118 #define AddPrinterConnection AddPrinterConnectionA
1119 #define AddPrinterDriver AddPrinterDriverA
1120 #define AddPrintProcessor AddPrintProcessorA
1121 #define AddPrintProvidor AddPrintProvidorA
1122 #define AdvancedDocumentProperties AdvancedDocumentPropertiesA
1123 #define ConfigurePort ConfigurePortA
1124 #define DeleteForm DeleteFormA
1125 #define DeleteMonitor DeleteMonitorA
1126 #define DeletePort DeletePortA
1127 #define DeletePrinterConnection DeletePrinterConnectionA
1128 #define DeletePrinterData DeletePrinterDataA
1129 #define DeletePrinterDriver DeletePrinterDriverA
1130 #define DeletePrintProcessor DeletePrinterProcessorA
1131 #define DeletePrintProvidor DeletePrinterProvidorA
1132 #define DocumentProperties DocumentPropertiesA
1133 #define EnumForms EnumFormsA
1134 #define EnumJobs EnumJobsA
1135 #define EnumMonitors EnumMonitorsA
1136 #define EnumPorts EnumPortsA
1137 #define EnumPrinterData EnumPrinterDataA
1138 #define EnumPrinterDrivers EnumPrinterDriversA
1139 #define EnumPrinters EnumPrintersA
1140 #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
1141 #define EnumPrintProcessors EnumPrintProcessorsA
1142 #define GetDefaultPrinter GetDefaultPrinterA
1143 #define GetForm GetFormA
1144 #define GetJob GetJobA
1145 #define GetPrinter GetPrinterA
1146 #define GetPrinterData GetPrinterDataA
1147 #define GetPrinterDriver GetPrinterDriverA
1148 #define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
1149 #define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
1150 #define IsValidDevmode IsValidDevmodeA
1151 #define OpenPrinter OpenPrinterA
1152 #define PrinterMessageBox PrinterMessageBoxA
1153 #define ResetPrinter ResetPrinterA
1154 #define SetForm SetFormA
1155 #define SetJob SetJobA
1156 #define SetPrinter SetPrinterA
1157 #define SetPrinterData SetPrinterDataA
1158 #define StartDocPrinter StartDocPrinterA
1160 #endif /* UNICODE */
1162 #endif /* !RC_INVOKED */
1165 #pragma warning(pop)
1172 #endif /* _WINSPOOL_ */