VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/winspool.h@ 96080

最後變更 在這個檔案從96080是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette