webservices: Add a helper to determine node type.
[wine.git] / include / winspool.h
blobb11438f0a367bbf2ab10dba88cc4386386ed0670
1 /* Definitions for printing
3 * Copyright 1998 Huw Davies, Andreas Mohr
5 * Portions Copyright (c) 1999 Corel Corporation
6 * (Paul Quinn, Albert Den Haan)
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef __WINE_WINSPOOL_H
23 #define __WINE_WINSPOOL_H
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
29 /* DEFINES */
31 #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
32 #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
33 #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
34 #define PRINTER_ATTRIBUTE_SHARED 0x00000008
35 #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
36 #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
37 #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
38 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
39 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
40 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
41 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
42 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
43 #define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000
44 #define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000
46 #define PRINTER_CONTROL_PAUSE 1
47 #define PRINTER_CONTROL_RESUME 2
48 #define PRINTER_CONTROL_PURGE 3
49 #define PRINTER_CONTROL_SET_STATUS 4
51 #define PRINTER_ENUM_DEFAULT 0x00000001
52 #define PRINTER_ENUM_LOCAL 0x00000002
53 #define PRINTER_ENUM_CONNECTIONS 0x00000004
54 #define PRINTER_ENUM_FAVORITE 0x00000004
55 #define PRINTER_ENUM_NAME 0x00000008
56 #define PRINTER_ENUM_REMOTE 0x00000010
57 #define PRINTER_ENUM_SHARED 0x00000020
58 #define PRINTER_ENUM_NETWORK 0x00000040
60 #define PRINTER_ENUM_EXPAND 0x00004000
61 #define PRINTER_ENUM_CONTAINER 0x00008000
63 #define PRINTER_ENUM_ICONMASK 0x00ff0000
64 #define PRINTER_ENUM_ICON1 0x00010000
65 #define PRINTER_ENUM_ICON2 0x00020000
66 #define PRINTER_ENUM_ICON3 0x00040000
67 #define PRINTER_ENUM_ICON4 0x00080000
68 #define PRINTER_ENUM_ICON5 0x00100000
69 #define PRINTER_ENUM_ICON6 0x00200000
70 #define PRINTER_ENUM_ICON7 0x00400000
71 #define PRINTER_ENUM_ICON8 0x00800000
72 #define PRINTER_ENUM_HIDE 0x01000000
75 /* various printer statuses */
76 #define PRINTER_STATUS_PAUSED 0x00000001
77 #define PRINTER_STATUS_ERROR 0x00000002
78 #define PRINTER_STATUS_PENDING_DELETION 0x00000004
79 #define PRINTER_STATUS_PAPER_JAM 0x00000008
80 #define PRINTER_STATUS_PAPER_OUT 0x00000010
81 #define PRINTER_STATUS_MANUAL_FEED 0x00000020
82 #define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
83 #define PRINTER_STATUS_OFFLINE 0x00000080
84 #define PRINTER_STATUS_IO_ACTIVE 0x00000100
85 #define PRINTER_STATUS_BUSY 0x00000200
86 #define PRINTER_STATUS_PRINTING 0x00000400
87 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
88 #define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
89 #define PRINTER_STATUS_WAITING 0x00002000
90 #define PRINTER_STATUS_PROCESSING 0x00004000
91 #define PRINTER_STATUS_INITIALIZING 0x00008000
92 #define PRINTER_STATUS_WARMING_UP 0x00010000
93 #define PRINTER_STATUS_TONER_LOW 0x00020000
94 #define PRINTER_STATUS_NO_TONER 0x00040000
95 #define PRINTER_STATUS_PAGE_PUNT 0x00080000
96 #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
97 #define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
98 #define PRINTER_STATUS_DOOR_OPEN 0x00400000
99 #define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
100 #define PRINTER_STATUS_POWER_SAVE 0x01000000
101 #define PRINTER_STATUS_SERVER_OFFLINE 0x02000000
102 #define PRINTER_STATUS_DRIVER_UPDATE_NEEDED 0x04000000
104 #define NO_PRIORITY 0
105 #define MAX_PRIORITY 99
106 #define MIN_PRIORITY 1
107 #define DEF_PRIORITY 1
109 #define JOB_CONTROL_PAUSE 1
110 #define JOB_CONTROL_RESUME 2
111 #define JOB_CONTROL_CANCEL 3
112 #define JOB_CONTROL_RESTART 4
113 #define JOB_CONTROL_DELETE 5
114 #define JOB_CONTROL_SENT_TO_PRINTER 6
115 #define JOB_CONTROL_LAST_PAGE_EJECTED 7
117 #define JOB_STATUS_PAUSED 0x0001
118 #define JOB_STATUS_ERROR 0x0002
119 #define JOB_STATUS_DELETING 0x0004
120 #define JOB_STATUS_SPOOLING 0x0008
121 #define JOB_STATUS_PRINTING 0x0010
122 #define JOB_STATUS_OFFLINE 0x0020
123 #define JOB_STATUS_PAPEROUT 0x0040
124 #define JOB_STATUS_PRINTED 0x0080
125 #define JOB_STATUS_DELETED 0x0100
126 #define JOB_STATUS_BLOCKED_DEVQ 0x0200
127 #define JOB_STATUS_USER_INTERVENTION 0x0400
129 #define JOB_POSITION_UNSPECIFIED 1
131 #define DI_CHANNEL 1
132 #define DI_READ_SPOOL_JOB 3
134 #define FORM_USER 0
135 #define FORM_BUILTIN 1
136 #define FORM_PRINTER 2
138 #define PORT_TYPE_WRITE 1
139 #define PORT_TYPE_READ 2
140 #define PORT_TYPE_REDIRECTED 4
141 #define PORT_TYPE_NET_ATTACHED 8
143 #define PORT_STATUS_TYPE_ERROR 1
144 #define PORT_STATUS_TYPE_WARNING 2
145 #define PORT_STATUS_TYPE_INFO 3
147 #define PORT_STATUS_OFFLINE 1
148 #define PORT_STATUS_PAPER_JAM 2
149 #define PORT_STATUS_PAPER_OUT 3
150 #define PORT_STATUS_OUTPUT_BIN_FULL 4
151 #define PORT_STATUS_PAPER_PROBLEM 5
152 #define PORT_STATUS_NO_TONER 6
153 #define PORT_STATUS_DOOR_OPEN 7
154 #define PORT_STATUS_USER_INTERVENTION 8
155 #define PORT_STATUS_OUT_OF_MEMORY 9
156 #define PORT_STATUS_TONER_LOW 10
157 #define PORT_STATUS_WARMING_UP 11
158 #define PORT_STATUS_POWER_SAVE 12
160 #define PRINTER_NOTIFY_TYPE 0
161 #define JOB_NOTIFY_TYPE 1
163 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
164 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
165 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
166 #define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
167 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
168 #define PRINTER_NOTIFY_FIELD_COMMENT 0x05
169 #define PRINTER_NOTIFY_FIELD_LOCATION 0x06
170 #define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
171 #define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
172 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
173 #define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
174 #define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
175 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
176 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
177 #define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
178 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
179 #define PRINTER_NOTIFY_FIELD_START_TIME 0x10
180 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
181 #define PRINTER_NOTIFY_FIELD_STATUS 0x12
182 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
183 #define PRINTER_NOTIFY_FIELD_CJOBS 0x14
184 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
185 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
186 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
187 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
188 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
190 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
191 #define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
192 #define JOB_NOTIFY_FIELD_PORT_NAME 0x02
193 #define JOB_NOTIFY_FIELD_USER_NAME 0x03
194 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
195 #define JOB_NOTIFY_FIELD_DATATYPE 0x05
196 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
197 #define JOB_NOTIFY_FIELD_PARAMETERS 0x07
198 #define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
199 #define JOB_NOTIFY_FIELD_DEVMODE 0x09
200 #define JOB_NOTIFY_FIELD_STATUS 0x0a
201 #define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
202 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
203 #define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
204 #define JOB_NOTIFY_FIELD_PRIORITY 0x0e
205 #define JOB_NOTIFY_FIELD_POSITION 0x0f
206 #define JOB_NOTIFY_FIELD_SUBMITTED 0x10
207 #define JOB_NOTIFY_FIELD_START_TIME 0x11
208 #define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
209 #define JOB_NOTIFY_FIELD_TIME 0x13
210 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
211 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
212 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
213 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
215 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1
216 #define PRINTER_NOTIFY_INFO_DISCARDED 1
218 #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
219 #define PRINTER_CHANGE_SET_PRINTER 0x00000002
220 #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
221 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
222 #define PRINTER_CHANGE_PRINTER 0x000000ff
223 #define PRINTER_CHANGE_ADD_JOB 0x00000100
224 #define PRINTER_CHANGE_SET_JOB 0x00000200
225 #define PRINTER_CHANGE_DELETE_JOB 0x00000400
226 #define PRINTER_CHANGE_WRITE_JOB 0x00000800
227 #define PRINTER_CHANGE_JOB 0x0000ff00
228 #define PRINTER_CHANGE_ADD_FORM 0x00010000
229 #define PRINTER_CHANGE_SET_FORM 0x00020000
230 #define PRINTER_CHANGE_DELETE_FORM 0x00040000
231 #define PRINTER_CHANGE_FORM 0x00070000
232 #define PRINTER_CHANGE_ADD_PORT 0x00100000
233 #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
234 #define PRINTER_CHANGE_DELETE_PORT 0x00400000
235 #define PRINTER_CHANGE_PORT 0x00700000
236 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
237 #define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
238 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
239 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
240 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
241 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
242 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
243 #define PRINTER_CHANGE_TIMEOUT 0x80000000
244 #define PRINTER_CHANGE_ALL 0x7777ffff
246 #define PRINTER_ERROR_INFORMATION 0x80000000
247 #define PRINTER_ERROR_WARNING 0x40000000
248 #define PRINTER_ERROR_SEVERE 0x20000000
250 #define PRINTER_ERROR_OUTODPAPER 0x00000001
251 #define PRINTER_ERROR_JAM 0x00000002
252 #define PRINTER_ERROR_OUTOFTONER 0x00000004
254 /* Access Rights for Printserver, Printers and Printjobs */
255 #define SERVER_ACCESS_ADMINISTER 0x00000001
256 #define SERVER_ACCESS_ENUMERATE 0x00000002
257 #define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
258 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
259 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
260 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
261 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
262 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
264 #define PRINTER_ACCESS_ADMINISTER 0x00000004
265 #define PRINTER_ACCESS_USE 0x00000008
266 #define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
267 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
268 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
269 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
270 PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
272 #define JOB_ACCESS_ADMINISTER 0x00000010
273 #define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
274 #define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
275 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
276 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
279 /* Flags for printer drivers */
280 #define DRIVER_KERNELMODE 0x00000001
281 #define DRIVER_USERMODE 0x00000002
283 #define APD_STRICT_UPGRADE 0x00000001
284 #define APD_STRICT_DOWNGRADE 0x00000002
285 #define APD_COPY_ALL_FILES 0x00000004
286 #define APD_COPY_NEW_FILES 0x00000008
287 #define APD_COPY_FROM_DIRECTORY 0x00000010
289 #define DPD_DELETE_UNUSED_FILES 0x00000001
290 #define DPD_DELETE_SPECIFIC_VERSION 0x00000002
291 #define DPD_DELETE_ALL_FILES 0x00000004
293 /* dwAction for PRINTER_INFO_7 */
294 #define DSPRINT_PUBLISH 0x00000001
295 #define DSPRINT_UPDATE 0x00000002
296 #define DSPRINT_UNPUBLISH 0x00000004
297 #define DSPRINT_REPUBLISH 0x00000008
298 #define DSPRINT_PENDING 0x80000000
300 #define UPDP_SILENT_UPLOAD 0x00000001
301 #define UPDP_UPLOAD_ALWAYS 0x00000002
302 #define UPDP_CHECK_DRIVERSTORE 0x00000004
304 /* ##################################### */
306 /* TYPES */
307 typedef struct _PRINTER_DEFAULTSA {
308 LPSTR pDatatype;
309 LPDEVMODEA pDevMode;
310 ACCESS_MASK DesiredAccess;
311 } PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
313 typedef struct _PRINTER_DEFAULTSW {
314 LPWSTR pDatatype;
315 LPDEVMODEW pDevMode;
316 ACCESS_MASK DesiredAccess;
317 } PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
319 DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
320 DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
322 typedef struct _DRIVER_INFO_1A {
323 LPSTR pName;
324 } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
326 typedef struct _DRIVER_INFO_1W {
327 LPWSTR pName;
328 } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
330 DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
331 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
332 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
334 typedef struct _DRIVER_INFO_2A {
335 DWORD cVersion;
336 LPSTR pName;
337 LPSTR pEnvironment;
338 LPSTR pDriverPath;
339 LPSTR pDataFile;
340 LPSTR pConfigFile;
341 } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
343 typedef struct _DRIVER_INFO_2W {
344 DWORD cVersion;
345 LPWSTR pName;
346 LPWSTR pEnvironment;
347 LPWSTR pDriverPath;
348 LPWSTR pDataFile;
349 LPWSTR pConfigFile;
350 } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
352 DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
353 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
354 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
356 typedef struct _DRIVER_INFO_3A {
357 DWORD cVersion;
358 LPSTR pName;
359 LPSTR pEnvironment;
360 LPSTR pDriverPath;
361 LPSTR pDataFile;
362 LPSTR pConfigFile;
363 LPSTR pHelpFile;
364 LPSTR pDependentFiles;
365 LPSTR pMonitorName;
366 LPSTR pDefaultDataType;
367 } DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
369 typedef struct _DRIVER_INFO_3W {
370 DWORD cVersion;
371 LPWSTR pName;
372 LPWSTR pEnvironment;
373 LPWSTR pDriverPath;
374 LPWSTR pDataFile;
375 LPWSTR pConfigFile;
376 LPWSTR pHelpFile;
377 LPWSTR pDependentFiles;
378 LPWSTR pMonitorName;
379 LPWSTR pDefaultDataType;
380 } DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
382 DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
383 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
384 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
386 typedef struct _DRIVER_INFO_4A {
387 DWORD cVersion;
388 LPSTR pName;
389 LPSTR pEnvironment;
390 LPSTR pDriverPath;
391 LPSTR pDataFile;
392 LPSTR pConfigFile;
393 LPSTR pHelpFile;
394 LPSTR pDependentFiles;
395 LPSTR pMonitorName;
396 LPSTR pDefaultDataType;
397 LPSTR pszzPreviousNames;
398 } DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
400 typedef struct _DRIVER_INFO_4W {
401 DWORD cVersion;
402 LPWSTR pName;
403 LPWSTR pEnvironment;
404 LPWSTR pDriverPath;
405 LPWSTR pDataFile;
406 LPWSTR pConfigFile;
407 LPWSTR pHelpFile;
408 LPWSTR pDependentFiles;
409 LPWSTR pMonitorName;
410 LPWSTR pDefaultDataType;
411 LPWSTR pszzPreviousNames;
412 } DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
414 DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
415 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
416 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
419 typedef struct _DRIVER_INFO_5A {
420 DWORD cVersion;
421 LPSTR pName;
422 LPSTR pEnvironment;
423 LPSTR pDriverPath;
424 LPSTR pDataFile;
425 LPSTR pConfigFile;
426 DWORD dwDriverAttributes;
427 DWORD dwConfigVersion;
428 DWORD dwDriverVersion;
429 } DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
431 typedef struct _DRIVER_INFO_5W {
432 DWORD cVersion;
433 LPWSTR pName;
434 LPWSTR pEnvironment;
435 LPWSTR pDriverPath;
436 LPWSTR pDataFile;
437 LPWSTR pConfigFile;
438 DWORD dwDriverAttributes;
439 DWORD dwConfigVersion;
440 DWORD dwDriverVersion;
441 } DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
443 DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
444 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
445 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
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;
467 typedef struct _DRIVER_INFO_6W {
468 DWORD cVersion;
469 LPWSTR pName;
470 LPWSTR pEnvironment;
471 LPWSTR pDriverPath;
472 LPWSTR pDataFile;
473 LPWSTR pConfigFile;
474 LPWSTR pHelpFile;
475 LPWSTR pDependentFiles;
476 LPWSTR pMonitorName;
477 LPWSTR pDefaultDataType;
478 LPWSTR pszzPreviousNames;
479 FILETIME ftDriverDate;
480 DWORDLONG dwlDriverVersion;
481 LPWSTR pszMfgName;
482 LPWSTR pszOEMUrl;
483 LPWSTR pszHardwareID;
484 LPWSTR pszProvider;
485 } DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
487 DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
488 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
489 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
491 /* DRIVER_INFO_7 is not defined in native winspool.h and not found in the www */
493 typedef struct _DRIVER_INFO_8A {
494 DWORD cVersion;
495 LPSTR pName;
496 LPSTR pEnvironment;
497 LPSTR pDriverPath;
498 LPSTR pDataFile;
499 LPSTR pConfigFile;
500 LPSTR pHelpFile;
501 LPSTR pDependentFiles;
502 LPSTR pMonitorName;
503 LPSTR pDefaultDataType;
504 LPSTR pszzPreviousNames;
505 FILETIME ftDriverDate;
506 DWORDLONG dwlDriverVersion;
507 LPSTR pszMfgName;
508 LPSTR pszOEMUrl;
509 LPSTR pszHardwareID;
510 LPSTR pszProvider;
511 LPSTR pszPrintProcessor;
512 LPSTR pszVendorSetup;
513 LPSTR pszzColorProfiles;
514 LPSTR pszInfPath;
515 DWORD dwPrinterDriverAttributes;
516 LPSTR pszzCoreDriverDependencies;
517 FILETIME ftMinInboxDriverVerDate;
518 DWORDLONG dwlMinInboxDriverVerVersion;
519 } DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;
521 typedef struct _DRIVER_INFO_8W {
522 DWORD cVersion;
523 LPWSTR pName;
524 LPWSTR pEnvironment;
525 LPWSTR pDriverPath;
526 LPWSTR pDataFile;
527 LPWSTR pConfigFile;
528 LPWSTR pHelpFile;
529 LPWSTR pDependentFiles;
530 LPWSTR pMonitorName;
531 LPWSTR pDefaultDataType;
532 LPWSTR pszzPreviousNames;
533 FILETIME ftDriverDate;
534 DWORDLONG dwlDriverVersion;
535 LPWSTR pszMfgName;
536 LPWSTR pszOEMUrl;
537 LPWSTR pszHardwareID;
538 LPWSTR pszProvider;
539 LPWSTR pszPrintProcessor;
540 LPWSTR pszVendorSetup;
541 LPWSTR pszzColorProfiles;
542 LPWSTR pszInfPath;
543 DWORD dwPrinterDriverAttributes;
544 LPWSTR pszzCoreDriverDependencies;
545 FILETIME ftMinInboxDriverVerDate;
546 DWORDLONG dwlMinInboxDriverVerVersion;
547 } DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W;
549 DECL_WINELIB_TYPE_AW(DRIVER_INFO_8)
550 DECL_WINELIB_TYPE_AW(PDRIVER_INFO_8)
551 DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_8)
554 typedef struct _PRINTER_INFO_1A {
555 DWORD Flags;
556 LPSTR pDescription;
557 LPSTR pName;
558 LPSTR pComment;
559 } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
561 typedef struct _PRINTER_INFO_1W {
562 DWORD Flags;
563 LPWSTR pDescription;
564 LPWSTR pName;
565 LPWSTR pComment;
566 } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
568 DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
569 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
570 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
572 /* FIXME: winspool.h declares some structure members with the name Status.
573 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
574 * therefore the following hack */
575 #ifndef Status
577 typedef struct _PRINTER_INFO_2A {
578 LPSTR pServerName;
579 LPSTR pPrinterName;
580 LPSTR pShareName;
581 LPSTR pPortName;
582 LPSTR pDriverName;
583 LPSTR pComment;
584 LPSTR pLocation;
585 LPDEVMODEA pDevMode;
586 LPSTR pSepFile;
587 LPSTR pPrintProcessor;
588 LPSTR pDatatype;
589 LPSTR pParameters;
590 PSECURITY_DESCRIPTOR pSecurityDescriptor;
591 DWORD Attributes;
592 DWORD Priority;
593 DWORD DefaultPriority;
594 DWORD StartTime;
595 DWORD UntilTime;
596 DWORD Status;
597 DWORD cJobs;
598 DWORD AveragePPM;
599 } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
601 typedef struct _PRINTER_INFO_2W {
602 LPWSTR pServerName;
603 LPWSTR pPrinterName;
604 LPWSTR pShareName;
605 LPWSTR pPortName;
606 LPWSTR pDriverName;
607 LPWSTR pComment;
608 LPWSTR pLocation;
609 LPDEVMODEW pDevMode;
610 LPWSTR pSepFile;
611 LPWSTR pPrintProcessor;
612 LPWSTR pDatatype;
613 LPWSTR pParameters;
614 PSECURITY_DESCRIPTOR pSecurityDescriptor;
615 DWORD Attributes;
616 DWORD Priority;
617 DWORD DefaultPriority;
618 DWORD StartTime;
619 DWORD UntilTime;
620 DWORD Status;
621 DWORD cJobs;
622 DWORD AveragePPM;
623 } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
625 DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
626 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
627 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
629 typedef struct _PRINTER_INFO_3 {
630 PSECURITY_DESCRIPTOR pSecurityDescriptor;
631 } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
633 typedef struct _PRINTER_INFO_4A {
634 LPSTR pPrinterName;
635 LPSTR pServerName;
636 DWORD Attributes;
637 } PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
639 typedef struct _PRINTER_INFO_4W {
640 LPWSTR pPrinterName;
641 LPWSTR pServerName;
642 DWORD Attributes;
643 } PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
645 DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
646 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
647 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
649 typedef struct _PRINTER_INFO_5A {
650 LPSTR pPrinterName;
651 LPSTR pPortName;
652 DWORD Attributes;
653 DWORD DeviceNotSelectedTimeout;
654 DWORD TransmissionRetryTimeout;
655 } PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
657 typedef struct _PRINTER_INFO_5W {
658 LPWSTR pPrinterName;
659 LPWSTR pPortName;
660 DWORD Attributes;
661 DWORD DeviceNotSelectedTimeout;
662 DWORD TransmissionRetryTimeout;
663 } PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
665 DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
666 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
667 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
669 typedef struct _PRINTER_INFO_6 {
670 DWORD dwStatus;
671 } PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
673 typedef struct _PRINTER_INFO_7A {
674 LPSTR pszObjectGUID;
675 DWORD dwAction;
676 } PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
678 typedef struct _PRINTER_INFO_7W {
679 LPWSTR pszObjectGUID;
680 DWORD dwAction;
681 } PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
683 DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
684 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
685 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
687 typedef struct _PRINTER_INFO_8A {
688 LPDEVMODEA pDevMode;
689 } PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
691 typedef struct _PRINTER_INFO_8W {
692 LPDEVMODEW pDevMode;
693 } PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
695 DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
696 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
697 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
699 typedef struct _PRINTER_INFO_9A {
700 LPDEVMODEA pDevMode;
701 } PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
703 typedef struct _PRINTER_INFO_9W {
704 LPDEVMODEW pDevMode;
705 } PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
707 DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
708 DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
709 DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
712 typedef struct _JOB_INFO_1A {
713 DWORD JobId;
714 LPSTR pPrinterName;
715 LPSTR pMachineName;
716 LPSTR pUserName;
717 LPSTR pDocument;
718 LPSTR pDatatype;
719 LPSTR pStatus;
720 DWORD Status;
721 DWORD Priority;
722 DWORD Position;
723 DWORD TotalPages;
724 DWORD PagesPrinted;
725 SYSTEMTIME Submitted;
726 } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
728 typedef struct _JOB_INFO_1W {
729 DWORD JobId;
730 LPWSTR pPrinterName;
731 LPWSTR pMachineName;
732 LPWSTR pUserName;
733 LPWSTR pDocument;
734 LPWSTR pDatatype;
735 LPWSTR pStatus;
736 DWORD Status;
737 DWORD Priority;
738 DWORD Position;
739 DWORD TotalPages;
740 DWORD PagesPrinted;
741 SYSTEMTIME Submitted;
742 } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
744 DECL_WINELIB_TYPE_AW(JOB_INFO_1)
745 DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
746 DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
748 typedef struct _JOB_INFO_2A {
749 DWORD JobId;
750 LPSTR pPrinterName;
751 LPSTR pMachineName;
752 LPSTR pUserName;
753 LPSTR pDocument;
754 LPSTR pNotifyName;
755 LPSTR pDatatype;
756 LPSTR pPrintProcessor;
757 LPSTR pParameters;
758 LPSTR pDriverName;
759 LPDEVMODEA pDevMode;
760 LPSTR pStatus;
761 PSECURITY_DESCRIPTOR pSecurityDescriptor;
762 DWORD Status;
763 DWORD Priority;
764 DWORD Position;
765 DWORD StartTime;
766 DWORD UntilTime;
767 DWORD TotalPages;
768 DWORD Size;
769 SYSTEMTIME Submitted;
770 DWORD Time;
771 DWORD PagesPrinted;
772 } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
774 typedef struct _JOB_INFO_2W {
775 DWORD JobId;
776 LPWSTR pPrinterName;
777 LPWSTR pMachineName;
778 LPWSTR pUserName;
779 LPWSTR pDocument;
780 LPWSTR pNotifyName;
781 LPWSTR pDatatype;
782 LPWSTR pPrintProcessor;
783 LPWSTR pParameters;
784 LPWSTR pDriverName;
785 LPDEVMODEW pDevMode;
786 LPWSTR pStatus;
787 PSECURITY_DESCRIPTOR pSecurityDescriptor;
788 DWORD Status;
789 DWORD Priority;
790 DWORD Position;
791 DWORD StartTime;
792 DWORD UntilTime;
793 DWORD TotalPages;
794 DWORD Size;
795 SYSTEMTIME Submitted;
796 DWORD Time;
797 DWORD PagesPrinted;
798 } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
800 DECL_WINELIB_TYPE_AW(JOB_INFO_2)
801 DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
802 DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
804 typedef struct _JOB_INFO_3 {
805 DWORD JobId;
806 DWORD NextJobId;
807 DWORD Reserved;
808 } JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
810 typedef struct _ADDJOB_INFO_1A {
811 LPSTR Path;
812 DWORD JobId;
813 } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
815 typedef struct _ADDJOB_INFO_1W {
816 LPWSTR Path;
817 DWORD JobId;
818 } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
820 DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
821 DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
822 DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
824 typedef struct _DOC_INFO_1A {
825 LPSTR pDocName;
826 LPSTR pOutputFile;
827 LPSTR pDatatype;
828 } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
830 typedef struct _DOC_INFO_1W {
831 LPWSTR pDocName;
832 LPWSTR pOutputFile;
833 LPWSTR pDatatype;
834 } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
836 DECL_WINELIB_TYPE_AW(DOC_INFO_1)
837 DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
838 DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
840 typedef struct _DOC_INFO_2A {
841 LPSTR pDocName;
842 LPSTR pOutputFile;
843 LPSTR pDatatype;
844 DWORD dwMode;
845 DWORD JobId;
846 } DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
848 typedef struct _DOC_INFO_2W {
849 LPWSTR pDocName;
850 LPWSTR pOutputFile;
851 LPWSTR pDatatype;
852 DWORD dwMode;
853 DWORD JobId;
854 } DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
856 DECL_WINELIB_TYPE_AW(DOC_INFO_2)
857 DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
858 DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
860 typedef struct _FORM_INFO_1A {
861 DWORD Flags;
862 LPSTR pName;
863 SIZEL Size;
864 RECTL ImageableArea;
865 } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
867 typedef struct _FORM_INFO_1W {
868 DWORD Flags;
869 LPWSTR pName;
870 SIZEL Size;
871 RECTL ImageableArea;
872 } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
874 DECL_WINELIB_TYPE_AW(FORM_INFO_1)
875 DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
876 DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
878 typedef struct _FORM_INFO_2A {
879 DWORD Flags;
880 LPSTR pName;
881 SIZEL Size;
882 RECTL ImageableArea;
883 LPCSTR pKeyword;
884 DWORD StringType;
885 LPSTR pMuiDll;
886 DWORD dwResourceId;
887 LPSTR pDisplayName;
888 LANGID wLangId;
889 } FORM_INFO_2A, *PFORM_INFO_2A, *LPFORM_INFO_2A;
891 typedef struct _FORM_INFO_2W {
892 DWORD Flags;
893 LPWSTR pName;
894 SIZEL Size;
895 RECTL ImageableArea;
896 LPCSTR pKeyword;
897 DWORD StringType;
898 LPWSTR pMuiDll;
899 DWORD dwResourceId;
900 LPWSTR pDisplayName;
901 LANGID wLangId;
902 } FORM_INFO_2W, *PFORM_INFO_2W, *LPFORM_INFO_2W;
904 DECL_WINELIB_TYPE_AW(FORM_INFO_2)
905 DECL_WINELIB_TYPE_AW(PFORM_INFO_2)
906 DECL_WINELIB_TYPE_AW(LPFORM_INFO_2)
908 typedef struct _PRINTPROCESSOR_INFO_1A {
909 LPSTR pName;
910 } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
911 *LPPRINTPROCESSOR_INFO_1A;
913 typedef struct _PRINTPROCESSOR_INFO_1W {
914 LPWSTR pName;
915 } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
916 *LPPRINTPROCESSOR_INFO_1W;
918 DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
919 DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
920 DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
922 typedef struct _PORT_INFO_1A {
923 LPSTR pName;
924 } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
926 typedef struct _PORT_INFO_1W {
927 LPWSTR pName;
928 } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
930 DECL_WINELIB_TYPE_AW(PORT_INFO_1)
931 DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
932 DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
934 typedef struct _PORT_INFO_2A {
935 LPSTR pPortName;
936 LPSTR pMonitorName;
937 LPSTR pDescription;
938 DWORD fPortType;
939 DWORD Reserved;
940 } PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
942 typedef struct _PORT_INFO_2W {
943 LPWSTR pPortName;
944 LPWSTR pMonitorName;
945 LPWSTR pDescription;
946 DWORD fPortType;
947 DWORD Reserved;
948 } PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
950 DECL_WINELIB_TYPE_AW(PORT_INFO_2)
951 DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
952 DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
954 typedef struct _PORT_INFO_3A {
955 DWORD dwStatus;
956 LPSTR pszStatus;
957 DWORD dwSeverity;
958 } PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
960 typedef struct _PORT_INFO_3W {
961 DWORD dwStatus;
962 LPWSTR pszStatus;
963 DWORD dwSeverity;
964 } PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
966 DECL_WINELIB_TYPE_AW(PORT_INFO_3)
967 DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
968 DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
970 typedef struct _MONITOR_INFO_1A {
971 LPSTR pName;
972 } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
974 typedef struct _MONITOR_INFO_1W {
975 LPWSTR pName;
976 } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
978 DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
979 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
980 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
982 #endif /* Status */
985 typedef struct _MONITOR_INFO_2A {
986 LPSTR pName;
987 LPSTR pEnvironment;
988 LPSTR pDLLName;
989 } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
991 typedef struct _MONITOR_INFO_2W {
992 LPWSTR pName;
993 LPWSTR pEnvironment;
994 LPWSTR pDLLName;
995 } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
997 DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
998 DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
999 DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
1001 typedef struct _DATATYPES_INFO_1A {
1002 LPSTR pName;
1003 } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
1005 typedef struct _DATATYPES_INFO_1W {
1006 LPWSTR pName;
1007 } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
1009 DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
1010 DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
1011 DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
1013 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
1014 WORD Type;
1015 WORD Reserved0;
1016 DWORD Reserved1;
1017 DWORD Reserved2;
1018 DWORD Count;
1019 PWORD pFields;
1020 } PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
1021 *LPPRINTER_NOTIFY_OPTIONS_TYPE;
1023 typedef struct _PRINTER_NOTIFY_OPTIONS {
1024 DWORD Version;
1025 DWORD Flags;
1026 DWORD Count;
1027 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
1028 } PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
1030 typedef struct _PRINTER_NOTIFY_INFO_DATA {
1031 WORD Type;
1032 WORD Field;
1033 DWORD Reserved;
1034 DWORD Id;
1035 union {
1036 DWORD adwData[2];
1037 struct {
1038 DWORD cbBuf;
1039 LPVOID pBuf;
1040 } Data;
1041 } NotifyData;
1042 } PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
1043 *LPPRINTER_NOTIFY_INFO_DATA;
1045 typedef struct _PRINTER_NOTIFY_INFO {
1046 DWORD Version;
1047 DWORD Flags;
1048 DWORD Count;
1049 PRINTER_NOTIFY_INFO_DATA aData[1];
1050 } PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
1052 typedef struct _PROVIDOR_INFO_1A {
1053 LPSTR pName;
1054 LPSTR pEnvironment;
1055 LPSTR pDLLName;
1056 } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
1058 typedef struct _PROVIDOR_INFO_1W {
1059 LPWSTR pName;
1060 LPWSTR pEnvironment;
1061 LPWSTR pDLLName;
1062 } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
1064 DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
1065 DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
1066 DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
1068 typedef struct _PRINTER_ENUM_VALUESA {
1069 LPSTR pValueName;
1070 DWORD cbValueName;
1071 DWORD dwType;
1072 LPBYTE pData;
1073 DWORD cbData;
1074 } PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
1076 typedef struct _PRINTER_ENUM_VALUESW {
1077 LPWSTR pValueName;
1078 DWORD cbValueName;
1079 DWORD dwType;
1080 LPBYTE pData;
1081 DWORD cbData;
1082 } PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
1084 DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
1085 DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
1087 typedef enum {
1088 BIDI_NULL = 0,
1089 BIDI_INT,
1090 BIDI_FLOAT,
1091 BIDI_BOOL,
1092 BIDI_STRING,
1093 BIDI_TEXT,
1094 BIDI_ENUM,
1095 BIDI_BLOB
1096 } BIDI_TYPE;
1098 typedef struct _BINARY_CONTAINER {
1099 DWORD cbBuf;
1100 LPBYTE pData;
1101 } BINARY_CONTAINER, *PBINARY_CONTAINER;
1103 typedef struct _BIDI_DATA {
1104 DWORD dwBidiType;
1105 union
1107 BOOL bData;
1108 INT iData;
1109 LPWSTR sData;
1110 FLOAT fData;
1111 BINARY_CONTAINER biData;
1112 } u;
1113 } BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
1115 typedef struct _BIDI_REQUEST_DATA {
1116 DWORD dwReqNumber;
1117 LPWSTR pSchema;
1118 BIDI_DATA data;
1119 } BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
1121 typedef struct _BIDI_REQUEST_CONTAINER {
1122 DWORD Version;
1123 DWORD Flags;
1124 DWORD Count;
1125 BIDI_REQUEST_DATA aData[1];
1126 } BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1128 typedef struct _BIDI_RESPONSE_DATA {
1129 DWORD dwResult;
1130 DWORD dwReqNumber;
1131 LPWSTR pSchema;
1132 BIDI_DATA data;
1133 } BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1135 typedef struct _BIDI_RESPONSE_CONTAINER {
1136 DWORD Version;
1137 DWORD Flags;
1138 DWORD Count;
1139 BIDI_RESPONSE_DATA aData[1];
1140 } BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1142 /* string constants */
1144 #define SPLREG_DEFAULT_SPOOL_DIRECTORYA "DefaultSpoolDirectory"
1145 #ifdef _MSC_VER
1146 #define SPLREG_DEFAULT_SPOOL_DIRECTORYW L"DefaultSpoolDirectory"
1147 #elif defined(__GNUC__)
1148 #define SPLREG_DEFAULT_SPOOL_DIRECTORYW (const WCHAR[]){'D','e','f','a','u','l','t','S','p','o','o','l','D','i','r','e','c','t','o','r','y',0}
1149 #else
1150 static const WCHAR SPLREG_DEFAULT_SPOOL_DIRECTORYW[] = {'D','e','f','a','u','l','t','S','p','o','o','l','D','i','r','e','c','t','o','r','y',0};
1151 #endif
1152 #define SPLREG_DEFAULT_SPOOL_DIRECTORY WINELIB_NAME_AW(SPLREG_DEFAULT_SPOOL_DIRECTORY)
1154 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULTA "PortThreadPriorityDefault"
1155 #ifdef _MSC_VER
1156 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULTW L"PortThreadPriorityDefault"
1157 #elif defined(__GNUC__)
1158 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULTW (const WCHAR[]){'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0}
1159 #else
1160 static const WCHAR SPLREG_PORT_THREAD_PRIORITY_DEFAULTW[] = {'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0};
1161 #endif
1162 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULT WINELIB_NAME_AW(SPLREG_PORT_THREAD_PRIORITY_DEFAULT)
1164 #define SPLREG_PORT_THREAD_PRIORITYA "PortThreadPriority"
1165 #ifdef _MSC_VER
1166 #define SPLREG_PORT_THREAD_PRIORITYW L"PortThreadPriority"
1167 #elif defined(__GNUC__)
1168 #define SPLREG_PORT_THREAD_PRIORITYW (const WCHAR[]){'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0}
1169 #else
1170 static const WCHAR SPLREG_PORT_THREAD_PRIORITYW[] = {'P','o','r','t','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0};
1171 #endif
1172 #define SPLREG_PORT_THREAD_PRIORITY WINELIB_NAME_AW(SPLREG_PORT_THREAD_PRIORITY)
1174 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTA "SchedulerThreadPriorityDefault"
1175 #ifdef _MSC_VER
1176 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTW L"SchedulerThreadPriorityDefault"
1177 #elif defined(__GNUC__)
1178 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTW (const WCHAR[]){'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0}
1179 #else
1180 static const WCHAR SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULTW[] = {'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y','D','e','f','a','u','l','t',0};
1181 #endif
1182 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT WINELIB_NAME_AW(SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT)
1184 #define SPLREG_SCHEDULER_THREAD_PRIORITYA "SchedulerThreadPriority"
1185 #ifdef _MSC_VER
1186 #define SPLREG_SCHEDULER_THREAD_PRIORITYW L"SchedulerThreadPriority"
1187 #elif defined(__GNUC__)
1188 #define SPLREG_SCHEDULER_THREAD_PRIORITYW (const WCHAR[]){'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0}
1189 #else
1190 static const WCHAR SPLREG_SCHEDULER_THREAD_PRIORITYW[] = {'S','c','h','e','d','u','l','e','r','T','h','r','e','a','d','P','r','i','o','r','i','t','y',0};
1191 #endif
1192 #define SPLREG_SCHEDULER_THREAD_PRIORITY WINELIB_NAME_AW(SPLREG_SCHEDULER_THREAD_PRIORITY)
1194 #define SPLREG_BEEP_ENABLEDA "BeepEnabled"
1195 #ifdef _MSC_VER
1196 #define SPLREG_BEEP_ENABLEDW L"BeepEnabled"
1197 #elif defined(__GNUC__)
1198 #define SPLREG_BEEP_ENABLEDW (const WCHAR[]){'B','e','e','p','E','n','a','b','l','e','d',0}
1199 #else
1200 static const WCHAR SPLREG_BEEP_ENABLEDW[] = {'B','e','e','p','E','n','a','b','l','e','d',0};
1201 #endif
1202 #define SPLREG_BEEP_ENABLED WINELIB_NAME_AW(SPLREG_BEEP_ENABLED)
1204 #define SPLREG_NET_POPUPA "NetPopup"
1205 #ifdef _MSC_VER
1206 #define SPLREG_NET_POPUPW L"NetPopup"
1207 #elif defined(__GNUC__)
1208 #define SPLREG_NET_POPUPW (const WCHAR[]){'N','e','t','P','o','p','u','p',0}
1209 #else
1210 static const WCHAR SPLREG_NET_POPUPW[] = {'N','e','t','P','o','p','u','p',0};
1211 #endif
1212 #define SPLREG_NET_POPUP WINELIB_NAME_AW(SPLREG_NET_POPUP)
1214 #define SPLREG_RETRY_POPUPA "RetryPopup"
1215 #ifdef _MSC_VER
1216 #define SPLREG_RETRY_POPUPW L"RetryPopup"
1217 #elif defined(__GNUC__)
1218 #define SPLREG_RETRY_POPUPW (const WCHAR[]){'R','e','t','r','y','P','o','p','u','p',0}
1219 #else
1220 static const WCHAR SPLREG_RETRY_POPUPW[] = {'R','e','t','r','y','P','o','p','u','p',0};
1221 #endif
1222 #define SPLREG_RETRY_POPUP WINELIB_NAME_AW(SPLREG_RETRY_POPUP)
1224 #define SPLREG_NET_POPUP_TO_COMPUTERA "NetPopupToComputer"
1225 #ifdef _MSC_VER
1226 #define SPLREG_NET_POPUP_TO_COMPUTERW L"NetPopupToComputer"
1227 #elif defined(__GNUC__)
1228 #define SPLREG_NET_POPUP_TO_COMPUTERW (const WCHAR[]){'N','e','t','P','o','p','u','p','T','o','C','o','m','p','u','t','e','r',0}
1229 #else
1230 static const WCHAR SPLREG_NET_POPUP_TO_COMPUTERW[] = {'N','e','t','P','o','p','u','p','T','o','C','o','m','p','u','t','e','r',0};
1231 #endif
1232 #define SPLREG_NET_POPUP_TO_COMPUTER WINELIB_NAME_AW(SPLREG_NET_POPUP_TO_COMPUTER)
1234 #define SPLREG_EVENT_LOGA "EventLog"
1235 #ifdef _MSC_VER
1236 #define SPLREG_EVENT_LOGW L"EventLog"
1237 #elif defined(__GNUC__)
1238 #define SPLREG_EVENT_LOGW (const WCHAR[]){'E','v','e','n','t','L','o','g',0}
1239 #else
1240 static const WCHAR SPLREG_EVENT_LOGW[] = {'E','v','e','n','t','L','o','g',0};
1241 #endif
1242 #define SPLREG_EVENT_LOG WINELIB_NAME_AW(SPLREG_EVENT_LOG)
1244 #define SPLREG_MAJOR_VERSIONA "MajorVersion"
1245 #ifdef _MSC_VER
1246 #define SPLREG_MAJOR_VERSIONW L"MajorVersion"
1247 #elif defined(__GNUC__)
1248 #define SPLREG_MAJOR_VERSIONW (const WCHAR[]){'M','a','j','o','r','V','e','r','s','i','o','n',0}
1249 #else
1250 static const WCHAR SPLREG_MAJOR_VERSIONW[] = {'M','a','j','o','r','V','e','r','s','i','o','n',0};
1251 #endif
1252 #define SPLREG_MAJOR_VERSION WINELIB_NAME_AW(SPLREG_MAJOR_VERSION)
1254 #define SPLREG_MINOR_VERSIONA "MinorVersion"
1255 #ifdef _MSC_VER
1256 #define SPLREG_MINOR_VERSIONW L"MinorVersion"
1257 #elif defined(__GNUC__)
1258 #define SPLREG_MINOR_VERSIONW (const WCHAR[]){'M','i','n','o','r','V','e','r','s','i','o','n',0}
1259 #else
1260 static const WCHAR SPLREG_MINOR_VERSIONW[] = {'M','i','n','o','r','V','e','r','s','i','o','n',0};
1261 #endif
1262 #define SPLREG_MINOR_VERSION WINELIB_NAME_AW(SPLREG_MINOR_VERSION)
1264 #define SPLREG_ARCHITECTUREA "Architecture"
1265 #ifdef _MSC_VER
1266 #define SPLREG_ARCHITECTUREW L"Architecture"
1267 #elif defined(__GNUC__)
1268 #define SPLREG_ARCHITECTUREW (const WCHAR[]){'A','r','c','h','i','t','e','c','t','u','r','e',0}
1269 #else
1270 static const WCHAR SPLREG_ARCHITECTUREW[] = {'A','r','c','h','i','t','e','c','t','u','r','e',0};
1271 #endif
1272 #define SPLREG_ARCHITECTURE WINELIB_NAME_AW(SPLREG_ARCHITECTURE)
1274 #define SPLREG_OS_VERSIONA "OSVersion"
1275 #ifdef _MSC_VER
1276 #define SPLREG_OS_VERSIONW L"OSVersion"
1277 #elif defined(__GNUC__)
1278 #define SPLREG_OS_VERSIONW (const WCHAR[]){'O','S','V','e','r','s','i','o','n',0}
1279 #else
1280 static const WCHAR SPLREG_OS_VERSIONW[] = {'O','S','V','e','r','s','i','o','n',0};
1281 #endif
1282 #define SPLREG_OS_VERSION WINELIB_NAME_AW(SPLREG_OS_VERSION)
1284 #define SPLREG_OS_VERSIONEXA "OSVersionEx"
1285 #ifdef _MSC_VER
1286 #define SPLREG_OS_VERSIONEXW L"OSVersionEx"
1287 #elif defined(__GNUC__)
1288 #define SPLREG_OS_VERSIONEXW (const WCHAR[]){'O','S','V','e','r','s','i','o','n','E','x',0}
1289 #else
1290 static const WCHAR SPLREG_OS_VERSIONEXW[] = {'O','S','V','e','r','s','i','o','n','E','x',0};
1291 #endif
1292 #define SPLREG_OS_VERSIONEX WINELIB_NAME_AW(SPLREG_OS_VERSIONEX)
1294 #define SPLREG_DS_PRESENTA "DsPresent"
1295 #ifdef _MSC_VER
1296 #define SPLREG_DS_PRESENTW L"DsPresent"
1297 #elif defined(__GNUC__)
1298 #define SPLREG_DS_PRESENTW (const WCHAR[]){'D','s','P','r','e','s','e','n','t',0}
1299 #else
1300 static const WCHAR SPLREG_DS_PRESENTW[] = {'D','s','P','r','e','s','e','n','t',0};
1301 #endif
1302 #define SPLREG_DS_PRESENT WINELIB_NAME_AW(SPLREG_DS_PRESENT)
1304 #define SPLREG_DS_PRESENT_FOR_USERA "DsPresentForUser"
1305 #ifdef _MSC_VER
1306 #define SPLREG_DS_PRESENT_FOR_USERW L"DsPresentForUser"
1307 #elif defined(__GNUC__)
1308 #define SPLREG_DS_PRESENT_FOR_USERW (const WCHAR[]){'D','s','P','r','e','s','e','n','t','F','o','r','U','s','e','r',0}
1309 #else
1310 static const WCHAR SPLREG_DS_PRESENT_FOR_USERW[] = {'D','s','P','r','e','s','e','n','t','F','o','r','U','s','e','r',0};
1311 #endif
1312 #define SPLREG_DS_PRESENT_FOR_USER WINELIB_NAME_AW(SPLREG_DS_PRESENT_FOR_USER)
1314 #define SPLREG_REMOTE_FAXA "RemoteFax"
1315 #ifdef _MSC_VER
1316 #define SPLREG_REMOTE_FAXW L"RemoteFax"
1317 #elif defined(__GNUC__)
1318 #define SPLREG_REMOTE_FAXW (const WCHAR[]){'R','e','m','o','t','e','F','a','x',0}
1319 #else
1320 static const WCHAR SPLREG_REMOTE_FAXW[] = {'R','e','m','o','t','e','F','a','x',0};
1321 #endif
1322 #define SPLREG_REMOTE_FAX WINELIB_NAME_AW(SPLREG_REMOTE_FAX)
1324 #define SPLREG_RESTART_JOB_ON_POOL_ERRORA "RestartJobOnPoolError"
1325 #ifdef _MSC_VER
1326 #define SPLREG_RESTART_JOB_ON_POOL_ERRORW L"RestartJobOnPoolError"
1327 #elif defined(__GNUC__)
1328 #define SPLREG_RESTART_JOB_ON_POOL_ERRORW (const WCHAR[]){'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','r','r','o','r',0}
1329 #else
1330 static const WCHAR SPLREG_RESTART_JOB_ON_POOL_ERRORW[] = {'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','r','r','o','r',0};
1331 #endif
1332 #define SPLREG_RESTART_JOB_ON_POOL_ERROR WINELIB_NAME_AW(SPLREG_RESTART_JOB_ON_POOL_ERROR)
1334 #define SPLREG_RESTART_JOB_ON_POOL_ENABLEDA "RestartJobOnPoolEnabled"
1335 #ifdef _MSC_VER
1336 #define SPLREG_RESTART_JOB_ON_POOL_ENABLEDW L"RestartJobOnPoolEnabled"
1337 #elif defined(__GNUC__)
1338 #define SPLREG_RESTART_JOB_ON_POOL_ENABLEDW (const WCHAR[]){'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','n','a','b','l','e','d',0}
1339 #else
1340 static const WCHAR SPLREG_RESTART_JOB_ON_POOL_ENABLEDW[] = {'R','e','s','t','a','r','t','J','o','b','O','n','P','o','o','l','E','n','a','b','l','e','d',0};
1341 #endif
1342 #define SPLREG_RESTART_JOB_ON_POOL_ENABLED WINELIB_NAME_AW(SPLREG_RESTART_JOB_ON_POOL_ENABLED)
1344 #define SPLREG_DNS_MACHINE_NAMEA "DNSMachineName"
1345 #ifdef _MSC_VER
1346 #define SPLREG_DNS_MACHINE_NAMEW L"DNSMachineName"
1347 #elif defined(__GNUC__)
1348 #define SPLREG_DNS_MACHINE_NAMEW (const WCHAR[]){'D','N','S','M','a','c','h','i','n','e','N','a','m','e',0}
1349 #else
1350 static const WCHAR SPLREG_DNS_MACHINE_NAMEW[] = {'D','N','S','M','a','c','h','i','n','e','N','a','m','e',0};
1351 #endif
1352 #define SPLREG_DNS_MACHINE_NAME WINELIB_NAME_AW(SPLREG_DNS_MACHINE_NAME)
1354 #define SPLREG_ALLOW_USER_MANAGEFORMSA "AllowUserManageForms"
1355 #ifdef _MSC_VER
1356 #define SPLREG_ALLOW_USER_MANAGEFORMSW L"AllowUserManageForms"
1357 #elif defined(__GNUC__)
1358 #define SPLREG_ALLOW_USER_MANAGEFORMSW (const WCHAR[]){'A','l','l','o','w','U','s','e','r','M','a','n','a','g','e','F','o','r','m','s',0}
1359 #else
1360 static const WCHAR SPLREG_ALLOW_USER_MANAGEFORMSW[] = {'A','l','l','o','w','U','s','e','r','M','a','n','a','g','e','F','o','r','m','s',0};
1361 #endif
1362 #define SPLREG_ALLOW_USER_MANAGEFORMS WINELIB_NAME_AW(SPLREG_ALLOW_USER_MANAGEFORMS)
1364 #define SPLREG_WEBSHAREMGMTA "WebShareMgmt"
1365 #ifdef _MSC_VER
1366 #define SPLREG_WEBSHAREMGMTW L"WebShareMgmt"
1367 #elif defined(__GNUC__)
1368 #define SPLREG_WEBSHAREMGMTW (const WCHAR[]){'W','e','b','S','h','a','r','e','M','g','m','t',0}
1369 #else
1370 static const WCHAR SPLREG_WEBSHAREMGMTW[] = {'W','e','b','S','h','a','r','e','M','g','m','t',0};
1371 #endif
1372 #define SPLREG_WEBSHAREMGMT WINELIB_NAME_AW(SPLREG_WEBSHAREMGMT)
1374 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPSA "PrintDriverIsolationGroups"
1375 #ifdef _MSC_VER
1376 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPSW L"PrintDriverIsolationGroups"
1377 #elif defined(__GNUC__)
1378 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPSW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','G','r','o','u','p','s',0}
1379 #else
1380 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_GROUPSW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','G','r','o','u','p','s',0};
1381 #endif
1382 #define SPLREG_PRINT_DRIVER_ISOLATION_GROUPS WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_GROUPS)
1384 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEA "PrintDriverIsolationTimeBeforeRecycle"
1385 #ifdef _MSC_VER
1386 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEW L"PrintDriverIsolationTimeBeforeRecycle"
1387 #elif defined(__GNUC__)
1388 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','T','i','m','e','B','e','f','o','r','e','R','e','c','y','c','l','e',0}
1389 #else
1390 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLEW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','T','i','m','e','B','e','f','o','r','e','R','e','c','y','c','l','e',0};
1391 #endif
1392 #define SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE)
1394 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEA "PrintDriverIsolationMaxobjsBeforeRecycle"
1395 #ifdef _MSC_VER
1396 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEW L"PrintDriverIsolationMaxobjsBeforeRecycle"
1397 #elif defined(__GNUC__)
1398 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','M','a','x','o','b','j','s','B','e','f','o','r','e','R','e','c','y','c','l','e',0}
1399 #else
1400 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLEW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','M','a','x','o','b','j','s','B','e','f','o','r','e','R','e','c','y','c','l','e',0};
1401 #endif
1402 #define SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE)
1404 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTA "PrintDriverIsolationIdleTimeout"
1405 #ifdef _MSC_VER
1406 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTW L"PrintDriverIsolationIdleTimeout"
1407 #elif defined(__GNUC__)
1408 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','I','d','l','e','T','i','m','e','o','u','t',0}
1409 #else
1410 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUTW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','I','d','l','e','T','i','m','e','o','u','t',0};
1411 #endif
1412 #define SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT)
1414 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYA "PrintDriverIsolationExecutionPolicy"
1415 #ifdef _MSC_VER
1416 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYW L"PrintDriverIsolationExecutionPolicy"
1417 #elif defined(__GNUC__)
1418 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','E','x','e','c','u','t','i','o','n','P','o','l','i','c','y',0}
1419 #else
1420 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICYW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','E','x','e','c','u','t','i','o','n','P','o','l','i','c','y',0};
1421 #endif
1422 #define SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY)
1424 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYA "PrintDriverIsolationOverrideCompat"
1425 #ifdef _MSC_VER
1426 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYW L"PrintDriverIsolationOverrideCompat"
1427 #elif defined(__GNUC__)
1428 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYW (const WCHAR[]){'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','O','v','e','r','r','i','d','e','C','o','m','p','a','t',0}
1429 #else
1430 static const WCHAR SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICYW[] = {'P','r','i','n','t','D','r','i','v','e','r','I','s','o','l','a','t','i','o','n','O','v','e','r','r','i','d','e','C','o','m','p','a','t',0};
1431 #endif
1432 #define SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY WINELIB_NAME_AW(SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY)
1434 /* DECLARATIONS */
1435 INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1436 LPSTR pOutput, LPDEVMODEA pDevMode);
1437 INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
1438 WORD fwCapability, LPWSTR pOutput,
1439 const DEVMODEW *pDevMode);
1441 #define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1443 LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1444 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
1445 LPDEVMODEA pDevModeInput,DWORD fMode );
1446 LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1447 LPWSTR pDeviceName,
1448 LPDEVMODEW pDevModeOutput,
1449 LPDEVMODEW pDevModeInput, DWORD fMode);
1451 #define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1453 BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1454 LPPRINTER_DEFAULTSA pDefault);
1455 BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1456 LPPRINTER_DEFAULTSW pDefault);
1458 #define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1460 BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1461 BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1462 #define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1464 BOOL WINAPI ClosePrinter (HANDLE phPrinter);
1466 BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1467 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1468 LPDWORD pcReturned);
1469 BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1470 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1471 LPDWORD pcReturned);
1472 #define EnumJobs WINELIB_NAME_AW(EnumJobs)
1474 BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1475 DWORD dwLevel, LPBYTE lpbPrinters,
1476 DWORD cbBuf, LPDWORD lpdwNeeded,
1477 LPDWORD lpdwReturned);
1478 BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1479 DWORD dwLevel, LPBYTE lpbPrinters,
1480 DWORD cbBuf, LPDWORD lpdwNeeded,
1481 LPDWORD lpdwReturned);
1482 #define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1484 BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
1486 BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1487 BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1488 #define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1490 BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1491 DWORD Level, LPBYTE pDriverInfo,
1492 DWORD cbBuf, LPDWORD pcbNeeded);
1493 BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1494 DWORD Level, LPBYTE pDriverInfo,
1495 DWORD cbBuf, LPDWORD pcbNeeded);
1496 #define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1498 BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1499 DWORD Command);
1500 BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1501 DWORD Command);
1502 #define SetJob WINELIB_NAME_AW(SetJob)
1504 BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1505 DWORD cbBuf, LPDWORD pcbNeeded);
1506 BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1507 DWORD cbBuf, LPDWORD pcbNeeded);
1508 #define GetJob WINELIB_NAME_AW(GetJob)
1510 HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1511 HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1512 #define AddPrinter WINELIB_NAME_AW(AddPrinter)
1514 BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1516 BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1517 DWORD Command);
1518 BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1519 DWORD Command);
1520 #define SetPrinter WINELIB_NAME_AW(SetPrinter)
1522 BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1523 DWORD cbBuf, LPDWORD pcbNeeded);
1524 BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1525 DWORD cbBuf, LPDWORD pcbNeeded);
1526 #define GetPrinter WINELIB_NAME_AW(GetPrinter)
1528 BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1529 BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1530 #define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1532 BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1533 DWORD dwFileCopyFlags);
1534 BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1535 DWORD dwFileCopyFlags);
1536 #define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1538 BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1539 LPBYTE pDriverInfo, DWORD cbBuf,
1540 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1541 BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1542 LPBYTE pDriverInfo, DWORD cbBuf,
1543 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1544 #define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1546 BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1547 BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1548 #define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1550 BOOL WINAPI SetDefaultPrinterA(LPCSTR);
1551 BOOL WINAPI SetDefaultPrinterW(LPCWSTR);
1552 #define SetDefaultPrinter WINELIB_NAME_AW(SetDefaultPrinter)
1554 BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1555 LPSTR pDriverName);
1556 BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1557 LPWSTR pDriverName);
1558 #define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1560 BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1561 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1562 BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1563 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1564 #define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1566 BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1567 LPSTR pPathName, LPSTR pPrintProcessorName);
1568 BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1569 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1570 #define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1572 BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1573 DWORD Level, LPBYTE pPrintProcessorInfo,
1574 DWORD cbBuf, LPDWORD pcbNeeded,
1575 LPDWORD pcbReturned);
1576 BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1577 DWORD Level, LPBYTE pPrintProcessorInfo,
1578 DWORD cbBuf, LPDWORD pcbNeeded,
1579 LPDWORD pcbReturned);
1580 #define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1582 BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
1583 DWORD Level,
1584 LPBYTE pPrintProcessorInfo,
1585 DWORD cbBuf, LPDWORD pcbNeeded);
1587 BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1588 DWORD Level,
1589 LPBYTE pPrintProcessorInfo,
1590 DWORD cbBuf, LPDWORD pcbNeeded);
1591 #define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1593 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1594 LPSTR pPrintProcessorName,
1595 DWORD Level, LPBYTE pDatatypes,
1596 DWORD cbBuf, LPDWORD pcbNeeded,
1597 LPDWORD pcbReturned);
1598 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1599 LPWSTR pPrintProcessorName,
1600 DWORD Level, LPBYTE pDatatypes,
1601 DWORD cbBuf, LPDWORD pcbNeeded,
1602 LPDWORD pcbReturned);
1603 #define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1605 BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1606 LPSTR pPrintProcessorName);
1607 BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1608 LPWSTR pPrintProcessorName);
1609 #define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1611 DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1612 DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1613 #define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1615 BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1616 BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1617 LPDWORD pcWritten);
1618 BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1619 BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1620 BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1621 LPDWORD pNoBytesRead);
1622 BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1624 BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1625 LPDWORD pcbNeeded);
1626 BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1627 LPDWORD pcbNeeded);
1628 #define AddJob WINELIB_NAME_AW(AddJob)
1630 BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1632 LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
1633 LPSTR pDeviceName,
1634 PDEVMODEA pDevModeOutput,
1635 PDEVMODEA pDevModeInput);
1636 LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1637 LPWSTR pDeviceName,
1638 PDEVMODEW pDevModeOutput,
1639 PDEVMODEW pDevModeInput);
1640 #define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1642 DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1643 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1644 DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1645 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1646 #define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1648 DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1649 LPCSTR pValueName, LPDWORD pType,
1650 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1651 DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1652 LPCWSTR pValueName, LPDWORD pType,
1653 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1654 #define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1656 DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1657 LPCSTR pValueName);
1658 DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1659 LPCWSTR pValueName);
1660 #define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1662 DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1663 LPBYTE pData, DWORD cbData);
1664 DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1665 LPBYTE pData, DWORD cbData);
1666 #define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1668 DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1669 LPCSTR pValueName, DWORD Type,
1670 LPBYTE pData, DWORD cbData);
1671 DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1672 LPCWSTR pValueName, DWORD Type,
1673 LPBYTE pData, DWORD cbData);
1674 #define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1676 DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1677 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1678 DWORD fdwFlags,
1679 DWORD fdwOptions,
1680 LPVOID pPrinterNotifyOptions);
1681 BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1682 PDWORD pdwChange,
1683 LPVOID pvReserved,
1684 LPVOID *ppPrinterNotifyInfo);
1685 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
1686 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1688 DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1689 LPSTR pText, LPSTR pCaption, DWORD dwType);
1690 DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1691 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1692 #define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1694 BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1695 BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1696 #define AddForm WINELIB_NAME_AW(AddForm)
1698 BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1699 BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1700 #define DeleteForm WINELIB_NAME_AW(DeleteForm)
1702 BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1703 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1704 BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1705 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1706 #define GetForm WINELIB_NAME_AW(GetForm)
1708 BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1709 LPBYTE pForm);
1710 BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1711 LPBYTE pForm);
1712 #define SetForm WINELIB_NAME_AW(SetForm)
1714 BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1715 LPDWORD pcbNeeded, LPDWORD pcReturned);
1716 BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1717 LPDWORD pcbNeeded, LPDWORD pcReturned);
1718 #define EnumForms WINELIB_NAME_AW(EnumForms)
1720 BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1721 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1722 BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1723 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1724 #define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1726 DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1727 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1728 DWORD cbData, LPDWORD pcbData );
1729 DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1730 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1731 DWORD cbData, LPDWORD pcbData );
1732 #define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1734 BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1735 BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1736 #define AddMonitor WINELIB_NAME_AW(AddMonitor)
1738 BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1739 LPSTR pMonitorName);
1740 BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1741 LPWSTR pMonitorName);
1742 #define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1744 BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1745 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1746 BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1747 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1748 #define EnumPorts WINELIB_NAME_AW(EnumPorts)
1750 BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1751 BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1752 #define AddPort WINELIB_NAME_AW(AddPort)
1754 BOOL WINAPI AddPortExA(LPSTR, DWORD, LPBYTE, LPSTR);
1755 BOOL WINAPI AddPortExW(LPWSTR, DWORD, LPBYTE, LPWSTR);
1756 #define AddPortEx WINELIB_NAME_AW(AddPortEx)
1758 BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1759 BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1760 #define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1762 BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1763 BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1764 #define DeletePort WINELIB_NAME_AW(DeletePort)
1766 BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1767 LPBYTE pPortInfo);
1768 BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1769 LPBYTE pPortInfo);
1770 #define SetPort WINELIB_NAME_AW(SetPort)
1772 BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1773 BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1774 #define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1776 BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1777 BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1778 #define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1780 HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1782 BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1783 BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1784 #define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1786 BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1787 LPSTR pPrintProvidorName);
1788 BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1789 LPWSTR pPrintProvidorName);
1790 #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1792 DWORD WINAPI EnumPrinterKeyA(HANDLE printer, const CHAR *key,
1793 CHAR *subkey, DWORD size, DWORD *needed);
1794 DWORD WINAPI EnumPrinterKeyW(HANDLE printer, const WCHAR *key,
1795 WCHAR *subkey, DWORD size, DWORD *needed);
1796 #define EnumPrinterKey WINELIB_NAME_AW(EnumPrinterKey)
1798 DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1799 LPBYTE pEnumValues, DWORD cbEnumValues,
1800 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1801 DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1802 LPBYTE pEnumValues, DWORD cbEnumValues,
1803 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1804 #define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1806 LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1807 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1808 DWORD fMode);
1810 LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1811 LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1812 #define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1814 HRESULT WINAPI UploadPrinterDriverPackageA(LPCSTR,LPCSTR,LPCSTR,DWORD,HWND,LPSTR,PULONG);
1815 HRESULT WINAPI UploadPrinterDriverPackageW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,HWND,LPWSTR,PULONG);
1816 #define UploadPrinterDriverPackage WINELIB_NAME_AW(UploadPrinterDriverPackage)
1818 BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1819 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1820 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1822 #ifdef __cplusplus
1823 } /* extern "C" */
1824 #endif
1826 #endif /* __WINE_WINSPOOL_H */