|
|
1.1 root 1: /*++
2:
1.1.1.4 ! root 3: Copyright (c) 1990-1993 Microsoft Corporation
1.1 root 4:
5: Module Name:
6:
7: WinSpool.h
8:
9: Abstract:
10:
11: Header file for Print APIs
12:
13: Author:
14:
15: Dave Snipp (DaveSn) 15-Mar-1991
16:
17: Revision History:
18:
19: --*/
20:
21: #ifndef _WINSPOOL_
22: #define _WINSPOOL_
23:
1.1.1.4 ! root 24: #ifdef __cplusplus
! 25: extern "C" {
! 26: #endif
! 27:
1.1.1.3 root 28: typedef struct _PRINTER_INFO_1A {
1.1.1.2 root 29: DWORD Flags;
1.1.1.3 root 30: LPSTR pDescription;
31: LPSTR pName;
32: LPSTR pComment;
33: } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
34:
35: typedef struct _PRINTER_INFO_1W {
36: DWORD Flags;
37: LPWSTR pDescription;
38: LPWSTR pName;
39: LPWSTR pComment;
40: } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
41:
42: #ifdef UNICODE
43: #define PRINTER_INFO_1 PRINTER_INFO_1W
44: #define PPRINTER_INFO_1 PPRINTER_INFO_1W
45: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1W
46: #else
47: #define PRINTER_INFO_1 PRINTER_INFO_1A
48: #define PPRINTER_INFO_1 PPRINTER_INFO_1A
49: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1A
50: #endif // UNICODE
51:
52: typedef struct _PRINTER_INFO_2A {
53: LPSTR pServerName;
54: LPSTR pPrinterName;
55: LPSTR pShareName;
56: LPSTR pPortName;
57: LPSTR pDriverName;
58: LPSTR pComment;
59: LPSTR pLocation;
60: LPDEVMODEA pDevMode;
61: LPSTR pSepFile;
62: LPSTR pPrintProcessor;
63: LPSTR pDatatype;
64: LPSTR pParameters;
65: PSECURITY_DESCRIPTOR pSecurityDescriptor;
66: DWORD Attributes;
67: DWORD Priority;
68: DWORD DefaultPriority;
69: DWORD StartTime;
70: DWORD UntilTime;
71: DWORD Status;
72: DWORD cJobs;
73: DWORD AveragePPM;
74: } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
75:
76: typedef struct _PRINTER_INFO_2W {
77: LPWSTR pServerName;
78: LPWSTR pPrinterName;
79: LPWSTR pShareName;
80: LPWSTR pPortName;
81: LPWSTR pDriverName;
82: LPWSTR pComment;
83: LPWSTR pLocation;
84: LPDEVMODEW pDevMode;
85: LPWSTR pSepFile;
86: LPWSTR pPrintProcessor;
87: LPWSTR pDatatype;
88: LPWSTR pParameters;
1.1.1.2 root 89: PSECURITY_DESCRIPTOR pSecurityDescriptor;
90: DWORD Attributes;
91: DWORD Priority;
92: DWORD DefaultPriority;
93: DWORD StartTime;
94: DWORD UntilTime;
95: DWORD Status;
96: DWORD cJobs;
97: DWORD AveragePPM;
1.1.1.3 root 98: } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
99:
100: #ifdef UNICODE
101: #define PRINTER_INFO_2 PRINTER_INFO_2W
102: #define PPRINTER_INFO_2 PPRINTER_INFO_2W
103: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2W
104: #else
105: #define PRINTER_INFO_2 PRINTER_INFO_2A
106: #define PPRINTER_INFO_2 PPRINTER_INFO_2A
107: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2A
108: #endif // UNICODE
1.1.1.2 root 109:
1.1.1.4 ! root 110: typedef struct _PRINTER_INFO_3 {
! 111: PSECURITY_DESCRIPTOR pSecurityDescriptor;
! 112: } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
! 113:
1.1.1.2 root 114: #define PRINTER_CONTROL_PAUSE 1
115: #define PRINTER_CONTROL_RESUME 2
116: #define PRINTER_CONTROL_PURGE 3
1.1 root 117:
1.1.1.2 root 118: #define PRINTER_STATUS_PAUSED 0x00000001
119: #define PRINTER_STATUS_ERROR 0x00000002
1.1 root 120: #define PRINTER_STATUS_PENDING_DELETION 0x00000004
1.1.1.4 ! root 121: #define PRINTER_STATUS_PAPER_JAM 0x00000008
! 122: #define PRINTER_STATUS_PAPER_OUT 0x00000010
! 123: #define PRINTER_STATUS_MANUAL_FEED 0x00000020
! 124: #define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
! 125: #define PRINTER_STATUS_OFFLINE 0x00000080
! 126: #define PRINTER_STATUS_IO_ACTIVE 0x00000100
! 127: #define PRINTER_STATUS_BUSY 0x00000200
! 128: #define PRINTER_STATUS_PRINTING 0x00000400
! 129: #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
! 130: #define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
! 131: #define PRINTER_STATUS_WAITING 0x00002000
! 132: #define PRINTER_STATUS_PROCESSING 0x00004000
! 133: #define PRINTER_STATUS_INITIALIZING 0x00008000
! 134: #define PRINTER_STATUS_WARMING_UP 0x00010000
! 135: #define PRINTER_STATUS_TONER_LOW 0x00020000
! 136: #define PRINTER_STATUS_NO_TONER 0x00040000
! 137: #define PRINTER_STATUS_PAGE_PUNT 0x00080000
! 138: #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
! 139: #define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
! 140: #define PRINTER_STATUS_DOOR_OPEN 0x00400000
! 141:
1.1 root 142:
1.1.1.2 root 143: #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
144: #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
145: #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
146: #define PRINTER_ATTRIBUTE_SHARED 0x00000008
1.1.1.4 ! root 147: #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
! 148: #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
! 149: #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
1.1 root 150:
151: #define NO_PRIORITY 0
152: #define MAX_PRIORITY 99
153: #define MIN_PRIORITY 1
154: #define DEF_PRIORITY 1
155:
1.1.1.3 root 156: typedef struct _JOB_INFO_1A {
157: DWORD JobId;
158: LPSTR pPrinterName;
159: LPSTR pMachineName;
160: LPSTR pUserName;
161: LPSTR pDocument;
162: LPSTR pDatatype;
163: LPSTR pStatus;
164: DWORD Status;
165: DWORD Priority;
166: DWORD Position;
167: DWORD TotalPages;
168: DWORD PagesPrinted;
169: SYSTEMTIME Submitted;
170: } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
171:
172: typedef struct _JOB_INFO_1W {
1.1.1.2 root 173: DWORD JobId;
1.1.1.3 root 174: LPWSTR pPrinterName;
175: LPWSTR pMachineName;
176: LPWSTR pUserName;
177: LPWSTR pDocument;
178: LPWSTR pDatatype;
179: LPWSTR pStatus;
1.1.1.2 root 180: DWORD Status;
181: DWORD Priority;
182: DWORD Position;
1.1.1.3 root 183: DWORD TotalPages;
184: DWORD PagesPrinted;
185: SYSTEMTIME Submitted;
186: } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
187:
188: #ifdef UNICODE
189: #define JOB_INFO_1 JOB_INFO_1W
190: #define PJOB_INFO_1 PJOB_INFO_1W
191: #define LPJOB_INFO_1 LPJOB_INFO_1W
192: #else
193: #define JOB_INFO_1 JOB_INFO_1A
194: #define PJOB_INFO_1 PJOB_INFO_1A
195: #define LPJOB_INFO_1 LPJOB_INFO_1A
196: #endif // UNICODE
1.1.1.2 root 197:
1.1.1.3 root 198: typedef struct _JOB_INFO_2A {
1.1.1.2 root 199: DWORD JobId;
1.1.1.3 root 200: LPSTR pPrinterName;
201: LPSTR pMachineName;
202: LPSTR pUserName;
203: LPSTR pDocument;
204: LPSTR pNotifyName;
205: LPSTR pDatatype;
206: LPSTR pPrintProcessor;
207: LPSTR pParameters;
208: LPSTR pDriverName;
1.1.1.2 root 209: LPDEVMODE pDevMode;
1.1.1.3 root 210: LPSTR pStatus;
1.1.1.2 root 211: PSECURITY_DESCRIPTOR pSecurityDescriptor;
212: DWORD Status;
213: DWORD Priority;
214: DWORD Position;
215: DWORD StartTime;
216: DWORD UntilTime;
217: DWORD TotalPages;
218: DWORD Size;
219: SYSTEMTIME Submitted; // Time the job was spooled
220: DWORD Time; // How many seconds the job has been printing
1.1.1.3 root 221: DWORD PagesPrinted;
222: } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
223:
224: typedef struct _JOB_INFO_2W {
225: DWORD JobId;
226: LPWSTR pPrinterName;
227: LPWSTR pMachineName;
228: LPWSTR pUserName;
229: LPWSTR pDocument;
230: LPWSTR pNotifyName;
231: LPWSTR pDatatype;
232: LPWSTR pPrintProcessor;
233: LPWSTR pParameters;
234: LPWSTR pDriverName;
235: LPDEVMODE pDevMode;
236: LPWSTR pStatus;
237: PSECURITY_DESCRIPTOR pSecurityDescriptor;
238: DWORD Status;
239: DWORD Priority;
240: DWORD Position;
241: DWORD StartTime;
242: DWORD UntilTime;
243: DWORD TotalPages;
244: DWORD Size;
245: SYSTEMTIME Submitted; // Time the job was spooled
246: DWORD Time; // How many seconds the job has been printing
247: DWORD PagesPrinted;
248: } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
249:
250: #ifdef UNICODE
251: #define JOB_INFO_2 JOB_INFO_2W
252: #define PJOB_INFO_2 PJOB_INFO_2W
253: #define LPJOB_INFO_2 LPJOB_INFO_2W
254: #else
255: #define JOB_INFO_2 JOB_INFO_2A
256: #define PJOB_INFO_2 PJOB_INFO_2A
257: #define LPJOB_INFO_2 LPJOB_INFO_2A
258: #endif // UNICODE
1.1 root 259:
260: #define JOB_CONTROL_PAUSE 1
261: #define JOB_CONTROL_RESUME 2
262: #define JOB_CONTROL_CANCEL 3
263: #define JOB_CONTROL_RESTART 4
264:
1.1.1.2 root 265: #define JOB_STATUS_PAUSED 0x00000001
266: #define JOB_STATUS_ERROR 0x00000002
267: #define JOB_STATUS_DELETING 0x00000004
268: #define JOB_STATUS_SPOOLING 0x00000008
269: #define JOB_STATUS_PRINTING 0x00000010
270: #define JOB_STATUS_OFFLINE 0x00000020
271: #define JOB_STATUS_PAPEROUT 0x00000040
272: #define JOB_STATUS_PRINTED 0x00000080
273:
1.1.1.4 ! root 274: #define JOB_POSITION_UNSPECIFIED 0
! 275:
1.1.1.3 root 276: typedef struct _ADDJOB_INFO_1A {
277: LPSTR Path;
1.1.1.2 root 278: DWORD JobId;
1.1.1.3 root 279: } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
1.1.1.2 root 280:
1.1.1.3 root 281: typedef struct _ADDJOB_INFO_1W {
282: LPWSTR Path;
283: DWORD JobId;
284: } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
285:
286: #ifdef UNICODE
287: #define ADDJOB_INFO_1 ADDJOB_INFO_1W
288: #define PADDJOB_INFO_1 PADDJOB_INFO_1W
289: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1W
290: #else
291: #define ADDJOB_INFO_1 ADDJOB_INFO_1A
292: #define PADDJOB_INFO_1 PADDJOB_INFO_1A
293: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1A
294: #endif // UNICODE
295:
296: typedef struct _DRIVER_INFO_1A {
297: LPSTR pName; // QMS 810
298: } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
299:
300: typedef struct _DRIVER_INFO_1W {
301: LPWSTR pName; // QMS 810
302: } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
303:
304: #ifdef UNICODE
305: #define DRIVER_INFO_1 DRIVER_INFO_1W
306: #define PDRIVER_INFO_1 PDRIVER_INFO_1W
307: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1W
308: #else
309: #define DRIVER_INFO_1 DRIVER_INFO_1A
310: #define PDRIVER_INFO_1 PDRIVER_INFO_1A
311: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1A
312: #endif // UNICODE
313:
314: typedef struct _DRIVER_INFO_2A {
315: DWORD cVersion;
316: LPSTR pName; // QMS 810
317: LPSTR pEnvironment; // Win32 x86
318: LPSTR pDriverPath; // c:\drivers\pscript.dll
319: LPSTR pDataFile; // c:\drivers\QMS810.PPD
320: LPSTR pConfigFile; // c:\drivers\PSCRPTUI.DLL
321: } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
1.1.1.2 root 322:
1.1.1.3 root 323: typedef struct _DRIVER_INFO_2W {
1.1.1.2 root 324: DWORD cVersion;
1.1.1.3 root 325: LPWSTR pName; // QMS 810
326: LPWSTR pEnvironment; // Win32 x86
327: LPWSTR pDriverPath; // c:\drivers\pscript.dll
328: LPWSTR pDataFile; // c:\drivers\QMS810.PPD
329: LPWSTR pConfigFile; // c:\drivers\PSCRPTUI.DLL
330: } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
331:
332: #ifdef UNICODE
333: #define DRIVER_INFO_2 DRIVER_INFO_2W
334: #define PDRIVER_INFO_2 PDRIVER_INFO_2W
335: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2W
336: #else
337: #define DRIVER_INFO_2 DRIVER_INFO_2A
338: #define PDRIVER_INFO_2 PDRIVER_INFO_2A
339: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2A
340: #endif // UNICODE
341:
342: typedef struct _DOC_INFO_1A {
343: LPSTR pDocName;
344: LPSTR pOutputFile;
345: LPSTR pDatatype;
346: } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
347:
348: typedef struct _DOC_INFO_1W {
349: LPWSTR pDocName;
350: LPWSTR pOutputFile;
351: LPWSTR pDatatype;
352: } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
353:
354: #ifdef UNICODE
355: #define DOC_INFO_1 DOC_INFO_1W
356: #define PDOC_INFO_1 PDOC_INFO_1W
357: #define LPDOC_INFO_1 LPDOC_INFO_1W
358: #else
359: #define DOC_INFO_1 DOC_INFO_1A
360: #define PDOC_INFO_1 PDOC_INFO_1A
361: #define LPDOC_INFO_1 LPDOC_INFO_1A
362: #endif // UNICODE
1.1.1.2 root 363:
1.1.1.3 root 364: typedef struct _FORM_INFO_1A {
1.1.1.4 ! root 365: DWORD Flags;
1.1.1.3 root 366: LPSTR pName;
1.1.1.2 root 367: SIZEL Size;
368: RECTL ImageableArea;
1.1.1.3 root 369: } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
1.1.1.2 root 370:
1.1.1.3 root 371: typedef struct _FORM_INFO_1W {
1.1.1.4 ! root 372: DWORD Flags;
1.1.1.3 root 373: LPWSTR pName;
374: SIZEL Size;
375: RECTL ImageableArea;
376: } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
1.1.1.2 root 377:
1.1.1.3 root 378: #ifdef UNICODE
379: #define FORM_INFO_1 FORM_INFO_1W
380: #define PFORM_INFO_1 PFORM_INFO_1W
381: #define LPFORM_INFO_1 LPFORM_INFO_1W
382: #else
383: #define FORM_INFO_1 FORM_INFO_1A
384: #define PFORM_INFO_1 PFORM_INFO_1A
385: #define LPFORM_INFO_1 LPFORM_INFO_1A
386: #endif // UNICODE
387:
1.1.1.4 ! root 388: #define FORM_BUILTIN 0x00000001
! 389:
! 390:
1.1.1.3 root 391: typedef struct _PRINTPROCESSOR_INFO_1A {
1.1.1.2 root 392: LPSTR pName;
1.1.1.3 root 393: } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
394:
395: typedef struct _PRINTPROCESSOR_INFO_1W {
396: LPWSTR pName;
397: } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
398:
399: #ifdef UNICODE
400: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1W
401: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1W
402: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1W
403: #else
404: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1A
405: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1A
406: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1A
407: #endif // UNICODE
1.1.1.2 root 408:
1.1.1.3 root 409: typedef struct _PORT_INFO_1A {
1.1.1.2 root 410: LPSTR pName;
1.1.1.3 root 411: } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
1.1.1.2 root 412:
1.1.1.3 root 413: typedef struct _PORT_INFO_1W {
414: LPWSTR pName;
415: } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
416:
417: #ifdef UNICODE
418: #define PORT_INFO_1 PORT_INFO_1W
419: #define PPORT_INFO_1 PPORT_INFO_1W
420: #define LPPORT_INFO_1 LPPORT_INFO_1W
421: #else
422: #define PORT_INFO_1 PORT_INFO_1A
423: #define PPORT_INFO_1 PPORT_INFO_1A
424: #define LPPORT_INFO_1 LPPORT_INFO_1A
425: #endif // UNICODE
426:
427: typedef struct _MONITOR_INFO_1A {
428: LPSTR pName;
429: } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
430:
431: typedef struct _MONITOR_INFO_1W {
432: LPWSTR pName;
433: } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
434:
435: #ifdef UNICODE
436: #define MONITOR_INFO_1 MONITOR_INFO_1W
437: #define PMONITOR_INFO_1 PMONITOR_INFO_1W
438: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1W
439: #else
440: #define MONITOR_INFO_1 MONITOR_INFO_1A
441: #define PMONITOR_INFO_1 PMONITOR_INFO_1A
442: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1A
443: #endif // UNICODE
444:
1.1.1.4 ! root 445: typedef struct _MONITOR_INFO_2A {
! 446: LPSTR pName;
! 447: LPSTR pEnvironment;
! 448: LPSTR pDLLName;
! 449: } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
! 450:
! 451: typedef struct _MONITOR_INFO_2W {
! 452: LPWSTR pName;
! 453: LPWSTR pEnvironment;
! 454: LPWSTR pDLLName;
! 455: } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
! 456:
! 457: #ifdef UNICODE
! 458: #define MONITOR_INFO_2 MONITOR_INFO_2W
! 459: #define PMONITOR_INFO_2 PMONITOR_INFO_2W
! 460: #define LPMONITOR_INFO_2 LPMONITOR_INFO_2W
! 461: #else
! 462: #define MONITOR_INFO_2 MONITOR_INFO_2A
! 463: #define PMONITOR_INFO_2 PMONITOR_INFO_2A
! 464: #define LPMONITOR_INFO_2 LPMONITOR_INFO_2A
! 465: #endif // UNICODE
! 466:
1.1.1.3 root 467: typedef struct _DATATYPES_INFO_1A {
1.1.1.2 root 468: LPSTR pName;
1.1.1.3 root 469: } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
470:
471: typedef struct _DATATYPES_INFO_1W {
472: LPWSTR pName;
473: } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
474:
475: #ifdef UNICODE
476: #define DATATYPES_INFO_1 DATATYPES_INFO_1W
477: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1W
478: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1W
479: #else
480: #define DATATYPES_INFO_1 DATATYPES_INFO_1A
481: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1A
482: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1A
483: #endif // UNICODE
1.1.1.2 root 484:
1.1.1.3 root 485: typedef struct _PRINTER_DEFAULTSA {
1.1.1.4 ! root 486: LPSTR pDatatype;
! 487: LPDEVMODEA pDevMode;
! 488: ACCESS_MASK DesiredAccess;
1.1.1.3 root 489: } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
490:
491: typedef struct _PRINTER_DEFAULTSW {
1.1.1.4 ! root 492: LPWSTR pDatatype;
! 493: LPDEVMODEW pDevMode;
! 494: ACCESS_MASK DesiredAccess;
1.1.1.3 root 495: } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
496:
497: #ifdef UNICODE
498: #define PRINTER_DEFAULTS PRINTER_DEFAULTSW
499: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSW
500: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSW
501: #else
502: #define PRINTER_DEFAULTS PRINTER_DEFAULTSA
503: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSA
504: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSA
505: #endif // UNICODE
1.1 root 506:
507: BOOL
1.1.1.2 root 508: WINAPI
1.1.1.3 root 509: EnumPrintersA(
1.1.1.2 root 510: DWORD Flags,
1.1.1.3 root 511: LPSTR Name,
1.1.1.2 root 512: DWORD Level,
513: LPBYTE pPrinterEnum,
514: DWORD cbBuf,
515: LPDWORD pcbNeeded,
516: LPDWORD pcReturned
517: );
518:
1.1.1.3 root 519: BOOL
520: WINAPI
521: EnumPrintersW(
522: DWORD Flags,
523: LPWSTR Name,
524: DWORD Level,
525: LPBYTE pPrinterEnum,
526: DWORD cbBuf,
527: LPDWORD pcbNeeded,
528: LPDWORD pcReturned
529: );
530:
531: #ifdef UNICODE
532: #define EnumPrinters EnumPrintersW
533: #else
534: #define EnumPrinters EnumPrintersA
535: #endif // !UNICODE
536:
537: #define PRINTER_ENUM_DEFAULT 0x00000001
538: #define PRINTER_ENUM_LOCAL 0x00000002
539: #define PRINTER_ENUM_CONNECTIONS 0x00000004
540: #define PRINTER_ENUM_FAVORITE 0x00000004
541: #define PRINTER_ENUM_NAME 0x00000008
542: #define PRINTER_ENUM_REMOTE 0x00000010
543: #define PRINTER_ENUM_SHARED 0x00000020
544: #define PRINTER_ENUM_NETWORK 0x00000040
545:
1.1.1.4 ! root 546: #define PRINTER_ENUM_EXPAND 0x00004000
1.1.1.3 root 547: #define PRINTER_ENUM_CONTAINER 0x00008000
548:
549: #define PRINTER_ENUM_ICONMASK 0x00ff0000
550: #define PRINTER_ENUM_ICON1 0x00010000
551: #define PRINTER_ENUM_ICON2 0x00020000
552: #define PRINTER_ENUM_ICON3 0x00040000
553: #define PRINTER_ENUM_ICON4 0x00080000
554: #define PRINTER_ENUM_ICON5 0x00100000
555: #define PRINTER_ENUM_ICON6 0x00200000
556: #define PRINTER_ENUM_ICON7 0x00400000
557: #define PRINTER_ENUM_ICON8 0x00800000
1.1.1.2 root 558:
559: BOOL
560: WINAPI
1.1.1.3 root 561: OpenPrinterA(
562: LPSTR pPrinterName,
1.1.1.2 root 563: LPHANDLE phPrinter,
1.1.1.3 root 564: LPPRINTER_DEFAULTSA pDefault
565: );
566:
567: BOOL
568: WINAPI
569: OpenPrinterW(
570: LPWSTR pPrinterName,
571: LPHANDLE phPrinter,
572: LPPRINTER_DEFAULTSW pDefault
573: );
574:
575: #ifdef UNICODE
576: #define OpenPrinter OpenPrinterW
577: #else
578: #define OpenPrinter OpenPrinterA
579: #endif // !UNICODE
580:
581: BOOL
582: WINAPI
1.1.1.4 ! root 583: ResetPrinterA(
! 584: HANDLE hPrinter,
! 585: LPPRINTER_DEFAULTSA pDefault
! 586: );
! 587:
! 588: BOOL
! 589: WINAPI
! 590: ResetPrinterW(
! 591: HANDLE hPrinter,
! 592: LPPRINTER_DEFAULTSW pDefault
! 593: );
! 594:
! 595: #ifdef UNICODE
! 596: #define ResetPrinter ResetPrinterW
! 597: #else
! 598: #define ResetPrinter ResetPrinterA
! 599: #endif // !UNICODE
! 600:
! 601: BOOL
! 602: WINAPI
1.1.1.3 root 603: SetJobA(
604: HANDLE hPrinter,
605: DWORD JobId,
606: DWORD Level,
607: LPBYTE pJob,
608: DWORD Command
1.1.1.2 root 609: );
610:
611: BOOL
612: WINAPI
1.1.1.3 root 613: SetJobW(
1.1.1.2 root 614: HANDLE hPrinter,
615: DWORD JobId,
616: DWORD Level,
617: LPBYTE pJob,
618: DWORD Command
1.1 root 619: );
620:
1.1.1.3 root 621: #ifdef UNICODE
622: #define SetJob SetJobW
623: #else
624: #define SetJob SetJobA
625: #endif // !UNICODE
626:
1.1 root 627: BOOL
1.1.1.2 root 628: WINAPI
1.1.1.3 root 629: GetJobA(
1.1.1.2 root 630: HANDLE hPrinter,
631: DWORD JobId,
632: DWORD Level,
633: LPBYTE pJob,
634: DWORD cbBuf,
635: LPDWORD pcbNeeded
1.1 root 636: );
637:
638: BOOL
1.1.1.2 root 639: WINAPI
1.1.1.3 root 640: GetJobW(
641: HANDLE hPrinter,
642: DWORD JobId,
643: DWORD Level,
644: LPBYTE pJob,
645: DWORD cbBuf,
646: LPDWORD pcbNeeded
647: );
648:
649: #ifdef UNICODE
650: #define GetJob GetJobW
651: #else
652: #define GetJob GetJobA
653: #endif // !UNICODE
654:
655: BOOL
656: WINAPI
657: EnumJobsA(
658: HANDLE hPrinter,
659: DWORD FirstJob,
660: DWORD NoJobs,
661: DWORD Level,
662: LPBYTE pJob,
663: DWORD cbBuf,
664: LPDWORD pcbNeeded,
665: LPDWORD pcReturned
666: );
667:
668: BOOL
669: WINAPI
670: EnumJobsW(
1.1.1.2 root 671: HANDLE hPrinter,
672: DWORD FirstJob,
673: DWORD NoJobs,
674: DWORD Level,
675: LPBYTE pJob,
676: DWORD cbBuf,
677: LPDWORD pcbNeeded,
678: LPDWORD pcReturned
1.1 root 679: );
680:
1.1.1.3 root 681: #ifdef UNICODE
682: #define EnumJobs EnumJobsW
683: #else
684: #define EnumJobs EnumJobsA
685: #endif // !UNICODE
686:
1.1.1.2 root 687: HANDLE
688: WINAPI
1.1.1.3 root 689: AddPrinterA(
1.1.1.2 root 690: LPSTR pName,
691: DWORD Level,
692: LPBYTE pPrinter
1.1 root 693: );
694:
1.1.1.3 root 695: HANDLE
696: WINAPI
697: AddPrinterW(
698: LPWSTR pName,
699: DWORD Level,
700: LPBYTE pPrinter
701: );
702:
703: #ifdef UNICODE
704: #define AddPrinter AddPrinterW
705: #else
706: #define AddPrinter AddPrinterA
707: #endif // !UNICODE
708:
1.1 root 709: BOOL
1.1.1.2 root 710: WINAPI
1.1 root 711: DeletePrinter(
1.1.1.2 root 712: HANDLE hPrinter
1.1 root 713: );
714:
715: BOOL
1.1.1.2 root 716: WINAPI
1.1.1.3 root 717: SetPrinterA(
1.1.1.2 root 718: HANDLE hPrinter,
719: DWORD Level,
720: LPBYTE pPrinter,
721: DWORD Command
1.1 root 722: );
723:
724: BOOL
1.1.1.2 root 725: WINAPI
1.1.1.3 root 726: SetPrinterW(
727: HANDLE hPrinter,
728: DWORD Level,
729: LPBYTE pPrinter,
730: DWORD Command
731: );
732:
733: #ifdef UNICODE
734: #define SetPrinter SetPrinterW
735: #else
736: #define SetPrinter SetPrinterA
737: #endif // !UNICODE
738:
739: BOOL
740: WINAPI
741: GetPrinterA(
1.1.1.2 root 742: HANDLE hPrinter,
743: DWORD Level,
744: LPBYTE pPrinter,
745: DWORD cbBuf,
746: LPDWORD pcbNeeded
1.1 root 747: );
748:
749: BOOL
1.1.1.2 root 750: WINAPI
1.1.1.3 root 751: GetPrinterW(
752: HANDLE hPrinter,
753: DWORD Level,
754: LPBYTE pPrinter,
755: DWORD cbBuf,
756: LPDWORD pcbNeeded
757: );
758:
759: #ifdef UNICODE
760: #define GetPrinter GetPrinterW
761: #else
762: #define GetPrinter GetPrinterA
763: #endif // !UNICODE
764:
765: BOOL
766: WINAPI
767: AddPrinterDriverA(
768: LPSTR pName,
1.1.1.2 root 769: DWORD Level,
770: LPBYTE pDriverInfo
1.1 root 771: );
772:
773: BOOL
1.1.1.2 root 774: WINAPI
1.1.1.3 root 775: AddPrinterDriverW(
776: LPWSTR pName,
777: DWORD Level,
778: LPBYTE pDriverInfo
779: );
780:
781: #ifdef UNICODE
782: #define AddPrinterDriver AddPrinterDriverW
783: #else
784: #define AddPrinterDriver AddPrinterDriverA
785: #endif // !UNICODE
786:
787: BOOL
788: WINAPI
789: EnumPrinterDriversA(
790: LPSTR pName,
791: LPSTR pEnvironment,
1.1.1.2 root 792: DWORD Level,
793: LPBYTE pDriverInfo,
794: DWORD cbBuf,
795: LPDWORD pcbNeeded,
796: LPDWORD pcReturned
1.1 root 797: );
798:
799: BOOL
1.1.1.2 root 800: WINAPI
1.1.1.3 root 801: EnumPrinterDriversW(
802: LPWSTR pName,
803: LPWSTR pEnvironment,
804: DWORD Level,
805: LPBYTE pDriverInfo,
806: DWORD cbBuf,
807: LPDWORD pcbNeeded,
808: LPDWORD pcReturned
809: );
810:
811: #ifdef UNICODE
812: #define EnumPrinterDrivers EnumPrinterDriversW
813: #else
814: #define EnumPrinterDrivers EnumPrinterDriversA
815: #endif // !UNICODE
816:
817: BOOL
818: WINAPI
819: GetPrinterDriverA(
1.1.1.2 root 820: HANDLE hPrinter,
1.1.1.3 root 821: LPSTR pEnvironment,
1.1.1.2 root 822: DWORD Level,
823: LPBYTE pDriverInfo,
824: DWORD cbBuf,
825: LPDWORD pcbNeeded
1.1 root 826: );
827:
828: BOOL
1.1.1.2 root 829: WINAPI
1.1.1.3 root 830: GetPrinterDriverW(
831: HANDLE hPrinter,
832: LPWSTR pEnvironment,
833: DWORD Level,
834: LPBYTE pDriverInfo,
835: DWORD cbBuf,
836: LPDWORD pcbNeeded
837: );
838:
839: #ifdef UNICODE
840: #define GetPrinterDriver GetPrinterDriverW
841: #else
842: #define GetPrinterDriver GetPrinterDriverA
843: #endif // !UNICODE
844:
845: BOOL
846: WINAPI
847: GetPrinterDriverDirectoryA(
848: LPSTR pName,
849: LPSTR pEnvironment,
850: DWORD Level,
851: LPBYTE pDriverDirectory,
852: DWORD cbBuf,
853: LPDWORD pcbNeeded
854: );
855:
856: BOOL
857: WINAPI
858: GetPrinterDriverDirectoryW(
859: LPWSTR pName,
860: LPWSTR pEnvironment,
1.1.1.2 root 861: DWORD Level,
862: LPBYTE pDriverDirectory,
863: DWORD cbBuf,
864: LPDWORD pcbNeeded
1.1 root 865: );
866:
1.1.1.3 root 867: #ifdef UNICODE
868: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
869: #else
870: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
871: #endif // !UNICODE
872:
873: BOOL
874: WINAPI
875: DeletePrinterDriverA(
876: LPSTR pName,
877: LPSTR pEnvironment,
878: LPSTR pDriverName
879: );
880:
1.1 root 881: BOOL
1.1.1.2 root 882: WINAPI
1.1.1.3 root 883: DeletePrinterDriverW(
884: LPWSTR pName,
885: LPWSTR pEnvironment,
886: LPWSTR pDriverName
1.1 root 887: );
888:
1.1.1.3 root 889: #ifdef UNICODE
890: #define DeletePrinterDriver DeletePrinterDriverW
891: #else
892: #define DeletePrinterDriver DeletePrinterDriverA
893: #endif // !UNICODE
894:
1.1 root 895: BOOL
1.1.1.2 root 896: WINAPI
1.1.1.3 root 897: AddPrintProcessorA(
898: LPSTR pName,
899: LPSTR pEnvironment,
900: LPSTR pPathName,
901: LPSTR pPrintProcessorName
1.1 root 902: );
903:
1.1.1.2 root 904: BOOL
905: WINAPI
1.1.1.3 root 906: AddPrintProcessorW(
907: LPWSTR pName,
908: LPWSTR pEnvironment,
909: LPWSTR pPathName,
910: LPWSTR pPrintProcessorName
911: );
912:
913: #ifdef UNICODE
914: #define AddPrintProcessor AddPrintProcessorW
915: #else
916: #define AddPrintProcessor AddPrintProcessorA
917: #endif // !UNICODE
918:
919: BOOL
920: WINAPI
921: EnumPrintProcessorsA(
922: LPSTR pName,
923: LPSTR pEnvironment,
1.1.1.2 root 924: DWORD Level,
925: LPBYTE pPrintProcessorInfo,
926: DWORD cbBuf,
927: LPDWORD pcbNeeded,
928: LPDWORD pcReturned
1.1 root 929: );
930:
931: BOOL
1.1.1.2 root 932: WINAPI
1.1.1.3 root 933: EnumPrintProcessorsW(
934: LPWSTR pName,
935: LPWSTR pEnvironment,
936: DWORD Level,
937: LPBYTE pPrintProcessorInfo,
938: DWORD cbBuf,
939: LPDWORD pcbNeeded,
940: LPDWORD pcReturned
941: );
942:
943: #ifdef UNICODE
944: #define EnumPrintProcessors EnumPrintProcessorsW
945: #else
946: #define EnumPrintProcessors EnumPrintProcessorsA
947: #endif // !UNICODE
948:
949: BOOL
950: WINAPI
951: GetPrintProcessorDirectoryA(
952: LPSTR pName,
953: LPSTR pEnvironment,
1.1.1.2 root 954: DWORD Level,
955: LPBYTE pPrintProcessorInfo,
956: DWORD cbBuf,
957: LPDWORD pcbNeeded
1.1 root 958: );
959:
960: BOOL
1.1.1.2 root 961: WINAPI
1.1.1.3 root 962: GetPrintProcessorDirectoryW(
963: LPWSTR pName,
964: LPWSTR pEnvironment,
965: DWORD Level,
966: LPBYTE pPrintProcessorInfo,
967: DWORD cbBuf,
968: LPDWORD pcbNeeded
969: );
970:
971: #ifdef UNICODE
972: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
973: #else
974: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
975: #endif // !UNICODE
976:
1.1.1.4 ! root 977: BOOL
! 978: EnumPrintProcessorDatatypesW(
! 979: LPWSTR pName,
! 980: LPWSTR pPrintProcessorName,
! 981: DWORD Level,
! 982: LPBYTE pDatatypes,
! 983: DWORD cbBuf,
! 984: LPDWORD pcbNeeded,
! 985: LPDWORD pcReturned
! 986: );
! 987:
! 988: BOOL
! 989: EnumPrintProcessorDatatypesA(
! 990: LPSTR pName,
! 991: LPSTR pPrintProcessorName,
! 992: DWORD Level,
! 993: LPBYTE pDatatypes,
! 994: DWORD cbBuf,
! 995: LPDWORD pcbNeeded,
! 996: LPDWORD pcReturned
! 997: );
! 998:
! 999: #ifdef UNICODE
! 1000: #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
! 1001: #else
! 1002: #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
! 1003: #endif // !UNICODE
! 1004:
! 1005: BOOL
! 1006: WINAPI
! 1007: DeletePrintProcessorA(
! 1008: LPSTR pName,
! 1009: LPSTR pEnvironment,
! 1010: LPSTR pPrintProcessorName
! 1011: );
! 1012:
! 1013: BOOL
! 1014: WINAPI
! 1015: DeletePrintProcessorW(
! 1016: LPWSTR pName,
! 1017: LPWSTR pEnvironment,
! 1018: LPWSTR pPrintProcessorName
! 1019: );
! 1020:
! 1021: #ifdef UNICODE
! 1022: #define DeletePrintProcessor DeletePrintProcessorW
! 1023: #else
! 1024: #define DeletePrintProcessor DeletePrintProcessorA
! 1025: #endif // !UNICODE
! 1026:
1.1.1.3 root 1027: DWORD
1028: WINAPI
1029: StartDocPrinterA(
1030: HANDLE hPrinter,
1031: DWORD Level,
1032: LPBYTE pDocInfo
1033: );
1034:
1035: DWORD
1036: WINAPI
1037: StartDocPrinterW(
1.1.1.2 root 1038: HANDLE hPrinter,
1039: DWORD Level,
1040: LPBYTE pDocInfo
1.1 root 1041: );
1042:
1.1.1.3 root 1043: #ifdef UNICODE
1044: #define StartDocPrinter StartDocPrinterW
1045: #else
1046: #define StartDocPrinter StartDocPrinterA
1047: #endif // !UNICODE
1048:
1.1 root 1049: BOOL
1.1.1.2 root 1050: WINAPI
1051: StartPagePrinter(
1052: HANDLE hPrinter
1.1 root 1053: );
1054:
1055: BOOL
1.1.1.2 root 1056: WINAPI
1057: WritePrinter(
1058: HANDLE hPrinter,
1059: LPVOID pBuf,
1060: DWORD cbBuf,
1061: LPDWORD pcWritten
1.1 root 1062: );
1063:
1064: BOOL
1.1.1.2 root 1065: WINAPI
1066: EndPagePrinter(
1067: HANDLE hPrinter
1.1 root 1068: );
1069:
1070: BOOL
1.1.1.2 root 1071: WINAPI
1072: AbortPrinter(
1073: HANDLE hPrinter
1.1 root 1074: );
1075:
1076: BOOL
1.1.1.2 root 1077: WINAPI
1078: ReadPrinter(
1079: HANDLE hPrinter,
1080: LPVOID pBuf,
1081: DWORD cbBuf,
1082: LPDWORD pNoBytesRead
1.1 root 1083: );
1084:
1085: BOOL
1.1.1.2 root 1086: WINAPI
1087: EndDocPrinter(
1088: HANDLE hPrinter
1.1 root 1089: );
1090:
1091: BOOL
1.1.1.2 root 1092: WINAPI
1.1.1.3 root 1093: AddJobA(
1.1.1.2 root 1094: HANDLE hPrinter,
1095: DWORD Level,
1096: LPBYTE pData,
1097: DWORD cbBuf,
1098: LPDWORD pcbNeeded
1099: );
1100:
1101: BOOL
1102: WINAPI
1.1.1.3 root 1103: AddJobW(
1104: HANDLE hPrinter,
1105: DWORD Level,
1106: LPBYTE pData,
1107: DWORD cbBuf,
1108: LPDWORD pcbNeeded
1109: );
1110:
1111: #ifdef UNICODE
1112: #define AddJob AddJobW
1113: #else
1114: #define AddJob AddJobA
1115: #endif // !UNICODE
1116:
1117: BOOL
1118: WINAPI
1.1.1.2 root 1119: ScheduleJob(
1120: HANDLE hPrinter,
1121: DWORD JobId
1122: );
1123:
1124: BOOL
1125: WINAPI
1.1 root 1126: PrinterProperties(
1.1.1.2 root 1127: HWND hWnd,
1128: HANDLE hPrinter
1129: );
1130:
1131: LONG
1132: WINAPI
1.1.1.3 root 1133: DocumentPropertiesA(
1.1.1.2 root 1134: HWND hWnd,
1135: HANDLE hPrinter,
1136: LPSTR pDeviceName,
1.1.1.3 root 1137: PDEVMODEA pDevModeOutput,
1138: PDEVMODEA pDevModeInput,
1.1.1.2 root 1139: DWORD fMode
1140: );
1141:
1142: LONG
1143: WINAPI
1.1.1.3 root 1144: DocumentPropertiesW(
1145: HWND hWnd,
1146: HANDLE hPrinter,
1147: LPWSTR pDeviceName,
1148: PDEVMODEW pDevModeOutput,
1149: PDEVMODEW pDevModeInput,
1150: DWORD fMode
1151: );
1152:
1153: #ifdef UNICODE
1154: #define DocumentProperties DocumentPropertiesW
1155: #else
1156: #define DocumentProperties DocumentPropertiesA
1157: #endif // !UNICODE
1158:
1159: LONG
1160: WINAPI
1161: AdvancedDocumentPropertiesA(
1.1.1.2 root 1162: HWND hWnd,
1163: HANDLE hPrinter,
1164: LPSTR pDeviceName,
1.1.1.3 root 1165: PDEVMODEA pDevModeOutput,
1166: PDEVMODEA pDevModeInput
1.1.1.2 root 1167: );
1168:
1.1.1.3 root 1169: LONG
1170: WINAPI
1171: AdvancedDocumentPropertiesW(
1172: HWND hWnd,
1173: HANDLE hPrinter,
1174: LPWSTR pDeviceName,
1175: PDEVMODEW pDevModeOutput,
1176: PDEVMODEW pDevModeInput
1177: );
1178:
1179: #ifdef UNICODE
1180: #define AdvancedDocumentProperties AdvancedDocumentPropertiesW
1181: #else
1182: #define AdvancedDocumentProperties AdvancedDocumentPropertiesA
1183: #endif // !UNICODE
1184:
1.1.1.2 root 1185: DWORD
1186: WINAPI
1.1.1.3 root 1187: GetPrinterDataA(
1.1.1.2 root 1188: HANDLE hPrinter,
1.1.1.3 root 1189: LPSTR pValueName,
1.1.1.2 root 1190: LPDWORD pType,
1191: LPBYTE pData,
1192: DWORD nSize,
1193: LPDWORD pcbNeeded
1194: );
1195:
1196: DWORD
1197: WINAPI
1.1.1.3 root 1198: GetPrinterDataW(
1199: HANDLE hPrinter,
1200: LPWSTR pValueName,
1201: LPDWORD pType,
1202: LPBYTE pData,
1203: DWORD nSize,
1204: LPDWORD pcbNeeded
1205: );
1206:
1207: #ifdef UNICODE
1208: #define GetPrinterData GetPrinterDataW
1209: #else
1210: #define GetPrinterData GetPrinterDataA
1211: #endif // !UNICODE
1212:
1213: DWORD
1214: WINAPI
1215: SetPrinterDataA(
1.1.1.2 root 1216: HANDLE hPrinter,
1.1.1.3 root 1217: LPSTR pValueName,
1.1.1.2 root 1218: DWORD Type,
1219: LPBYTE pData,
1220: DWORD cbData
1221: );
1222:
1.1.1.3 root 1223: DWORD
1224: WINAPI
1225: SetPrinterDataW(
1226: HANDLE hPrinter,
1227: LPWSTR pValueName,
1228: DWORD Type,
1229: LPBYTE pData,
1230: DWORD cbData
1231: );
1232:
1233: #ifdef UNICODE
1234: #define SetPrinterData SetPrinterDataW
1235: #else
1236: #define SetPrinterData SetPrinterDataA
1237: #endif // !UNICODE
1238:
1239: DWORD
1240: WINAPI
1241: WaitForPrinterChange(
1242: HANDLE hPrinter,
1243: DWORD Flags
1244: );
1245:
1.1.1.4 ! root 1246: #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
! 1247: #define PRINTER_CHANGE_SET_PRINTER 0x00000002
! 1248: #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
! 1249: #define PRINTER_CHANGE_PRINTER 0x000000FF
! 1250: #define PRINTER_CHANGE_ADD_JOB 0x00000100
! 1251: #define PRINTER_CHANGE_SET_JOB 0x00000200
! 1252: #define PRINTER_CHANGE_DELETE_JOB 0x00000400
! 1253: #define PRINTER_CHANGE_WRITE_JOB 0x00000800
! 1254: #define PRINTER_CHANGE_JOB 0x0000FF00
! 1255: #define PRINTER_CHANGE_ADD_FORM 0x00010000
! 1256: #define PRINTER_CHANGE_SET_FORM 0x00020000
! 1257: #define PRINTER_CHANGE_DELETE_FORM 0x00040000
! 1258: #define PRINTER_CHANGE_FORM 0x00070000
! 1259: #define PRINTER_CHANGE_ADD_PORT 0x00100000
! 1260: #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
! 1261: #define PRINTER_CHANGE_DELETE_PORT 0x00400000
! 1262: #define PRINTER_CHANGE_PORT 0x00700000
! 1263: #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
! 1264: #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x04000000
! 1265: #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
! 1266: #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
! 1267: #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
! 1268: #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
! 1269: #define PRINTER_CHANGE_TIMEOUT 0x80000000
! 1270: #define PRINTER_CHANGE_ALL 0x7777FFFF
! 1271:
1.1.1.3 root 1272: DWORD
1273: WINAPI
1274: PrinterMessageBoxA(
1275: HANDLE hPrinter,
1276: DWORD Error,
1277: HWND hWnd,
1278: LPSTR pText,
1279: LPSTR pCaption,
1280: DWORD dwType
1281: );
1282:
1283: DWORD
1284: WINAPI
1285: PrinterMessageBoxW(
1286: HANDLE hPrinter,
1287: DWORD Error,
1288: HWND hWnd,
1289: LPWSTR pText,
1290: LPWSTR pCaption,
1291: DWORD dwType
1292: );
1293:
1294: #ifdef UNICODE
1295: #define PrinterMessageBox PrinterMessageBoxW
1296: #else
1297: #define PrinterMessageBox PrinterMessageBoxA
1298: #endif // !UNICODE
1299:
1300: #define PRINTER_ERROR_INFORMATION 0x80000000
1301: #define PRINTER_ERROR_WARNING 0x40000000
1302: #define PRINTER_ERROR_SEVERE 0x20000000
1303:
1304: #define PRINTER_ERROR_OUTOFPAPER 0x00000001
1305: #define PRINTER_ERROR_JAM 0x00000002
1306: #define PRINTER_ERROR_OUTOFTONER 0x00000004
1307:
1.1.1.2 root 1308: BOOL
1309: WINAPI
1310: ClosePrinter(
1311: HANDLE hPrinter
1312: );
1313:
1314: BOOL
1315: WINAPI
1.1.1.3 root 1316: AddFormA(
1.1.1.2 root 1317: HANDLE hPrinter,
1318: DWORD Level,
1319: LPBYTE pForm
1320: );
1321:
1322: BOOL
1323: WINAPI
1.1.1.3 root 1324: AddFormW(
1325: HANDLE hPrinter,
1326: DWORD Level,
1327: LPBYTE pForm
1328: );
1329:
1330: #ifdef UNICODE
1331: #define AddForm AddFormW
1332: #else
1333: #define AddForm AddFormA
1334: #endif // !UNICODE
1335:
1336: BOOL
1337: WINAPI
1338: DeleteFormA(
1.1.1.2 root 1339: HANDLE hPrinter,
1340: LPSTR pFormName
1341: );
1342:
1343: BOOL
1344: WINAPI
1.1.1.3 root 1345: DeleteFormW(
1346: HANDLE hPrinter,
1347: LPWSTR pFormName
1348: );
1349:
1350: #ifdef UNICODE
1351: #define DeleteForm DeleteFormW
1352: #else
1353: #define DeleteForm DeleteFormA
1354: #endif // !UNICODE
1355:
1356: BOOL
1357: WINAPI
1358: GetFormA(
1.1.1.2 root 1359: HANDLE hPrinter,
1360: LPSTR pFormName,
1361: DWORD Level,
1362: LPBYTE pForm,
1363: DWORD cbBuf,
1364: LPDWORD pcbNeeded
1365: );
1366:
1367: BOOL
1368: WINAPI
1.1.1.3 root 1369: GetFormW(
1370: HANDLE hPrinter,
1371: LPWSTR pFormName,
1372: DWORD Level,
1373: LPBYTE pForm,
1374: DWORD cbBuf,
1375: LPDWORD pcbNeeded
1376: );
1377:
1378: #ifdef UNICODE
1379: #define GetForm GetFormW
1380: #else
1381: #define GetForm GetFormA
1382: #endif // !UNICODE
1383:
1384: BOOL
1385: WINAPI
1386: SetFormA(
1.1.1.2 root 1387: HANDLE hPrinter,
1388: LPSTR pFormName,
1389: DWORD Level,
1390: LPBYTE pForm
1391: );
1392:
1393: BOOL
1394: WINAPI
1.1.1.3 root 1395: SetFormW(
1396: HANDLE hPrinter,
1397: LPWSTR pFormName,
1398: DWORD Level,
1399: LPBYTE pForm
1400: );
1401:
1402: #ifdef UNICODE
1403: #define SetForm SetFormW
1404: #else
1405: #define SetForm SetFormA
1406: #endif // !UNICODE
1407:
1408: BOOL
1409: WINAPI
1410: EnumFormsA(
1411: HANDLE hPrinter,
1412: DWORD Level,
1413: LPBYTE pForm,
1414: DWORD cbBuf,
1415: LPDWORD pcbNeeded,
1416: LPDWORD pcReturned
1417: );
1418:
1419: BOOL
1420: WINAPI
1421: EnumFormsW(
1.1.1.2 root 1422: HANDLE hPrinter,
1423: DWORD Level,
1424: LPBYTE pForm,
1425: DWORD cbBuf,
1426: LPDWORD pcbNeeded,
1427: LPDWORD pcReturned
1428: );
1429:
1.1.1.3 root 1430: #ifdef UNICODE
1431: #define EnumForms EnumFormsW
1432: #else
1433: #define EnumForms EnumFormsA
1434: #endif // !UNICODE
1435:
1.1.1.2 root 1436: BOOL
1437: WINAPI
1.1.1.3 root 1438: EnumMonitorsA(
1.1.1.2 root 1439: LPSTR pName,
1440: DWORD Level,
1441: LPBYTE pMonitors,
1442: DWORD cbBuf,
1443: LPDWORD pcbNeeded,
1444: LPDWORD pcReturned
1445: );
1446:
1447: BOOL
1448: WINAPI
1.1.1.3 root 1449: EnumMonitorsW(
1450: LPWSTR pName,
1451: DWORD Level,
1452: LPBYTE pMonitors,
1453: DWORD cbBuf,
1454: LPDWORD pcbNeeded,
1455: LPDWORD pcReturned
1456: );
1457:
1458: #ifdef UNICODE
1459: #define EnumMonitors EnumMonitorsW
1460: #else
1461: #define EnumMonitors EnumMonitorsA
1462: #endif // !UNICODE
1463:
1464: BOOL
1465: WINAPI
1.1.1.4 ! root 1466: AddMonitorA(
! 1467: LPSTR pName,
! 1468: DWORD Level,
! 1469: LPBYTE pMonitors
! 1470: );
! 1471:
! 1472: BOOL
! 1473: WINAPI
! 1474: AddMonitorW(
! 1475: LPWSTR pName,
! 1476: DWORD Level,
! 1477: LPBYTE pMonitors
! 1478: );
! 1479:
! 1480: #ifdef UNICODE
! 1481: #define AddMonitor AddMonitorW
! 1482: #else
! 1483: #define AddMonitor AddMonitorA
! 1484: #endif // !UNICODE
! 1485:
! 1486: BOOL
! 1487: WINAPI
! 1488: DeleteMonitorA(
! 1489: LPSTR pName,
! 1490: LPSTR pEnvironment,
! 1491: LPSTR pMonitorName
! 1492: );
! 1493:
! 1494: BOOL
! 1495: WINAPI
! 1496: DeleteMonitorW(
! 1497: LPWSTR pName,
! 1498: LPWSTR pEnvironment,
! 1499: LPWSTR pMonitorName
! 1500: );
! 1501:
! 1502: #ifdef UNICODE
! 1503: #define DeleteMonitor DeleteMonitorW
! 1504: #else
! 1505: #define DeleteMonitor DeleteMonitorA
! 1506: #endif // !UNICODE
! 1507:
! 1508: BOOL
! 1509: WINAPI
1.1.1.3 root 1510: EnumPortsA(
1.1.1.2 root 1511: LPSTR pName,
1512: DWORD Level,
1513: LPBYTE pPorts,
1514: DWORD cbBuf,
1515: LPDWORD pcbNeeded,
1516: LPDWORD pcReturned
1517: );
1518:
1519: BOOL
1520: WINAPI
1.1.1.3 root 1521: EnumPortsW(
1522: LPWSTR pName,
1523: DWORD Level,
1524: LPBYTE pPorts,
1525: DWORD cbBuf,
1526: LPDWORD pcbNeeded,
1527: LPDWORD pcReturned
1528: );
1529:
1530: #ifdef UNICODE
1531: #define EnumPorts EnumPortsW
1532: #else
1533: #define EnumPorts EnumPortsA
1534: #endif // !UNICODE
1535:
1536: BOOL
1537: WINAPI
1538: AddPortA(
1.1.1.2 root 1539: LPSTR pName,
1540: HWND hWnd,
1541: LPSTR pMonitorName
1542: );
1543:
1544: BOOL
1545: WINAPI
1.1.1.3 root 1546: AddPortW(
1547: LPWSTR pName,
1548: HWND hWnd,
1549: LPWSTR pMonitorName
1550: );
1551:
1552: #ifdef UNICODE
1553: #define AddPort AddPortW
1554: #else
1555: #define AddPort AddPortA
1556: #endif // !UNICODE
1557:
1558: BOOL
1559: WINAPI
1560: ConfigurePortA(
1.1.1.2 root 1561: LPSTR pName,
1562: HWND hWnd,
1563: LPSTR pPortName
1564: );
1565:
1566: BOOL
1567: WINAPI
1.1.1.3 root 1568: ConfigurePortW(
1569: LPWSTR pName,
1570: HWND hWnd,
1571: LPWSTR pPortName
1572: );
1573:
1574: #ifdef UNICODE
1575: #define ConfigurePort ConfigurePortW
1576: #else
1577: #define ConfigurePort ConfigurePortA
1578: #endif // !UNICODE
1579:
1580: BOOL
1581: WINAPI
1582: DeletePortA(
1.1.1.2 root 1583: LPSTR pName,
1584: HWND hWnd,
1585: LPSTR pPortName
1.1 root 1586: );
1587:
1.1.1.3 root 1588: BOOL
1589: WINAPI
1590: DeletePortW(
1591: LPWSTR pName,
1592: HWND hWnd,
1593: LPWSTR pPortName
1594: );
1595:
1596: #ifdef UNICODE
1597: #define DeletePort DeletePortW
1598: #else
1599: #define DeletePort DeletePortA
1600: #endif // !UNICODE
1601:
1602: BOOL
1603: WINAPI
1604: AddPrinterConnectionA(
1605: LPSTR pName
1606: );
1607:
1608: BOOL
1609: WINAPI
1610: AddPrinterConnectionW(
1611: LPWSTR pName
1612: );
1613:
1614: #ifdef UNICODE
1615: #define AddPrinterConnection AddPrinterConnectionW
1616: #else
1617: #define AddPrinterConnection AddPrinterConnectionA
1618: #endif // !UNICODE
1619:
1620: BOOL
1621: WINAPI
1622: DeletePrinterConnectionA(
1623: LPSTR pName
1624: );
1625:
1626: BOOL
1627: WINAPI
1628: DeletePrinterConnectionW(
1629: LPWSTR pName
1630: );
1631:
1632: #ifdef UNICODE
1633: #define DeletePrinterConnection DeletePrinterConnectionW
1634: #else
1635: #define DeletePrinterConnection DeletePrinterConnectionA
1636: #endif // !UNICODE
1637:
1638: HANDLE
1639: WINAPI
1640: ConnectToPrinterDlg(
1641: HWND hwnd,
1642: DWORD Flags
1643: );
1644:
1.1.1.4 ! root 1645: typedef struct _PROVIDOR_INFO_1A {
! 1646: LPSTR pName;
! 1647: LPSTR pEnvironment;
! 1648: LPSTR pDLLName;
! 1649: } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
! 1650:
! 1651: typedef struct _PROVIDOR_INFO_1W {
! 1652: LPWSTR pName;
! 1653: LPWSTR pEnvironment;
! 1654: LPWSTR pDLLName;
! 1655: } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
! 1656:
! 1657: #ifdef UNICODE
! 1658: #define PROVIDOR_INFO_1 PROVIDOR_INFO_1W
! 1659: #define PPROVIDOR_INFO_1 PPROVIDOR_INFO_1W
! 1660: #define LPPROVIDOR_INFO_1 LPPROVIDOR_INFO_1W
! 1661: #else
! 1662: #define PROVIDOR_INFO_1 PROVIDOR_INFO_1A
! 1663: #define PPROVIDOR_INFO_1 PPROVIDOR_INFO_1A
! 1664: #define LPPROVIDOR_INFO_1 LPPROVIDOR_INFO_1A
! 1665: #endif // UNICODE
! 1666:
! 1667: BOOL
! 1668: WINAPI
! 1669: AddPrintProvidorA(
! 1670: LPSTR pName,
! 1671: DWORD Level,
! 1672: LPBYTE pProvidorInfo
! 1673: );
! 1674:
! 1675: BOOL
! 1676: WINAPI
! 1677: AddPrintProvidorW(
! 1678: LPWSTR pName,
! 1679: DWORD Level,
! 1680: LPBYTE pProvidorInfo
! 1681: );
! 1682:
! 1683: #ifdef UNICODE
! 1684: #define AddPrintProvidor AddPrintProvidorW
! 1685: #else
! 1686: #define AddPrintProvidor AddPrintProvidorA
! 1687: #endif // !UNICODE
! 1688:
! 1689: BOOL
! 1690: WINAPI
! 1691: DeletePrintProvidorA(
! 1692: LPSTR pName,
! 1693: LPSTR pEnvironment,
! 1694: LPSTR pPrintProvidorName
! 1695: );
! 1696:
! 1697: BOOL
! 1698: WINAPI
! 1699: DeletePrintProvidorW(
! 1700: LPWSTR pName,
! 1701: LPWSTR pEnvironment,
! 1702: LPWSTR pPrintProvidorName
! 1703: );
! 1704:
! 1705: #ifdef UNICODE
! 1706: #define DeletePrintProvidor DeletePrintProvidorW
! 1707: #else
! 1708: #define DeletePrintProvidor DeletePrintProvidorA
! 1709: #endif // !UNICODE
! 1710:
! 1711: #define SERVER_ACCESS_ADMINISTER 0x00000001
! 1712: #define SERVER_ACCESS_ENUMERATE 0x00000002
! 1713:
! 1714: #define PRINTER_ACCESS_ADMINISTER 0x00000004
! 1715: #define PRINTER_ACCESS_USE 0x00000008
! 1716:
! 1717: #define JOB_ACCESS_ADMINISTER 0x00000010
! 1718:
! 1719:
! 1720: /*
! 1721: * Access rights for print servers
! 1722: */
! 1723:
! 1724: #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
! 1725: SERVER_ACCESS_ADMINISTER |\
! 1726: SERVER_ACCESS_ENUMERATE)
! 1727:
! 1728: #define SERVER_READ (STANDARD_RIGHTS_READ |\
! 1729: SERVER_ACCESS_ENUMERATE)
! 1730:
! 1731: #define SERVER_WRITE (STANDARD_RIGHTS_WRITE |\
! 1732: SERVER_ACCESS_ADMINISTER |\
! 1733: SERVER_ACCESS_ENUMERATE)
! 1734:
! 1735: #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
! 1736: SERVER_ACCESS_ENUMERATE)
! 1737:
! 1738: /*
! 1739: * Access rights for printers
! 1740: */
! 1741:
! 1742: #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
! 1743: PRINTER_ACCESS_ADMINISTER |\
! 1744: PRINTER_ACCESS_USE)
! 1745:
! 1746: #define PRINTER_READ (STANDARD_RIGHTS_READ |\
! 1747: PRINTER_ACCESS_USE)
! 1748:
! 1749: #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE |\
! 1750: PRINTER_ACCESS_USE)
! 1751:
! 1752: #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
! 1753: PRINTER_ACCESS_USE)
! 1754:
! 1755: /*
! 1756: * Access rights for jobs
! 1757: */
! 1758:
! 1759: #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
! 1760: JOB_ACCESS_ADMINISTER)
! 1761:
! 1762: #define JOB_READ (STANDARD_RIGHTS_READ |\
! 1763: JOB_ACCESS_ADMINISTER)
! 1764:
! 1765: #define JOB_WRITE (STANDARD_RIGHTS_WRITE |\
! 1766: JOB_ACCESS_ADMINISTER)
! 1767:
! 1768: #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
! 1769: JOB_ACCESS_ADMINISTER)
! 1770:
! 1771:
! 1772: #ifdef __cplusplus
! 1773: }
! 1774: #endif
! 1775:
1.1 root 1776: #endif // _WINSPOOL_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.