• R/O
  • HTTP
  • SSH
  • HTTPS

mingw-org-wsl: コミット

The MinGW.OSDN Windows System Libraries. Formerly designated as "MinGW.org Windows System Libraries", this encapsulates the "mingwrt" C runtime library extensions, and the "w32api" 32-bit MS-Windows API libraries.

Please note that this project no longer owns the "MinGW.org" domain name; any software which may be distributed from that domain is NOT supported by this project.


コミットメタ情報

リビジョンb72598d8dd4407c1d49f407bbdaec041db68d536 (tree)
日時2021-02-12 23:54:26
作者Keith Marshall <keith@user...>
コミッターKeith Marshall

ログメッセージ

Make <winspool.h> header effectively self-contained.

変更サマリ

差分

--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,56 @@
1+2021-02-12 Keith Marshall <keith@users.osdn.me>
2+
3+ Make <winspool.h> header effectively self-contained.
4+
5+ * include/winspool.h: Tidy layout; assert copyright.
6+ (GCC system_header) [__GNUC__ >= 3]: Remove prerequisite condition.
7+ (winbase.h, wingdi.h): Include these, to support stand-alone use.
8+ [_WIN32_WINNT >= _WIN32_WINNT_WIN2K]: Always test symbolically.
9+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
10+ [UNICODE vs. ! UNICODE] (__AW_ALIAS__): Use it to declare...
11+ (ADDJOB_INFO_1), PADDJOB_INFO_1, LPADDJOB_INFO_1)
12+ (DATATYPES_INFO_1, PDATATYPES_INFO_1, LPDATATYPES_INFO_1)
13+ (JOB_INFO_1, PJOB_INFO_1, LPJOB_INFO_1)
14+ (JOB_INFO_2, PJOB_INFO_2, LPJOB_INFO_2)
15+ (DOC_INFO_1, PDOC_INFO_1, LPDOC_INFO_1)
16+ (DOC_INFO_2, PDOC_INFO_2, LPDOC_INFO_2)
17+ (DRIVER_INFO_1, PDRIVER_INFO_1, LPDRIVER_INFO_1)
18+ (DRIVER_INFO_2, PDRIVER_INFO_2, LPDRIVER_INFO_2)
19+ (DRIVER_INFO_3, PDRIVER_INFO_3, LPDRIVER_INFO_3)
20+ (DRIVER_INFO_4, PDRIVER_INFO_4, LPDRIVER_INFO_4)
21+ (DRIVER_INFO_5, PDRIVER_INFO_5, LPDRIVER_INFO_5)
22+ (DRIVER_INFO_6, PDRIVER_INFO_6, LPDRIVER_INFO_6)
23+ (MONITOR_INFO_1, PMONITOR_INFO_1, LPMONITOR_INFO_1)
24+ (PORT_INFO_1, PPORT_INFO_1, LPPORT_INFO_1)
25+ (MONITOR_INFO_2, PMONITOR_INFO_2, LPMONITOR_INFO_2)
26+ (PORT_INFO_2, PPORT_INFO_2, LPPORT_INFO_2)
27+ (PORT_INFO_3, PPORT_INFO_3, LPPORT_INFO_3)
28+ (PRINTER_ENUM_VALUES, PPRINTER_ENUM_VALUES)
29+ (PRINTER_INFO_1, PPRINTER_INFO_1, LPPRINTER_INFO_1)
30+ (PRINTER_INFO_2, PPRINTER_INFO_2, LPPRINTER_INFO_2)
31+ (PRINTER_INFO_4, PPRINTER_INFO_4, LPPRINTER_INFO_4)
32+ (PRINTER_INFO_5, PPRINTER_INFO_5, LPPRINTER_INFO_5)
33+ (PRINTER_INFO_7, PPRINTER_INFO_7, LPPRINTER_INFO_7)
34+ (PRINTPROCESSOR_INFO_1, PPRINTPROCESSOR_INFO_1)
35+ (FORM_INFO_1, PFORM_INFO_1, LPFORM_INFO_1)
36+ (PRINTER_DEFAULTS, PPRINTER_DEFAULTS, LPPRINTER_DEFAULTS)
37+ (PROVIDOR_INFO_1, PPROVIDOR_INFO_1, LPROVIDOR_INFO_1)
38+ (PROVIDOR_INFO_2, PPROVIDOR_INFO_2, LPROVIDOR_INFO_2): ...these.
39+ [UNICODE vs. ! UNICODE] (__AW_SUFFIXED__): Use it to declare...
40+ (AddForm, AddJob, AddMonitor, AddPort, AddPrinter)
41+ (AddPrinterConnection, AddPrinterDriver, AddPrintProcessor)
42+ (AddPrintProvidor, AdvancedDocumentProperties, ConfigurePort)
43+ (DeleteForm, DeleteMonitor, DeletePort, DeletePrinterConnection)
44+ (DeletePrinterData, DeletePrinterDriver, DeletePrintProcessor)
45+ (DeletePrintProvidor, DocumentProperties, EnumForms, EnumJobs)
46+ (EnumMonitors, EnumPorts, EnumPrinterData, EnumPrinterDrivers)
47+ (EnumPrinters, EnumPrintProcessorDatatypes, EnumPrintProcessors)
48+ (GetDefaultPrinter, GetForm, GetJob, GetPrinter, GetPrinterData)
49+ (GetPrinterDriver, GetPrinterDriverDirectory, OpenPrinter)
50+ (GetPrintProcessorDirectory, PrinterMessageBox, ResetPrinter)
51+ (SetForm, SetJob, SetPrinter, SetPrinterData)
52+ (StartDocPrinter): ...these.
53+
154 2021-02-09 Alexei Podtelezhnikov <apodtele@gmail.com>
255
356 Add missing <wingdi.h> definitions.
--- a/w32api/include/winspool.h
+++ b/w32api/include/winspool.h
@@ -1,982 +1,1262 @@
1+/*
2+ * winspool.h
3+ *
4+ * Windows Print Spooler API.
5+ *
6+ * $Id$
7+ *
8+ * Written by Anders Norlander <anorland@hem2.passagen.se>
9+ * Copyright (C) 1998-2000, 2002-2004, 2006, 2021, MinGW.org Project
10+ *
11+ *
12+ * Permission is hereby granted, free of charge, to any person obtaining a
13+ * copy of this software and associated documentation files (the "Software"),
14+ * to deal in the Software without restriction, including without limitation
15+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16+ * and/or sell copies of the Software, and to permit persons to whom the
17+ * Software is furnished to do so, subject to the following conditions:
18+ *
19+ * The above copyright notice and this permission notice (including the next
20+ * paragraph) shall be included in all copies or substantial portions of the
21+ * Software.
22+ *
23+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29+ * DEALINGS IN THE SOFTWARE.
30+ *
31+ */
132 #ifndef _WINSPOOL_H
2-#define _WINSPOOL_H
3-#if __GNUC__ >=3
433 #pragma GCC system_header
5-#endif
6-
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
34+#define _WINSPOOL_H
35+
36+#include <winbase.h>
37+#include <wingdi.h>
38+
39+_BEGIN_C_DECLS
40+
41+#define DI_CHANNEL 1
42+#define DI_CHANNEL_WRITE 2
43+#define DI_READ_SPOOL_JOB 3
44+#define DI_MEMORYMAP_WRITE 0x1
45+#define FORM_USER 0x0
46+#define FORM_BUILTIN 0x1
47+#define FORM_PRINTER 0x2
48+
49+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
50+
51+#define DRIVER_KERNELMODE 0x00000001
52+#define DRIVER_USERMODE 0x00000002
53+#define DSPRINT_PUBLISH 0x00000001
54+#define DSPRINT_UPDATE 0x00000002
55+#define DSPRINT_UNPUBLISH 0x00000004
56+#define DSPRINT_REPUBLISH 0x00000008
57+#define DSPRINT_PENDING 0x80000000
58+
59+#endif /* Win2K and later */
60+
61+#define JOB_CONTROL_PAUSE 1
62+#define JOB_CONTROL_RESUME 2
63+#define JOB_CONTROL_CANCEL 3
64+#define JOB_CONTROL_RESTART 4
65+#define JOB_CONTROL_DELETE 5
66+#define JOB_CONTROL_SENT_TO_PRINTER 6
67+#define JOB_CONTROL_LAST_PAGE_EJECTED 7
68+
69+#define JOB_STATUS_PAUSED 0x1
70+#define JOB_STATUS_ERROR 0x2
71+#define JOB_STATUS_DELETING 0x4
72+#define JOB_STATUS_SPOOLING 0x8
73+#define JOB_STATUS_PRINTING 0x10
74+#define JOB_STATUS_OFFLINE 0x20
75+#define JOB_STATUS_PAPEROUT 0x40
76+#define JOB_STATUS_PRINTED 0x80
77+#define JOB_STATUS_DELETED 0x100
78+#define JOB_STATUS_BLOCKED_DEVQ 0x200
79+#define JOB_STATUS_USER_INTERVENTION 0x400
80+#define JOB_STATUS_RESTART 0x800
81+#define JOB_STATUS_COMPLETE 0x1000
82+
83+#define JOB_POSITION_UNSPECIFIED 0
84+
85+#define JOB_NOTIFY_TYPE 1
86+#define JOB_NOTIFY_FIELD_PRINTER_NAME 0
87+#define JOB_NOTIFY_FIELD_MACHINE_NAME 1
88+#define JOB_NOTIFY_FIELD_PORT_NAME 2
89+#define JOB_NOTIFY_FIELD_USER_NAME 3
90+#define JOB_NOTIFY_FIELD_NOTIFY_NAME 4
91+#define JOB_NOTIFY_FIELD_DATATYPE 5
92+#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6
93+#define JOB_NOTIFY_FIELD_PARAMETERS 7
94+#define JOB_NOTIFY_FIELD_DRIVER_NAME 8
95+#define JOB_NOTIFY_FIELD_DEVMODE 9
96+#define JOB_NOTIFY_FIELD_STATUS 10
97+#define JOB_NOTIFY_FIELD_STATUS_STRING 11
98+#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
99+#define JOB_NOTIFY_FIELD_DOCUMENT 13
100+#define JOB_NOTIFY_FIELD_PRIORITY 14
101+#define JOB_NOTIFY_FIELD_POSITION 15
102+#define JOB_NOTIFY_FIELD_SUBMITTED 16
103+#define JOB_NOTIFY_FIELD_START_TIME 17
104+#define JOB_NOTIFY_FIELD_UNTIL_TIME 18
105+#define JOB_NOTIFY_FIELD_TIME 19
106+#define JOB_NOTIFY_FIELD_TOTAL_PAGES 20
107+#define JOB_NOTIFY_FIELD_PAGES_PRINTED 21
108+#define JOB_NOTIFY_FIELD_TOTAL_BYTES 22
109+#define JOB_NOTIFY_FIELD_BYTES_PRINTED 23
110+#define JOB_ACCESS_ADMINISTER 16
111+
112+#define JOB_ALL_ACCESS \
113+ ( STANDARD_RIGHTS_REQUIRED \
114+ | JOB_ACCESS_ADMINISTER \
115+ )
116+#define JOB_READ \
117+ ( STANDARD_RIGHTS_READ \
118+ | JOB_ACCESS_ADMINISTER \
119+ )
120+#define JOB_WRITE \
121+ ( STANDARD_RIGHTS_WRITE \
122+ | JOB_ACCESS_ADMINISTER \
123+ )
124+#define JOB_EXECUTE \
125+ ( STANDARD_RIGHTS_EXECUTE \
126+ | JOB_ACCESS_ADMINISTER \
127+ )
128+
129+#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
130+
131+#define PRINTER_ACCESS_ADMINISTER 4
132+#define PRINTER_ACCESS_USE 8
133+
134+#define PRINTER_ERROR_INFORMATION 0x80000000
135+#define PRINTER_ERROR_WARNING 0x40000000
136+#define PRINTER_ERROR_SEVERE 0x20000000
137+#define PRINTER_ERROR_OUTOFPAPER 1
138+#define PRINTER_ERROR_JAM 2
139+#define PRINTER_ERROR_OUTOFTONER 4
140+
141+#define PRINTER_CONTROL_PAUSE 1
142+#define PRINTER_CONTROL_RESUME 2
143+#define PRINTER_CONTROL_PURGE 3
144+#define PRINTER_CONTROL_SET_STATUS 4
145+
146+#define PRINTER_STATUS_PAUSED 1
147+#define PRINTER_STATUS_ERROR 2
148+#define PRINTER_STATUS_PENDING_DELETION 4
149+#define PRINTER_STATUS_PAPER_JAM 8
150+#define PRINTER_STATUS_PAPER_OUT 0x10
151+#define PRINTER_STATUS_MANUAL_FEED 0x20
152+#define PRINTER_STATUS_PAPER_PROBLEM 0x40
153+#define PRINTER_STATUS_OFFLINE 0x80
154+#define PRINTER_STATUS_IO_ACTIVE 0x100
155+#define PRINTER_STATUS_BUSY 0x200
156+#define PRINTER_STATUS_PRINTING 0x400
157+#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800
158+#define PRINTER_STATUS_NOT_AVAILABLE 0x1000
159+#define PRINTER_STATUS_WAITING 0x2000
160+#define PRINTER_STATUS_PROCESSING 0x4000
161+#define PRINTER_STATUS_INITIALIZING 0x8000
162+#define PRINTER_STATUS_WARMING_UP 0x10000
163+#define PRINTER_STATUS_TONER_LOW 0x20000
164+#define PRINTER_STATUS_NO_TONER 0x40000
165+#define PRINTER_STATUS_PAGE_PUNT 0x80000
166+#define PRINTER_STATUS_USER_INTERVENTION 0x100000
167+#define PRINTER_STATUS_OUT_OF_MEMORY 0x200000
168+#define PRINTER_STATUS_DOOR_OPEN 0x400000
169+#define PRINTER_STATUS_SERVER_UNKNOWN 0x800000
170+#define PRINTER_STATUS_POWER_SAVE 0x1000000
171+
172+#define PRINTER_ATTRIBUTE_QUEUED 1
173+#define PRINTER_ATTRIBUTE_DIRECT 2
174+#define PRINTER_ATTRIBUTE_DEFAULT 4
175+#define PRINTER_ATTRIBUTE_SHARED 8
176+#define PRINTER_ATTRIBUTE_NETWORK 0x10
177+#define PRINTER_ATTRIBUTE_HIDDEN 0x20
178+#define PRINTER_ATTRIBUTE_LOCAL 0x40
179+#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80
180+#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100
181+#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200
182+#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400
183+#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800
184+#define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000
185+#define PRINTER_ATTRIBUTE_PUBLISHED 0x2000
186+
187+#define PRINTER_ENUM_DEFAULT 1
188+#define PRINTER_ENUM_LOCAL 2
189+#define PRINTER_ENUM_CONNECTIONS 4
190+#define PRINTER_ENUM_FAVORITE 4
191+#define PRINTER_ENUM_NAME 8
192+#define PRINTER_ENUM_REMOTE 16
193+#define PRINTER_ENUM_SHARED 32
194+#define PRINTER_ENUM_NETWORK 0x40
195+#define PRINTER_ENUM_EXPAND 0x4000
196+#define PRINTER_ENUM_CONTAINER 0x8000
197+#define PRINTER_ENUM_ICONMASK 0xFF0000
198+#define PRINTER_ENUM_ICON1 0x10000
199+#define PRINTER_ENUM_ICON2 0x20000
200+#define PRINTER_ENUM_ICON3 0x40000
201+#define PRINTER_ENUM_ICON4 0x80000
202+#define PRINTER_ENUM_ICON5 0x100000
203+#define PRINTER_ENUM_ICON6 0x200000
204+#define PRINTER_ENUM_ICON7 0x400000
205+#define PRINTER_ENUM_ICON8 0x800000
206+
207+#define PRINTER_NOTIFY_TYPE 0
208+#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0
209+#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1
210+#define PRINTER_NOTIFY_FIELD_SHARE_NAME 2
211+#define PRINTER_NOTIFY_FIELD_PORT_NAME 3
212+#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4
213+#define PRINTER_NOTIFY_FIELD_COMMENT 5
214+#define PRINTER_NOTIFY_FIELD_LOCATION 6
215+#define PRINTER_NOTIFY_FIELD_DEVMODE 7
216+#define PRINTER_NOTIFY_FIELD_SEPFILE 8
217+#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9
218+#define PRINTER_NOTIFY_FIELD_PARAMETERS 10
219+#define PRINTER_NOTIFY_FIELD_DATATYPE 11
220+#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
221+#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13
222+#define PRINTER_NOTIFY_FIELD_PRIORITY 14
223+#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15
224+#define PRINTER_NOTIFY_FIELD_START_TIME 16
225+#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17
226+#define PRINTER_NOTIFY_FIELD_STATUS 18
227+#define PRINTER_NOTIFY_FIELD_STATUS_STRING 19
228+#define PRINTER_NOTIFY_FIELD_CJOBS 20
229+#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21
230+#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22
231+#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23
232+#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24
233+#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25
234+
235+#define PRINTER_CHANGE_ADD_PRINTER 1
236+#define PRINTER_CHANGE_SET_PRINTER 2
237+#define PRINTER_CHANGE_DELETE_PRINTER 4
238+#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8
239+#define PRINTER_CHANGE_PRINTER 0xFF
240+#define PRINTER_CHANGE_ADD_JOB 0x100
241+#define PRINTER_CHANGE_SET_JOB 0x200
242+#define PRINTER_CHANGE_DELETE_JOB 0x400
243+#define PRINTER_CHANGE_WRITE_JOB 0x800
244+#define PRINTER_CHANGE_JOB 0xFF00
245+#define PRINTER_CHANGE_ADD_FORM 0x10000
246+#define PRINTER_CHANGE_SET_FORM 0x20000
247+#define PRINTER_CHANGE_DELETE_FORM 0x40000
248+#define PRINTER_CHANGE_FORM 0x70000
249+#define PRINTER_CHANGE_ADD_PORT 0x100000
250+#define PRINTER_CHANGE_CONFIGURE_PORT 0x200000
251+#define PRINTER_CHANGE_DELETE_PORT 0x400000
252+#define PRINTER_CHANGE_PORT 0x700000
253+#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000
254+#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000
255+#define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000
256+#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
257+#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
258+#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
259+#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
260+#define PRINTER_CHANGE_TIMEOUT 0x80000000
261+#define PRINTER_CHANGE_ALL 0x7777FFFF
262+
263+#define PRINTER_NOTIFY_INFO_DISCARDED 1
264+
265+#define PRINTER_ALL_ACCESS \
266+ ( STANDARD_RIGHTS_REQUIRED \
267+ | PRINTER_ACCESS_ADMINISTER \
268+ | PRINTER_ACCESS_USE \
269+ )
270+#define PRINTER_READ \
271+ ( STANDARD_RIGHTS_READ \
272+ | PRINTER_ACCESS_USE \
273+ )
274+#define PRINTER_WRITE \
275+ ( STANDARD_RIGHTS_WRITE \
276+ | PRINTER_ACCESS_USE \
277+ )
278+#define PRINTER_EXECUTE \
279+ ( STANDARD_RIGHTS_EXECUTE \
280+ | PRINTER_ACCESS_USE \
281+ )
282+
283+#define NO_PRIORITY 0
284+#define MAX_PRIORITY 99
285+#define MIN_PRIORITY 1
286+#define DEF_PRIORITY 1
287+#define PORT_TYPE_WRITE 1
288+#define PORT_TYPE_READ 2
289+#define PORT_TYPE_REDIRECTED 4
290+#define PORT_TYPE_NET_ATTACHED 8
291+#define SERVER_ACCESS_ADMINISTER 1
292+#define SERVER_ACCESS_ENUMERATE 2
293+
294+#define SERVER_ALL_ACCESS \
295+ ( STANDARD_RIGHTS_REQUIRED \
296+ | SERVER_ACCESS_ADMINISTER \
297+ | SERVER_ACCESS_ENUMERATE \
298+ )
299+#define SERVER_READ \
300+ ( STANDARD_RIGHTS_READ \
301+ | SERVER_ACCESS_ENUMERATE \
302+ )
303+#define SERVER_WRITE \
304+ ( STANDARD_RIGHTS_WRITE \
305+ | SERVER_ACCESS_ADMINISTER \
306+ | SERVER_ACCESS_ENUMERATE \
307+ )
308+#define SERVER_EXECUTE \
309+ ( STANDARD_RIGHTS_EXECUTE \
310+ | SERVER_ACCESS_ENUMERATE \
311+ )
312+
313+#define PORT_STATUS_TYPE_ERROR 1
314+#define PORT_STATUS_TYPE_WARNING 2
315+#define PORT_STATUS_TYPE_INFO 3
316+#define PORT_STATUS_OFFLINE 1
317+#define PORT_STATUS_PAPER_JAM 2
318+#define PORT_STATUS_PAPER_OUT 3
319+#define PORT_STATUS_OUTPUT_BIN_FULL 4
320+#define PORT_STATUS_PAPER_PROBLEM 5
321+#define PORT_STATUS_NO_TONER 6
322+#define PORT_STATUS_DOOR_OPEN 7
323+#define PORT_STATUS_USER_INTERVENTION 8
324+#define PORT_STATUS_OUT_OF_MEMORY 9
325+#define PORT_STATUS_TONER_LOW 10
326+#define PORT_STATUS_WARMING_UP 11
327+#define PORT_STATUS_POWER_SAVE 12
328+
236329 #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;
330+
331+typedef
332+struct _ADDJOB_INFO_1A
333+{ LPSTR Path;
334+ DWORD JobId;
335+} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
336+
337+typedef
338+struct _ADDJOB_INFO_1W
339+{ LPWSTR Path;
340+ DWORD JobId;
341+} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
342+
343+typedef __AW_ALIAS__(ADDJOB_INFO_1), *PADDJOB_INFO_1, *LPADDJOB_INFO_1;
344+
345+typedef
346+struct _DATATYPES_INFO_1A
347+{ LPSTR pName;
348+} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
349+
350+typedef
351+struct _DATATYPES_INFO_1W
352+{ LPWSTR pName;
353+} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
354+
355+typedef __AW_ALIAS__(DATATYPES_INFO_1), *PDATATYPES_INFO_1, *LPDATATYPES_INFO_1;
356+
357+typedef
358+struct _JOB_INFO_1A
359+{ DWORD JobId;
360+ LPSTR pPrinterName;
361+ LPSTR pMachineName;
362+ LPSTR pUserName;
363+ LPSTR pDocument;
364+ LPSTR pDatatype;
365+ LPSTR pStatus;
366+ DWORD Status;
367+ DWORD Priority;
368+ DWORD Position;
369+ DWORD TotalPages;
370+ DWORD PagesPrinted;
371+ SYSTEMTIME Submitted;
372+} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
373+
374+typedef
375+struct _JOB_INFO_1W
376+{ DWORD JobId;
377+ LPWSTR pPrinterName;
378+ LPWSTR pMachineName;
379+ LPWSTR pUserName;
380+ LPWSTR pDocument;
381+ LPWSTR pDatatype;
382+ LPWSTR pStatus;
383+ DWORD Status;
384+ DWORD Priority;
385+ DWORD Position;
386+ DWORD TotalPages;
387+ DWORD PagesPrinted;
388+ SYSTEMTIME Submitted;
389+} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
390+
391+typedef __AW_ALIAS__(JOB_INFO_1), *PJOB_INFO_1, *LPJOB_INFO_1;
392+
393+typedef
394+struct _JOB_INFO_2A
395+{ DWORD JobId;
396+ LPSTR pPrinterName;
397+ LPSTR pMachineName;
398+ LPSTR pUserName;
399+ LPSTR pDocument;
400+ LPSTR pNotifyName;
401+ LPSTR pDatatype;
402+ LPSTR pPrintProcessor;
403+ LPSTR pParameters;
404+ LPSTR pDriverName;
405+ LPDEVMODEA pDevMode;
406+ LPSTR pStatus;
407+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
408+ DWORD Status;
409+ DWORD Priority;
410+ DWORD Position;
411+ DWORD StartTime;
412+ DWORD UntilTime;
413+ DWORD TotalPages;
414+ DWORD Size;
415+ SYSTEMTIME Submitted;
416+ DWORD Time;
417+ DWORD PagesPrinted;
418+} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
419+
420+typedef
421+struct _JOB_INFO_2W
422+{ DWORD JobId;
423+ LPWSTR pPrinterName;
424+ LPWSTR pMachineName;
425+ LPWSTR pUserName;
426+ LPWSTR pDocument;
427+ LPWSTR pNotifyName;
428+ LPWSTR pDatatype;
429+ LPWSTR pPrintProcessor;
430+ LPWSTR pParameters;
431+ LPWSTR pDriverName;
432+ LPDEVMODEW pDevMode;
433+ LPWSTR pStatus;
434+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
435+ DWORD Status;
436+ DWORD Priority;
437+ DWORD Position;
438+ DWORD StartTime;
439+ DWORD UntilTime;
440+ DWORD TotalPages;
441+ DWORD Size;
442+ SYSTEMTIME Submitted;
443+ DWORD Time;
444+ DWORD PagesPrinted;
445+} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
446+
447+typedef __AW_ALIAS__(JOB_INFO_2), *PJOB_INFO_2, *LPJOB_INFO_2;
448+
449+typedef
450+struct _JOB_INFO_3
451+{ DWORD JobId;
452+ DWORD NextJobId;
453+ DWORD Reserved;
454+} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
455+
456+typedef
457+struct _DOC_INFO_1A
458+{ LPSTR pDocName;
459+ LPSTR pOutputFile;
460+ LPSTR pDatatype;
461+} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
462+
463+typedef
464+struct _DOC_INFO_1W
465+{ LPWSTR pDocName;
466+ LPWSTR pOutputFile;
467+ LPWSTR pDatatype;
468+} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
469+
470+typedef __AW_ALIAS__(DOC_INFO_1), *PDOC_INFO_1, *LPDOC_INFO_1;
471+
472+typedef
473+struct _DOC_INFO_2A
474+{ LPSTR pDocName;
475+ LPSTR pOutputFile;
476+ LPSTR pDatatype;
477+ DWORD dwMode;
478+ DWORD JobId;
479+} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
480+
481+typedef
482+struct _DOC_INFO_2W
483+{ LPWSTR pDocName;
484+ LPWSTR pOutputFile;
485+ LPWSTR pDatatype;
486+ DWORD dwMode;
487+ DWORD JobId;
488+} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
489+
490+typedef __AW_ALIAS__(DOC_INFO_2), *PDOC_INFO_2, *LPDOC_INFO_2;
491+
492+typedef
493+struct _DRIVER_INFO_1A
494+{ LPSTR pName;
495+} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
496+
497+typedef
498+struct _DRIVER_INFO_1W
499+{ LPWSTR pName;
500+} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
501+
502+typedef __AW_ALIAS__(DRIVER_INFO_1), *PDRIVER_INFO_1, *LPDRIVER_INFO_1;
503+
504+typedef
505+struct _DRIVER_INFO_2A
506+{ DWORD cVersion;
507+ LPSTR pName;
508+ LPSTR pEnvironment;
509+ LPSTR pDriverPath;
510+ LPSTR pDataFile;
511+ LPSTR pConfigFile;
512+} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
513+
514+typedef
515+struct _DRIVER_INFO_2W
516+{ DWORD cVersion;
517+ LPWSTR pName;
518+ LPWSTR pEnvironment;
519+ LPWSTR pDriverPath;
520+ LPWSTR pDataFile;
521+ LPWSTR pConfigFile;
522+} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
523+
524+typedef __AW_ALIAS__(DRIVER_INFO_2), *PDRIVER_INFO_2, *LPDRIVER_INFO_2;
525+
526+typedef
527+struct _DRIVER_INFO_3A
528+{ DWORD cVersion;
529+ LPSTR pName;
530+ LPSTR pEnvironment;
531+ LPSTR pDriverPath;
532+ LPSTR pDataFile;
533+ LPSTR pConfigFile;
534+ LPSTR pHelpFile;
535+ LPSTR pDependentFiles;
536+ LPSTR pMonitorName;
537+ LPSTR pDefaultDataType;
538+} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
539+
540+typedef
541+struct _DRIVER_INFO_3W
542+{ DWORD cVersion;
543+ LPWSTR pName;
544+ LPWSTR pEnvironment;
545+ LPWSTR pDriverPath;
546+ LPWSTR pDataFile;
547+ LPWSTR pConfigFile;
548+ LPWSTR pHelpFile;
549+ LPWSTR pDependentFiles;
550+ LPWSTR pMonitorName;
551+ LPWSTR pDefaultDataType;
552+} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
553+
554+typedef __AW_ALIAS__(DRIVER_INFO_3), *PDRIVER_INFO_3, *LPDRIVER_INFO_3;
555+
556+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
557+
558+typedef
559+struct _DRIVER_INFO_4A
560+{ DWORD cVersion;
561+ LPSTR pName;
562+ LPSTR pEnvironment;
563+ LPSTR pDriverPath;
564+ LPSTR pDataFile;
565+ LPSTR pConfigFile;
566+ LPSTR pHelpFile;
567+ LPSTR pDependentFiles;
568+ LPSTR pMonitorName;
569+ LPSTR pDefaultDataType;
570+ LPSTR pszzPreviousNames;
571+} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
572+
573+typedef
574+struct _DRIVER_INFO_4W
575+{ DWORD cVersion;
576+ LPWSTR pName;
577+ LPWSTR pEnvironment;
578+ LPWSTR pDriverPath;
579+ LPWSTR pDataFile;
580+ LPWSTR pConfigFile;
581+ LPWSTR pHelpFile;
582+ LPWSTR pDependentFiles;
583+ LPWSTR pMonitorName;
584+ LPWSTR pDefaultDataType;
585+ LPWSTR pszzPreviousNames;
586+} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
587+
588+typedef __AW_ALIAS__(DRIVER_INFO_4), *PDRIVER_INFO_4, *LPDRIVER_INFO_4;
589+
590+typedef
591+struct _DRIVER_INFO_5A
592+{ DWORD cVersion;
593+ LPSTR pName;
594+ LPSTR pEnvironment;
595+ LPSTR pDriverPath;
596+ LPSTR pDataFile;
597+ LPSTR pConfigFile;
598+ DWORD dwDriverAttributes;
599+ DWORD dwConfigVersion;
600+ DWORD dwDriverVersion;
601+} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
602+
603+typedef
604+struct _DRIVER_INFO_5W
605+{ DWORD cVersion;
606+ LPWSTR pName;
607+ LPWSTR pEnvironment;
608+ LPWSTR pDriverPath;
609+ LPWSTR pDataFile;
610+ LPWSTR pConfigFile;
611+ DWORD dwDriverAttributes;
612+ DWORD dwConfigVersion;
613+ DWORD dwDriverVersion;
614+} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
615+
616+typedef __AW_ALIAS__(DRIVER_INFO_5), *PDRIVER_INFO_5, *LPDRIVER_INFO_5;
617+
618+typedef
619+struct _DRIVER_INFO_6A
620+{ DWORD cVersion;
621+ LPSTR pName;
622+ LPSTR pEnvironment;
623+ LPSTR pDriverPath;
624+ LPSTR pDataFile;
625+ LPSTR pConfigFile;
626+ LPSTR pHelpFile;
627+ LPSTR pDependentFiles;
628+ LPSTR pMonitorName;
629+ LPSTR pDefaultDataType;
630+ LPSTR pszzPreviousNames;
631+ FILETIME ftDriverDate;
632+ DWORDLONG dwlDriverVersion;
633+ LPSTR pszMfgName;
634+ LPSTR pszOEMUrl;
635+ LPSTR pszHardwareID;
636+ LPSTR pszProvider;
637+} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
638+
639+typedef
640+struct _DRIVER_INFO_6W
641+{ DWORD cVersion;
642+ LPWSTR pName;
643+ LPWSTR pEnvironment;
644+ LPWSTR pDriverPath;
645+ LPWSTR pDataFile;
646+ LPWSTR pConfigFile;
647+ LPWSTR pHelpFile;
648+ LPWSTR pDependentFiles;
649+ LPWSTR pMonitorName;
650+ LPWSTR pDefaultDataType;
651+ LPWSTR pszzPreviousNames;
652+ FILETIME ftDriverDate;
653+ DWORDLONG dwlDriverVersion;
654+ LPWSTR pszMfgName;
655+ LPWSTR pszOEMUrl;
656+ LPWSTR pszHardwareID;
657+ LPWSTR pszProvider;
658+} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
659+
660+typedef __AW_ALIAS__(DRIVER_INFO_6), *PDRIVER_INFO_6, *LPDRIVER_INFO_6;
661+
662+#endif /* Win2K and later */
663+
664+typedef
665+struct _MONITOR_INFO_1A
666+{ LPSTR pName;
667+} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
668+
669+typedef
670+struct _MONITOR_INFO_1W
671+{ LPWSTR pName;
672+} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
673+
674+typedef __AW_ALIAS__(MONITOR_INFO_1), *PMONITOR_INFO_1, *LPMONITOR_INFO_1;
675+
676+typedef
677+struct _PORT_INFO_1A
678+{ LPSTR pName;
679+} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
680+
681+typedef
682+struct _PORT_INFO_1W
683+{ LPWSTR pName;
684+} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
685+
686+typedef __AW_ALIAS__(PORT_INFO_1), *PPORT_INFO_1, *LPPORT_INFO_1;
687+
688+typedef
689+struct _MONITOR_INFO_2A
690+{ LPSTR pName;
691+ LPSTR pEnvironment;
692+ LPSTR pDLLName;
693+} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
694+
695+typedef
696+struct _MONITOR_INFO_2W
697+{ LPWSTR pName;
698+ LPWSTR pEnvironment;
699+ LPWSTR pDLLName;
700+} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
701+
702+typedef __AW_ALIAS__(MONITOR_INFO_2), *PMONITOR_INFO_2, *LPMONITOR_INFO_2;
703+
704+typedef
705+struct _PORT_INFO_2A
706+{ LPSTR pPortName;
707+ LPSTR pMonitorName;
708+ LPSTR pDescription;
709+ DWORD fPortType;
710+ DWORD Reserved;
711+} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
712+
713+typedef
714+struct _PORT_INFO_2W
715+{ LPWSTR pPortName;
716+ LPWSTR pMonitorName;
717+ LPWSTR pDescription;
718+ DWORD fPortType;
719+ DWORD Reserved;
720+} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
721+
722+typedef __AW_ALIAS__(PORT_INFO_2), *PPORT_INFO_2, *LPPORT_INFO_2;
723+
724+typedef
725+struct _PORT_INFO_3A
726+{ DWORD dwStatus;
727+ LPSTR pszStatus;
728+ DWORD dwSeverity;
729+} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
730+
731+typedef
732+struct _PORT_INFO_3W
733+{ DWORD dwStatus;
734+ LPWSTR pszStatus;
735+ DWORD dwSeverity;
736+} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
737+
738+typedef __AW_ALIAS__(PORT_INFO_3), *PPORT_INFO_3, *LPPORT_INFO_3;
739+
740+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
741+
742+typedef
743+struct _PRINTER_ENUM_VALUESA
744+{ LPSTR pValueName;
745+ DWORD cbValueName;
746+ DWORD dwType;
747+ LPBYTE pData;
748+ DWORD cbData;
749+} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA, *LPRINTER_ENUM_VALUESA;
750+
751+typedef
752+struct _PRINTER_ENUM_VALUESW
753+{ LPWSTR pValueName;
754+ DWORD cbValueName;
755+ DWORD dwType;
756+ LPBYTE pData;
757+ DWORD cbData;
758+} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW, *LPRINTER_ENUM_VALUESW;
759+
760+typedef __AW_ALIAS__(PRINTER_ENUM_VALUES), *PPRINTER_ENUM_VALUES;
761+typedef PRINTER_ENUM_VALUES *LPRINTER_ENUM_VALUES;
762+
763+#endif /* Win2K and later */
764+
765+typedef
766+struct _PRINTER_INFO_1A
767+{ DWORD Flags;
768+ LPSTR pDescription;
769+ LPSTR pName;
770+ LPSTR pComment;
771+} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
772+
773+typedef
774+struct _PRINTER_INFO_1W
775+{ DWORD Flags;
776+ LPWSTR pDescription;
777+ LPWSTR pName;
778+ LPWSTR pComment;
779+} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
780+
781+typedef __AW_ALIAS__(PRINTER_INFO_1), *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
782+
783+typedef
784+struct _PRINTER_INFO_2A
785+{ LPSTR pServerName;
786+ LPSTR pPrinterName;
787+ LPSTR pShareName;
788+ LPSTR pPortName;
789+ LPSTR pDriverName;
790+ LPSTR pComment;
791+ LPSTR pLocation;
792+ LPDEVMODEA pDevMode;
793+ LPSTR pSepFile;
794+ LPSTR pPrintProcessor;
795+ LPSTR pDatatype;
796+ LPSTR pParameters;
797+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
798+ DWORD Attributes;
799+ DWORD Priority;
800+ DWORD DefaultPriority;
801+ DWORD StartTime;
802+ DWORD UntilTime;
803+ DWORD Status;
804+ DWORD cJobs;
805+ DWORD AveragePPM;
806+} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
807+
808+typedef
809+struct _PRINTER_INFO_2W
810+{ LPWSTR pServerName;
811+ LPWSTR pPrinterName;
812+ LPWSTR pShareName;
813+ LPWSTR pPortName;
814+ LPWSTR pDriverName;
815+ LPWSTR pComment;
816+ LPWSTR pLocation;
817+ LPDEVMODEW pDevMode;
818+ LPWSTR pSepFile;
819+ LPWSTR pPrintProcessor;
820+ LPWSTR pDatatype;
821+ LPWSTR pParameters;
822+ PSECURITY_DESCRIPTOR pSecurityDescriptor;
823+ DWORD Attributes;
824+ DWORD Priority;
825+ DWORD DefaultPriority;
826+ DWORD StartTime;
827+ DWORD UntilTime;
828+ DWORD Status;
829+ DWORD cJobs;
830+ DWORD AveragePPM;
831+} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
832+
833+typedef __AW_ALIAS__(PRINTER_INFO_2), *PPRINTER_INFO_2, *LPPRINTER_INFO_2;
834+
835+typedef
836+struct _PRINTER_INFO_3
837+{ PSECURITY_DESCRIPTOR pSecurityDescriptor;
838+} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
839+
840+typedef
841+struct _PRINTER_INFO_4A
842+{ LPSTR pPrinterName;
843+ LPSTR pServerName;
844+ DWORD Attributes;
845+} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
846+
847+typedef
848+struct _PRINTER_INFO_4W
849+{ LPWSTR pPrinterName;
850+ LPWSTR pServerName;
851+ DWORD Attributes;
852+} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
853+
854+typedef __AW_ALIAS__(PRINTER_INFO_4), *PPRINTER_INFO_4, *LPPRINTER_INFO_4;
855+
856+typedef
857+struct _PRINTER_INFO_5A
858+{ LPSTR pPrinterName;
859+ LPSTR pPortName;
860+ DWORD Attributes;
861+ DWORD DeviceNotSelectedTimeout;
862+ DWORD TransmissionRetryTimeout;
863+} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
864+
865+typedef
866+struct _PRINTER_INFO_5W
867+{ LPWSTR pPrinterName;
868+ LPWSTR pPortName;
869+ DWORD Attributes;
870+ DWORD DeviceNotSelectedTimeout;
871+ DWORD TransmissionRetryTimeout;
872+} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
873+
874+typedef __AW_ALIAS__(PRINTER_INFO_5), *PPRINTER_INFO_5, *LPPRINTER_INFO_5;
875+
876+typedef
877+struct _PRINTER_INFO_6
878+{ DWORD dwStatus;
879+} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
880+
881+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
882+
883+typedef
884+struct _PRINTER_INFO_7A
885+{ LPSTR pszObjectGUID;
886+ DWORD dwAction;
887+} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
888+
889+typedef
890+struct _PRINTER_INFO_7W
891+{ LPWSTR pszObjectGUID;
892+ DWORD dwAction;
893+} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
894+
895+typedef __AW_ALIAS__(PRINTER_INFO_7), *PPRINTER_INFO_7, *LPPRINTER_INFO_7;
896+
897+typedef
898+struct _PRINTER_INFO_8
899+{ LPDEVMODE pDevMode;
900+} PRINTER_INFO_8, *PPRINTER_INFO_8, *LPPRINTER_INFO_8;
901+
902+typedef
903+struct _PRINTER_INFO_9
904+{ LPDEVMODE pDevMode;
905+} PRINTER_INFO_9, *PPRINTER_INFO_9, *LPPRINTER_INFO_9;
906+
907+#endif /* Win2K and later */
908+
909+typedef
910+struct _PRINTPROCESSOR_INFO_1A
911+{ LPSTR pName;
912+} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
913+
914+typedef
915+struct _PRINTPROCESSOR_INFO_1W
916+{ LPWSTR pName;
917+} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
918+
919+typedef __AW_ALIAS__(PRINTPROCESSOR_INFO_1), *PPRINTPROCESSOR_INFO_1;
920+typedef PRINTPROCESSOR_INFO_1 *LPPRINTPROCESSOR_INFO_1;
921+
922+typedef
923+struct _PRINTER_NOTIFY_INFO_DATA
924+{ WORD Type;
925+ WORD Field;
926+ DWORD Reserved;
927+ DWORD Id;
928+ union
929+ { DWORD adwData[2];
930+ struct
931+ { DWORD cbBuf;
932+ PVOID pBuf;
933+ } Data;
934+ } NotifyData;
935+} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA;
936+
937+typedef
938+struct _PRINTER_NOTIFY_INFO_DATA *LPPRINTER_NOTIFY_INFO_DATA;
939+
940+typedef
941+struct _PRINTER_NOTIFY_INFO
942+{ DWORD Version;
943+ DWORD Flags;
944+ DWORD Count;
945+ PRINTER_NOTIFY_INFO_DATA aData[1];
946+} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
947+
948+typedef
949+struct _FORM_INFO_1A
950+{ DWORD Flags;
951+ LPSTR pName;
952+ SIZEL Size;
953+ RECTL ImageableArea;
954+} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
955+
956+typedef
957+struct _FORM_INFO_1W
958+{ DWORD Flags;
959+ LPWSTR pName;
960+ SIZEL Size;
961+ RECTL ImageableArea;
962+} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
963+
964+typedef __AW_ALIAS__(FORM_INFO_1), *PFORM_INFO_1, *LPFORM_INFO_1;
965+
966+typedef
967+struct _PRINTER_DEFAULTSA
968+{ LPSTR pDatatype;
969+ LPDEVMODE pDevMode;
970+ ACCESS_MASK DesiredAccess;
971+} PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
972+
973+typedef
974+struct _PRINTER_DEFAULTSW
975+{ LPWSTR pDatatype;
976+ LPDEVMODE pDevMode;
977+ ACCESS_MASK DesiredAccess;
978+} PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
979+
980+typedef __AW_ALIAS__(PRINTER_DEFAULTS), *PPRINTER_DEFAULTS, *LPPRINTER_DEFAULTS;
981+
982+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
983+
984+typedef
985+struct _PRINTPROCESSOR_CAPS_1
986+{ DWORD dwLevel;
987+ DWORD dwNupOptions;
988+ DWORD dwPageOrderFlags;
989+ DWORD dwNumberOfCopies;
990+} PRINTPROCESSOR_CAPS_1, *PPRINTPROCESSOR_CAPS_1, *LPPRINTPROCESSOR_CAPS_1;
991+
992+#endif /* Win2K and later */
993+
994+typedef
995+struct _PROVIDOR_INFO_1A
996+{ LPSTR pName;
997+ LPSTR pEnvironment;
998+ LPSTR pDLLName;
999+} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
1000+
1001+typedef
1002+struct _PROVIDOR_INFO_1W
1003+{ LPWSTR pName;
1004+ LPWSTR pEnvironment;
1005+ LPWSTR pDLLName;
1006+} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
1007+
1008+typedef __AW_ALIAS__(PROVIDOR_INFO_1), *PPROVIDOR_INFO_1, *LPROVIDOR_INFO_1;
1009+
1010+typedef
1011+struct _PROVIDOR_INFO_2A
1012+{ LPSTR pOrder;
1013+} PROVIDOR_INFO_2A, *PPROVIDOR_INFO_2A, *LPROVIDOR_INFO_2A;
1014+
1015+typedef
1016+struct _PROVIDOR_INFO_2W
1017+{ LPWSTR pOrder;
1018+} PROVIDOR_INFO_2W, *PPROVIDOR_INFO_2W, *LPROVIDOR_INFO_2W;
1019+
1020+typedef __AW_ALIAS__(PROVIDOR_INFO_2), *PPROVIDOR_INFO_2, *LPROVIDOR_INFO_2;
7111021
7121022 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);
820-
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
1023+
1024+#define AddForm __AW_SUFFIXED__(AddForm)
1025+BOOL WINAPI AddFormA (HANDLE, DWORD, PBYTE);
1026+BOOL WINAPI AddFormW (HANDLE, DWORD, PBYTE);
1027+
1028+#define AddJob __AW_SUFFIXED__(AddJob)
1029+BOOL WINAPI AddJobA (HANDLE, DWORD, PBYTE, DWORD, PDWORD);
1030+BOOL WINAPI AddJobW (HANDLE, DWORD, PBYTE, DWORD, PDWORD);
1031+
1032+#define AddMonitor __AW_SUFFIXED__(AddMonitor)
1033+BOOL WINAPI AddMonitorA (LPSTR, DWORD, PBYTE);
1034+BOOL WINAPI AddMonitorW (LPWSTR, DWORD, PBYTE);
1035+
1036+#define AddPort __AW_SUFFIXED__(AddPort)
1037+BOOL WINAPI AddPortA (LPSTR, HWND, LPSTR);
1038+BOOL WINAPI AddPortW (LPWSTR, HWND, LPWSTR);
1039+
1040+#define AddPrinter __AW_SUFFIXED__(AddPrinter)
1041+HANDLE WINAPI AddPrinterA (LPSTR, DWORD, PBYTE);
1042+HANDLE WINAPI AddPrinterW (LPWSTR, DWORD, PBYTE);
1043+
1044+#define AddPrinterConnection __AW_SUFFIXED__(AddPrinterConnection)
1045+BOOL WINAPI AddPrinterConnectionA (LPSTR);
1046+BOOL WINAPI AddPrinterConnectionW (LPWSTR);
1047+
1048+#define AddPrinterDriver __AW_SUFFIXED__(AddPrinterDriver)
1049+BOOL WINAPI AddPrinterDriverA (LPSTR, DWORD, PBYTE);
1050+BOOL WINAPI AddPrinterDriverW (LPWSTR, DWORD, PBYTE);
1051+
1052+#define AddPrintProcessor __AW_SUFFIXED__(AddPrintProcessor)
1053+BOOL WINAPI AddPrintProcessorA (LPSTR, LPSTR, LPSTR, LPSTR);
1054+BOOL WINAPI AddPrintProcessorW (LPWSTR, LPWSTR, LPWSTR, LPWSTR);
1055+
1056+#define AddPrintProvidor __AW_SUFFIXED__(AddPrintProvidor)
1057+BOOL WINAPI AddPrintProvidorA (LPSTR, DWORD, PBYTE);
1058+BOOL WINAPI AddPrintProvidorW (LPWSTR, DWORD, PBYTE);
1059+
1060+#define AdvancedDocumentProperties \
1061+__AW_SUFFIXED__(AdvancedDocumentProperties)
1062+LONG WINAPI AdvancedDocumentPropertiesA
1063+( HWND, HANDLE, LPSTR, PDEVMODE, PDEVMODEA );
1064+LONG WINAPI AdvancedDocumentPropertiesW
1065+( HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODEW );
1066+
1067+BOOL WINAPI ClosePrinter (HANDLE);
1068+
1069+#define ConfigurePort __AW_SUFFIXED__(ConfigurePort)
1070+BOOL WINAPI ConfigurePortA (LPSTR, HWND, LPSTR);
1071+BOOL WINAPI ConfigurePortW (LPWSTR, HWND, LPWSTR);
1072+
1073+HANDLE WINAPI ConnectToPrinterDlg (HWND, DWORD);
1074+
1075+#define DeleteForm __AW_SUFFIXED__(DeleteForm)
1076+BOOL WINAPI DeleteFormA (HANDLE, LPSTR);
1077+BOOL WINAPI DeleteFormW (HANDLE, LPWSTR);
1078+
1079+#define DeleteMonitor __AW_SUFFIXED__(DeleteMonitor)
1080+BOOL WINAPI DeleteMonitorA (LPSTR, LPSTR, LPSTR);
1081+BOOL WINAPI DeleteMonitorW (LPWSTR, LPWSTR, LPWSTR);
1082+
1083+#define DeletePort __AW_SUFFIXED__(DeletePort)
1084+BOOL WINAPI DeletePortA (LPSTR, HWND, LPSTR);
1085+BOOL WINAPI DeletePortW (LPWSTR, HWND, LPWSTR);
1086+
1087+BOOL WINAPI DeletePrinter (HANDLE);
1088+
1089+#define DeletePrinterConnection __AW_SUFFIXED__(DeletePrinterConnection)
1090+BOOL WINAPI DeletePrinterConnectionA (LPSTR);
1091+BOOL WINAPI DeletePrinterConnectionW (LPWSTR);
1092+
1093+#define DeletePrinterData __AW_SUFFIXED__(DeletePrinterData)
1094+DWORD WINAPI DeletePrinterDataA (HANDLE, LPSTR);
1095+DWORD WINAPI DeletePrinterDataW (HANDLE, LPWSTR);
1096+
1097+#define DeletePrinterDriver __AW_SUFFIXED__(DeletePrinterDriver)
1098+BOOL WINAPI DeletePrinterDriverA (LPSTR, LPSTR, LPSTR);
1099+BOOL WINAPI DeletePrinterDriverW (LPWSTR, LPWSTR, LPWSTR);
1100+
1101+#define DeletePrintProcessor __AW_SUFFIXED__(DeletePrintProcessor)
1102+BOOL WINAPI DeletePrintProcessorA (LPSTR, LPSTR, LPSTR);
1103+BOOL WINAPI DeletePrintProcessorW (LPWSTR, LPWSTR, LPWSTR);
1104+
1105+#define DeletePrintProvidor __AW_SUFFIXED__(DeletePrintProvidor)
1106+BOOL WINAPI DeletePrintProvidorA (LPSTR, LPSTR, LPSTR);
1107+BOOL WINAPI DeletePrintProvidorW (LPWSTR, LPWSTR, LPWSTR);
1108+
1109+#define DocumentProperties \
1110+__AW_SUFFIXED__(DocumentProperties)
1111+LONG WINAPI DocumentPropertiesA
1112+( HWND, HANDLE, LPSTR, PDEVMODEA, PDEVMODEA, DWORD );
1113+LONG WINAPI DocumentPropertiesW
1114+( HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD );
1115+
1116+BOOL WINAPI EndDocPrinter (HANDLE);
1117+BOOL WINAPI EndPagePrinter (HANDLE);
1118+
1119+#define EnumForms __AW_SUFFIXED__(EnumForms)
1120+BOOL WINAPI EnumFormsA (HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1121+BOOL WINAPI EnumFormsW (HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1122+
1123+#define EnumJobs \
1124+__AW_SUFFIXED__(EnumJobs)
1125+BOOL WINAPI EnumJobsA
1126+( HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1127+BOOL WINAPI EnumJobsW
1128+( HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1129+
1130+#define EnumMonitors __AW_SUFFIXED__(EnumMonitors)
1131+BOOL WINAPI EnumMonitorsA (LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1132+BOOL WINAPI EnumMonitorsW (LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1133+
1134+#define EnumPorts __AW_SUFFIXED__(EnumPorts)
1135+BOOL WINAPI EnumPortsA (LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1136+BOOL WINAPI EnumPortsW (LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1137+
1138+#define EnumPrinterData \
1139+__AW_SUFFIXED__(EnumPrinterData)
1140+DWORD WINAPI EnumPrinterDataA
1141+( HANDLE, DWORD, LPSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD );
1142+DWORD WINAPI EnumPrinterDataW
1143+( HANDLE, DWORD, LPWSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD );
1144+
1145+#define EnumPrinterDrivers \
1146+__AW_SUFFIXED__(EnumPrinterDrivers)
1147+BOOL WINAPI EnumPrinterDriversA
1148+( LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1149+BOOL WINAPI EnumPrinterDriversW
1150+( LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1151+
1152+#define EnumPrinters __AW_SUFFIXED__(EnumPrinters)
1153+BOOL WINAPI EnumPrintersA (DWORD, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1154+BOOL WINAPI EnumPrintersW (DWORD, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
1155+
1156+#define EnumPrintProcessorDatatypes \
1157+__AW_SUFFIXED__(EnumPrintProcessorDatatypes)
1158+BOOL WINAPI EnumPrintProcessorDatatypesA
1159+( LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1160+BOOL WINAPI EnumPrintProcessorDatatypesW
1161+( LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1162+
1163+#define EnumPrintProcessors \
1164+__AW_SUFFIXED__(EnumPrintProcessors)
1165+BOOL WINAPI EnumPrintProcessorsA
1166+( LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1167+BOOL WINAPI EnumPrintProcessorsW
1168+( LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD );
1169+
1170+BOOL WINAPI FindClosePrinterChangeNotification (HANDLE);
1171+HANDLE WINAPI FindFirstPrinterChangeNotification (HANDLE, DWORD, DWORD, PVOID);
1172+HANDLE WINAPI FindNextPrinterChangeNotification (HANDLE, PDWORD, PVOID, PVOID *);
1173+BOOL WINAPI FreePrinterNotifyInfo (PPRINTER_NOTIFY_INFO);
1174+
1175+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1176+
1177+#define GetDefaultPrinter __AW_SUFFIXED__(GetDefaultPrinter)
1178+BOOL WINAPI GetDefaultPrinterA (LPSTR, LPDWORD);
1179+BOOL WINAPI GetDefaultPrinterW (LPWSTR, LPDWORD);
1180+
1181+#endif /* Win2K and later */
1182+
1183+#define GetForm __AW_SUFFIXED__(GetForm)
1184+BOOL WINAPI GetFormA (HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
1185+BOOL WINAPI GetFormW (HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
1186+
1187+#define GetJob __AW_SUFFIXED__(GetJob)
1188+BOOL WINAPI GetJobA (HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
1189+BOOL WINAPI GetJobW (HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
1190+
1191+#define GetPrinter __AW_SUFFIXED__(GetPrinter)
1192+BOOL WINAPI GetPrinterA (HANDLE, DWORD, PBYTE, DWORD, PDWORD);
1193+BOOL WINAPI GetPrinterW (HANDLE, DWORD, PBYTE, DWORD, PDWORD);
1194+
1195+#define GetPrinterData __AW_SUFFIXED__(GetPrinterData)
1196+DWORD WINAPI GetPrinterDataA (HANDLE, LPSTR, PDWORD, PBYTE, DWORD, PDWORD);
1197+DWORD WINAPI GetPrinterDataW (HANDLE, LPWSTR, PDWORD, PBYTE, DWORD, PDWORD);
1198+
1199+#define GetPrinterDriver __AW_SUFFIXED__(GetPrinterDriver)
1200+DWORD WINAPI GetPrinterDriverA (HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
1201+DWORD WINAPI GetPrinterDriverW (HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
1202+
1203+#define GetPrinterDriverDirectory \
1204+__AW_SUFFIXED__(GetPrinterDriverDirectory)
1205+DWORD WINAPI GetPrinterDriverDirectoryA
1206+( LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD );
1207+DWORD WINAPI GetPrinterDriverDirectoryW
1208+( LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD );
1209+
1210+#define GetPrintProcessorDirectory \
1211+__AW_SUFFIXED__(GetPrintProcessorDirectory)
1212+DWORD WINAPI GetPrintProcessorDirectoryA
1213+( LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD );
1214+DWORD WINAPI GetPrintProcessorDirectoryW
1215+( LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD );
1216+
1217+#define OpenPrinter __AW_SUFFIXED__(OpenPrinter)
1218+BOOL WINAPI OpenPrinterA (LPSTR, PHANDLE, LPPRINTER_DEFAULTSA);
1219+BOOL WINAPI OpenPrinterW (LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW);
1220+
1221+#define PrinterMessageBox __AW_SUFFIXED__(PrinterMessageBox)
1222+DWORD WINAPI PrinterMessageBoxA (HANDLE, DWORD, HWND, LPSTR, LPSTR, DWORD);
1223+DWORD WINAPI PrinterMessageBoxW (HANDLE, DWORD, HWND, LPWSTR, LPWSTR, DWORD);
1224+
1225+BOOL WINAPI PrinterProperties (HWND, HANDLE);
1226+BOOL WINAPI ReadPrinter (HANDLE, PVOID, DWORD, PDWORD);
1227+
1228+#define ResetPrinter __AW_SUFFIXED__(ResetPrinter)
1229+BOOL WINAPI ResetPrinterA (HANDLE, LPPRINTER_DEFAULTSA);
1230+BOOL WINAPI ResetPrinterW (HANDLE, LPPRINTER_DEFAULTSW);
1231+
1232+BOOL WINAPI ScheduleJob (HANDLE, DWORD);
1233+
1234+#define SetForm __AW_SUFFIXED__(SetForm)
1235+BOOL WINAPI SetFormA (HANDLE, LPSTR, DWORD, PBYTE);
1236+BOOL WINAPI SetFormW (HANDLE, LPWSTR, DWORD, PBYTE);
1237+
1238+#define SetJob __AW_SUFFIXED__(SetJob)
1239+BOOL WINAPI SetJobA (HANDLE, DWORD, DWORD, PBYTE, DWORD);
1240+BOOL WINAPI SetJobW (HANDLE, DWORD, DWORD, PBYTE, DWORD);
1241+
1242+#define SetPrinter __AW_SUFFIXED__(SetPrinter)
1243+BOOL WINAPI SetPrinterA (HANDLE, DWORD, PBYTE, DWORD);
1244+BOOL WINAPI SetPrinterW (HANDLE, DWORD, PBYTE, DWORD);
1245+
1246+#define SetPrinterData __AW_SUFFIXED__(SetPrinterData)
1247+BOOL WINAPI SetPrinterDataA (HANDLE, LPSTR, DWORD, PBYTE, DWORD);
1248+BOOL WINAPI SetPrinterDataW (HANDLE, LPWSTR, DWORD, PBYTE, DWORD);
1249+
1250+#define StartDocPrinter __AW_SUFFIXED__(StartDocPrinter)
1251+DWORD WINAPI StartDocPrinterA (HANDLE, DWORD, PBYTE);
1252+DWORD WINAPI StartDocPrinterW (HANDLE, DWORD, PBYTE);
1253+
1254+BOOL WINAPI StartPagePrinter (HANDLE);
1255+DWORD WINAPI WaitForPrinterChange (HANDLE, DWORD);
1256+BOOL WINAPI WritePrinter (HANDLE, PVOID, DWORD, PDWORD);
1257+
9781258 #endif /* RC_INVOKED */
979-#ifdef __cplusplus
980-}
981-#endif
982-#endif
1259+
1260+_END_C_DECLS
1261+
1262+#endif /* !_WINSPOOL_H: $RCSfile$: end of file */
旧リポジトリブラウザで表示