VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/winspool.h@ 16410

最後變更 在這個檔案從16410是 16410,由 vboxsync 提交於 16 年 前

export the Wine stuff to OSE

  • 屬性 svn:eol-style 設為 native
檔案大小: 49.0 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#ifndef __WINE_WINSPOOL_H
23#define __WINE_WINSPOOL_H
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/* DEFINES */
30
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
45
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
50
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
59
60#define PRINTER_ENUM_EXPAND 0x00004000
61#define PRINTER_ENUM_CONTAINER 0x00008000
62
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
73
74
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
102#define NO_PRIORITY 0
103#define MAX_PRIORITY 99
104#define MIN_PRIORITY 1
105#define DEF_PRIORITY 1
106
107#define JOB_CONTROL_PAUSE 1
108#define JOB_CONTROL_RESUME 2
109#define JOB_CONTROL_CANCEL 3
110#define JOB_CONTROL_RESTART 4
111#define JOB_CONTROL_DELETE 5
112#define JOB_CONTROL_SENT_TO_PRINTER 6
113#define JOB_CONTROL_LAST_PAGE_EJECTED 7
114
115#define JOB_STATUS_PAUSED 0x0001
116#define JOB_STATUS_ERROR 0x0002
117#define JOB_STATUS_DELETING 0x0004
118#define JOB_STATUS_SPOOLING 0x0008
119#define JOB_STATUS_PRINTING 0x0010
120#define JOB_STATUS_OFFLINE 0x0020
121#define JOB_STATUS_PAPEROUT 0x0040
122#define JOB_STATUS_PRINTED 0x0080
123#define JOB_STATUS_DELETED 0x0100
124#define JOB_STATUS_BLOCKED_DEVQ 0x0200
125#define JOB_STATUS_USER_INTERVENTION 0x0400
126
127#define JOB_POSITION_UNSPECIFIED 1
128
129#define DI_CHANNEL 1
130#define DI_READ_SPOOL_JOB 3
131
132#define FORM_USER 0
133#define FORM_BUILTIN 1
134#define FORM_PRINTER 2
135
136#define PORT_TYPE_WRITE 1
137#define PORT_TYPE_READ 2
138#define PORT_TYPE_REDIRECTED 4
139#define PORT_TYPE_NET_ATTACHED 8
140
141#define PORT_STATUS_TYPE_ERROR 1
142#define PORT_STATUS_TYPE_WARNING 2
143#define PORT_STATUS_TYPE_INFO 3
144
145#define PORT_STATUS_OFFLINE 1
146#define PORT_STATUS_PAPER_JAM 2
147#define PORT_STATUS_PAPER_OUT 3
148#define PORT_STATUS_OUTPUT_BIN_FULL 4
149#define PORT_STATUS_PAPER_PROBLEM 5
150#define PORT_STATUS_NO_TONER 6
151#define PORT_STATUS_DOOR_OPEN 7
152#define PORT_STATUS_USER_INTERVENTION 8
153#define PORT_STATUS_OUT_OF_MEMORY 9
154#define PORT_STATUS_TONER_LOW 10
155#define PORT_STATUS_WARMING_UP 11
156#define PORT_STATUS_POWER_SAVE 12
157
158#define PRINTER_NOTIFY_TYPE 0
159#define JOB_NOTIFY_TYPE 1
160
161#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
162#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
163#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
164#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
165#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
166#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
167#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
168#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
169#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
170#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
171#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0a
172#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0b
173#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
174#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0d
175#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0e
176#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0f
177#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
178#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
179#define PRINTER_NOTIFY_FIELD_STATUS 0x12
180#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
181#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
182#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
183#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
184#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
185#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
186#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
187
188#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
189#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
190#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
191#define JOB_NOTIFY_FIELD_USER_NAME 0x03
192#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
193#define JOB_NOTIFY_FIELD_DATATYPE 0x05
194#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
195#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
196#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
197#define JOB_NOTIFY_FIELD_DEVMODE 0x09
198#define JOB_NOTIFY_FIELD_STATUS 0x0a
199#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0b
200#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0c
201#define JOB_NOTIFY_FIELD_DOCUMENT 0x0d
202#define JOB_NOTIFY_FIELD_PRIORITY 0x0e
203#define JOB_NOTIFY_FIELD_POSITION 0x0f
204#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
205#define JOB_NOTIFY_FIELD_START_TIME 0x11
206#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
207#define JOB_NOTIFY_FIELD_TIME 0x13
208#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
209#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
210#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
211#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
212
213#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
214#define PRINTER_NOTIFY_INFO_DISCARDED 1
215
216#define PRINTER_CHANGE_ADD_PRINTER 0x00000001
217#define PRINTER_CHANGE_SET_PRINTER 0x00000002
218#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
219#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
220#define PRINTER_CHANGE_PRINTER 0x000000ff
221#define PRINTER_CHANGE_ADD_JOB 0x00000100
222#define PRINTER_CHANGE_SET_JOB 0x00000200
223#define PRINTER_CHANGE_DELETE_JOB 0x00000400
224#define PRINTER_CHANGE_WRITE_JOB 0x00000800
225#define PRINTER_CHANGE_JOB 0x0000ff00
226#define PRINTER_CHANGE_ADD_FORM 0x00010000
227#define PRINTER_CHANGE_SET_FORM 0x00020000
228#define PRINTER_CHANGE_DELETE_FORM 0x00040000
229#define PRINTER_CHANGE_FORM 0x00070000
230#define PRINTER_CHANGE_ADD_PORT 0x00100000
231#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
232#define PRINTER_CHANGE_DELETE_PORT 0x00400000
233#define PRINTER_CHANGE_PORT 0x00700000
234#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
235#define PRINTER_CHANGE_DELETE_PRINTER_PROCESSOR 0x04000000
236#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
237#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
238#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
239#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
240#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
241#define PRINTER_CHANGE_TIMEOUT 0x80000000
242#define PRINTER_CHANGE_ALL 0x7777ffff
243
244#define PRINTER_ERROR_INFORMATION 0x80000000
245#define PRINTER_ERROR_WARNING 0x40000000
246#define PRINTER_ERROR_SEVERE 0x20000000
247
248#define PRINTER_ERROR_OUTODPAPER 0x00000001
249#define PRINTER_ERROR_JAM 0x00000002
250#define PRINTER_ERROR_OUTOFTONER 0x00000004
251
252/* Access Rights for Printserver, Printers and Printjobs */
253#define SERVER_ACCESS_ADMINISTER 0x00000001
254#define SERVER_ACCESS_ENUMERATE 0x00000002
255#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
256#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | \
257 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
258#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
259#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
260 SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
261
262#define PRINTER_ACCESS_ADMINISTER 0x00000004
263#define PRINTER_ACCESS_USE 0x00000008
264#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
265#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
266#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
267#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
268 PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
269
270#define JOB_ACCESS_ADMINISTER 0x00000010
271#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER)
272#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
273#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
274#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER)
275
276
277/* Flags for printer drivers */
278#define DRIVER_KERNELMODE 0x00000001
279#define DRIVER_USERMODE 0x00000002
280
281#define APD_STRICT_UPGRADE 0x00000001
282#define APD_STRICT_DOWNGRADE 0x00000002
283#define APD_COPY_ALL_FILES 0x00000004
284#define APD_COPY_NEW_FILES 0x00000008
285#define APD_COPY_FROM_DIRECTORY 0x00000010
286
287#define DPD_DELETE_UNUSED_FILES 0x00000001
288#define DPD_DELETE_SPECIFIC_VERSION 0x00000002
289#define DPD_DELETE_ALL_FILES 0x00000004
290
291/* dwAction for PRINTER_INFO_7 */
292#define DSPRINT_PUBLISH 0x00000001
293#define DSPRINT_UPDATE 0x00000002
294#define DSPRINT_UNPUBLISH 0x00000004
295#define DSPRINT_REPUBLISH 0x00000008
296#define DSPRINT_PENDING 0x80000000
297
298/* ##################################### */
299
300/* TYPES */
301typedef struct _PRINTER_DEFAULTSA {
302 LPSTR pDatatype;
303 LPDEVMODEA pDevMode;
304 ACCESS_MASK DesiredAccess;
305} PRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
306
307typedef struct _PRINTER_DEFAULTSW {
308 LPWSTR pDatatype;
309 LPDEVMODEW pDevMode;
310 ACCESS_MASK DesiredAccess;
311} PRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
312
313DECL_WINELIB_TYPE_AW(PRINTER_DEFAULTS)
314DECL_WINELIB_TYPE_AW(LPPRINTER_DEFAULTS)
315
316typedef struct _DRIVER_INFO_1A {
317 LPSTR pName;
318} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
319
320typedef struct _DRIVER_INFO_1W {
321 LPWSTR pName;
322} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
323
324DECL_WINELIB_TYPE_AW(DRIVER_INFO_1)
325DECL_WINELIB_TYPE_AW(PDRIVER_INFO_1)
326DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_1)
327
328typedef struct _DRIVER_INFO_2A {
329 DWORD cVersion;
330 LPSTR pName;
331 LPSTR pEnvironment;
332 LPSTR pDriverPath;
333 LPSTR pDataFile;
334 LPSTR pConfigFile;
335} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
336
337typedef struct _DRIVER_INFO_2W {
338 DWORD cVersion;
339 LPWSTR pName;
340 LPWSTR pEnvironment;
341 LPWSTR pDriverPath;
342 LPWSTR pDataFile;
343 LPWSTR pConfigFile;
344} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
345
346DECL_WINELIB_TYPE_AW(DRIVER_INFO_2)
347DECL_WINELIB_TYPE_AW(PDRIVER_INFO_2)
348DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_2)
349
350typedef struct _DRIVER_INFO_3A {
351 DWORD cVersion;
352 LPSTR pName;
353 LPSTR pEnvironment;
354 LPSTR pDriverPath;
355 LPSTR pDataFile;
356 LPSTR pConfigFile;
357 LPSTR pHelpFile;
358 LPSTR pDependentFiles;
359 LPSTR pMonitorName;
360 LPSTR pDefaultDataType;
361} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
362
363typedef struct _DRIVER_INFO_3W {
364 DWORD cVersion;
365 LPWSTR pName;
366 LPWSTR pEnvironment;
367 LPWSTR pDriverPath;
368 LPWSTR pDataFile;
369 LPWSTR pConfigFile;
370 LPWSTR pHelpFile;
371 LPWSTR pDependentFiles;
372 LPWSTR pMonitorName;
373 LPWSTR pDefaultDataType;
374} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
375
376DECL_WINELIB_TYPE_AW(DRIVER_INFO_3)
377DECL_WINELIB_TYPE_AW(PDRIVER_INFO_3)
378DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_3)
379
380typedef struct _DRIVER_INFO_4A {
381 DWORD cVersion;
382 LPSTR pName;
383 LPSTR pEnvironment;
384 LPSTR pDriverPath;
385 LPSTR pDataFile;
386 LPSTR pConfigFile;
387 LPSTR pHelpFile;
388 LPSTR pDependentFiles;
389 LPSTR pMonitorName;
390 LPSTR pDefaultDataType;
391 LPSTR pszzPreviousNames;
392} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
393
394typedef struct _DRIVER_INFO_4W {
395 DWORD cVersion;
396 LPWSTR pName;
397 LPWSTR pEnvironment;
398 LPWSTR pDriverPath;
399 LPWSTR pDataFile;
400 LPWSTR pConfigFile;
401 LPWSTR pHelpFile;
402 LPWSTR pDependentFiles;
403 LPWSTR pMonitorName;
404 LPWSTR pDefaultDataType;
405 LPWSTR pszzPreviousNames;
406} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
407
408DECL_WINELIB_TYPE_AW(DRIVER_INFO_4)
409DECL_WINELIB_TYPE_AW(PDRIVER_INFO_4)
410DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_4)
411
412
413typedef struct _DRIVER_INFO_5A {
414 DWORD cVersion;
415 LPSTR pName;
416 LPSTR pEnvironment;
417 LPSTR pDriverPath;
418 LPSTR pDataFile;
419 LPSTR pConfigFile;
420 DWORD dwDriverAttributes;
421 DWORD dwConfigVersion;
422 DWORD dwDriverVersion;
423} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
424
425typedef struct _DRIVER_INFO_5W {
426 DWORD cVersion;
427 LPWSTR pName;
428 LPWSTR pEnvironment;
429 LPWSTR pDriverPath;
430 LPWSTR pDataFile;
431 LPWSTR pConfigFile;
432 DWORD dwDriverAttributes;
433 DWORD dwConfigVersion;
434 DWORD dwDriverVersion;
435} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
436
437DECL_WINELIB_TYPE_AW(DRIVER_INFO_5)
438DECL_WINELIB_TYPE_AW(PDRIVER_INFO_5)
439DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_5)
440
441typedef struct _DRIVER_INFO_6A {
442 DWORD cVersion;
443 LPSTR pName;
444 LPSTR pEnvironment;
445 LPSTR pDriverPath;
446 LPSTR pDataFile;
447 LPSTR pConfigFile;
448 LPSTR pHelpFile;
449 LPSTR pDependentFiles;
450 LPSTR pMonitorName;
451 LPSTR pDefaultDataType;
452 LPSTR pszzPreviousNames;
453 FILETIME ftDriverDate;
454 DWORDLONG dwlDriverVersion;
455 LPSTR pszMfgName;
456 LPSTR pszOEMUrl;
457 LPSTR pszHardwareID;
458 LPSTR pszProvider;
459} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
460
461typedef struct _DRIVER_INFO_6W {
462 DWORD cVersion;
463 LPWSTR pName;
464 LPWSTR pEnvironment;
465 LPWSTR pDriverPath;
466 LPWSTR pDataFile;
467 LPWSTR pConfigFile;
468 LPWSTR pHelpFile;
469 LPWSTR pDependentFiles;
470 LPWSTR pMonitorName;
471 LPWSTR pDefaultDataType;
472 LPWSTR pszzPreviousNames;
473 FILETIME ftDriverDate;
474 DWORDLONG dwlDriverVersion;
475 LPWSTR pszMfgName;
476 LPWSTR pszOEMUrl;
477 LPWSTR pszHardwareID;
478 LPWSTR pszProvider;
479} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
480
481DECL_WINELIB_TYPE_AW(DRIVER_INFO_6)
482DECL_WINELIB_TYPE_AW(PDRIVER_INFO_6)
483DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_6)
484
485/* DRIVER_INFO_7 is not defined in native winspool.h and not found in the www */
486
487typedef struct _DRIVER_INFO_8A {
488 DWORD cVersion;
489 LPSTR pName;
490 LPSTR pEnvironment;
491 LPSTR pDriverPath;
492 LPSTR pDataFile;
493 LPSTR pConfigFile;
494 LPSTR pHelpFile;
495 LPSTR pDependentFiles;
496 LPSTR pMonitorName;
497 LPSTR pDefaultDataType;
498 LPSTR pszzPreviousNames;
499 FILETIME ftDriverDate;
500 DWORDLONG dwlDriverVersion;
501 LPSTR pszMfgName;
502 LPSTR pszOEMUrl;
503 LPSTR pszHardwareID;
504 LPSTR pszProvider;
505 LPSTR pszPrintProcessor;
506 LPSTR pszVendorSetup;
507 LPSTR pszzColorProfiles;
508 LPSTR pszInfPath;
509 DWORD dwPrinterDriverAttributes;
510 LPSTR pszzCoreDriverDependencies;
511 FILETIME ftMinInboxDriverVerDate;
512 DWORDLONG dwlMinInboxDriverVerVersion;
513} DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;
514
515typedef struct _DRIVER_INFO_8W {
516 DWORD cVersion;
517 LPWSTR pName;
518 LPWSTR pEnvironment;
519 LPWSTR pDriverPath;
520 LPWSTR pDataFile;
521 LPWSTR pConfigFile;
522 LPWSTR pHelpFile;
523 LPWSTR pDependentFiles;
524 LPWSTR pMonitorName;
525 LPWSTR pDefaultDataType;
526 LPWSTR pszzPreviousNames;
527 FILETIME ftDriverDate;
528 DWORDLONG dwlDriverVersion;
529 LPWSTR pszMfgName;
530 LPWSTR pszOEMUrl;
531 LPWSTR pszHardwareID;
532 LPWSTR pszProvider;
533 LPWSTR pszPrintProcessor;
534 LPWSTR pszVendorSetup;
535 LPWSTR pszzColorProfiles;
536 LPWSTR pszInfPath;
537 DWORD dwPrinterDriverAttributes;
538 LPWSTR pszzCoreDriverDependencies;
539 FILETIME ftMinInboxDriverVerDate;
540 DWORDLONG dwlMinInboxDriverVerVersion;
541} DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W;
542
543DECL_WINELIB_TYPE_AW(DRIVER_INFO_8)
544DECL_WINELIB_TYPE_AW(PDRIVER_INFO_8)
545DECL_WINELIB_TYPE_AW(LPDRIVER_INFO_8)
546
547
548typedef struct _PRINTER_INFO_1A {
549 DWORD Flags;
550 LPSTR pDescription;
551 LPSTR pName;
552 LPSTR pComment;
553} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
554
555typedef struct _PRINTER_INFO_1W {
556 DWORD Flags;
557 LPWSTR pDescription;
558 LPWSTR pName;
559 LPWSTR pComment;
560} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
561
562DECL_WINELIB_TYPE_AW(PRINTER_INFO_1)
563DECL_WINELIB_TYPE_AW(PPRINTER_INFO_1)
564DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_1)
565
566/* FIXME: winspool.h declares some structure members with the name Status.
567 * unfortunately <X11/ICE/ICElib.h> #defines Status to the type 'int'
568 * therefore the following hack */
569#ifndef Status
570
571typedef struct _PRINTER_INFO_2A {
572 LPSTR pServerName;
573 LPSTR pPrinterName;
574 LPSTR pShareName;
575 LPSTR pPortName;
576 LPSTR pDriverName;
577 LPSTR pComment;
578 LPSTR pLocation;
579 LPDEVMODEA pDevMode;
580 LPSTR pSepFile;
581 LPSTR pPrintProcessor;
582 LPSTR pDatatype;
583 LPSTR pParameters;
584 PSECURITY_DESCRIPTOR pSecurityDescriptor;
585 DWORD Attributes;
586 DWORD Priority;
587 DWORD DefaultPriority;
588 DWORD StartTime;
589 DWORD UntilTime;
590 DWORD Status;
591 DWORD cJobs;
592 DWORD AveragePPM;
593} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
594
595typedef struct _PRINTER_INFO_2W {
596 LPWSTR pServerName;
597 LPWSTR pPrinterName;
598 LPWSTR pShareName;
599 LPWSTR pPortName;
600 LPWSTR pDriverName;
601 LPWSTR pComment;
602 LPWSTR pLocation;
603 LPDEVMODEW pDevMode;
604 LPWSTR pSepFile;
605 LPWSTR pPrintProcessor;
606 LPWSTR pDatatype;
607 LPWSTR pParameters;
608 PSECURITY_DESCRIPTOR pSecurityDescriptor;
609 DWORD Attributes;
610 DWORD Priority;
611 DWORD DefaultPriority;
612 DWORD StartTime;
613 DWORD UntilTime;
614 DWORD Status;
615 DWORD cJobs;
616 DWORD AveragePPM;
617} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
618
619DECL_WINELIB_TYPE_AW(PRINTER_INFO_2)
620DECL_WINELIB_TYPE_AW(PPRINTER_INFO_2)
621DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_2)
622
623typedef struct _PRINTER_INFO_3 {
624 PSECURITY_DESCRIPTOR pSecurityDescriptor;
625} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
626
627typedef struct _PRINTER_INFO_4A {
628 LPSTR pPrinterName;
629 LPSTR pServerName;
630 DWORD Attributes;
631} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
632
633typedef struct _PRINTER_INFO_4W {
634 LPWSTR pPrinterName;
635 LPWSTR pServerName;
636 DWORD Attributes;
637} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
638
639DECL_WINELIB_TYPE_AW(PRINTER_INFO_4)
640DECL_WINELIB_TYPE_AW(PPRINTER_INFO_4)
641DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_4)
642
643typedef struct _PRINTER_INFO_5A {
644 LPSTR pPrinterName;
645 LPSTR pPortName;
646 DWORD Attributes;
647 DWORD DeviceNotSelectedTimeout;
648 DWORD TransmissionRetryTimeout;
649} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
650
651typedef struct _PRINTER_INFO_5W {
652 LPWSTR pPrinterName;
653 LPWSTR pPortName;
654 DWORD Attributes;
655 DWORD DeviceNotSelectedTimeout;
656 DWORD TransmissionRetryTimeout;
657} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
658
659DECL_WINELIB_TYPE_AW(PRINTER_INFO_5)
660DECL_WINELIB_TYPE_AW(PPRINTER_INFO_5)
661DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_5)
662
663typedef struct _PRINTER_INFO_6 {
664 DWORD dwStatus;
665} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
666
667typedef struct _PRINTER_INFO_7A {
668 LPSTR pszObjectGUID;
669 DWORD dwAction;
670} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
671
672typedef struct _PRINTER_INFO_7W {
673 LPWSTR pszObjectGUID;
674 DWORD dwAction;
675} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
676
677DECL_WINELIB_TYPE_AW(PRINTER_INFO_7)
678DECL_WINELIB_TYPE_AW(PPRINTER_INFO_7)
679DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_7)
680
681typedef struct _PRINTER_INFO_8A {
682 LPDEVMODEA pDevMode;
683} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
684
685typedef struct _PRINTER_INFO_8W {
686 LPDEVMODEW pDevMode;
687} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
688
689DECL_WINELIB_TYPE_AW(PRINTER_INFO_8)
690DECL_WINELIB_TYPE_AW(PPRINTER_INFO_8)
691DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_8)
692
693typedef struct _PRINTER_INFO_9A {
694 LPDEVMODEA pDevMode;
695} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
696
697typedef struct _PRINTER_INFO_9W {
698 LPDEVMODEW pDevMode;
699} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
700
701DECL_WINELIB_TYPE_AW(PRINTER_INFO_9)
702DECL_WINELIB_TYPE_AW(PPRINTER_INFO_9)
703DECL_WINELIB_TYPE_AW(LPPRINTER_INFO_9)
704
705
706typedef struct _JOB_INFO_1A {
707 DWORD JobId;
708 LPSTR pPrinterName;
709 LPSTR pMachineName;
710 LPSTR pUserName;
711 LPSTR pDocument;
712 LPSTR pDatatype;
713 LPSTR pStatus;
714 DWORD Status;
715 DWORD Priority;
716 DWORD Position;
717 DWORD TotalPages;
718 DWORD PagesPrinted;
719 SYSTEMTIME Submitted;
720} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
721
722typedef struct _JOB_INFO_1W {
723 DWORD JobId;
724 LPWSTR pPrinterName;
725 LPWSTR pMachineName;
726 LPWSTR pUserName;
727 LPWSTR pDocument;
728 LPWSTR pDatatype;
729 LPWSTR pStatus;
730 DWORD Status;
731 DWORD Priority;
732 DWORD Position;
733 DWORD TotalPages;
734 DWORD PagesPrinted;
735 SYSTEMTIME Submitted;
736} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
737
738DECL_WINELIB_TYPE_AW(JOB_INFO_1)
739DECL_WINELIB_TYPE_AW(PJOB_INFO_1)
740DECL_WINELIB_TYPE_AW(LPJOB_INFO_1)
741
742typedef struct _JOB_INFO_2A {
743 DWORD JobId;
744 LPSTR pPrinterName;
745 LPSTR pMachineName;
746 LPSTR pUserName;
747 LPSTR pDocument;
748 LPSTR pNotifyName;
749 LPSTR pDatatype;
750 LPSTR pPrintProcessor;
751 LPSTR pParameters;
752 LPSTR pDriverName;
753 LPDEVMODEA pDevMode;
754 LPSTR pStatus;
755 PSECURITY_DESCRIPTOR pSecurityDescriptor;
756 DWORD Status;
757 DWORD Priority;
758 DWORD Position;
759 DWORD StartTime;
760 DWORD UntilTime;
761 DWORD TotalPages;
762 DWORD Size;
763 SYSTEMTIME Submitted;
764 DWORD Time;
765 DWORD PagesPrinted;
766} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
767
768typedef struct _JOB_INFO_2W {
769 DWORD JobId;
770 LPWSTR pPrinterName;
771 LPWSTR pMachineName;
772 LPWSTR pUserName;
773 LPWSTR pDocument;
774 LPWSTR pNotifyName;
775 LPWSTR pDatatype;
776 LPWSTR pPrintProcessor;
777 LPWSTR pParameters;
778 LPWSTR pDriverName;
779 LPDEVMODEW pDevMode;
780 LPWSTR pStatus;
781 PSECURITY_DESCRIPTOR pSecurityDescriptor;
782 DWORD Status;
783 DWORD Priority;
784 DWORD Position;
785 DWORD StartTime;
786 DWORD UntilTime;
787 DWORD TotalPages;
788 DWORD Size;
789 SYSTEMTIME Submitted;
790 DWORD Time;
791 DWORD PagesPrinted;
792} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
793
794DECL_WINELIB_TYPE_AW(JOB_INFO_2)
795DECL_WINELIB_TYPE_AW(PJOB_INFO_2)
796DECL_WINELIB_TYPE_AW(LPJOB_INFO_2)
797
798typedef struct _JOB_INFO_3 {
799 DWORD JobId;
800 DWORD NextJobId;
801 DWORD Reserved;
802} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
803
804typedef struct _ADDJOB_INFO_1A {
805 LPSTR Path;
806 DWORD JobId;
807} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
808
809typedef struct _ADDJOB_INFO_1W {
810 LPWSTR Path;
811 DWORD JobId;
812} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
813
814DECL_WINELIB_TYPE_AW(ADDJOB_INFO_1)
815DECL_WINELIB_TYPE_AW(PADDJOB_INFO_1)
816DECL_WINELIB_TYPE_AW(LPADDJOB_INFO_1)
817
818typedef struct _DOC_INFO_1A {
819 LPSTR pDocName;
820 LPSTR pOutputFile;
821 LPSTR pDatatype;
822} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
823
824typedef struct _DOC_INFO_1W {
825 LPWSTR pDocName;
826 LPWSTR pOutputFile;
827 LPWSTR pDatatype;
828} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
829
830DECL_WINELIB_TYPE_AW(DOC_INFO_1)
831DECL_WINELIB_TYPE_AW(PDOC_INFO_1)
832DECL_WINELIB_TYPE_AW(LPDOC_INFO_1)
833
834typedef struct _DOC_INFO_2A {
835 LPSTR pDocName;
836 LPSTR pOutputFile;
837 LPSTR pDatatype;
838 DWORD dwMode;
839 DWORD JobId;
840} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
841
842typedef struct _DOC_INFO_2W {
843 LPWSTR pDocName;
844 LPWSTR pOutputFile;
845 LPWSTR pDatatype;
846 DWORD dwMode;
847 DWORD JobId;
848} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
849
850DECL_WINELIB_TYPE_AW(DOC_INFO_2)
851DECL_WINELIB_TYPE_AW(PDOC_INFO_2)
852DECL_WINELIB_TYPE_AW(LPDOC_INFO_2)
853
854typedef struct _FORM_INFO_1A {
855 DWORD Flags;
856 LPSTR pName;
857 SIZEL Size;
858 RECTL ImageableArea;
859} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
860
861typedef struct _FORM_INFO_1W {
862 DWORD Flags;
863 LPWSTR pName;
864 SIZEL Size;
865 RECTL ImageableArea;
866} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
867
868DECL_WINELIB_TYPE_AW(FORM_INFO_1)
869DECL_WINELIB_TYPE_AW(PFORM_INFO_1)
870DECL_WINELIB_TYPE_AW(LPFORM_INFO_1)
871
872typedef struct _FORM_INFO_2A {
873 DWORD Flags;
874 LPSTR pName;
875 SIZEL Size;
876 RECTL ImageableArea;
877 LPCSTR pKeyword;
878 DWORD StringType;
879 LPSTR pMuiDll;
880 DWORD dwResourceId;
881 LPSTR pDisplayName;
882 LANGID wLangId;
883} FORM_INFO_2A, *PFORM_INFO_2A, *LPFORM_INFO_2A;
884
885typedef struct _FORM_INFO_2W {
886 DWORD Flags;
887 LPWSTR pName;
888 SIZEL Size;
889 RECTL ImageableArea;
890 LPCSTR pKeyword;
891 DWORD StringType;
892 LPWSTR pMuiDll;
893 DWORD dwResourceId;
894 LPWSTR pDisplayName;
895 LANGID wLangId;
896} FORM_INFO_2W, *PFORM_INFO_2W, *LPFORM_INFO_2W;
897
898DECL_WINELIB_TYPE_AW(FORM_INFO_2)
899DECL_WINELIB_TYPE_AW(PFORM_INFO_2)
900DECL_WINELIB_TYPE_AW(LPFORM_INFO_2)
901
902typedef struct _PRINTPROCESSOR_INFO_1A {
903 LPSTR pName;
904} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A,
905 *LPPRINTPROCESSOR_INFO_1A;
906
907typedef struct _PRINTPROCESSOR_INFO_1W {
908 LPWSTR pName;
909} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W,
910 *LPPRINTPROCESSOR_INFO_1W;
911
912DECL_WINELIB_TYPE_AW(PRINTPROCESSOR_INFO_1)
913DECL_WINELIB_TYPE_AW(PPRINTPROCESSOR_INFO_1)
914DECL_WINELIB_TYPE_AW(LPPRINTPROCESSOR_INFO_1)
915
916typedef struct _PORT_INFO_1A {
917 LPSTR pName;
918} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
919
920typedef struct _PORT_INFO_1W {
921 LPWSTR pName;
922} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
923
924DECL_WINELIB_TYPE_AW(PORT_INFO_1)
925DECL_WINELIB_TYPE_AW(PPORT_INFO_1)
926DECL_WINELIB_TYPE_AW(LPPORT_INFO_1)
927
928typedef struct _PORT_INFO_2A {
929 LPSTR pPortName;
930 LPSTR pMonitorName;
931 LPSTR pDescription;
932 DWORD fPortType;
933 DWORD Reserved;
934} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
935
936typedef struct _PORT_INFO_2W {
937 LPWSTR pPortName;
938 LPWSTR pMonitorName;
939 LPWSTR pDescription;
940 DWORD fPortType;
941 DWORD Reserved;
942} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
943
944DECL_WINELIB_TYPE_AW(PORT_INFO_2)
945DECL_WINELIB_TYPE_AW(PPORT_INFO_2)
946DECL_WINELIB_TYPE_AW(LPPORT_INFO_2)
947
948typedef struct _PORT_INFO_3A {
949 DWORD dwStatus;
950 LPSTR pszStatus;
951 DWORD dwSeverity;
952} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
953
954typedef struct _PORT_INFO_3W {
955 DWORD dwStatus;
956 LPWSTR pszStatus;
957 DWORD dwSeverity;
958} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
959
960DECL_WINELIB_TYPE_AW(PORT_INFO_3)
961DECL_WINELIB_TYPE_AW(PPORT_INFO_3)
962DECL_WINELIB_TYPE_AW(LPPORT_INFO_3)
963
964typedef struct _MONITOR_INFO_1A {
965 LPSTR pName;
966} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
967
968typedef struct _MONITOR_INFO_1W {
969 LPWSTR pName;
970} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
971
972DECL_WINELIB_TYPE_AW(MONITOR_INFO_1)
973DECL_WINELIB_TYPE_AW(PMONITOR_INFO_1)
974DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_1)
975
976#endif /* Status */
977
978
979typedef struct _MONITOR_INFO_2A {
980 LPSTR pName;
981 LPSTR pEnvironment;
982 LPSTR pDLLName;
983} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
984
985typedef struct _MONITOR_INFO_2W {
986 LPWSTR pName;
987 LPWSTR pEnvironment;
988 LPWSTR pDLLName;
989} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
990
991DECL_WINELIB_TYPE_AW(MONITOR_INFO_2)
992DECL_WINELIB_TYPE_AW(PMONITOR_INFO_2)
993DECL_WINELIB_TYPE_AW(LPMONITOR_INFO_2)
994
995typedef struct _DATATYPES_INFO_1A {
996 LPSTR pName;
997} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
998
999typedef struct _DATATYPES_INFO_1W {
1000 LPWSTR pName;
1001} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
1002
1003DECL_WINELIB_TYPE_AW(DATATYPES_INFO_1)
1004DECL_WINELIB_TYPE_AW(PDATATYPES_INFO_1)
1005DECL_WINELIB_TYPE_AW(LPDATATYPES_INFO_1)
1006
1007typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
1008 WORD Type;
1009 WORD Reserved0;
1010 DWORD Reserved1;
1011 DWORD Reserved2;
1012 DWORD Count;
1013 PWORD pFields;
1014} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE,
1015*LPPRINTER_NOTIFY_OPTIONS_TYPE;
1016
1017typedef struct _PRINTER_NOTIFY_OPTIONS {
1018 DWORD Version;
1019 DWORD Flags;
1020 DWORD Count;
1021 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
1022} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
1023
1024typedef struct _PRINTER_NOTIFY_INFO_DATA {
1025 WORD Type;
1026 WORD Field;
1027 DWORD Reserved;
1028 DWORD Id;
1029 union {
1030 DWORD adwData[2];
1031 struct {
1032 DWORD cbBuf;
1033 LPVOID pBuf;
1034 } Data;
1035 } NotifyData;
1036} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA,
1037*LPPRINTER_NOTIFY_INFO_DATA;
1038
1039typedef struct _PRINTER_NOTIFY_INFO {
1040 DWORD Version;
1041 DWORD Flags;
1042 DWORD Count;
1043 PRINTER_NOTIFY_INFO_DATA aData[1];
1044} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
1045
1046typedef struct _PROVIDOR_INFO_1A {
1047 LPSTR pName;
1048 LPSTR pEnvironment;
1049 LPSTR pDLLName;
1050} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
1051
1052typedef struct _PROVIDOR_INFO_1W {
1053 LPWSTR pName;
1054 LPWSTR pEnvironment;
1055 LPWSTR pDLLName;
1056} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
1057
1058DECL_WINELIB_TYPE_AW(PROVIDOR_INFO_1)
1059DECL_WINELIB_TYPE_AW(PPROVIDOR_INFO_1)
1060DECL_WINELIB_TYPE_AW(LPPROVIDOR_INFO_1)
1061
1062typedef struct _PRINTER_ENUM_VALUESA {
1063 LPSTR pValueName;
1064 DWORD cbValueName;
1065 DWORD dwType;
1066 LPBYTE pData;
1067 DWORD cbData;
1068} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA;
1069
1070typedef struct _PRINTER_ENUM_VALUESW {
1071 LPWSTR pValueName;
1072 DWORD cbValueName;
1073 DWORD dwType;
1074 LPBYTE pData;
1075 DWORD cbData;
1076} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW;
1077
1078DECL_WINELIB_TYPE_AW(PRINTER_ENUM_VALUES)
1079DECL_WINELIB_TYPE_AW(PPRINTER_ENUM_VALUES)
1080
1081typedef enum {
1082 BIDI_NULL = 0,
1083 BIDI_INT,
1084 BIDI_FLOAT,
1085 BIDI_BOOL,
1086 BIDI_STRING,
1087 BIDI_TEXT,
1088 BIDI_ENUM,
1089 BIDI_BLOB
1090} BIDI_TYPE;
1091
1092typedef struct _BINARY_CONTAINER {
1093 DWORD cbBuf;
1094 LPBYTE pData;
1095} BINARY_CONTAINER, *PBINARY_CONTAINER;
1096
1097typedef struct _BIDI_DATA {
1098 DWORD dwBidiType;
1099 union
1100 {
1101 BOOL bData;
1102 INT iData;
1103 LPWSTR sData;
1104 FLOAT fData;
1105 BINARY_CONTAINER biData;
1106 } u;
1107} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
1108
1109typedef struct _BIDI_REQUEST_DATA {
1110 DWORD dwReqNumber;
1111 LPWSTR pSchema;
1112 BIDI_DATA data;
1113} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
1114
1115typedef struct _BIDI_REQUEST_CONTAINER {
1116 DWORD Version;
1117 DWORD Flags;
1118 DWORD Count;
1119 BIDI_REQUEST_DATA aData[1];
1120} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
1121
1122typedef struct _BIDI_RESPONSE_DATA {
1123 DWORD dwResult;
1124 DWORD dwReqNumber;
1125 LPWSTR pSchema;
1126 BIDI_DATA data;
1127} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
1128
1129typedef struct _BIDI_RESPONSE_CONTAINER {
1130 DWORD Version;
1131 DWORD Flags;
1132 DWORD Count;
1133 BIDI_RESPONSE_DATA aData[1];
1134} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
1135
1136/* DECLARATIONS */
1137INT WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,
1138 LPSTR pOutput, LPDEVMODEA pDevMode);
1139INT WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort,
1140 WORD fwCapability, LPWSTR pOutput,
1141 const DEVMODEW *pDevMode);
1142
1143#define DeviceCapabilities WINELIB_NAME_AW(DeviceCapabilities)
1144
1145LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,
1146 LPSTR pDeviceName, LPDEVMODEA pDevModeOutput,
1147 LPDEVMODEA pDevModeInput,DWORD fMode );
1148LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1149 LPWSTR pDeviceName,
1150 LPDEVMODEW pDevModeOutput,
1151 LPDEVMODEW pDevModeInput, DWORD fMode);
1152
1153#define DocumentProperties WINELIB_NAME_AW(DocumentProperties)
1154
1155BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter,
1156 LPPRINTER_DEFAULTSA pDefault);
1157BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter,
1158 LPPRINTER_DEFAULTSW pDefault);
1159
1160#define OpenPrinter WINELIB_NAME_AW(OpenPrinter)
1161
1162BOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault);
1163BOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
1164#define ResetPrinter WINELIB_NAME_AW(ResetPrinter)
1165
1166BOOL WINAPI ClosePrinter (HANDLE phPrinter);
1167
1168BOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1169 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1170 LPDWORD pcReturned);
1171BOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs,
1172 DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded,
1173 LPDWORD pcReturned);
1174#define EnumJobs WINELIB_NAME_AW(EnumJobs)
1175
1176BOOL WINAPI EnumPrintersA(DWORD dwType, LPSTR lpszName,
1177 DWORD dwLevel, LPBYTE lpbPrinters,
1178 DWORD cbBuf, LPDWORD lpdwNeeded,
1179 LPDWORD lpdwReturned);
1180BOOL WINAPI EnumPrintersW(DWORD dwType, LPWSTR lpszName,
1181 DWORD dwLevel, LPBYTE lpbPrinters,
1182 DWORD cbBuf, LPDWORD lpdwNeeded,
1183 LPDWORD lpdwReturned);
1184#define EnumPrinters WINELIB_NAME_AW(EnumPrinters)
1185
1186BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter);
1187
1188BOOL WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1189BOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,LPBYTE,DWORD,LPDWORD);
1190#define GetPrinterDriverDirectory WINELIB_NAME_AW(GetPrinterDriverDirectory)
1191
1192BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment,
1193 DWORD Level, LPBYTE pDriverInfo,
1194 DWORD cbBuf, LPDWORD pcbNeeded);
1195BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment,
1196 DWORD Level, LPBYTE pDriverInfo,
1197 DWORD cbBuf, LPDWORD pcbNeeded);
1198#define GetPrinterDriver WINELIB_NAME_AW(GetPrinterDriver)
1199
1200BOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1201 DWORD Command);
1202BOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1203 DWORD Command);
1204#define SetJob WINELIB_NAME_AW(SetJob)
1205
1206BOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1207 DWORD cbBuf, LPDWORD pcbNeeded);
1208BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobID, DWORD Level, LPBYTE pJob,
1209 DWORD cbBuf, LPDWORD pcbNeeded);
1210#define GetJob WINELIB_NAME_AW(GetJob)
1211
1212HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter);
1213HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter);
1214#define AddPrinter WINELIB_NAME_AW(AddPrinter)
1215
1216BOOL WINAPI DeletePrinter(HANDLE hPrinter);
1217
1218BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1219 DWORD Command);
1220BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1221 DWORD Command);
1222#define SetPrinter WINELIB_NAME_AW(SetPrinter)
1223
1224BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1225 DWORD cbBuf, LPDWORD pcbNeeded);
1226BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
1227 DWORD cbBuf, LPDWORD pcbNeeded);
1228#define GetPrinter WINELIB_NAME_AW(GetPrinter)
1229
1230BOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo);
1231BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
1232#define AddPrinterDriver WINELIB_NAME_AW(AddPrinterDriver)
1233
1234BOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo,
1235 DWORD dwFileCopyFlags);
1236BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo,
1237 DWORD dwFileCopyFlags);
1238#define AddPrinterDriverEx WINELIB_NAME_AW(AddPrinterDriverEx)
1239
1240BOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level,
1241 LPBYTE pDriverInfo, DWORD cbBuf,
1242 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1243BOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level,
1244 LPBYTE pDriverInfo, DWORD cbBuf,
1245 LPDWORD pcbNeeded, LPDWORD pcbReturned);
1246#define EnumPrinterDrivers WINELIB_NAME_AW(EnumPrinterDrivers)
1247
1248BOOL WINAPI GetDefaultPrinterA(LPSTR pName, LPDWORD pcbNameSize);
1249BOOL WINAPI GetDefaultPrinterW(LPWSTR pName, LPDWORD pcbNameSize);
1250#define GetDefaultPrinter WINELIB_NAME_AW(GetDefaultPrinter)
1251
1252BOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment,
1253 LPSTR pDriverName);
1254BOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment,
1255 LPWSTR pDriverName);
1256#define DeletePrinterDriver WINELIB_NAME_AW(DeletePrinterDriver)
1257
1258BOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment,
1259 LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1260BOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment,
1261 LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag);
1262#define DeletePrinterDriverEx WINELIB_NAME_AW(DeletePrinterDriverEx)
1263
1264BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1265 LPSTR pPathName, LPSTR pPrintProcessorName);
1266BOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1267 LPWSTR pPathName, LPWSTR pPrintProcessorName);
1268#define AddPrintProcessor WINELIB_NAME_AW(AddPrintProcessor)
1269
1270BOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment,
1271 DWORD Level, LPBYTE pPrintProcessorInfo,
1272 DWORD cbBuf, LPDWORD pcbNeeded,
1273 LPDWORD pcbReturned);
1274BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment,
1275 DWORD Level, LPBYTE pPrintProcessorInfo,
1276 DWORD cbBuf, LPDWORD pcbNeeded,
1277 LPDWORD pcbReturned);
1278#define EnumPrintProcessors WINELIB_NAME_AW(EnumPrintProcessors)
1279
1280BOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment,
1281 DWORD Level,
1282 LPBYTE pPrintProcessorInfo,
1283 DWORD cbBuf, LPDWORD pcbNeeded);
1284
1285BOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment,
1286 DWORD Level,
1287 LPBYTE pPrintProcessorInfo,
1288 DWORD cbBuf, LPDWORD pcbNeeded);
1289#define GetPrintProcessorDirectory WINELIB_NAME_AW(GetPrintProcessorDirectory)
1290
1291BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,
1292 LPSTR pPrintProcessorName,
1293 DWORD Level, LPBYTE pDatatypes,
1294 DWORD cbBuf, LPDWORD pcbNeeded,
1295 LPDWORD pcbReturned);
1296BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,
1297 LPWSTR pPrintProcessorName,
1298 DWORD Level, LPBYTE pDatatypes,
1299 DWORD cbBuf, LPDWORD pcbNeeded,
1300 LPDWORD pcbReturned);
1301#define EnumPrintProcessorDatatypes WINELIB_NAME_AW(EnumPrintProcessorDatatypes)
1302
1303BOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment,
1304 LPSTR pPrintProcessorName);
1305BOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment,
1306 LPWSTR pPrintProcessorName);
1307#define DeletePrintProcessor WINELIB_NAME_AW(DeletePrintProcessor)
1308
1309DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1310DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo);
1311#define StartDocPrinter WINELIB_NAME_AW(StartDocPrinter)
1312
1313BOOL WINAPI StartPagePrinter(HANDLE hPrinter);
1314BOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1315 LPDWORD pcWritten);
1316BOOL WINAPI EndPagePrinter(HANDLE hPrinter);
1317BOOL WINAPI AbortPrinter(HANDLE hPrinter);
1318BOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf,
1319 LPDWORD pNoBytesRead);
1320BOOL WINAPI EndDocPrinter(HANDLE hPrinter);
1321
1322BOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1323 LPDWORD pcbNeeded);
1324BOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf,
1325 LPDWORD pcbNeeded);
1326#define AddJob WINELIB_NAME_AW(AddJob)
1327
1328BOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobID);
1329
1330LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter,
1331 LPSTR pDeviceName,
1332 PDEVMODEA pDevModeOutput,
1333 PDEVMODEA pDevModeInput);
1334LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
1335 LPWSTR pDeviceName,
1336 PDEVMODEW pDevModeOutput,
1337 PDEVMODEW pDevModeInput);
1338#define AdvancedDocumentProperties WINELIB_NAME_AW(AdvancedDocumentProperties)
1339
1340DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType,
1341 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1342DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType,
1343 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1344#define GetPrinterData WINELIB_NAME_AW(GetPrinterData)
1345
1346DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1347 LPCSTR pValueName, LPDWORD pType,
1348 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1349DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1350 LPCWSTR pValueName, LPDWORD pType,
1351 LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
1352#define GetPrinterDataEx WINELIB_NAME_AW(GetPrinterDataEx)
1353
1354DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1355 LPCSTR pValueName);
1356DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1357 LPCWSTR pValueName);
1358#define DeletePrinterDataEx WINELIB_NAME_AW(DeletePrinterDataEx)
1359
1360DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type,
1361 LPBYTE pData, DWORD cbData);
1362DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type,
1363 LPBYTE pData, DWORD cbData);
1364#define SetPrinterData WINELIB_NAME_AW(SetPrinterData)
1365
1366DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1367 LPCSTR pValueName, DWORD Type,
1368 LPBYTE pData, DWORD cbData);
1369DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1370 LPCWSTR pValueName, DWORD Type,
1371 LPBYTE pData, DWORD cbData);
1372#define SetPrinterDataEx WINELIB_NAME_AW(SetPrinterDataEx)
1373
1374DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags);
1375HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,
1376 DWORD fdwFlags,
1377 DWORD fdwOptions,
1378 LPVOID pPrinterNotifyOptions);
1379BOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,
1380 PDWORD pdwChange,
1381 LPVOID pvReserved,
1382 LPVOID *ppPrinterNotifyInfo);
1383BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
1384BOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
1385
1386DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd,
1387 LPSTR pText, LPSTR pCaption, DWORD dwType);
1388DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd,
1389 LPWSTR pText, LPWSTR pCaption, DWORD dwType);
1390#define PrinterMessageBox WINELIB_NAME_AW(PrinterMessageBox)
1391
1392BOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1393BOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
1394#define AddForm WINELIB_NAME_AW(AddForm)
1395
1396BOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName);
1397BOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName);
1398#define DeleteForm WINELIB_NAME_AW(DeleteForm)
1399
1400BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1401 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1402BOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1403 LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
1404#define GetForm WINELIB_NAME_AW(GetForm)
1405
1406BOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level,
1407 LPBYTE pForm);
1408BOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
1409 LPBYTE pForm);
1410#define SetForm WINELIB_NAME_AW(SetForm)
1411
1412BOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1413 LPDWORD pcbNeeded, LPDWORD pcReturned);
1414BOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf,
1415 LPDWORD pcbNeeded, LPDWORD pcReturned);
1416#define EnumForms WINELIB_NAME_AW(EnumForms)
1417
1418BOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitors,
1419 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1420BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
1421 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1422#define EnumMonitors WINELIB_NAME_AW(EnumMonitors)
1423
1424DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName,
1425 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1426 DWORD cbData, LPDWORD pcbData );
1427DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName,
1428 DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData,
1429 DWORD cbData, LPDWORD pcbData );
1430#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData)
1431
1432BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors);
1433BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
1434#define AddMonitor WINELIB_NAME_AW(AddMonitor)
1435
1436BOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment,
1437 LPSTR pMonitorName);
1438BOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment,
1439 LPWSTR pMonitorName);
1440#define DeleteMonitor WINELIB_NAME_AW(DeleteMonitor)
1441
1442BOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts,
1443 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1444BOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts,
1445 DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
1446#define EnumPorts WINELIB_NAME_AW(EnumPorts)
1447
1448BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName);
1449BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
1450#define AddPort WINELIB_NAME_AW(AddPort)
1451
1452BOOL WINAPI AddPortExA(LPSTR, DWORD, LPBYTE, LPSTR);
1453BOOL WINAPI AddPortExW(LPWSTR, DWORD, LPBYTE, LPWSTR);
1454#define AddPortEx WINELIB_NAME_AW(AddPortEx)
1455
1456BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1457BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1458#define ConfigurePort WINELIB_NAME_AW(ConfigurePort)
1459
1460BOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName);
1461BOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
1462#define DeletePort WINELIB_NAME_AW(DeletePort)
1463
1464BOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel,
1465 LPBYTE pPortInfo);
1466BOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
1467 LPBYTE pPortInfo);
1468#define SetPort WINELIB_NAME_AW(SetPort)
1469
1470BOOL WINAPI AddPrinterConnectionA(LPSTR pName);
1471BOOL WINAPI AddPrinterConnectionW(LPWSTR pName);
1472#define AddPrinterConnection WINELIB_NAME_AW(AddPrinterConnection)
1473
1474BOOL WINAPI DeletePrinterConnectionA(LPSTR pName);
1475BOOL WINAPI DeletePrinterConnectionW(LPWSTR pName);
1476#define DeletePrinterConnection WINELIB_NAME_AW(DeletePrinterConnection)
1477
1478HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags);
1479
1480BOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1481BOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD Level, LPBYTE pProvidorInfo);
1482#define AddPrintProvidor WINELIB_NAME_AW(AddPrintProvidor)
1483
1484BOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment,
1485 LPSTR pPrintProvidorName);
1486BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment,
1487 LPWSTR pPrintProvidorName);
1488#define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor)
1489
1490DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName,
1491 LPBYTE pEnumValues, DWORD cbEnumValues,
1492 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1493DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName,
1494 LPBYTE pEnumValues, DWORD cbEnumValues,
1495 LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
1496#define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx)
1497
1498LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput,
1499 LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile,
1500 DWORD fMode);
1501
1502LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
1503LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
1504#define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
1505
1506BOOL WINAPI XcvDataW(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
1507 DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
1508 PDWORD pcbOutputNeeded, PDWORD pdwStatus);
1509
1510#ifdef __cplusplus
1511} /* extern "C" */
1512#endif
1513
1514#endif /* __WINE_WINSPOOL_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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