Differences From Artifact [cc2fc3e0b2848583]:
- File
src/win32/winspool.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [fa72ba923e60f447]:
- File
src/win32/winspool.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
1 +/***********************************************************************\
2 +* winspool.d *
3 +* *
4 +* Windows API header module *
5 +* *
6 +* Translated from MinGW Windows headers *
7 +* *
8 +* Placed into public domain *
9 +\***********************************************************************/
1 10 module win32.winspool;
2 -
3 -// Translated from Microsoft Platform SDK August 2001 Edition
4 -// by Y.Tomino
5 -
6 -import win32.windef;
7 -import win32.winbase;
8 -import win32.wingdi;
9 -
10 -// #ifndef _WINSPOOL_
11 -// #define _WINSPOOL_
12 -
13 -// #ifdef _WINUSER_
14 -// #...
15 -// #endif
16 -
17 -// #ifdef __cplusplus
18 -// extern "C" {
19 -// #endif
20 -
21 -struct _PRINTER_INFO_1A {
22 - DWORD Flags;
23 - LPSTR pDescription;
24 - LPSTR pName;
25 - LPSTR pComment;
11 +pragma(lib, "winspool.lib");
12 +
13 +private import win32.w32api, win32.windef, win32.wingdi;
14 +private import win32.winbase; // for SYSTEMTIME
15 +
16 +// FIXME: clean up Windows version support
17 +
18 +const DI_CHANNEL=1;
19 +const DI_CHANNEL_WRITE=2;
20 +const DI_READ_SPOOL_JOB=3;
21 +
22 +const FORM_BUILTIN=1;
23 +
24 +const JOB_CONTROL_PAUSE=1;
25 +const JOB_CONTROL_RESUME=2;
26 +const JOB_CONTROL_CANCEL=3;
27 +const JOB_CONTROL_RESTART=4;
28 +const JOB_CONTROL_DELETE=5;
29 +const JOB_STATUS_PAUSED=1;
30 +const JOB_STATUS_ERROR=2;
31 +const JOB_STATUS_DELETING=4;
32 +const JOB_STATUS_SPOOLING=8;
33 +const JOB_STATUS_PRINTING=16;
34 +const JOB_STATUS_OFFLINE=32;
35 +const JOB_STATUS_PAPEROUT=0x40;
36 +const JOB_STATUS_PRINTED=0x80;
37 +const JOB_STATUS_DELETED=0x100;
38 +const JOB_STATUS_BLOCKED_DEVQ=0x200;
39 +const JOB_STATUS_USER_INTERVENTION=0x400;
40 +
41 +const JOB_POSITION_UNSPECIFIED=0;
42 +
43 +const JOB_NOTIFY_TYPE=1;
44 +
45 +const JOB_NOTIFY_FIELD_PRINTER_NAME=0;
46 +const JOB_NOTIFY_FIELD_MACHINE_NAME=1;
47 +const JOB_NOTIFY_FIELD_PORT_NAME=2;
48 +const JOB_NOTIFY_FIELD_USER_NAME=3;
49 +const JOB_NOTIFY_FIELD_NOTIFY_NAME=4;
50 +const JOB_NOTIFY_FIELD_DATATYPE=5;
51 +const JOB_NOTIFY_FIELD_PRINT_PROCESSOR=6;
52 +const JOB_NOTIFY_FIELD_PARAMETERS=7;
53 +const JOB_NOTIFY_FIELD_DRIVER_NAME=8;
54 +const JOB_NOTIFY_FIELD_DEVMODE=9;
55 +const JOB_NOTIFY_FIELD_STATUS=10;
56 +const JOB_NOTIFY_FIELD_STATUS_STRING=11;
57 +const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12;
58 +const JOB_NOTIFY_FIELD_DOCUMENT=13;
59 +const JOB_NOTIFY_FIELD_PRIORITY=14;
60 +const JOB_NOTIFY_FIELD_POSITION=15;
61 +const JOB_NOTIFY_FIELD_SUBMITTED=16;
62 +const JOB_NOTIFY_FIELD_START_TIME=17;
63 +const JOB_NOTIFY_FIELD_UNTIL_TIME=18;
64 +const JOB_NOTIFY_FIELD_TIME=19;
65 +const JOB_NOTIFY_FIELD_TOTAL_PAGES=20;
66 +const JOB_NOTIFY_FIELD_PAGES_PRINTED=21;
67 +const JOB_NOTIFY_FIELD_TOTAL_BYTES=22;
68 +const JOB_NOTIFY_FIELD_BYTES_PRINTED=23;
69 +
70 +const JOB_ACCESS_ADMINISTER = 16;
71 +const JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER;
72 +const JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER;
73 +const JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER;
74 +const JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER;
75 +
76 +const PRINTER_NOTIFY_OPTIONS_REFRESH=1;
77 +const PRINTER_ACCESS_ADMINISTER=4;
78 +const PRINTER_ACCESS_USE=8;
79 +
80 +const PRINTER_ERROR_INFORMATION=0x80000000;
81 +const PRINTER_ERROR_WARNING=0x40000000;
82 +const PRINTER_ERROR_SEVERE=0x20000000;
83 +const PRINTER_ERROR_OUTOFPAPER=1;
84 +const PRINTER_ERROR_JAM=2;
85 +const PRINTER_ERROR_OUTOFTONER=4;
86 +
87 +const PRINTER_CONTROL_PAUSE=1;
88 +const PRINTER_CONTROL_RESUME=2;
89 +const PRINTER_CONTROL_PURGE=3;
90 +const PRINTER_CONTROL_SET_STATUS=4;
91 +
92 +const PRINTER_STATUS_PAUSED = 1;
93 +const PRINTER_STATUS_ERROR = 2;
94 +const PRINTER_STATUS_PENDING_DELETION = 4;
95 +const PRINTER_STATUS_PAPER_JAM = 8;
96 +const PRINTER_STATUS_PAPER_OUT = 0x10;
97 +const PRINTER_STATUS_MANUAL_FEED = 0x20;
98 +const PRINTER_STATUS_PAPER_PROBLEM = 0x40;
99 +const PRINTER_STATUS_OFFLINE = 0x80;
100 +const PRINTER_STATUS_IO_ACTIVE = 0x100;
101 +const PRINTER_STATUS_BUSY = 0x200;
102 +const PRINTER_STATUS_PRINTING = 0x400;
103 +const PRINTER_STATUS_OUTPUT_BIN_FULL = 0x800;
104 +const PRINTER_STATUS_NOT_AVAILABLE = 0x1000;
105 +const PRINTER_STATUS_WAITING = 0x2000;
106 +const PRINTER_STATUS_PROCESSING = 0x4000;
107 +const PRINTER_STATUS_INITIALIZING = 0x8000;
108 +const PRINTER_STATUS_WARMING_UP = 0x10000;
109 +const PRINTER_STATUS_TONER_LOW = 0x20000;
110 +const PRINTER_STATUS_NO_TONER = 0x40000;
111 +const PRINTER_STATUS_PAGE_PUNT = 0x80000;
112 +const PRINTER_STATUS_USER_INTERVENTION = 0x100000;
113 +const PRINTER_STATUS_OUT_OF_MEMORY = 0x200000;
114 +const PRINTER_STATUS_DOOR_OPEN = 0x400000;
115 +const PRINTER_STATUS_SERVER_UNKNOWN = 0x800000;
116 +const PRINTER_STATUS_POWER_SAVE = 0x1000000;
117 +
118 +const PRINTER_ATTRIBUTE_QUEUED=1;
119 +const PRINTER_ATTRIBUTE_DIRECT=2;
120 +const PRINTER_ATTRIBUTE_DEFAULT=4;
121 +const PRINTER_ATTRIBUTE_SHARED=8;
122 +const PRINTER_ATTRIBUTE_NETWORK=0x10;
123 +const PRINTER_ATTRIBUTE_HIDDEN=0x20;
124 +const PRINTER_ATTRIBUTE_LOCAL=0x40;
125 +const PRINTER_ATTRIBUTE_ENABLE_DEVQ=0x80;
126 +const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS=0x100;
127 +const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST=0x200;
128 +const PRINTER_ATTRIBUTE_WORK_OFFLINE=0x400;
129 +const PRINTER_ATTRIBUTE_ENABLE_BIDI=0x800;
130 +const PRINTER_ATTRIBUTE_RAW_ONLY=0x1000;
131 +const PRINTER_ATTRIBUTE_PUBLISHED=0x2000;
132 +
133 +const PRINTER_ENUM_DEFAULT=1;
134 +const PRINTER_ENUM_LOCAL=2;
135 +const PRINTER_ENUM_CONNECTIONS=4;
136 +const PRINTER_ENUM_FAVORITE=4;
137 +const PRINTER_ENUM_NAME=8;
138 +const PRINTER_ENUM_REMOTE=16;
139 +const PRINTER_ENUM_SHARED=32;
140 +const PRINTER_ENUM_NETWORK=0x40;
141 +const PRINTER_ENUM_EXPAND=0x4000;
142 +const PRINTER_ENUM_CONTAINER=0x8000;
143 +const PRINTER_ENUM_ICONMASK=0xff0000;
144 +const PRINTER_ENUM_ICON1=0x10000;
145 +const PRINTER_ENUM_ICON2=0x20000;
146 +const PRINTER_ENUM_ICON3=0x40000;
147 +const PRINTER_ENUM_ICON4=0x80000;
148 +const PRINTER_ENUM_ICON5=0x100000;
149 +const PRINTER_ENUM_ICON6=0x200000;
150 +const PRINTER_ENUM_ICON7=0x400000;
151 +const PRINTER_ENUM_ICON8=0x800000;
152 +
153 +const PRINTER_NOTIFY_TYPE=0;
154 +
155 +const PRINTER_NOTIFY_FIELD_SERVER_NAME=0;
156 +const PRINTER_NOTIFY_FIELD_PRINTER_NAME=1;
157 +const PRINTER_NOTIFY_FIELD_SHARE_NAME=2;
158 +const PRINTER_NOTIFY_FIELD_PORT_NAME=3;
159 +const PRINTER_NOTIFY_FIELD_DRIVER_NAME=4;
160 +const PRINTER_NOTIFY_FIELD_COMMENT=5;
161 +const PRINTER_NOTIFY_FIELD_LOCATION=6;
162 +const PRINTER_NOTIFY_FIELD_DEVMODE=7;
163 +const PRINTER_NOTIFY_FIELD_SEPFILE=8;
164 +const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR=9;
165 +const PRINTER_NOTIFY_FIELD_PARAMETERS=10;
166 +const PRINTER_NOTIFY_FIELD_DATATYPE=11;
167 +const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12;
168 +const PRINTER_NOTIFY_FIELD_ATTRIBUTES=13;
169 +const PRINTER_NOTIFY_FIELD_PRIORITY=14;
170 +const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY=15;
171 +const PRINTER_NOTIFY_FIELD_START_TIME=16;
172 +const PRINTER_NOTIFY_FIELD_UNTIL_TIME=17;
173 +const PRINTER_NOTIFY_FIELD_STATUS=18;
174 +const PRINTER_NOTIFY_FIELD_STATUS_STRING=19;
175 +const PRINTER_NOTIFY_FIELD_CJOBS=20;
176 +const PRINTER_NOTIFY_FIELD_AVERAGE_PPM=21;
177 +const PRINTER_NOTIFY_FIELD_TOTAL_PAGES=22;
178 +const PRINTER_NOTIFY_FIELD_PAGES_PRINTED=23;
179 +const PRINTER_NOTIFY_FIELD_TOTAL_BYTES=24;
180 +const PRINTER_NOTIFY_FIELD_BYTES_PRINTED=25;
181 +
182 +const PRINTER_CHANGE_ADD_PRINTER=1;
183 +const PRINTER_CHANGE_SET_PRINTER=2;
184 +const PRINTER_CHANGE_DELETE_PRINTER=4;
185 +const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER=8;
186 +const PRINTER_CHANGE_PRINTER=0xFF;
187 +const PRINTER_CHANGE_ADD_JOB=0x100;
188 +const PRINTER_CHANGE_SET_JOB=0x200;
189 +const PRINTER_CHANGE_DELETE_JOB=0x400;
190 +const PRINTER_CHANGE_WRITE_JOB=0x800;
191 +const PRINTER_CHANGE_JOB=0xFF00;
192 +const PRINTER_CHANGE_ADD_FORM=0x10000;
193 +const PRINTER_CHANGE_SET_FORM=0x20000;
194 +const PRINTER_CHANGE_DELETE_FORM=0x40000;
195 +const PRINTER_CHANGE_FORM=0x70000;
196 +const PRINTER_CHANGE_ADD_PORT=0x100000;
197 +const PRINTER_CHANGE_CONFIGURE_PORT=0x200000;
198 +const PRINTER_CHANGE_DELETE_PORT=0x400000;
199 +const PRINTER_CHANGE_PORT=0x700000;
200 +const PRINTER_CHANGE_ADD_PRINT_PROCESSOR=0x1000000;
201 +const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR=0x4000000;
202 +const PRINTER_CHANGE_PRINT_PROCESSOR=0x7000000;
203 +const PRINTER_CHANGE_ADD_PRINTER_DRIVER=0x10000000;
204 +const PRINTER_CHANGE_SET_PRINTER_DRIVER=0x20000000;
205 +const PRINTER_CHANGE_DELETE_PRINTER_DRIVER=0x40000000;
206 +const PRINTER_CHANGE_PRINTER_DRIVER=0x70000000;
207 +const PRINTER_CHANGE_TIMEOUT=0x80000000;
208 +const PRINTER_CHANGE_ALL=0x7777FFFF;
209 +
210 +const PRINTER_NOTIFY_INFO_DISCARDED=1;
211 +const PRINTER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE);
212 +const PRINTER_READ=(STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE);
213 +const PRINTER_WRITE=(STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE);
214 +const PRINTER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE);
215 +const NO_PRIORITY=0;
216 +const MAX_PRIORITY=99;
217 +const MIN_PRIORITY=1;
218 +const DEF_PRIORITY=1;
219 +const PORT_TYPE_WRITE=1;
220 +const PORT_TYPE_READ=2;
221 +const PORT_TYPE_REDIRECTED=4;
222 +const PORT_TYPE_NET_ATTACHED=8;
223 +const SERVER_ACCESS_ADMINISTER=1;
224 +const SERVER_ACCESS_ENUMERATE=2;
225 +
226 +const SERVER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE);
227 +const SERVER_READ=(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE);
228 +const SERVER_WRITE=(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE);
229 +const SERVER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE);
230 +
231 +const PORT_STATUS_TYPE_ERROR=1;
232 +const PORT_STATUS_TYPE_WARNING=2;
233 +const PORT_STATUS_TYPE_INFO=3;
234 +
235 +const PORT_STATUS_OFFLINE=1;
236 +const PORT_STATUS_PAPER_JAM=2;
237 +const PORT_STATUS_PAPER_OUT=3;
238 +const PORT_STATUS_OUTPUT_BIN_FULL=4;
239 +const PORT_STATUS_PAPER_PROBLEM=5;
240 +const PORT_STATUS_NO_TONER=6;
241 +const PORT_STATUS_DOOR_OPEN=7;
242 +const PORT_STATUS_USER_INTERVENTION=8;
243 +const PORT_STATUS_OUT_OF_MEMORY=9;
244 +const PORT_STATUS_TONER_LOW=10;
245 +const PORT_STATUS_WARMING_UP=11;
246 +const PORT_STATUS_POWER_SAVE=12;
247 +
248 +struct ADDJOB_INFO_1A {
249 + LPSTR Path;
250 + DWORD JobId;
251 +}
252 +alias ADDJOB_INFO_1A* PADDJOB_INFO_1A, LPADDJOB_INFO_1A;
253 +
254 +struct ADDJOB_INFO_1W {
255 + LPWSTR Path;
256 + DWORD JobId;
257 +}
258 +alias ADDJOB_INFO_1W* PADDJOB_INFO_1W, LPADDJOB_INFO_1W;
259 +
260 +struct DATATYPES_INFO_1A {
261 + LPSTR pName;
262 +}
263 +alias DATATYPES_INFO_1A* PDATATYPES_INFO_1A, LPDATATYPES_INFO_1A;
264 +
265 +struct DATATYPES_INFO_1W {
266 + LPWSTR pName;
267 +}
268 +alias DATATYPES_INFO_1W* PDATATYPES_INFO_1W, LPDATATYPES_INFO_1W;
269 +
270 +struct JOB_INFO_1A {
271 + DWORD JobId;
272 + LPSTR pPrinterName;
273 + LPSTR pMachineName;
274 + LPSTR pUserName;
275 + LPSTR pDocument;
276 + LPSTR pDatatype;
277 + LPSTR pStatus;
278 + DWORD Status;
279 + DWORD Priority;
280 + DWORD Position;
281 + DWORD TotalPages;
282 + DWORD PagesPrinted;
283 + SYSTEMTIME Submitted;
284 +}
285 +alias JOB_INFO_1A* PJOB_INFO_1A, LPJOB_INFO_1A;
286 +
287 +struct JOB_INFO_1W {
288 + DWORD JobId;
289 + LPWSTR pPrinterName;
290 + LPWSTR pMachineName;
291 + LPWSTR pUserName;
292 + LPWSTR pDocument;
293 + LPWSTR pDatatype;
294 + LPWSTR pStatus;
295 + DWORD Status;
296 + DWORD Priority;
297 + DWORD Position;
298 + DWORD TotalPages;
299 + DWORD PagesPrinted;
300 + SYSTEMTIME Submitted;
301 +}
302 +alias JOB_INFO_1W* PJOB_INFO_1W, LPJOB_INFO_1W;
303 +
304 +struct JOB_INFO_2A {
305 + DWORD JobId;
306 + LPSTR pPrinterName;
307 + LPSTR pMachineName;
308 + LPSTR pUserName;
309 + LPSTR pDocument;
310 + LPSTR pNotifyName;
311 + LPSTR pDatatype;
312 + LPSTR pPrintProcessor;
313 + LPSTR pParameters;
314 + LPSTR pDriverName;
315 + LPDEVMODEA pDevMode;
316 + LPSTR pStatus;
317 + PSECURITY_DESCRIPTOR pSecurityDescriptor;
318 + DWORD Status;
319 + DWORD Priority;
320 + DWORD Position;
321 + DWORD StartTime;
322 + DWORD UntilTime;
323 + DWORD TotalPages;
324 + DWORD Size;
325 + SYSTEMTIME Submitted;
326 + DWORD Time;
327 + DWORD PagesPrinted;
328 +}
329 +alias JOB_INFO_2A* PJOB_INFO_2A, LPJOB_INFO_2A;
330 +
331 +struct JOB_INFO_2W {
332 + DWORD JobId;
333 + LPWSTR pPrinterName;
334 + LPWSTR pMachineName;
335 + LPWSTR pUserName;
336 + LPWSTR pDocument;
337 + LPWSTR pNotifyName;
338 + LPWSTR pDatatype;
339 + LPWSTR pPrintProcessor;
340 + LPWSTR pParameters;
341 + LPWSTR pDriverName;
342 + LPDEVMODEW pDevMode;
343 + LPWSTR pStatus;
344 + PSECURITY_DESCRIPTOR pSecurityDescriptor;
345 + DWORD Status;
346 + DWORD Priority;
347 + DWORD Position;
348 + DWORD StartTime;
349 + DWORD UntilTime;
350 + DWORD TotalPages;
351 + DWORD Size;
352 + SYSTEMTIME Submitted;
353 + DWORD Time;
354 + DWORD PagesPrinted;
355 +}
356 +alias JOB_INFO_2W* PJOB_INFO_2W, LPJOB_INFO_2W;
357 +
358 +struct DOC_INFO_1A {
359 + LPSTR pDocName;
360 + LPSTR pOutputFile;
361 + LPSTR pDatatype;
362 +}
363 +alias DOC_INFO_1A* PDOC_INFO_1A, LPDOC_INFO_1A;
364 +
365 +struct DOC_INFO_1W {
366 + LPWSTR pDocName;
367 + LPWSTR pOutputFile;
368 + LPWSTR pDatatype;
369 +}
370 +alias DOC_INFO_1W* PDOC_INFO_1W, LPDOC_INFO_1W;
371 +
372 +struct DOC_INFO_2A {
373 + LPSTR pDocName;
374 + LPSTR pOutputFile;
375 + LPSTR pDatatype;
376 + DWORD dwMode;
377 + DWORD JobId;
378 +}
379 +alias DOC_INFO_2A* PDOC_INFO_2A, LPDOC_INFO_2A;
380 +
381 +struct DOC_INFO_2W {
382 + LPWSTR pDocName;
383 + LPWSTR pOutputFile;
384 + LPWSTR pDatatype;
385 + DWORD dwMode;
386 + DWORD JobId;
387 +}
388 +alias DOC_INFO_2W* PDOC_INFO_2W, LPDOC_INFO_2W;
389 +
390 +struct DRIVER_INFO_1A {
391 + LPSTR pName;
392 +}
393 +alias DRIVER_INFO_1A* PDRIVER_INFO_1A, LPDRIVER_INFO_1A;
394 +
395 +struct DRIVER_INFO_1W {
396 + LPWSTR pName;
397 +}
398 +alias DRIVER_INFO_1W* PDRIVER_INFO_1W, LPDRIVER_INFO_1W;
399 +
400 +struct DRIVER_INFO_2A {
401 + DWORD cVersion;
402 + LPSTR pName;
403 + LPSTR pEnvironment;
404 + LPSTR pDriverPath;
405 + LPSTR pDataFile;
406 + LPSTR pConfigFile;
407 +}
408 +alias DRIVER_INFO_2A* PDRIVER_INFO_2A, LPDRIVER_INFO_2A;
409 +
410 +struct DRIVER_INFO_2W {
411 + DWORD cVersion;
412 + LPWSTR pName;
413 + LPWSTR pEnvironment;
414 + LPWSTR pDriverPath;
415 + LPWSTR pDataFile;
416 + LPWSTR pConfigFile;
417 +}
418 +alias DRIVER_INFO_2W* PDRIVER_INFO_2W, LPDRIVER_INFO_2W;
419 +
420 +struct DRIVER_INFO_3A {
421 + DWORD cVersion;
422 + LPSTR pName;
423 + LPSTR pEnvironment;
424 + LPSTR pDriverPath;
425 + LPSTR pDataFile;
426 + LPSTR pConfigFile;
427 + LPSTR pHelpFile;
428 + LPSTR pDependentFiles;
429 + LPSTR pMonitorName;
430 + LPSTR pDefaultDataType;
431 +}
432 +alias DRIVER_INFO_3A* PDRIVER_INFO_3A, LPDRIVER_INFO_3A;
433 +
434 +struct DRIVER_INFO_3W {
435 + DWORD cVersion;
436 + LPWSTR pName;
437 + LPWSTR pEnvironment;
438 + LPWSTR pDriverPath;
439 + LPWSTR pDataFile;
440 + LPWSTR pConfigFile;
441 + LPWSTR pHelpFile;
442 + LPWSTR pDependentFiles;
443 + LPWSTR pMonitorName;
444 + LPWSTR pDefaultDataType;
445 +}
446 +alias DRIVER_INFO_3W* PDRIVER_INFO_3W, LPDRIVER_INFO_3W;
447 +
448 +struct MONITOR_INFO_1A {
449 + LPSTR pName;
450 +}
451 +alias MONITOR_INFO_1A* PMONITOR_INFO_1A, LPMONITOR_INFO_1A;
452 +
453 +struct MONITOR_INFO_1W {
454 + LPWSTR pName;
455 +}
456 +alias MONITOR_INFO_1W* PMONITOR_INFO_1W, LPMONITOR_INFO_1W;
457 +
458 +struct PORT_INFO_1A {
459 + LPSTR pName;
460 +}
461 +alias PORT_INFO_1A* PPORT_INFO_1A, LPPORT_INFO_1A;
462 +
463 +struct PORT_INFO_1W {
464 + LPWSTR pName;
465 +}
466 +alias PORT_INFO_1W* PPORT_INFO_1W, LPPORT_INFO_1W;
467 +
468 +struct MONITOR_INFO_2A {
469 + LPSTR pName;
470 + LPSTR pEnvironment;
471 + LPSTR pDLLName;
472 +}
473 +alias MONITOR_INFO_2A* PMONITOR_INFO_2A, LPMONITOR_INFO_2A;
474 +
475 +struct MONITOR_INFO_2W {
476 + LPWSTR pName;
477 + LPWSTR pEnvironment;
478 + LPWSTR pDLLName;
479 +}
480 +alias MONITOR_INFO_2W* PMONITOR_INFO_2W, LPMONITOR_INFO_2W;
481 +
482 +struct PORT_INFO_2A {
483 + LPSTR pPortName;
484 + LPSTR pMonitorName;
485 + LPSTR pDescription;
486 + DWORD fPortType;
487 + DWORD Reserved;
488 +}
489 +alias PORT_INFO_2A* PPORT_INFO_2A, LPPORT_INFO_2A;
490 +
491 +struct PORT_INFO_2W {
492 + LPWSTR pPortName;
493 + LPWSTR pMonitorName;
494 + LPWSTR pDescription;
495 + DWORD fPortType;
496 + DWORD Reserved;
497 +}
498 +alias PORT_INFO_2W* PPORT_INFO_2W, LPPORT_INFO_2W;
499 +
500 +struct PORT_INFO_3A {
501 + DWORD dwStatus;
502 + LPSTR pszStatus;
503 + DWORD dwSeverity;
504 +}
505 +alias PORT_INFO_3A* PPORT_INFO_3A, LPPORT_INFO_3A;
506 +
507 +struct PORT_INFO_3W {
508 + DWORD dwStatus;
509 + LPWSTR pszStatus;
510 + DWORD dwSeverity;
511 +}
512 +alias PORT_INFO_3W* PPORT_INFO_3W, LPPORT_INFO_3W;
513 +
514 +struct PRINTER_INFO_1A {
515 + DWORD Flags;
516 + LPSTR pDescription;
517 + LPSTR pName;
518 + LPSTR pComment;
519 +}
520 +alias PRINTER_INFO_1A* PPRINTER_INFO_1A, LPPRINTER_INFO_1A;
521 +
522 +struct PRINTER_INFO_1W {
523 + DWORD Flags;
524 + LPWSTR pDescription;
525 + LPWSTR pName;
526 + LPWSTR pComment;
527 +}
528 +alias PRINTER_INFO_1W* PPRINTER_INFO_1W, LPPRINTER_INFO_1W;
529 +
530 +struct PRINTER_INFO_2A {
531 + LPSTR pServerName;
532 + LPSTR pPrinterName;
533 + LPSTR pShareName;
534 + LPSTR pPortName;
535 + LPSTR pDriverName;
536 + LPSTR pComment;
537 + LPSTR pLocation;
538 + LPDEVMODEA pDevMode;
539 + LPSTR pSepFile;
540 + LPSTR pPrintProcessor;
541 + LPSTR pDatatype;
542 + LPSTR pParameters;
543 + PSECURITY_DESCRIPTOR pSecurityDescriptor;
544 + DWORD Attributes;
545 + DWORD Priority;
546 + DWORD DefaultPriority;
547 + DWORD StartTime;
548 + DWORD UntilTime;
549 + DWORD Status;
550 + DWORD cJobs;
551 + DWORD AveragePPM;
552 +}
553 +alias PRINTER_INFO_2A* PPRINTER_INFO_2A, LPPRINTER_INFO_2A;
554 +
555 +struct PRINTER_INFO_2W {
556 + LPWSTR pServerName;
557 + LPWSTR pPrinterName;
558 + LPWSTR pShareName;
559 + LPWSTR pPortName;
560 + LPWSTR pDriverName;
561 + LPWSTR pComment;
562 + LPWSTR pLocation;
563 + LPDEVMODEW pDevMode;
564 + LPWSTR pSepFile;
565 + LPWSTR pPrintProcessor;
566 + LPWSTR pDatatype;
567 + LPWSTR pParameters;
568 + PSECURITY_DESCRIPTOR pSecurityDescriptor;
569 + DWORD Attributes;
570 + DWORD Priority;
571 + DWORD DefaultPriority;
572 + DWORD StartTime;
573 + DWORD UntilTime;
574 + DWORD Status;
575 + DWORD cJobs;
576 + DWORD AveragePPM;
577 +}
578 +alias PRINTER_INFO_2W* PPRINTER_INFO_2W, LPPRINTER_INFO_2W;
579 +
580 +struct PRINTER_INFO_3 {
581 + PSECURITY_DESCRIPTOR pSecurityDescriptor;
582 +}
583 +alias PRINTER_INFO_3* PPRINTER_INFO_3, LPPRINTER_INFO_3;
584 +
585 +struct PRINTER_INFO_4A {
586 + LPSTR pPrinterName;
587 + LPSTR pServerName;
588 + DWORD Attributes;
589 +}
590 +alias PRINTER_INFO_4A* PPRINTER_INFO_4A, LPPRINTER_INFO_4A;
591 +
592 +struct PRINTER_INFO_4W {
593 + LPWSTR pPrinterName;
594 + LPWSTR pServerName;
595 + DWORD Attributes;
596 +}
597 +alias PRINTER_INFO_4W* PPRINTER_INFO_4W, LPPRINTER_INFO_4W;
598 +
599 +struct PRINTER_INFO_5A {
600 + LPSTR pPrinterName;
601 + LPSTR pPortName;
602 + DWORD Attributes;
603 + DWORD DeviceNotSelectedTimeout;
604 + DWORD TransmissionRetryTimeout;
605 +}
606 +alias PRINTER_INFO_5A* PPRINTER_INFO_5A, LPPRINTER_INFO_5A;
607 +
608 +struct PRINTER_INFO_5W {
609 + LPWSTR pPrinterName;
610 + LPWSTR pPortName;
611 + DWORD Attributes;
612 + DWORD DeviceNotSelectedTimeout;
613 + DWORD TransmissionRetryTimeout;
614 +}
615 +alias PRINTER_INFO_5W* PPRINTER_INFO_5W, LPPRINTER_INFO_5W;
616 +
617 +struct PRINTER_INFO_6 {
618 + DWORD dwStatus;
619 +}
620 +alias PRINTER_INFO_6* PPRINTER_INFO_6, LPPRINTER_INFO_6;
621 +
622 +struct PRINTPROCESSOR_INFO_1A {
623 + LPSTR pName;
624 +}
625 +alias PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A, LPPRINTPROCESSOR_INFO_1A;
626 +
627 +struct PRINTPROCESSOR_INFO_1W {
628 + LPWSTR pName;
629 +}
630 +alias PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W, LPPRINTPROCESSOR_INFO_1W;
631 +
632 +struct PRINTER_NOTIFY_INFO_DATA {
633 + WORD Type;
634 + WORD Field;
635 + DWORD Reserved;
636 + DWORD Id;
637 + union _NotifyData {
638 + DWORD adwData[2];
639 + struct Data {
640 + DWORD cbBuf;
641 + PVOID pBuf;
642 + }
643 + }
644 + _NotifyData NotifyData;
645 +}
646 +alias PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA, LPPRINTER_NOTIFY_INFO_DATA;
647 +
648 +struct PRINTER_NOTIFY_INFO {
649 + DWORD Version;
650 + DWORD Flags;
651 + DWORD Count;
652 + PRINTER_NOTIFY_INFO_DATA aData[1];
26 653 }
27 -alias _PRINTER_INFO_1A PRINTER_INFO_1A;
28 -alias _PRINTER_INFO_1A* PPRINTER_INFO_1A;
29 -alias _PRINTER_INFO_1A* LPPRINTER_INFO_1A;
654 +alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO;
30 655
31 -struct _PRINTER_INFO_1W {
32 - DWORD Flags;
33 - LPWSTR pDescription;
34 - LPWSTR pName;
35 - LPWSTR pComment;
656 +struct FORM_INFO_1A {
657 + DWORD Flags;
658 + LPSTR pName;
659 + SIZEL Size;
660 + RECTL ImageableArea;
36 661 }
37 -alias _PRINTER_INFO_1W PRINTER_INFO_1W;
38 -alias _PRINTER_INFO_1W* PPRINTER_INFO_1W;
39 -alias _PRINTER_INFO_1W* LPPRINTER_INFO_1W;
662 +alias FORM_INFO_1A* PFORM_INFO_1A, LPFORM_INFO_1A;
40 663
41 -// #ifdef UNICODE
42 -alias PRINTER_INFO_1W PRINTER_INFO_1;
43 -alias PPRINTER_INFO_1W PPRINTER_INFO_1;
44 -alias LPPRINTER_INFO_1W LPPRINTER_INFO_1;
45 -// #else
46 -// ...
47 -// #endif // UNICODE
48 -
49 -struct _PRINTER_INFO_2A {
50 - LPSTR pServerName;
51 - LPSTR pPrinterName;
52 - LPSTR pShareName;
53 - LPSTR pPortName;
54 - LPSTR pDriverName;
55 - LPSTR pComment;
56 - LPSTR pLocation;
57 - LPDEVMODEA pDevMode;
58 - LPSTR pSepFile;
59 - LPSTR pPrintProcessor;
60 - LPSTR pDatatype;
61 - LPSTR pParameters;
62 - PSECURITY_DESCRIPTOR pSecurityDescriptor;
63 - DWORD Attributes;
64 - DWORD Priority;
65 - DWORD DefaultPriority;
66 - DWORD StartTime;
67 - DWORD UntilTime;
68 - DWORD Status;
69 - DWORD cJobs;
70 - DWORD AveragePPM;
664 +struct FORM_INFO_1W {
665 + DWORD Flags;
666 + LPWSTR pName;
667 + SIZEL Size;
668 + RECTL ImageableArea;
71 669 }
72 -alias _PRINTER_INFO_2A PRINTER_INFO_2A;
73 -alias _PRINTER_INFO_2A* PPRINTER_INFO_2A;
74 -alias _PRINTER_INFO_2A* LPPRINTER_INFO_2A;
670 +alias FORM_INFO_1W* PFORM_INFO_1W, LPFORM_INFO_1W;
75 671
76 -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;
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;
98 -}
99 -alias _PRINTER_INFO_2W PRINTER_INFO_2W;
100 -alias _PRINTER_INFO_2W* PPRINTER_INFO_2W;
101 -alias _PRINTER_INFO_2W* LPPRINTER_INFO_2W;
102 -
103 -// #ifdef UNICODE
104 -alias PRINTER_INFO_2W PRINTER_INFO_2;
105 -alias PPRINTER_INFO_2W PPRINTER_INFO_2;
106 -alias LPPRINTER_INFO_2W LPPRINTER_INFO_2;
107 -// #else
108 -// ...
109 -// #endif // UNICODE
110 -
111 -struct _PRINTER_INFO_3 {
112 - PSECURITY_DESCRIPTOR pSecurityDescriptor;
113 -}
114 -alias _PRINTER_INFO_3 PRINTER_INFO_3;
115 -alias _PRINTER_INFO_3* PPRINTER_INFO_3;
116 -alias _PRINTER_INFO_3* LPPRINTER_INFO_3;
117 -
118 -struct _PRINTER_INFO_4A {
119 - LPSTR pPrinterName;
120 - LPSTR pServerName;
121 - DWORD Attributes;
672 +struct PRINTER_DEFAULTSA {
673 + LPSTR pDatatype;
674 + LPDEVMODE pDevMode;
675 + ACCESS_MASK DesiredAccess;
122 676 }
123 -alias _PRINTER_INFO_4A PRINTER_INFO_4A;
124 -alias _PRINTER_INFO_4A* PPRINTER_INFO_4A;
125 -alias _PRINTER_INFO_4A* LPPRINTER_INFO_4A;
126 -
127 -struct _PRINTER_INFO_4W {
128 - LPWSTR pPrinterName;
129 - LPWSTR pServerName;
130 - DWORD Attributes;
131 -}
132 -alias _PRINTER_INFO_4W PRINTER_INFO_4W;
133 -alias _PRINTER_INFO_4W* PPRINTER_INFO_4W;
134 -alias _PRINTER_INFO_4W* LPPRINTER_INFO_4W;
135 -
136 -// #ifdef UNICODE
137 -alias PRINTER_INFO_4W PRINTER_INFO_4;
138 -alias PPRINTER_INFO_4W PPRINTER_INFO_4;
139 -alias LPPRINTER_INFO_4W LPPRINTER_INFO_4;
140 -// #else
141 -// ...
142 -// #endif // UNICODE
143 -
144 -struct _PRINTER_INFO_5A {
145 - LPSTR pPrinterName;
146 - LPSTR pPortName;
147 - DWORD Attributes;
148 - DWORD DeviceNotSelectedTimeout;
149 - DWORD TransmissionRetryTimeout;
150 -}
151 -alias _PRINTER_INFO_5A PRINTER_INFO_5A;
152 -alias _PRINTER_INFO_5A* PPRINTER_INFO_5A;
153 -alias _PRINTER_INFO_5A* LPPRINTER_INFO_5A;
154 -
155 -struct _PRINTER_INFO_5W {
156 - LPWSTR pPrinterName;
157 - LPWSTR pPortName;
158 - DWORD Attributes;
159 - DWORD DeviceNotSelectedTimeout;
160 - DWORD TransmissionRetryTimeout;
161 -}
162 -alias _PRINTER_INFO_5W PRINTER_INFO_5W;
163 -alias _PRINTER_INFO_5W* PPRINTER_INFO_5W;
164 -alias _PRINTER_INFO_5W* LPPRINTER_INFO_5W;
165 -
166 -// #ifdef UNICODE
167 -alias PRINTER_INFO_5W PRINTER_INFO_5;
168 -alias PPRINTER_INFO_5W PPRINTER_INFO_5;
169 -alias LPPRINTER_INFO_5W LPPRINTER_INFO_5;
170 -// #else
171 -// ...
172 -// #endif // UNICODE
173 -
174 -struct _PRINTER_INFO_6 {
175 - DWORD dwStatus;
176 -}
177 -alias _PRINTER_INFO_6 PRINTER_INFO_6;
178 -alias _PRINTER_INFO_6* PPRINTER_INFO_6;
179 -alias _PRINTER_INFO_6* LPPRINTER_INFO_6;
180 -
181 -struct _PRINTER_INFO_7A {
182 - LPSTR pszObjectGUID;
183 - DWORD dwAction;
184 -}
185 -alias _PRINTER_INFO_7A PRINTER_INFO_7A;
186 -alias _PRINTER_INFO_7A* PPRINTER_INFO_7A;
187 -alias _PRINTER_INFO_7A* LPPRINTER_INFO_7A;
188 -
189 -struct _PRINTER_INFO_7W {
190 - LPWSTR pszObjectGUID;
191 - DWORD dwAction;
192 -}
193 -alias _PRINTER_INFO_7W PRINTER_INFO_7W;
194 -alias _PRINTER_INFO_7W* PPRINTER_INFO_7W;
195 -alias _PRINTER_INFO_7W* LPPRINTER_INFO_7W;
196 -
197 -// #ifdef UNICODE
198 -alias PRINTER_INFO_7W PRINTER_INFO_7;
199 -alias PPRINTER_INFO_7W PPRINTER_INFO_7;
200 -alias LPPRINTER_INFO_7W LPPRINTER_INFO_7;
201 -// #else
202 -// ...
203 -// #endif // UNICODE
204 -
205 -enum : uint { DSPRINT_PUBLISH = 0x00000001 }
206 -enum : uint { DSPRINT_UPDATE = 0x00000002 }
207 -enum : uint { DSPRINT_UNPUBLISH = 0x00000004 }
208 -enum : uint { DSPRINT_REPUBLISH = 0x00000008 }
209 -enum : uint { DSPRINT_PENDING = 0x80000000 }
210 -
211 -struct _PRINTER_INFO_8A {
212 - LPDEVMODEA pDevMode;
677 +alias PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA, LPPRINTER_DEFAULTSA;
678 +
679 +struct PRINTER_DEFAULTSW {
680 + LPWSTR pDatatype;
681 + LPDEVMODE pDevMode;
682 + ACCESS_MASK DesiredAccess;
213 683 }
214 -alias _PRINTER_INFO_8A PRINTER_INFO_8A;
215 -alias _PRINTER_INFO_8A* PPRINTER_INFO_8A;
216 -alias _PRINTER_INFO_8A* LPPRINTER_INFO_8A;
217 -
218 -struct _PRINTER_INFO_8W {
219 - LPDEVMODEW pDevMode;
220 -}
221 -alias _PRINTER_INFO_8W PRINTER_INFO_8W;
222 -alias _PRINTER_INFO_8W* PPRINTER_INFO_8W;
223 -alias _PRINTER_INFO_8W* LPPRINTER_INFO_8W;
224 -
225 -// #ifdef UNICODE
226 -alias PRINTER_INFO_8W PRINTER_INFO_8;
227 -alias PPRINTER_INFO_8W PPRINTER_INFO_8;
228 -alias LPPRINTER_INFO_8W LPPRINTER_INFO_8;
229 -// #else
230 -// ...
231 -// #endif // UNICODE
232 -
233 -struct _PRINTER_INFO_9A {
234 - LPDEVMODEA pDevMode;
235 -}
236 -alias _PRINTER_INFO_9A PRINTER_INFO_9A;
237 -alias _PRINTER_INFO_9A* PPRINTER_INFO_9A;
238 -alias _PRINTER_INFO_9A* LPPRINTER_INFO_9A;
239 -
240 -struct _PRINTER_INFO_9W {
241 - LPDEVMODEW pDevMode;
242 -}
243 -alias _PRINTER_INFO_9W PRINTER_INFO_9W;
244 -alias _PRINTER_INFO_9W* PPRINTER_INFO_9W;
245 -alias _PRINTER_INFO_9W* LPPRINTER_INFO_9W;
246 -
247 -// #ifdef UNICODE
248 -alias PRINTER_INFO_9W PRINTER_INFO_9;
249 -alias PPRINTER_INFO_9W PPRINTER_INFO_9;
250 -alias LPPRINTER_INFO_9W LPPRINTER_INFO_9;
251 -// #else
252 -// ...
253 -// #endif // UNICODE
254 -
255 -enum : uint { PRINTER_CONTROL_PAUSE = 1 }
256 -enum : uint { PRINTER_CONTROL_RESUME = 2 }
257 -enum : uint { PRINTER_CONTROL_PURGE = 3 }
258 -enum : uint { PRINTER_CONTROL_SET_STATUS = 4 }
259 -
260 -enum : uint { PRINTER_STATUS_PAUSED = 0x00000001 }
261 -enum : uint { PRINTER_STATUS_ERROR = 0x00000002 }
262 -enum : uint { PRINTER_STATUS_PENDING_DELETION = 0x00000004 }
263 -enum : uint { PRINTER_STATUS_PAPER_JAM = 0x00000008 }
264 -enum : uint { PRINTER_STATUS_PAPER_OUT = 0x00000010 }
265 -enum : uint { PRINTER_STATUS_MANUAL_FEED = 0x00000020 }
266 -enum : uint { PRINTER_STATUS_PAPER_PROBLEM = 0x00000040 }
267 -enum : uint { PRINTER_STATUS_OFFLINE = 0x00000080 }
268 -enum : uint { PRINTER_STATUS_IO_ACTIVE = 0x00000100 }
269 -enum : uint { PRINTER_STATUS_BUSY = 0x00000200 }
270 -enum : uint { PRINTER_STATUS_PRINTING = 0x00000400 }
271 -enum : uint { PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800 }
272 -enum : uint { PRINTER_STATUS_NOT_AVAILABLE = 0x00001000 }
273 -enum : uint { PRINTER_STATUS_WAITING = 0x00002000 }
274 -enum : uint { PRINTER_STATUS_PROCESSING = 0x00004000 }
275 -enum : uint { PRINTER_STATUS_INITIALIZING = 0x00008000 }
276 -enum : uint { PRINTER_STATUS_WARMING_UP = 0x00010000 }
277 -enum : uint { PRINTER_STATUS_TONER_LOW = 0x00020000 }
278 -enum : uint { PRINTER_STATUS_NO_TONER = 0x00040000 }
279 -enum : uint { PRINTER_STATUS_PAGE_PUNT = 0x00080000 }
280 -enum : uint { PRINTER_STATUS_USER_INTERVENTION = 0x00100000 }
281 -enum : uint { PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000 }
282 -enum : uint { PRINTER_STATUS_DOOR_OPEN = 0x00400000 }
283 -enum : uint { PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000 }
284 -enum : uint { PRINTER_STATUS_POWER_SAVE = 0x01000000 }
285 -
286 -enum : uint { PRINTER_ATTRIBUTE_QUEUED = 0x00000001 }
287 -enum : uint { PRINTER_ATTRIBUTE_DIRECT = 0x00000002 }
288 -enum : uint { PRINTER_ATTRIBUTE_DEFAULT = 0x00000004 }
289 -enum : uint { PRINTER_ATTRIBUTE_SHARED = 0x00000008 }
290 -enum : uint { PRINTER_ATTRIBUTE_NETWORK = 0x00000010 }
291 -enum : uint { PRINTER_ATTRIBUTE_HIDDEN = 0x00000020 }
292 -enum : uint { PRINTER_ATTRIBUTE_LOCAL = 0x00000040 }
293 -
294 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_DEVQ = 0x00000080 }
295 -enum : uint { PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = 0x00000100 }
296 -enum : uint { PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = 0x00000200 }
297 -
298 -enum : uint { PRINTER_ATTRIBUTE_WORK_OFFLINE = 0x00000400 }
299 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_BIDI = 0x00000800 }
300 -enum : uint { PRINTER_ATTRIBUTE_RAW_ONLY = 0x00001000 }
301 -enum : uint { PRINTER_ATTRIBUTE_PUBLISHED = 0x00002000 }
302 -enum : uint { PRINTER_ATTRIBUTE_FAX = 0x00004000 }
303 -
304 -enum : uint { NO_PRIORITY = 0 }
305 -enum : uint { MAX_PRIORITY = 99 }
306 -enum : uint { MIN_PRIORITY = 1 }
307 -enum : uint { DEF_PRIORITY = 1 }
308 -
309 -struct _JOB_INFO_1A {
310 - DWORD JobId;
311 - LPSTR pPrinterName;
312 - LPSTR pMachineName;
313 - LPSTR pUserName;
314 - LPSTR pDocument;
315 - LPSTR pDatatype;
316 - LPSTR pStatus;
317 - DWORD Status;
318 - DWORD Priority;
319 - DWORD Position;
320 - DWORD TotalPages;
321 - DWORD PagesPrinted;
322 - SYSTEMTIME Submitted;
323 -}
324 -alias _JOB_INFO_1A JOB_INFO_1A;
325 -alias _JOB_INFO_1A* PJOB_INFO_1A;
326 -alias _JOB_INFO_1A* LPJOB_INFO_1A;
327 -
328 -struct _JOB_INFO_1W {
329 - DWORD JobId;
330 - LPWSTR pPrinterName;
331 - LPWSTR pMachineName;
332 - LPWSTR pUserName;
333 - LPWSTR pDocument;
334 - LPWSTR pDatatype;
335 - LPWSTR pStatus;
336 - DWORD Status;
337 - DWORD Priority;
338 - DWORD Position;
339 - DWORD TotalPages;
340 - DWORD PagesPrinted;
341 - SYSTEMTIME Submitted;
342 -}
343 -alias _JOB_INFO_1W JOB_INFO_1W;
344 -alias _JOB_INFO_1W* PJOB_INFO_1W;
345 -alias _JOB_INFO_1W* LPJOB_INFO_1W;
346 -
347 -// #ifdef UNICODE
348 -alias JOB_INFO_1W JOB_INFO_1;
349 -alias PJOB_INFO_1W PJOB_INFO_1;
350 -alias LPJOB_INFO_1W LPJOB_INFO_1;
351 -// #else
352 -// ...
353 -// #endif // UNICODE
354 -
355 -struct _JOB_INFO_2A {
356 - DWORD JobId;
357 - LPSTR pPrinterName;
358 - LPSTR pMachineName;
359 - LPSTR pUserName;
360 - LPSTR pDocument;
361 - LPSTR pNotifyName;
362 - LPSTR pDatatype;
363 - LPSTR pPrintProcessor;
364 - LPSTR pParameters;
365 - LPSTR pDriverName;
366 - LPDEVMODEA pDevMode;
367 - LPSTR pStatus;
368 - PSECURITY_DESCRIPTOR pSecurityDescriptor;
369 - DWORD Status;
370 - DWORD Priority;
371 - DWORD Position;
372 - DWORD StartTime;
373 - DWORD UntilTime;
374 - DWORD TotalPages;
375 - DWORD Size;
376 - SYSTEMTIME Submitted;
377 - DWORD Time;
378 - DWORD PagesPrinted;
684 +alias PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW, LPPRINTER_DEFAULTSW;
685 +
686 +extern (Windows):
687 +BOOL AbortPrinter(HANDLE);
688 +BOOL AddFormA(HANDLE, DWORD, PBYTE);
689 +BOOL AddFormW(HANDLE, DWORD, PBYTE);
690 +BOOL AddJobA(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
691 +BOOL AddJobW(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
692 +BOOL AddMonitorA(LPSTR, DWORD, PBYTE);
693 +BOOL AddMonitorW(LPWSTR, DWORD, PBYTE);
694 +BOOL AddPortA(LPSTR, HWND, LPSTR);
695 +BOOL AddPortW(LPWSTR, HWND, LPWSTR);
696 +HANDLE AddPrinterA(LPSTR, DWORD, PBYTE);
697 +HANDLE AddPrinterW(LPWSTR, DWORD, PBYTE);
698 +BOOL AddPrinterConnectionA(LPSTR);
699 +BOOL AddPrinterConnectionW(LPWSTR);
700 +BOOL AddPrinterDriverA(LPSTR, DWORD, PBYTE);
701 +BOOL AddPrinterDriverW(LPWSTR, DWORD, PBYTE);
702 +BOOL AddPrintProcessorA(LPSTR, LPSTR, LPSTR, LPSTR);
703 +BOOL AddPrintProcessorW(LPWSTR, LPWSTR, LPWSTR, LPWSTR);
704 +BOOL AddPrintProvidorA(LPSTR, DWORD, PBYTE);
705 +BOOL AddPrintProvidorW(LPWSTR, DWORD, PBYTE);
706 +LONG AdvancedDocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODE, PDEVMODEA);
707 +LONG AdvancedDocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODEW);
708 +BOOL ClosePrinter(HANDLE);
709 +BOOL ConfigurePortA(LPSTR, HWND, LPSTR);
710 +BOOL ConfigurePortW(LPWSTR, HWND, LPWSTR);
711 +HANDLE ConnectToPrinterDlg(HWND, DWORD);
712 +BOOL DeleteFormA(HANDLE, LPSTR);
713 +BOOL DeleteFormW(HANDLE, LPWSTR);
714 +BOOL DeleteMonitorA(LPSTR, LPSTR, LPSTR);
715 +BOOL DeleteMonitorW(LPWSTR, LPWSTR, LPWSTR);
716 +BOOL DeletePortA(LPSTR, HWND, LPSTR);
717 +BOOL DeletePortW(LPWSTR, HWND, LPWSTR);
718 +BOOL DeletePrinter(HANDLE);
719 +BOOL DeletePrinterConnectionA(LPSTR);
720 +BOOL DeletePrinterConnectionW(LPWSTR);
721 +DWORD DeletePrinterDataA(HANDLE, LPSTR);
722 +DWORD DeletePrinterDataW(HANDLE, LPWSTR);
723 +BOOL DeletePrinterDriverA(LPSTR, LPSTR, LPSTR);
724 +BOOL DeletePrinterDriverW(LPWSTR, LPWSTR, LPWSTR);
725 +BOOL DeletePrintProcessorA(LPSTR, LPSTR, LPSTR);
726 +BOOL DeletePrintProcessorW(LPWSTR, LPWSTR, LPWSTR);
727 +BOOL DeletePrintProvidorA(LPSTR, LPSTR, LPSTR);
728 +BOOL DeletePrintProvidorW(LPWSTR, LPWSTR, LPWSTR);
729 +LONG DocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODEA, PDEVMODEA, DWORD);
730 +LONG DocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD);
731 +BOOL EndDocPrinter(HANDLE);
732 +BOOL EndPagePrinter(HANDLE);
733 +BOOL EnumFormsA(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
734 +BOOL EnumFormsW(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
735 +BOOL EnumJobsA(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
736 +BOOL EnumJobsW(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
737 +BOOL EnumMonitorsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
738 +BOOL EnumMonitorsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
739 +BOOL EnumPortsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
740 +BOOL EnumPortsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
741 +DWORD EnumPrinterDataA(HANDLE, DWORD, LPSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD);
742 +DWORD EnumPrinterDataW(HANDLE, DWORD, LPWSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD);
743 +BOOL EnumPrinterDriversA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
744 +BOOL EnumPrinterDriversW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
745 +BOOL EnumPrintersA(DWORD, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
746 +BOOL EnumPrintersW(DWORD, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
747 +BOOL EnumPrintProcessorDatatypesA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
748 +BOOL EnumPrintProcessorDatatypesW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
749 +BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
750 +BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
751 +BOOL FindClosePrinterChangeNotification(HANDLE);
752 +HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID);
753 +HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*);
754 +BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
755 +
756 +static if (_WIN32_WINNT >= 0x0500) {
757 +BOOL GetDefaultPrinterA(LPSTR, LPDWORD);
758 +BOOL GetDefaultPrinterW(LPWSTR, LPDWORD);
379 759 }
380 -alias _JOB_INFO_2A JOB_INFO_2A;
381 -alias _JOB_INFO_2A* PJOB_INFO_2A;
382 -alias _JOB_INFO_2A* LPJOB_INFO_2A;
383 760
384 -struct _JOB_INFO_2W {
385 - DWORD JobId;
386 - LPWSTR pPrinterName;
387 - LPWSTR pMachineName;
388 - LPWSTR pUserName;
389 - LPWSTR pDocument;
390 - LPWSTR pNotifyName;
391 - LPWSTR pDatatype;
392 - LPWSTR pPrintProcessor;
393 - LPWSTR pParameters;
394 - LPWSTR pDriverName;
395 - LPDEVMODEW pDevMode;
396 - LPWSTR pStatus;
397 - PSECURITY_DESCRIPTOR pSecurityDescriptor;
398 - DWORD Status;
399 - DWORD Priority;
400 - DWORD Position;
401 - DWORD StartTime;
402 - DWORD UntilTime;
403 - DWORD TotalPages;
404 - DWORD Size;
405 - SYSTEMTIME Submitted;
406 - DWORD Time;
407 - DWORD PagesPrinted;
408 -}
409 -alias _JOB_INFO_2W JOB_INFO_2W;
410 -alias _JOB_INFO_2W* PJOB_INFO_2W;
411 -alias _JOB_INFO_2W* LPJOB_INFO_2W;
761 +BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
762 +BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
763 +BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
764 +BOOL GetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
765 +BOOL GetPrinterA(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
766 +BOOL GetPrinterW(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
767 +DWORD GetPrinterDataA(HANDLE, LPSTR, PDWORD, PBYTE, DWORD, PDWORD);
768 +DWORD GetPrinterDataW(HANDLE, LPWSTR, PDWORD, PBYTE, DWORD, PDWORD);
769 +DWORD GetPrinterDriverA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
770 +DWORD GetPrinterDriverW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
771 +DWORD GetPrinterDriverDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
772 +DWORD GetPrinterDriverDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
773 +DWORD GetPrintProcessorDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
774 +DWORD GetPrintProcessorDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
775 +BOOL OpenPrinterA(LPSTR, PHANDLE, LPPRINTER_DEFAULTSA);
776 +BOOL OpenPrinterW(LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW);
777 +DWORD PrinterMessageBoxA(HANDLE, DWORD, HWND, LPSTR, LPSTR, DWORD);
778 +DWORD PrinterMessageBoxW(HANDLE, DWORD, HWND, LPWSTR, LPWSTR, DWORD);
779 +BOOL PrinterProperties(HWND, HANDLE);
780 +BOOL ReadPrinter(HANDLE, PVOID, DWORD, PDWORD);
781 +BOOL ResetPrinterA(HANDLE, LPPRINTER_DEFAULTSA);
782 +BOOL ResetPrinterW(HANDLE, LPPRINTER_DEFAULTSW);
783 +BOOL ScheduleJob(HANDLE, DWORD);
784 +BOOL SetFormA(HANDLE, LPSTR, DWORD, PBYTE);
785 +BOOL SetFormW(HANDLE, LPWSTR, DWORD, PBYTE);
786 +BOOL SetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD);
787 +BOOL SetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD);
788 +BOOL SetPrinterA(HANDLE, DWORD, PBYTE, DWORD);
789 +BOOL SetPrinterW(HANDLE, DWORD, PBYTE, DWORD);
790 +BOOL SetPrinterDataA(HANDLE, LPSTR, DWORD, PBYTE, DWORD);
791 +BOOL SetPrinterDataW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD);
792 +DWORD StartDocPrinterA(HANDLE, DWORD, PBYTE);
793 +DWORD StartDocPrinterW(HANDLE, DWORD, PBYTE);
794 +BOOL StartPagePrinter(HANDLE);
795 +DWORD WaitForPrinterChange(HANDLE, DWORD);
796 +BOOL WritePrinter(HANDLE, PVOID, DWORD, PDWORD);
412 797
413 -// #ifdef UNICODE
414 -alias JOB_INFO_2W JOB_INFO_2;
415 -alias PJOB_INFO_2W PJOB_INFO_2;
416 -alias LPJOB_INFO_2W LPJOB_INFO_2;
417 -// #else
418 -// ...
419 -// #endif // UNICODE
798 +version(Unicode) {
420 799
421 -struct _JOB_INFO_3 {
422 - DWORD JobId;
423 - DWORD NextJobId;
424 - DWORD Reserved;
425 -}
426 -alias _JOB_INFO_3 JOB_INFO_3;
427 -alias _JOB_INFO_3* PJOB_INFO_3;
428 -alias _JOB_INFO_3* LPJOB_INFO_3;
429 -
430 -enum : uint { JOB_CONTROL_PAUSE = 1 }
431 -enum : uint { JOB_CONTROL_RESUME = 2 }
432 -enum : uint { JOB_CONTROL_CANCEL = 3 }
433 -enum : uint { JOB_CONTROL_RESTART = 4 }
434 -enum : uint { JOB_CONTROL_DELETE = 5 }
435 -enum : uint { JOB_CONTROL_SENT_TO_PRINTER = 6 }
436 -enum : uint { JOB_CONTROL_LAST_PAGE_EJECTED = 7 }
437 -
438 -enum : uint { JOB_STATUS_PAUSED = 0x00000001 }
439 -enum : uint { JOB_STATUS_ERROR = 0x00000002 }
440 -enum : uint { JOB_STATUS_DELETING = 0x00000004 }
441 -enum : uint { JOB_STATUS_SPOOLING = 0x00000008 }
442 -enum : uint { JOB_STATUS_PRINTING = 0x00000010 }
443 -enum : uint { JOB_STATUS_OFFLINE = 0x00000020 }
444 -enum : uint { JOB_STATUS_PAPEROUT = 0x00000040 }
445 -enum : uint { JOB_STATUS_PRINTED = 0x00000080 }
446 -enum : uint { JOB_STATUS_DELETED = 0x00000100 }
447 -enum : uint { JOB_STATUS_BLOCKED_DEVQ = 0x00000200 }
448 -enum : uint { JOB_STATUS_USER_INTERVENTION = 0x00000400 }
449 -enum : uint { JOB_STATUS_RESTART = 0x00000800 }
450 -enum : uint { JOB_STATUS_COMPLETE = 0x00001000 }
451 -
452 -enum : uint { JOB_POSITION_UNSPECIFIED = 0 }
453 -
454 -struct _ADDJOB_INFO_1A {
455 - LPSTR Path;
456 - DWORD JobId;
457 -}
458 -alias _ADDJOB_INFO_1A ADDJOB_INFO_1A;
459 -alias _ADDJOB_INFO_1A* PADDJOB_INFO_1A;
460 -alias _ADDJOB_INFO_1A* LPADDJOB_INFO_1A;
461 -
462 -struct _ADDJOB_INFO_1W {
463 - LPWSTR Path;
464 - DWORD JobId;
465 -}
466 -alias _ADDJOB_INFO_1W ADDJOB_INFO_1W;
467 -alias _ADDJOB_INFO_1W* PADDJOB_INFO_1W;
468 -alias _ADDJOB_INFO_1W* LPADDJOB_INFO_1W;
469 -
470 -// #ifdef UNICODE
800 +alias JOB_INFO_1W JOB_INFO_1;
801 +alias JOB_INFO_2W JOB_INFO_2;
471 802 alias ADDJOB_INFO_1W ADDJOB_INFO_1;
472 -alias PADDJOB_INFO_1W PADDJOB_INFO_1;
473 -alias LPADDJOB_INFO_1W LPADDJOB_INFO_1;
474 -// #else
475 -// ...
476 -// #endif // UNICODE
477 -
478 -struct _DRIVER_INFO_1A {
479 - LPSTR pName;
480 -}
481 -alias _DRIVER_INFO_1A DRIVER_INFO_1A;
482 -alias _DRIVER_INFO_1A* PDRIVER_INFO_1A;
483 -alias _DRIVER_INFO_1A* LPDRIVER_INFO_1A;
484 -
485 -struct _DRIVER_INFO_1W {
486 - LPWSTR pName;
487 -}
488 -alias _DRIVER_INFO_1W DRIVER_INFO_1W;
489 -alias _DRIVER_INFO_1W* PDRIVER_INFO_1W;
490 -alias _DRIVER_INFO_1W* LPDRIVER_INFO_1W;
491 -
492 -// #ifdef UNICODE
493 -alias DRIVER_INFO_1W DRIVER_INFO_1;
494 -alias PDRIVER_INFO_1W PDRIVER_INFO_1;
495 -alias LPDRIVER_INFO_1W LPDRIVER_INFO_1;
496 -// #else
497 -// ...
498 -// #endif // UNICODE
499 -
500 -struct _DRIVER_INFO_2A {
501 - DWORD cVersion;
502 - LPSTR pName;
503 - LPSTR pEnvironment;
504 - LPSTR pDriverPath;
505 - LPSTR pDataFile;
506 - LPSTR pConfigFile;
507 -}
508 -alias _DRIVER_INFO_2A DRIVER_INFO_2A;
509 -alias _DRIVER_INFO_2A* PDRIVER_INFO_2A;
510 -alias _DRIVER_INFO_2A* LPDRIVER_INFO_2A;
511 -
512 -struct _DRIVER_INFO_2W {
513 - DWORD cVersion;
514 - LPWSTR pName;
515 - LPWSTR pEnvironment;
516 - LPWSTR pDriverPath;
517 - LPWSTR pDataFile;
518 - LPWSTR pConfigFile;
519 -}
520 -alias _DRIVER_INFO_2W DRIVER_INFO_2W;
521 -alias _DRIVER_INFO_2W* PDRIVER_INFO_2W;
522 -alias _DRIVER_INFO_2W* LPDRIVER_INFO_2W;
523 -
524 -// #ifdef UNICODE
525 -alias DRIVER_INFO_2W DRIVER_INFO_2;
526 -alias PDRIVER_INFO_2W PDRIVER_INFO_2;
527 -alias LPDRIVER_INFO_2W LPDRIVER_INFO_2;
528 -// #else
529 -// ...
530 -// #endif // UNICODE
531 -
532 -struct _DRIVER_INFO_3A {
533 - DWORD cVersion;
534 - LPSTR pName;
535 - LPSTR pEnvironment;
536 - LPSTR pDriverPath;
537 - LPSTR pDataFile;
538 - LPSTR pConfigFile;
539 - LPSTR pHelpFile;
540 - LPSTR pDependentFiles;
541 - LPSTR pMonitorName;
542 - LPSTR pDefaultDataType;
543 -}
544 -alias _DRIVER_INFO_3A DRIVER_INFO_3A;
545 -alias _DRIVER_INFO_3A* PDRIVER_INFO_3A;
546 -alias _DRIVER_INFO_3A* LPDRIVER_INFO_3A;
547 -
548 -struct _DRIVER_INFO_3W {
549 - DWORD cVersion;
550 - LPWSTR pName;
551 - LPWSTR pEnvironment;
552 - LPWSTR pDriverPath;
553 - LPWSTR pDataFile;
554 - LPWSTR pConfigFile;
555 - LPWSTR pHelpFile;
556 - LPWSTR pDependentFiles;
557 - LPWSTR pMonitorName;
558 - LPWSTR pDefaultDataType;
559 -}
560 -alias _DRIVER_INFO_3W DRIVER_INFO_3W;
561 -alias _DRIVER_INFO_3W* PDRIVER_INFO_3W;
562 -alias _DRIVER_INFO_3W* LPDRIVER_INFO_3W;
563 -
564 -// #ifdef UNICODE
565 -alias DRIVER_INFO_3W DRIVER_INFO_3;
566 -alias PDRIVER_INFO_3W PDRIVER_INFO_3;
567 -alias LPDRIVER_INFO_3W LPDRIVER_INFO_3;
568 -// #else
569 -// ...
570 -// #endif // UNICODE
571 -
572 -struct _DRIVER_INFO_4A {
573 - DWORD cVersion;
574 - LPSTR pName;
575 - LPSTR pEnvironment;
576 - LPSTR pDriverPath;
577 - LPSTR pDataFile;
578 - LPSTR pConfigFile;
579 - LPSTR pHelpFile;
580 - LPSTR pDependentFiles;
581 - LPSTR pMonitorName;
582 - LPSTR pDefaultDataType;
583 - LPSTR pszzPreviousNames;
584 -}
585 -alias _DRIVER_INFO_4A DRIVER_INFO_4A;
586 -alias _DRIVER_INFO_4A* PDRIVER_INFO_4A;
587 -alias _DRIVER_INFO_4A* LPDRIVER_INFO_4A;
588 -
589 -struct _DRIVER_INFO_4W {
590 - DWORD cVersion;
591 - LPWSTR pName;
592 - LPWSTR pEnvironment;
593 - LPWSTR pDriverPath;
594 - LPWSTR pDataFile;
595 - LPWSTR pConfigFile;
596 - LPWSTR pHelpFile;
597 - LPWSTR pDependentFiles;
598 - LPWSTR pMonitorName;
599 - LPWSTR pDefaultDataType;
600 - LPWSTR pszzPreviousNames;
601 -}
602 -alias _DRIVER_INFO_4W DRIVER_INFO_4W;
603 -alias _DRIVER_INFO_4W* PDRIVER_INFO_4W;
604 -alias _DRIVER_INFO_4W* LPDRIVER_INFO_4W;
605 -
606 -// #ifdef UNICODE
607 -alias DRIVER_INFO_4W DRIVER_INFO_4;
608 -alias PDRIVER_INFO_4W PDRIVER_INFO_4;
609 -alias LPDRIVER_INFO_4W LPDRIVER_INFO_4;
610 -// #else
611 -// ...
612 -// #endif // UNICODE
613 -
614 -struct _DRIVER_INFO_5A {
615 - DWORD cVersion;
616 - LPSTR pName;
617 - LPSTR pEnvironment;
618 - LPSTR pDriverPath;
619 - LPSTR pDataFile;
620 - LPSTR pConfigFile;
621 - DWORD dwDriverAttributes;
622 - DWORD dwConfigVersion;
623 - DWORD dwDriverVersion;
624 -}
625 -alias _DRIVER_INFO_5A DRIVER_INFO_5A;
626 -alias _DRIVER_INFO_5A* PDRIVER_INFO_5A;
627 -alias _DRIVER_INFO_5A* LPDRIVER_INFO_5A;
628 -
629 -struct _DRIVER_INFO_5W {
630 - DWORD cVersion;
631 - LPWSTR pName;
632 - LPWSTR pEnvironment;
633 - LPWSTR pDriverPath;
634 - LPWSTR pDataFile;
635 - LPWSTR pConfigFile;
636 - DWORD dwDriverAttributes;
637 - DWORD dwConfigVersion;
638 - DWORD dwDriverVersion;
639 -}
640 -alias _DRIVER_INFO_5W DRIVER_INFO_5W;
641 -alias _DRIVER_INFO_5W* PDRIVER_INFO_5W;
642 -alias _DRIVER_INFO_5W* LPDRIVER_INFO_5W;
643 -
644 -// #ifdef UNICODE
645 -alias DRIVER_INFO_5W DRIVER_INFO_5;
646 -alias PDRIVER_INFO_5W PDRIVER_INFO_5;
647 -alias LPDRIVER_INFO_5W LPDRIVER_INFO_5;
648 -// #else
649 -// ...
650 -// #endif // UNICODE
651 -
652 -struct _DRIVER_INFO_6A {
653 - DWORD cVersion;
654 - LPSTR pName;
655 - LPSTR pEnvironment;
656 - LPSTR pDriverPath;
657 - LPSTR pDataFile;
658 - LPSTR pConfigFile;
659 - LPSTR pHelpFile;
660 - LPSTR pDependentFiles;
661 - LPSTR pMonitorName;
662 - LPSTR pDefaultDataType;
663 - LPSTR pszzPreviousNames;
664 - FILETIME ftDriverDate;
665 - DWORDLONG dwlDriverVersion;
666 - LPSTR pszMfgName;
667 - LPSTR pszOEMUrl;
668 - LPSTR pszHardwareID;
669 - LPSTR pszProvider;
670 -}
671 -alias _DRIVER_INFO_6A DRIVER_INFO_6A;
672 -alias _DRIVER_INFO_6A* PDRIVER_INFO_6A;
673 -alias _DRIVER_INFO_6A* LPDRIVER_INFO_6A;
674 -
675 -struct _DRIVER_INFO_6W {
676 - DWORD cVersion;
677 - LPWSTR pName;
678 - LPWSTR pEnvironment;
679 - LPWSTR pDriverPath;
680 - LPWSTR pDataFile;
681 - LPWSTR pConfigFile;
682 - LPWSTR pHelpFile;
683 - LPWSTR pDependentFiles;
684 - LPWSTR pMonitorName;
685 - LPWSTR pDefaultDataType;
686 - LPWSTR pszzPreviousNames;
687 - FILETIME ftDriverDate;
688 - DWORDLONG dwlDriverVersion;
689 - LPWSTR pszMfgName;
690 - LPWSTR pszOEMUrl;
691 - LPWSTR pszHardwareID;
692 - LPWSTR pszProvider;
693 -}
694 -alias _DRIVER_INFO_6W DRIVER_INFO_6W;
695 -alias _DRIVER_INFO_6W* PDRIVER_INFO_6W;
696 -alias _DRIVER_INFO_6W* LPDRIVER_INFO_6W;
697 -
698 -// #ifdef UNICODE
699 -alias DRIVER_INFO_6W DRIVER_INFO_6;
700 -alias PDRIVER_INFO_6W PDRIVER_INFO_6;
701 -alias LPDRIVER_INFO_6W LPDRIVER_INFO_6;
702 -// #else
703 -// ...
704 -// #endif // UNICODE
705 -
706 -enum : uint { DRIVER_KERNELMODE = 0x00000001 }
707 -enum : uint { DRIVER_USERMODE = 0x00000002 }
708 -
709 -enum : uint { DPD_DELETE_UNUSED_FILES = 0x00000001 }
710 -enum : uint { DPD_DELETE_SPECIFIC_VERSION = 0x00000002 }
711 -enum : uint { DPD_DELETE_ALL_FILES = 0x00000004 }
712 -
713 -enum : uint { APD_STRICT_UPGRADE = 0x00000001 }
714 -enum : uint { APD_STRICT_DOWNGRADE = 0x00000002 }
715 -enum : uint { APD_COPY_ALL_FILES = 0x00000004 }
716 -enum : uint { APD_COPY_NEW_FILES = 0x00000008 }
717 -enum : uint { APD_COPY_FROM_DIRECTORY = 0x00000010 }
718 -
719 -struct _DOC_INFO_1A {
720 - LPSTR pDocName;
721 - LPSTR pOutputFile;
722 - LPSTR pDatatype;
723 -}
724 -alias _DOC_INFO_1A DOC_INFO_1A;
725 -alias _DOC_INFO_1A* PDOC_INFO_1A;
726 -alias _DOC_INFO_1A* LPDOC_INFO_1A;
727 -
728 -struct _DOC_INFO_1W {
729 - LPWSTR pDocName;
730 - LPWSTR pOutputFile;
731 - LPWSTR pDatatype;
732 -}
733 -alias _DOC_INFO_1W DOC_INFO_1W;
734 -alias _DOC_INFO_1W* PDOC_INFO_1W;
735 -alias _DOC_INFO_1W* LPDOC_INFO_1W;
736 -
737 -// #ifdef UNICODE
803 +alias DATATYPES_INFO_1W DATATYPES_INFO_1;
804 +alias MONITOR_INFO_1W MONITOR_INFO_1;
805 +alias MONITOR_INFO_2W MONITOR_INFO_2;
738 806 alias DOC_INFO_1W DOC_INFO_1;
739 -alias PDOC_INFO_1W PDOC_INFO_1;
740 -alias LPDOC_INFO_1W LPDOC_INFO_1;
741 -// #else
742 -// ...
743 -// #endif // UNICODE
744 -
745 -struct _FORM_INFO_1A {
746 - DWORD Flags;
747 - LPSTR pName;
748 - SIZEL Size;
749 - RECTL ImageableArea;
750 -}
751 -alias _FORM_INFO_1A FORM_INFO_1A;
752 -alias _FORM_INFO_1A* PFORM_INFO_1A;
753 -alias _FORM_INFO_1A* LPFORM_INFO_1A;
807 +alias DOC_INFO_2W DOC_INFO_2;
808 +alias PORT_INFO_1W PORT_INFO_1;
809 +alias PORT_INFO_2W PORT_INFO_2;
810 +alias PORT_INFO_3W PORT_INFO_3;
811 +alias DRIVER_INFO_2W DRIVER_INFO_2;
812 +alias PRINTER_INFO_1W PRINTER_INFO_1;
813 +alias PRINTER_INFO_2W PRINTER_INFO_2;
814 +alias PRINTER_INFO_4W PRINTER_INFO_4;
815 +alias PRINTER_INFO_5W PRINTER_INFO_5;
816 +alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1;
817 +alias FORM_INFO_1W FORM_INFO_1;
818 +alias PRINTER_DEFAULTSW PRINTER_DEFAULTS;
754 819
755 -struct _FORM_INFO_1W {
756 - DWORD Flags;
757 - LPWSTR pName;
758 - SIZEL Size;
759 - RECTL ImageableArea;
760 -}
761 -alias _FORM_INFO_1W FORM_INFO_1W;
762 -alias _FORM_INFO_1W* PFORM_INFO_1W;
763 -alias _FORM_INFO_1W* LPFORM_INFO_1W;
764 -
765 -// #ifdef UNICODE
766 -alias FORM_INFO_1W FORM_INFO_1;
767 -alias PFORM_INFO_1W PFORM_INFO_1;
768 -alias LPFORM_INFO_1W LPFORM_INFO_1;
769 -// #else
770 -// ...
771 -// #endif // UNICODE
820 +alias AddFormW AddForm;
821 +alias AddJobW AddJob;
822 +alias AddMonitorW AddMonitor;
823 +alias AddPortW AddPort;
824 +alias AddPrinterW AddPrinter;
825 +alias AddPrinterConnectionW AddPrinterConnection;
826 +alias AddPrinterDriverW AddPrinterDriver;
827 +alias AddPrintProcessorW AddPrintProcessor;
828 +alias AddPrintProvidorW AddPrintProvidor;
829 +alias AdvancedDocumentPropertiesW AdvancedDocumentProperties;
830 +alias ConfigurePortW ConfigurePort;
831 +alias DeleteFormW DeleteForm;
832 +alias DeleteMonitorW DeleteMonitor;
833 +alias DeletePortW DeletePort;
834 +alias DeletePrinterConnectionW DeletePrinterConnection;
835 +alias DeletePrinterDataW DeletePrinterData;
836 +alias DeletePrinterDriverW DeletePrinterDriver;
837 +alias DeletePrintProcessorW DeletePrintProcessor;
838 +alias DeletePrintProvidorW DeletePrintProvidor;
839 +alias DocumentPropertiesW DocumentProperties;
840 +alias EnumFormsW EnumForms;
841 +alias EnumJobsW EnumJobs;
842 +alias EnumMonitorsW EnumMonitors;
843 +alias EnumPortsW EnumPorts;
844 +alias EnumPrinterDataW EnumPrinterData;
845 +alias EnumPrinterDriversW EnumPrinterDrivers;
846 +alias EnumPrintersW EnumPrinters;
847 +alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes;
848 +alias EnumPrintProcessorsW EnumPrintProcessors;
772 849
773 -struct _DOC_INFO_2A {
774 - LPSTR pDocName;
775 - LPSTR pOutputFile;
776 - LPSTR pDatatype;
777 - DWORD dwMode;
778 - DWORD JobId;
779 -}
780 -alias _DOC_INFO_2A DOC_INFO_2A;
781 -alias _DOC_INFO_2A* PDOC_INFO_2A;
782 -alias _DOC_INFO_2A* LPDOC_INFO_2A;
783 -
784 -struct _DOC_INFO_2W {
785 - LPWSTR pDocName;
786 - LPWSTR pOutputFile;
787 - LPWSTR pDatatype;
788 - DWORD dwMode;
789 - DWORD JobId;
850 +static if (_WIN32_WINNT >= 0x0500) {
851 +alias GetDefaultPrinterW GetDefaultPrinter;
790 852 }
791 -alias _DOC_INFO_2W DOC_INFO_2W;
792 -alias _DOC_INFO_2W* PDOC_INFO_2W;
793 -alias _DOC_INFO_2W* LPDOC_INFO_2W;
794 853
795 -// #ifdef UNICODE
796 -alias DOC_INFO_2W DOC_INFO_2;
797 -alias PDOC_INFO_2W PDOC_INFO_2;
798 -alias LPDOC_INFO_2W LPDOC_INFO_2;
799 -// #else
800 -// ...
801 -// #endif // UNICODE
854 +alias GetFormW GetForm;
855 +alias GetJobW GetJob;
856 +alias GetPrinterW GetPrinter;
857 +alias GetPrinterDataW GetPrinterData;
858 +alias GetPrinterDriverW GetPrinterDriver;
859 +alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory;
860 +alias GetPrintProcessorDirectoryW GetPrintProcessorDirectory;
861 +alias OpenPrinterW OpenPrinter;
862 +alias PrinterMessageBoxW PrinterMessageBox;
863 +alias ResetPrinterW ResetPrinter;
864 +alias SetFormW SetForm;
865 +alias SetJobW SetJob;
866 +alias SetPrinterW SetPrinter;
867 +alias SetPrinterDataW SetPrinterData;
868 +alias StartDocPrinterW StartDocPrinter;
802 869
803 -enum : uint { DI_CHANNEL = 1 }
870 +} else {
804 871
805 -enum : uint { DI_READ_SPOOL_JOB = 3 }
806 -
807 -struct _DOC_INFO_3A {
808 - LPSTR pDocName;
809 - LPSTR pOutputFile;
810 - LPSTR pDatatype;
811 - DWORD dwFlags;
812 -}
813 -alias _DOC_INFO_3A DOC_INFO_3A;
814 -alias _DOC_INFO_3A* PDOC_INFO_3A;
815 -alias _DOC_INFO_3A* LPDOC_INFO_3A;
872 +alias JOB_INFO_1A JOB_INFO_1;
873 +alias JOB_INFO_2A JOB_INFO_2;
874 +alias ADDJOB_INFO_1A ADDJOB_INFO_1;
875 +alias DATATYPES_INFO_1A DATATYPES_INFO_1;
876 +alias MONITOR_INFO_1A MONITOR_INFO_1;
877 +alias MONITOR_INFO_2A MONITOR_INFO_2;
878 +alias DOC_INFO_1A DOC_INFO_1;
879 +alias DOC_INFO_2A DOC_INFO_2;
880 +alias PORT_INFO_1A PORT_INFO_1;
881 +alias PORT_INFO_2A PORT_INFO_2;
882 +alias PORT_INFO_3A PORT_INFO_3;
883 +alias DRIVER_INFO_2A DRIVER_INFO_2;
884 +alias PRINTER_INFO_1A PRINTER_INFO_1;
885 +alias PRINTER_INFO_2A PRINTER_INFO_2;
886 +alias PRINTER_INFO_4A PRINTER_INFO_4;
887 +alias PRINTER_INFO_5A PRINTER_INFO_5;
888 +alias PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1;
889 +alias FORM_INFO_1A FORM_INFO_1;
890 +alias PRINTER_DEFAULTSA PRINTER_DEFAULTS;
816 891
817 -struct _DOC_INFO_3W {
818 - LPWSTR pDocName;
819 - LPWSTR pOutputFile;
820 - LPWSTR pDatatype;
821 - DWORD dwFlags;
822 -}
823 -alias _DOC_INFO_3W DOC_INFO_3W;
824 -alias _DOC_INFO_3W* PDOC_INFO_3W;
825 -alias _DOC_INFO_3W* LPDOC_INFO_3W;
826 -
827 -// #ifdef UNICODE
828 -alias DOC_INFO_3W DOC_INFO_3;
829 -alias PDOC_INFO_3W PDOC_INFO_3;
830 -alias LPDOC_INFO_3W LPDOC_INFO_3;
831 -// #else
832 -// ...
833 -// #endif // UNICODE
892 +alias AddFormA AddForm;
893 +alias AddJobA AddJob;
894 +alias AddMonitorA AddMonitor;
895 +alias AddPortA AddPort;
896 +alias AddPrinterA AddPrinter;
897 +alias AddPrinterConnectionA AddPrinterConnection;
898 +alias AddPrinterDriverA AddPrinterDriver;
899 +alias AddPrintProcessorA AddPrintProcessor;
900 +alias AddPrintProvidorA AddPrintProvidor;
901 +alias AdvancedDocumentPropertiesA AdvancedDocumentProperties;
902 +alias ConfigurePortA ConfigurePort;
903 +alias DeleteFormA DeleteForm;
904 +alias DeleteMonitorA DeleteMonitor;
905 +alias DeletePortA DeletePort;
906 +alias DeletePrinterConnectionA DeletePrinterConnection;
907 +alias DeletePrinterDataA DeletePrinterData;
908 +alias DeletePrinterDriverA DeletePrinterDriver;
909 +alias DeletePrintProcessorA DeletePrintProcessor;
910 +alias DeletePrintProvidorA DeletePrintProvidor;
911 +alias DocumentPropertiesA DocumentProperties;
912 +alias EnumFormsA EnumForms;
913 +alias EnumJobsA EnumJobs;
914 +alias EnumMonitorsA EnumMonitors;
915 +alias EnumPortsA EnumPorts;
916 +alias EnumPrinterDataA EnumPrinterData;
917 +alias EnumPrinterDriversA EnumPrinterDrivers;
918 +alias EnumPrintersA EnumPrinters;
919 +alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes;
920 +alias EnumPrintProcessorsA EnumPrintProcessors;
834 921
835 -enum : uint { DI_MEMORYMAP_WRITE = 0x00000001 }
836 -
837 -enum : uint { FORM_USER = 0x00000000 }
838 -enum : uint { FORM_BUILTIN = 0x00000001 }
839 -enum : uint { FORM_PRINTER = 0x00000002 }
840 -
841 -struct _PRINTPROCESSOR_INFO_1A {
842 - LPSTR pName;
843 -}
844 -alias _PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1A;
845 -alias _PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A;
846 -alias _PRINTPROCESSOR_INFO_1A* LPPRINTPROCESSOR_INFO_1A;
847 -
848 -struct _PRINTPROCESSOR_INFO_1W {
849 - LPWSTR pName;
922 +static if (_WIN32_WINNT >= 0x0500) {
923 +alias GetDefaultPrinterA GetDefaultPrinter;
850 924 }
851 -alias _PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1W;
852 -alias _PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W;
853 -alias _PRINTPROCESSOR_INFO_1W* LPPRINTPROCESSOR_INFO_1W;
854 925
855 -// #ifdef UNICODE
856 -alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1;
857 -alias PPRINTPROCESSOR_INFO_1W PPRINTPROCESSOR_INFO_1;
858 -alias LPPRINTPROCESSOR_INFO_1W LPPRINTPROCESSOR_INFO_1;
859 -// #else
860 -// ...
861 -// #endif // UNICODE
862 -
863 -struct _PRINTPROCESSOR_CAPS_1 {
864 - DWORD dwLevel;
865 - DWORD dwNupOptions;
866 - DWORD dwPageOrderFlags;
867 - DWORD dwNumberOfCopies;
868 -}
869 -alias _PRINTPROCESSOR_CAPS_1 PRINTPROCESSOR_CAPS_1;
870 -alias _PRINTPROCESSOR_CAPS_1* PPRINTPROCESSOR_CAPS_1;
871 -
872 -enum : uint { NORMAL_PRINT = 0x00000000 }
873 -enum : uint { REVERSE_PRINT = 0x00000001 }
874 -
875 -struct _PORT_INFO_1A {
876 - LPSTR pName;
877 -}
878 -alias _PORT_INFO_1A PORT_INFO_1A;
879 -alias _PORT_INFO_1A* PPORT_INFO_1A;
880 -alias _PORT_INFO_1A* LPPORT_INFO_1A;
881 -
882 -struct _PORT_INFO_1W {
883 - LPWSTR pName;
884 -}
885 -alias _PORT_INFO_1W PORT_INFO_1W;
886 -alias _PORT_INFO_1W* PPORT_INFO_1W;
887 -alias _PORT_INFO_1W* LPPORT_INFO_1W;
888 -
889 -// #ifdef UNICODE
890 -alias PORT_INFO_1W PORT_INFO_1;
891 -alias PPORT_INFO_1W PPORT_INFO_1;
892 -alias LPPORT_INFO_1W LPPORT_INFO_1;
893 -// #else
894 -// ...
895 -// #endif // UNICODE
896 -
897 -struct _PORT_INFO_2A {
898 - LPSTR pPortName;
899 - LPSTR pMonitorName;
900 - LPSTR pDescription;
901 - DWORD fPortType;
902 - DWORD Reserved;
903 -}
904 -alias _PORT_INFO_2A PORT_INFO_2A;
905 -alias _PORT_INFO_2A* PPORT_INFO_2A;
906 -alias _PORT_INFO_2A* LPPORT_INFO_2A;
907 -
908 -struct _PORT_INFO_2W {
909 - LPWSTR pPortName;
910 - LPWSTR pMonitorName;
911 - LPWSTR pDescription;
912 - DWORD fPortType;
913 - DWORD Reserved;
914 -}
915 -alias _PORT_INFO_2W PORT_INFO_2W;
916 -alias _PORT_INFO_2W* PPORT_INFO_2W;
917 -alias _PORT_INFO_2W* LPPORT_INFO_2W;
918 -
919 -// #ifdef UNICODE
920 -alias PORT_INFO_2W PORT_INFO_2;
921 -alias PPORT_INFO_2W PPORT_INFO_2;
922 -alias LPPORT_INFO_2W LPPORT_INFO_2;
923 -// #else
924 -// ...
925 -// #endif // UNICODE
926 -
927 -enum : uint { PORT_TYPE_WRITE = 0x0001 }
928 -enum : uint { PORT_TYPE_READ = 0x0002 }
929 -enum : uint { PORT_TYPE_REDIRECTED = 0x0004 }
930 -enum : uint { PORT_TYPE_NET_ATTACHED = 0x0008 }
931 -
932 -struct _PORT_INFO_3A {
933 - DWORD dwStatus;
934 - LPSTR pszStatus;
935 - DWORD dwSeverity;
936 -}
937 -alias _PORT_INFO_3A PORT_INFO_3A;
938 -alias _PORT_INFO_3A* PPORT_INFO_3A;
939 -alias _PORT_INFO_3A* LPPORT_INFO_3A;
940 -
941 -struct _PORT_INFO_3W {
942 - DWORD dwStatus;
943 - LPWSTR pszStatus;
944 - DWORD dwSeverity;
945 -}
946 -alias _PORT_INFO_3W PORT_INFO_3W;
947 -alias _PORT_INFO_3W* PPORT_INFO_3W;
948 -alias _PORT_INFO_3W* LPPORT_INFO_3W;
949 -
950 -// #ifdef UNICODE
951 -alias PORT_INFO_3W PORT_INFO_3;
952 -alias PPORT_INFO_3W PPORT_INFO_3;
953 -alias LPPORT_INFO_3W LPPORT_INFO_3;
954 -// #else
955 -// ...
956 -// #endif // UNICODE
926 +alias GetFormA GetForm;
927 +alias GetJobA GetJob;
928 +alias GetPrinterA GetPrinter;
929 +alias GetPrinterDataA GetPrinterData;
930 +alias GetPrinterDriverA GetPrinterDriver;
931 +alias GetPrinterDriverDirectoryA GetPrinterDriverDirectory;
932 +alias GetPrintProcessorDirectoryA GetPrintProcessorDirectory;
933 +alias OpenPrinterA OpenPrinter;
934 +alias PrinterMessageBoxA PrinterMessageBox;
935 +alias ResetPrinterA ResetPrinter;
936 +alias SetFormA SetForm;
937 +alias SetJobA SetJob;
938 +alias SetPrinterA SetPrinter;
939 +alias SetPrinterDataA SetPrinterData;
940 +alias StartDocPrinterA StartDocPrinter;
941 +}
957 942
958 -enum : uint { PORT_STATUS_TYPE_ERROR = 1 }
959 -enum : uint { PORT_STATUS_TYPE_WARNING = 2 }
960 -enum : uint { PORT_STATUS_TYPE_INFO = 3 }
961 -
962 -enum : uint { PORT_STATUS_OFFLINE = 1 }
963 -enum : uint { PORT_STATUS_PAPER_JAM = 2 }
964 -enum : uint { PORT_STATUS_PAPER_OUT = 3 }
965 -enum : uint { PORT_STATUS_OUTPUT_BIN_FULL = 4 }
966 -enum : uint { PORT_STATUS_PAPER_PROBLEM = 5 }
967 -enum : uint { PORT_STATUS_NO_TONER = 6 }
968 -enum : uint { PORT_STATUS_DOOR_OPEN = 7 }
969 -enum : uint { PORT_STATUS_USER_INTERVENTION = 8 }
970 -enum : uint { PORT_STATUS_OUT_OF_MEMORY = 9 }
971 -
972 -enum : uint { PORT_STATUS_TONER_LOW = 10 }
973 -
974 -enum : uint { PORT_STATUS_WARMING_UP = 11 }
975 -enum : uint { PORT_STATUS_POWER_SAVE = 12 }
976 -
977 -struct _MONITOR_INFO_1A {
978 - LPSTR pName;
979 -}
980 -alias _MONITOR_INFO_1A MONITOR_INFO_1A;
981 -alias _MONITOR_INFO_1A* PMONITOR_INFO_1A;
982 -alias _MONITOR_INFO_1A* LPMONITOR_INFO_1A;
983 -
984 -struct _MONITOR_INFO_1W {
985 - LPWSTR pName;
986 -}
987 -alias _MONITOR_INFO_1W MONITOR_INFO_1W;
988 -alias _MONITOR_INFO_1W* PMONITOR_INFO_1W;
989 -alias _MONITOR_INFO_1W* LPMONITOR_INFO_1W;
990 -
991 -// #ifdef UNICODE
992 -alias MONITOR_INFO_1W MONITOR_INFO_1;
993 -alias PMONITOR_INFO_1W PMONITOR_INFO_1;
994 -alias LPMONITOR_INFO_1W LPMONITOR_INFO_1;
995 -// #else
996 -// ...
997 -// #endif // UNICODE
998 -
999 -struct _MONITOR_INFO_2A {
1000 - LPSTR pName;
1001 - LPSTR pEnvironment;
1002 - LPSTR pDLLName;
1003 -}
1004 -alias _MONITOR_INFO_2A MONITOR_INFO_2A;
1005 -alias _MONITOR_INFO_2A* PMONITOR_INFO_2A;
1006 -alias _MONITOR_INFO_2A* LPMONITOR_INFO_2A;
1007 -
1008 -struct _MONITOR_INFO_2W {
1009 - LPWSTR pName;
1010 - LPWSTR pEnvironment;
1011 - LPWSTR pDLLName;
1012 -}
1013 -alias _MONITOR_INFO_2W MONITOR_INFO_2W;
1014 -alias _MONITOR_INFO_2W* PMONITOR_INFO_2W;
1015 -alias _MONITOR_INFO_2W* LPMONITOR_INFO_2W;
1016 -
1017 -// #ifdef UNICODE
1018 -alias MONITOR_INFO_2W MONITOR_INFO_2;
1019 -alias PMONITOR_INFO_2W PMONITOR_INFO_2;
1020 -alias LPMONITOR_INFO_2W LPMONITOR_INFO_2;
1021 -// #else
1022 -// ...
1023 -// #endif // UNICODE
1024 -
1025 -struct _DATATYPES_INFO_1A {
1026 - LPSTR pName;
1027 -}
1028 -alias _DATATYPES_INFO_1A DATATYPES_INFO_1A;
1029 -alias _DATATYPES_INFO_1A* PDATATYPES_INFO_1A;
1030 -alias _DATATYPES_INFO_1A* LPDATATYPES_INFO_1A;
1031 -
1032 -struct _DATATYPES_INFO_1W {
1033 - LPWSTR pName;
1034 -}
1035 -alias _DATATYPES_INFO_1W DATATYPES_INFO_1W;
1036 -alias _DATATYPES_INFO_1W* PDATATYPES_INFO_1W;
1037 -alias _DATATYPES_INFO_1W* LPDATATYPES_INFO_1W;
1038 -
1039 -// #ifdef UNICODE
1040 -alias DATATYPES_INFO_1W DATATYPES_INFO_1;
1041 -alias PDATATYPES_INFO_1W PDATATYPES_INFO_1;
1042 -alias LPDATATYPES_INFO_1W LPDATATYPES_INFO_1;
1043 -// #else
1044 -// ...
1045 -// #endif // UNICODE
1046 -
1047 -struct _PRINTER_DEFAULTSA {
1048 - LPSTR pDatatype;
1049 - LPDEVMODEA pDevMode;
1050 - ACCESS_MASK DesiredAccess;
1051 -}
1052 -alias _PRINTER_DEFAULTSA PRINTER_DEFAULTSA;
1053 -alias _PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA;
1054 -alias _PRINTER_DEFAULTSA* LPPRINTER_DEFAULTSA;
1055 -
1056 -struct _PRINTER_DEFAULTSW {
1057 - LPWSTR pDatatype;
1058 - LPDEVMODEW pDevMode;
1059 - ACCESS_MASK DesiredAccess;
1060 -}
1061 -alias _PRINTER_DEFAULTSW PRINTER_DEFAULTSW;
1062 -alias _PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW;
1063 -alias _PRINTER_DEFAULTSW* LPPRINTER_DEFAULTSW;
1064 -
1065 -// #ifdef UNICODE
1066 -alias PRINTER_DEFAULTSW PRINTER_DEFAULTS;
1067 -alias PPRINTER_DEFAULTSW PPRINTER_DEFAULTS;
1068 -alias LPPRINTER_DEFAULTSW LPPRINTER_DEFAULTS;
1069 -// #else
1070 -// ...
1071 -// #endif // UNICODE
1072 -
1073 -struct _PRINTER_ENUM_VALUESA {
1074 - LPSTR pValueName;
1075 - DWORD cbValueName;
1076 - DWORD dwType;
1077 - LPBYTE pData;
1078 - DWORD cbData;
1079 -}
1080 -alias _PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUESA;
1081 -alias _PRINTER_ENUM_VALUESA* PPRINTER_ENUM_VALUESA;
1082 -alias _PRINTER_ENUM_VALUESA* LPPRINTER_ENUM_VALUESA;
1083 -
1084 -struct _PRINTER_ENUM_VALUESW {
1085 - LPWSTR pValueName;
1086 - DWORD cbValueName;
1087 - DWORD dwType;
1088 - LPBYTE pData;
1089 - DWORD cbData;
1090 -}
1091 -alias _PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUESW;
1092 -alias _PRINTER_ENUM_VALUESW* PPRINTER_ENUM_VALUESW;
1093 -alias _PRINTER_ENUM_VALUESW* LPPRINTER_ENUM_VALUESW;
1094 -
1095 -// #ifdef UNICODE
1096 -alias PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES;
1097 -alias PPRINTER_ENUM_VALUESW PPRINTER_ENUM_VALUES;
1098 -alias LPPRINTER_ENUM_VALUESW LPPRINTER_ENUM_VALUES;
1099 -// #else
1100 -// ...
1101 -// #endif // UNICODE
1102 -
1103 -extern(Windows) export BOOL EnumPrintersA(
1104 - DWORD Flags,
1105 - LPSTR Name,
1106 - DWORD Level,
1107 - LPBYTE pPrinterEnum,
1108 - DWORD cbBuf,
1109 - LPDWORD pcbNeeded,
1110 - LPDWORD pcReturned
1111 -);
1112 -extern(Windows) export BOOL EnumPrintersW(
1113 - DWORD Flags,
1114 - LPWSTR Name,
1115 - DWORD Level,
1116 - LPBYTE pPrinterEnum,
1117 - DWORD cbBuf,
1118 - LPDWORD pcbNeeded,
1119 - LPDWORD pcReturned
1120 -);
1121 -// #ifdef UNICODE
1122 -alias EnumPrintersW EnumPrinters;
1123 -// #else
1124 -// #...
1125 -// #endif // !UNICODE
1126 -
1127 -enum : uint { PRINTER_ENUM_DEFAULT = 0x00000001 }
1128 -enum : uint { PRINTER_ENUM_LOCAL = 0x00000002 }
1129 -enum : uint { PRINTER_ENUM_CONNECTIONS = 0x00000004 }
1130 -enum : uint { PRINTER_ENUM_FAVORITE = 0x00000004 }
1131 -enum : uint { PRINTER_ENUM_NAME = 0x00000008 }
1132 -enum : uint { PRINTER_ENUM_REMOTE = 0x00000010 }
1133 -enum : uint { PRINTER_ENUM_SHARED = 0x00000020 }
1134 -enum : uint { PRINTER_ENUM_NETWORK = 0x00000040 }
1135 -
1136 -enum : uint { PRINTER_ENUM_EXPAND = 0x00004000 }
1137 -enum : uint { PRINTER_ENUM_CONTAINER = 0x00008000 }
1138 -
1139 -enum : uint { PRINTER_ENUM_ICONMASK = 0x00ff0000 }
1140 -enum : uint { PRINTER_ENUM_ICON1 = 0x00010000 }
1141 -enum : uint { PRINTER_ENUM_ICON2 = 0x00020000 }
1142 -enum : uint { PRINTER_ENUM_ICON3 = 0x00040000 }
1143 -enum : uint { PRINTER_ENUM_ICON4 = 0x00080000 }
1144 -enum : uint { PRINTER_ENUM_ICON5 = 0x00100000 }
1145 -enum : uint { PRINTER_ENUM_ICON6 = 0x00200000 }
1146 -enum : uint { PRINTER_ENUM_ICON7 = 0x00400000 }
1147 -enum : uint { PRINTER_ENUM_ICON8 = 0x00800000 }
1148 -enum : uint { PRINTER_ENUM_HIDE = 0x01000000 }
1149 -
1150 -enum : uint { SPOOL_FILE_PERSISTENT = 0x00000001 }
1151 -enum : uint { SPOOL_FILE_TEMPORARY = 0x00000002 }
1152 -
1153 -extern(Windows) export BOOL OpenPrinterA(
1154 - LPSTR pPrinterName,
1155 - LPHANDLE phPrinter,
1156 - LPPRINTER_DEFAULTSA pDefault
1157 -);
1158 -extern(Windows) export BOOL OpenPrinterW(
1159 - LPWSTR pPrinterName,
1160 - LPHANDLE phPrinter,
1161 - LPPRINTER_DEFAULTSW pDefault
1162 -);
1163 -// #ifdef UNICODE
1164 -alias OpenPrinterW OpenPrinter;
1165 -// #else
1166 -// #...
1167 -// #endif // !UNICODE
1168 -
1169 -extern(Windows) export BOOL ResetPrinterA(
1170 - HANDLE hPrinter,
1171 - LPPRINTER_DEFAULTSA pDefault
1172 -);
1173 -extern(Windows) export BOOL ResetPrinterW(
1174 - HANDLE hPrinter,
1175 - LPPRINTER_DEFAULTSW pDefault
1176 -);
1177 -// #ifdef UNICODE
1178 -alias ResetPrinterW ResetPrinter;
1179 -// #else
1180 -// #...
1181 -// #endif // !UNICODE
1182 -
1183 -extern(Windows) export BOOL SetJobA(
1184 - HANDLE hPrinter,
1185 - DWORD JobId,
1186 - DWORD Level,
1187 - LPBYTE pJob,
1188 - DWORD Command
1189 -);
1190 -extern(Windows) export BOOL SetJobW(
1191 - HANDLE hPrinter,
1192 - DWORD JobId,
1193 - DWORD Level,
1194 - LPBYTE pJob,
1195 - DWORD Command
1196 -);
1197 -// #ifdef UNICODE
1198 -alias SetJobW SetJob;
1199 -// #else
1200 -// #...
1201 -// #endif // !UNICODE
1202 -
1203 -extern(Windows) export BOOL GetJobA(
1204 - HANDLE hPrinter,
1205 - DWORD JobId,
1206 - DWORD Level,
1207 - LPBYTE pJob,
1208 - DWORD cbBuf,
1209 - LPDWORD pcbNeeded
1210 -);
1211 -extern(Windows) export BOOL GetJobW(
1212 - HANDLE hPrinter,
1213 - DWORD JobId,
1214 - DWORD Level,
1215 - LPBYTE pJob,
1216 - DWORD cbBuf,
1217 - LPDWORD pcbNeeded
1218 -);
1219 -// #ifdef UNICODE
1220 -alias GetJobW GetJob;
1221 -// #else
1222 -// #...
1223 -// #endif // !UNICODE
1224 -
1225 -extern(Windows) export BOOL EnumJobsA(
1226 - HANDLE hPrinter,
1227 - DWORD FirstJob,
1228 - DWORD NoJobs,
1229 - DWORD Level,
1230 - LPBYTE pJob,
1231 - DWORD cbBuf,
1232 - LPDWORD pcbNeeded,
1233 - LPDWORD pcReturned
1234 -);
1235 -extern(Windows) export BOOL EnumJobsW(
1236 - HANDLE hPrinter,
1237 - DWORD FirstJob,
1238 - DWORD NoJobs,
1239 - DWORD Level,
1240 - LPBYTE pJob,
1241 - DWORD cbBuf,
1242 - LPDWORD pcbNeeded,
1243 - LPDWORD pcReturned
1244 -);
1245 -// #ifdef UNICODE
1246 -alias EnumJobsW EnumJobs;
1247 -// #else
1248 -// #...
1249 -// #endif // !UNICODE
1250 -
1251 -extern(Windows) export HANDLE AddPrinterA(
1252 - LPSTR pName,
1253 - DWORD Level,
1254 - LPBYTE pPrinter
1255 -);
1256 -extern(Windows) export HANDLE AddPrinterW(
1257 - LPWSTR pName,
1258 - DWORD Level,
1259 - LPBYTE pPrinter
1260 -);
1261 -// #ifdef UNICODE
1262 -alias AddPrinterW AddPrinter;
1263 -// #else
1264 -// #...
1265 -// #endif // !UNICODE
1266 -
1267 -extern(Windows) export BOOL DeletePrinter(
1268 - HANDLE hPrinter
1269 -);
1270 -
1271 -extern(Windows) export BOOL SetPrinterA(
1272 - HANDLE hPrinter,
1273 - DWORD Level,
1274 - LPBYTE pPrinter,
1275 - DWORD Command
1276 -);
1277 -extern(Windows) export BOOL SetPrinterW(
1278 - HANDLE hPrinter,
1279 - DWORD Level,
1280 - LPBYTE pPrinter,
1281 - DWORD Command
1282 -);
1283 -// #ifdef UNICODE
1284 -alias SetPrinterW SetPrinter;
1285 -// #else
1286 -// #...
1287 -// #endif // !UNICODE
1288 -
1289 -extern(Windows) export BOOL GetPrinterA(
1290 - HANDLE hPrinter,
1291 - DWORD Level,
1292 - LPBYTE pPrinter,
1293 - DWORD cbBuf,
1294 - LPDWORD pcbNeeded
1295 -);
1296 -extern(Windows) export BOOL GetPrinterW(
1297 - HANDLE hPrinter,
1298 - DWORD Level,
1299 - LPBYTE pPrinter,
1300 - DWORD cbBuf,
1301 - LPDWORD pcbNeeded
1302 -);
1303 -// #ifdef UNICODE
1304 -alias GetPrinterW GetPrinter;
1305 -// #else
1306 -// #...
1307 -// #endif // !UNICODE
1308 -
1309 -extern(Windows) export BOOL AddPrinterDriverA(
1310 - LPSTR pName,
1311 - DWORD Level,
1312 - LPBYTE pDriverInfo
1313 -);
1314 -extern(Windows) export BOOL AddPrinterDriverW(
1315 - LPWSTR pName,
1316 - DWORD Level,
1317 - LPBYTE pDriverInfo
1318 -);
1319 -// #ifdef UNICODE
1320 -alias AddPrinterDriverW AddPrinterDriver;
1321 -// #else
1322 -// #...
1323 -// #endif // !UNICODE
1324 -
1325 -extern(Windows) export BOOL AddPrinterDriverExA(
1326 - LPSTR pName,
1327 - DWORD Level,
1328 - LPBYTE pDriverInfo,
1329 - DWORD dwFileCopyFlags
1330 -);
1331 -extern(Windows) export BOOL AddPrinterDriverExW(
1332 - LPWSTR pName,
1333 - DWORD Level,
1334 - LPBYTE pDriverInfo,
1335 - DWORD dwFileCopyFlags
1336 -);
1337 -// #ifdef UNICODE
1338 -alias AddPrinterDriverExW AddPrinterDriverEx;
1339 -// #else
1340 -// #...
1341 -// #endif // !UNICODE
1342 -
1343 -extern(Windows) export BOOL EnumPrinterDriversA(
1344 - LPSTR pName,
1345 - LPSTR pEnvironment,
1346 - DWORD Level,
1347 - LPBYTE pDriverInfo,
1348 - DWORD cbBuf,
1349 - LPDWORD pcbNeeded,
1350 - LPDWORD pcReturned
1351 -);
1352 -extern(Windows) export BOOL EnumPrinterDriversW(
1353 - LPWSTR pName,
1354 - LPWSTR pEnvironment,
1355 - DWORD Level,
1356 - LPBYTE pDriverInfo,
1357 - DWORD cbBuf,
1358 - LPDWORD pcbNeeded,
1359 - LPDWORD pcReturned
1360 -);
1361 -// #ifdef UNICODE
1362 -alias EnumPrinterDriversW EnumPrinterDrivers;
1363 -// #else
1364 -// #...
1365 -// #endif // !UNICODE
1366 -
1367 -extern(Windows) export BOOL GetPrinterDriverA(
1368 - HANDLE hPrinter,
1369 - LPSTR pEnvironment,
1370 - DWORD Level,
1371 - LPBYTE pDriverInfo,
1372 - DWORD cbBuf,
1373 - LPDWORD pcbNeeded
1374 -);
1375 -extern(Windows) export BOOL GetPrinterDriverW(
1376 - HANDLE hPrinter,
1377 - LPWSTR pEnvironment,
1378 - DWORD Level,
1379 - LPBYTE pDriverInfo,
1380 - DWORD cbBuf,
1381 - LPDWORD pcbNeeded
1382 -);
1383 -// #ifdef UNICODE
1384 -alias GetPrinterDriverW GetPrinterDriver;
1385 -// #else
1386 -// #...
1387 -// #endif // !UNICODE
1388 -
1389 -extern(Windows) export BOOL GetPrinterDriverDirectoryA(
1390 - LPSTR pName,
1391 - LPSTR pEnvironment,
1392 - DWORD Level,
1393 - LPBYTE pDriverDirectory,
1394 - DWORD cbBuf,
1395 - LPDWORD pcbNeeded
1396 -);
1397 -extern(Windows) export BOOL GetPrinterDriverDirectoryW(
1398 - LPWSTR pName,
1399 - LPWSTR pEnvironment,
1400 - DWORD Level,
1401 - LPBYTE pDriverDirectory,
1402 - DWORD cbBuf,
1403 - LPDWORD pcbNeeded
1404 -);
1405 -// #ifdef UNICODE
1406 -alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory;
1407 -// #else
1408 -// #...
1409 -// #endif // !UNICODE
1410 -
1411 -extern(Windows) export BOOL DeletePrinterDriverA(
1412 - LPSTR pName,
1413 - LPSTR pEnvironment,
1414 - LPSTR pDriverName
1415 -);
1416 -extern(Windows) export BOOL DeletePrinterDriverW(
1417 - LPWSTR pName,
1418 - LPWSTR pEnvironment,
1419 - LPWSTR pDriverName
1420 -);
1421 -// #ifdef UNICODE
1422 -alias DeletePrinterDriverW DeletePrinterDriver;
1423 -// #else
1424 -// #...
1425 -// #endif // !UNICODE
1426 -
1427 -extern(Windows) export BOOL DeletePrinterDriverExA(
1428 - LPSTR pName,
1429 - LPSTR pEnvironment,
1430 - LPSTR pDriverName,
1431 - DWORD dwDeleteFlag,
1432 - DWORD dwVersionFlag
1433 -);
1434 -extern(Windows) export BOOL DeletePrinterDriverExW(
1435 - LPWSTR pName,
1436 - LPWSTR pEnvironment,
1437 - LPWSTR pDriverName,
1438 - DWORD dwDeleteFlag,
1439 - DWORD dwVersionFlag
1440 -);
1441 -// #ifdef UNICODE
1442 -alias DeletePrinterDriverExW DeletePrinterDriverEx;
1443 -// #else
1444 -// #...
1445 -// #endif // !UNICODE
1446 -
1447 -extern(Windows) export BOOL AddPrintProcessorA(
1448 - LPSTR pName,
1449 - LPSTR pEnvironment,
1450 - LPSTR pPathName,
1451 - LPSTR pPrintProcessorName
1452 -);
1453 -extern(Windows) export BOOL AddPrintProcessorW(
1454 - LPWSTR pName,
1455 - LPWSTR pEnvironment,
1456 - LPWSTR pPathName,
1457 - LPWSTR pPrintProcessorName
1458 -);
1459 -// #ifdef UNICODE
1460 -alias AddPrintProcessorW AddPrintProcessor;
1461 -// #else
1462 -// #...
1463 -// #endif // !UNICODE
1464 -
1465 -extern(Windows) export BOOL EnumPrintProcessorsA(
1466 - LPSTR pName,
1467 - LPSTR pEnvironment,
1468 - DWORD Level,
1469 - LPBYTE pPrintProcessorInfo,
1470 - DWORD cbBuf,
1471 - LPDWORD pcbNeeded,
1472 - LPDWORD pcReturned
1473 -);
1474 -extern(Windows) export BOOL EnumPrintProcessorsW(
1475 - LPWSTR pName,
1476 - LPWSTR pEnvironment,
1477 - DWORD Level,
1478 - LPBYTE pPrintProcessorInfo,
1479 - DWORD cbBuf,
1480 - LPDWORD pcbNeeded,
1481 - LPDWORD pcReturned
1482 -);
1483 -// #ifdef UNICODE
1484 -alias EnumPrintProcessorsW EnumPrintProcessors;
1485 -// #else
1486 -// #...
1487 -// #endif // !UNICODE
1488 -
1489 -extern(Windows) export BOOL GetPrintProcessorDirectoryA(
1490 - LPSTR pName,
1491 - LPSTR pEnvironment,
1492 - DWORD Level,
1493 - LPBYTE pPrintProcessorInfo,
1494 - DWORD cbBuf,
1495 - LPDWORD pcbNeeded
1496 -);
1497 -extern(Windows) export BOOL GetPrintProcessorDirectoryW(
1498 - LPWSTR pName,
1499 - LPWSTR pEnvironment,
1500 - DWORD Level,
1501 - LPBYTE pPrintProcessorInfo,
1502 - DWORD cbBuf,
1503 - LPDWORD pcbNeeded
1504 -);
1505 -// #ifdef UNICODE
1506 -alias GetPrintProcessorDirectoryW GetPrintProcessorDirectory;
1507 -// #else
1508 -// #...
1509 -// #endif // !UNICODE
1510 -
1511 -extern(Windows) export BOOL EnumPrintProcessorDatatypesA(
1512 - LPSTR pName,
1513 - LPSTR pPrintProcessorName,
1514 - DWORD Level,
1515 - LPBYTE pDatatypes,
1516 - DWORD cbBuf,
1517 - LPDWORD pcbNeeded,
1518 - LPDWORD pcReturned
1519 -);
1520 -extern(Windows) export BOOL EnumPrintProcessorDatatypesW(
1521 - LPWSTR pName,
1522 - LPWSTR pPrintProcessorName,
1523 - DWORD Level,
1524 - LPBYTE pDatatypes,
1525 - DWORD cbBuf,
1526 - LPDWORD pcbNeeded,
1527 - LPDWORD pcReturned
1528 -);
1529 -// #ifdef UNICODE
1530 -alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes;
1531 -// #else
1532 -// #...
1533 -// #endif // !UNICODE
1534 -
1535 -extern(Windows) export BOOL DeletePrintProcessorA(
1536 - LPSTR pName,
1537 - LPSTR pEnvironment,
1538 - LPSTR pPrintProcessorName
1539 -);
1540 -extern(Windows) export BOOL DeletePrintProcessorW(
1541 - LPWSTR pName,
1542 - LPWSTR pEnvironment,
1543 - LPWSTR pPrintProcessorName
1544 -);
1545 -// #ifdef UNICODE
1546 -alias DeletePrintProcessorW DeletePrintProcessor;
1547 -// #else
1548 -// #...
1549 -// #endif // !UNICODE
1550 -
1551 -extern(Windows) export DWORD StartDocPrinterA(
1552 - HANDLE hPrinter,
1553 - DWORD Level,
1554 - LPBYTE pDocInfo
1555 -);
1556 -extern(Windows) export DWORD StartDocPrinterW(
1557 - HANDLE hPrinter,
1558 - DWORD Level,
1559 - LPBYTE pDocInfo
1560 -);
1561 -// #ifdef UNICODE
1562 -alias StartDocPrinterW StartDocPrinter;
1563 -// #else
1564 -// #...
1565 -// #endif // !UNICODE
1566 -
1567 -extern(Windows) export BOOL StartPagePrinter(
1568 - HANDLE hPrinter
1569 -);
1570 -
1571 -extern(Windows) export BOOL WritePrinter(
1572 - HANDLE hPrinter,
1573 - LPVOID pBuf,
1574 - DWORD cbBuf,
1575 - LPDWORD pcWritten
1576 -);
1577 -
1578 -extern(Windows) export BOOL FlushPrinter(
1579 - HANDLE hPrinter,
1580 - LPVOID pBuf,
1581 - DWORD cbBuf,
1582 - LPDWORD pcWritten,
1583 - DWORD cSleep
1584 -);
1585 -
1586 -extern(Windows) export BOOL EndPagePrinter(
1587 - HANDLE hPrinter
1588 -);
1589 -
1590 -extern(Windows) export BOOL AbortPrinter(
1591 - HANDLE hPrinter
1592 -);
1593 -
1594 -extern(Windows) export BOOL ReadPrinter(
1595 - HANDLE hPrinter,
1596 - LPVOID pBuf,
1597 - DWORD cbBuf,
1598 - LPDWORD pNoBytesRead
1599 -);
1600 -
1601 -extern(Windows) export BOOL EndDocPrinter(
1602 - HANDLE hPrinter
1603 -);
1604 -
1605 -extern(Windows) export BOOL AddJobA(
1606 - HANDLE hPrinter,
1607 - DWORD Level,
1608 - LPBYTE pData,
1609 - DWORD cbBuf,
1610 - LPDWORD pcbNeeded
1611 -);
1612 -extern(Windows) export BOOL AddJobW(
1613 - HANDLE hPrinter,
1614 - DWORD Level,
1615 - LPBYTE pData,
1616 - DWORD cbBuf,
1617 - LPDWORD pcbNeeded
1618 -);
1619 -// #ifdef UNICODE
1620 -alias AddJobW AddJob;
1621 -// #else
1622 -// #...
1623 -// #endif // !UNICODE
1624 -
1625 -extern(Windows) export BOOL ScheduleJob(
1626 - HANDLE hPrinter,
1627 - DWORD JobId
1628 -);
1629 -
1630 -extern(Windows) export BOOL PrinterProperties(
1631 - HWND hWnd,
1632 - HANDLE hPrinter
1633 -);
1634 -
1635 -extern(Windows) export LONG DocumentPropertiesA(
1636 - HWND hWnd,
1637 - HANDLE hPrinter,
1638 - LPSTR pDeviceName,
1639 - PDEVMODEA pDevModeOutput,
1640 - PDEVMODEA pDevModeInput,
1641 - DWORD fMode
1642 -);
1643 -extern(Windows) export LONG DocumentPropertiesW(
1644 - HWND hWnd,
1645 - HANDLE hPrinter,
1646 - LPWSTR pDeviceName,
1647 - PDEVMODEW pDevModeOutput,
1648 - PDEVMODEW pDevModeInput,
1649 - DWORD fMode
1650 -);
1651 -// #ifdef UNICODE
1652 -alias DocumentPropertiesW DocumentProperties;
1653 -// #else
1654 -// #...
1655 -// #endif // !UNICODE
1656 -
1657 -extern(Windows) export LONG AdvancedDocumentPropertiesA(
1658 - HWND hWnd,
1659 - HANDLE hPrinter,
1660 - LPSTR pDeviceName,
1661 - PDEVMODEA pDevModeOutput,
1662 - PDEVMODEA pDevModeInput
1663 -);
1664 -extern(Windows) export LONG AdvancedDocumentPropertiesW(
1665 - HWND hWnd,
1666 - HANDLE hPrinter,
1667 - LPWSTR pDeviceName,
1668 - PDEVMODEW pDevModeOutput,
1669 - PDEVMODEW pDevModeInput
1670 -);
1671 -// #ifdef UNICODE
1672 -alias AdvancedDocumentPropertiesW AdvancedDocumentProperties;
1673 -// #else
1674 -// #...
1675 -// #endif // !UNICODE
1676 -
1677 -extern(Windows) export DWORD GetPrinterDataA(
1678 - HANDLE hPrinter,
1679 - LPSTR pValueName,
1680 - LPDWORD pType,
1681 - LPBYTE pData,
1682 - DWORD nSize,
1683 - LPDWORD pcbNeeded
1684 -);
1685 -extern(Windows) export DWORD GetPrinterDataW(
1686 - HANDLE hPrinter,
1687 - LPWSTR pValueName,
1688 - LPDWORD pType,
1689 - LPBYTE pData,
1690 - DWORD nSize,
1691 - LPDWORD pcbNeeded
1692 -);
1693 -// #ifdef UNICODE
1694 -alias GetPrinterDataW GetPrinterData;
1695 -// #else
1696 -// #...
1697 -// #endif // !UNICODE
1698 -
1699 -extern(Windows) export DWORD GetPrinterDataExA(
1700 - HANDLE hPrinter,
1701 - LPCSTR pKeyName,
1702 - LPCSTR pValueName,
1703 - LPDWORD pType,
1704 - LPBYTE pData,
1705 - DWORD nSize,
1706 - LPDWORD pcbNeeded
1707 -);
1708 -extern(Windows) export DWORD GetPrinterDataExW(
1709 - HANDLE hPrinter,
1710 - LPCWSTR pKeyName,
1711 - LPCWSTR pValueName,
1712 - LPDWORD pType,
1713 - LPBYTE pData,
1714 - DWORD nSize,
1715 - LPDWORD pcbNeeded
1716 -);
1717 -// #ifdef UNICODE
1718 -alias GetPrinterDataExW GetPrinterDataEx;
1719 -// #else
1720 -// #...
1721 -// #endif // !UNICODE
1722 -
1723 -extern(Windows) export DWORD EnumPrinterDataA(
1724 - HANDLE hPrinter,
1725 - DWORD dwIndex,
1726 - LPSTR pValueName,
1727 - DWORD cbValueName,
1728 - LPDWORD pcbValueName,
1729 - LPDWORD pType,
1730 - LPBYTE pData,
1731 - DWORD cbData,
1732 - LPDWORD pcbData
1733 -);
1734 -extern(Windows) export DWORD EnumPrinterDataW(
1735 - HANDLE hPrinter,
1736 - DWORD dwIndex,
1737 - LPWSTR pValueName,
1738 - DWORD cbValueName,
1739 - LPDWORD pcbValueName,
1740 - LPDWORD pType,
1741 - LPBYTE pData,
1742 - DWORD cbData,
1743 - LPDWORD pcbData
1744 -);
1745 -// #ifdef UNICODE
1746 -alias EnumPrinterDataW EnumPrinterData;
1747 -// #else
1748 -// #...
1749 -// #endif // !UNICODE
1750 -
1751 -extern(Windows) export DWORD EnumPrinterDataExA(
1752 - HANDLE hPrinter,
1753 - LPCSTR pKeyName,
1754 - LPBYTE pEnumValues,
1755 - DWORD cbEnumValues,
1756 - LPDWORD pcbEnumValues,
1757 - LPDWORD pnEnumValues
1758 -);
1759 -extern(Windows) export DWORD EnumPrinterDataExW(
1760 - HANDLE hPrinter,
1761 - LPCWSTR pKeyName,
1762 - LPBYTE pEnumValues,
1763 - DWORD cbEnumValues,
1764 - LPDWORD pcbEnumValues,
1765 - LPDWORD pnEnumValues
1766 -);
1767 -// #ifdef UNICODE
1768 -alias EnumPrinterDataExW EnumPrinterDataEx;
1769 -// #else
1770 -// #...
1771 -// #endif // !UNICODE
1772 -
1773 -extern(Windows) export DWORD EnumPrinterKeyA(
1774 - HANDLE hPrinter,
1775 - LPCSTR pKeyName,
1776 - LPSTR pSubkey,
1777 - DWORD cbSubkey,
1778 - LPDWORD pcbSubkey
1779 -);
1780 -extern(Windows) export DWORD EnumPrinterKeyW(
1781 - HANDLE hPrinter,
1782 - LPCWSTR pKeyName,
1783 - LPWSTR pSubkey,
1784 - DWORD cbSubkey,
1785 - LPDWORD pcbSubkey
1786 -);
1787 -// #ifdef UNICODE
1788 -alias EnumPrinterKeyW EnumPrinterKey;
1789 -// #else
1790 -// #...
1791 -// #endif // !UNICODE
1792 -
1793 -extern(Windows) export DWORD SetPrinterDataA(
1794 - HANDLE hPrinter,
1795 - LPSTR pValueName,
1796 - DWORD Type,
1797 - LPBYTE pData,
1798 - DWORD cbData
1799 -);
1800 -extern(Windows) export DWORD SetPrinterDataW(
1801 - HANDLE hPrinter,
1802 - LPWSTR pValueName,
1803 - DWORD Type,
1804 - LPBYTE pData,
1805 - DWORD cbData
1806 -);
1807 -// #ifdef UNICODE
1808 -alias SetPrinterDataW SetPrinterData;
1809 -// #else
1810 -// #...
1811 -// #endif // !UNICODE
1812 -
1813 -extern(Windows) export DWORD SetPrinterDataExA(
1814 - HANDLE hPrinter,
1815 - LPCSTR pKeyName,
1816 - LPCSTR pValueName,
1817 - DWORD Type,
1818 - LPBYTE pData,
1819 - DWORD cbData
1820 -);
1821 -extern(Windows) export DWORD SetPrinterDataExW(
1822 - HANDLE hPrinter,
1823 - LPCWSTR pKeyName,
1824 - LPCWSTR pValueName,
1825 - DWORD Type,
1826 - LPBYTE pData,
1827 - DWORD cbData
1828 -);
1829 -// #ifdef UNICODE
1830 -alias SetPrinterDataExW SetPrinterDataEx;
1831 -// #else
1832 -// #...
1833 -// #endif // !UNICODE
1834 -
1835 -extern(Windows) export DWORD DeletePrinterDataA(
1836 - HANDLE hPrinter,
1837 - LPSTR pValueName
1838 -);
1839 -extern(Windows) export DWORD DeletePrinterDataW(
1840 - HANDLE hPrinter,
1841 - LPWSTR pValueName
1842 -);
1843 -// #ifdef UNICODE
1844 -alias DeletePrinterDataW DeletePrinterData;
1845 -// #else
1846 -// #...
1847 -// #endif // !UNICODE
1848 -
1849 -extern(Windows) export DWORD DeletePrinterDataExA(
1850 - HANDLE hPrinter,
1851 - LPCSTR pKeyName,
1852 - LPCSTR pValueName
1853 -);
1854 -extern(Windows) export DWORD DeletePrinterDataExW(
1855 - HANDLE hPrinter,
1856 - LPCWSTR pKeyName,
1857 - LPCWSTR pValueName
1858 -);
1859 -// #ifdef UNICODE
1860 -alias DeletePrinterDataExW DeletePrinterDataEx;
1861 -// #else
1862 -// #...
1863 -// #endif // !UNICODE
1864 -
1865 -extern(Windows) export DWORD DeletePrinterKeyA(
1866 - HANDLE hPrinter,
1867 - LPCSTR pKeyName
1868 -);
1869 -extern(Windows) export DWORD DeletePrinterKeyW(
1870 - HANDLE hPrinter,
1871 - LPCWSTR pKeyName
1872 -);
1873 -// #ifdef UNICODE
1874 -alias DeletePrinterKeyW DeletePrinterKey;
1875 -// #else
1876 -// #...
1877 -// #endif // !UNICODE
1878 -
1879 -enum : uint { PRINTER_NOTIFY_TYPE = 0x00 }
1880 -enum : uint { JOB_NOTIFY_TYPE = 0x01 }
1881 -
1882 -enum : uint { PRINTER_NOTIFY_FIELD_SERVER_NAME = 0x00 }
1883 -enum : uint { PRINTER_NOTIFY_FIELD_PRINTER_NAME = 0x01 }
1884 -enum : uint { PRINTER_NOTIFY_FIELD_SHARE_NAME = 0x02 }
1885 -enum : uint { PRINTER_NOTIFY_FIELD_PORT_NAME = 0x03 }
1886 -enum : uint { PRINTER_NOTIFY_FIELD_DRIVER_NAME = 0x04 }
1887 -enum : uint { PRINTER_NOTIFY_FIELD_COMMENT = 0x05 }
1888 -enum : uint { PRINTER_NOTIFY_FIELD_LOCATION = 0x06 }
1889 -enum : uint { PRINTER_NOTIFY_FIELD_DEVMODE = 0x07 }
1890 -enum : uint { PRINTER_NOTIFY_FIELD_SEPFILE = 0x08 }
1891 -enum : uint { PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = 0x09 }
1892 -enum : uint { PRINTER_NOTIFY_FIELD_PARAMETERS = 0x0A }
1893 -enum : uint { PRINTER_NOTIFY_FIELD_DATATYPE = 0x0B }
1894 -enum : uint { PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C }
1895 -enum : uint { PRINTER_NOTIFY_FIELD_ATTRIBUTES = 0x0D }
1896 -enum : uint { PRINTER_NOTIFY_FIELD_PRIORITY = 0x0E }
1897 -enum : uint { PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = 0x0F }
1898 -enum : uint { PRINTER_NOTIFY_FIELD_START_TIME = 0x10 }
1899 -enum : uint { PRINTER_NOTIFY_FIELD_UNTIL_TIME = 0x11 }
1900 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS = 0x12 }
1901 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS_STRING = 0x13 }
1902 -enum : uint { PRINTER_NOTIFY_FIELD_CJOBS = 0x14 }
1903 -enum : uint { PRINTER_NOTIFY_FIELD_AVERAGE_PPM = 0x15 }
1904 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_PAGES = 0x16 }
1905 -enum : uint { PRINTER_NOTIFY_FIELD_PAGES_PRINTED = 0x17 }
1906 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_BYTES = 0x18 }
1907 -enum : uint { PRINTER_NOTIFY_FIELD_BYTES_PRINTED = 0x19 }
1908 -enum : uint { PRINTER_NOTIFY_FIELD_OBJECT_GUID = 0x1A }
1909 -
1910 -enum : uint { JOB_NOTIFY_FIELD_PRINTER_NAME = 0x00 }
1911 -enum : uint { JOB_NOTIFY_FIELD_MACHINE_NAME = 0x01 }
1912 -enum : uint { JOB_NOTIFY_FIELD_PORT_NAME = 0x02 }
1913 -enum : uint { JOB_NOTIFY_FIELD_USER_NAME = 0x03 }
1914 -enum : uint { JOB_NOTIFY_FIELD_NOTIFY_NAME = 0x04 }
1915 -enum : uint { JOB_NOTIFY_FIELD_DATATYPE = 0x05 }
1916 -enum : uint { JOB_NOTIFY_FIELD_PRINT_PROCESSOR = 0x06 }
1917 -enum : uint { JOB_NOTIFY_FIELD_PARAMETERS = 0x07 }
1918 -enum : uint { JOB_NOTIFY_FIELD_DRIVER_NAME = 0x08 }
1919 -enum : uint { JOB_NOTIFY_FIELD_DEVMODE = 0x09 }
1920 -enum : uint { JOB_NOTIFY_FIELD_STATUS = 0x0A }
1921 -enum : uint { JOB_NOTIFY_FIELD_STATUS_STRING = 0x0B }
1922 -enum : uint { JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C }
1923 -enum : uint { JOB_NOTIFY_FIELD_DOCUMENT = 0x0D }
1924 -enum : uint { JOB_NOTIFY_FIELD_PRIORITY = 0x0E }
1925 -enum : uint { JOB_NOTIFY_FIELD_POSITION = 0x0F }
1926 -enum : uint { JOB_NOTIFY_FIELD_SUBMITTED = 0x10 }
1927 -enum : uint { JOB_NOTIFY_FIELD_START_TIME = 0x11 }
1928 -enum : uint { JOB_NOTIFY_FIELD_UNTIL_TIME = 0x12 }
1929 -enum : uint { JOB_NOTIFY_FIELD_TIME = 0x13 }
1930 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_PAGES = 0x14 }
1931 -enum : uint { JOB_NOTIFY_FIELD_PAGES_PRINTED = 0x15 }
1932 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_BYTES = 0x16 }
1933 -enum : uint { JOB_NOTIFY_FIELD_BYTES_PRINTED = 0x17 }
1934 -
1935 -struct _PRINTER_NOTIFY_OPTIONS_TYPE {
1936 - WORD Type;
1937 - WORD Reserved0;
1938 - DWORD Reserved1;
1939 - DWORD Reserved2;
1940 - DWORD Count;
1941 - PWORD pFields;
1942 -}
1943 -alias _PRINTER_NOTIFY_OPTIONS_TYPE PRINTER_NOTIFY_OPTIONS_TYPE;
1944 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE;
1945 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* LPPRINTER_NOTIFY_OPTIONS_TYPE;
1946 -
1947 -enum : uint { PRINTER_NOTIFY_OPTIONS_REFRESH = 0x01 }
1948 -
1949 -struct _PRINTER_NOTIFY_OPTIONS {
1950 - DWORD Version;
1951 - DWORD Flags;
1952 - DWORD Count;
1953 - PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
1954 -}
1955 -alias _PRINTER_NOTIFY_OPTIONS PRINTER_NOTIFY_OPTIONS;
1956 -alias _PRINTER_NOTIFY_OPTIONS* PPRINTER_NOTIFY_OPTIONS;
1957 -alias _PRINTER_NOTIFY_OPTIONS* LPPRINTER_NOTIFY_OPTIONS;
1958 -
1959 -enum : uint { PRINTER_NOTIFY_INFO_DISCARDED = 0x01 }
1960 -
1961 -struct _PRINTER_NOTIFY_INFO_DATA {
1962 - WORD Type;
1963 - WORD Field;
1964 - DWORD Reserved;
1965 - DWORD Id;
1966 -union {
1967 - DWORD adwData[2];
1968 -struct {
1969 - DWORD cbBuf;
1970 - LPVOID pBuf;
1971 -}
1972 -
1973 -}
1974 -
1975 -}
1976 -alias _PRINTER_NOTIFY_INFO_DATA PRINTER_NOTIFY_INFO_DATA;
1977 -alias _PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA;
1978 -alias _PRINTER_NOTIFY_INFO_DATA* LPPRINTER_NOTIFY_INFO_DATA;
1979 -
1980 -struct _PRINTER_NOTIFY_INFO {
1981 - DWORD Version;
1982 - DWORD Flags;
1983 - DWORD Count;
1984 - PRINTER_NOTIFY_INFO_DATA aData[1];
1985 -}
1986 -alias _PRINTER_NOTIFY_INFO PRINTER_NOTIFY_INFO;
1987 -alias _PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO;
1988 -alias _PRINTER_NOTIFY_INFO* LPPRINTER_NOTIFY_INFO;
1989 -
1990 -struct _BINARY_CONTAINER {
1991 - DWORD cbBuf;
1992 - LPBYTE pData;
1993 -}
1994 -alias _BINARY_CONTAINER BINARY_CONTAINER;
1995 -alias _BINARY_CONTAINER* PBINARY_CONTAINER;
1996 -
1997 -struct _BIDI_DATA {
1998 - DWORD dwBidiType;
1999 -union {
2000 - BOOL bData;
2001 - LONG iData;
2002 - LPWSTR sData;
2003 - FLOAT fData;
2004 - BINARY_CONTAINER biData;
2005 -}
2006 -
2007 -}
2008 -alias _BIDI_DATA BIDI_DATA;
2009 -alias _BIDI_DATA* PBIDI_DATA;
2010 -alias _BIDI_DATA* LPBIDI_DATA;
2011 -
2012 -struct _BIDI_REQUEST_DATA {
2013 - DWORD dwReqNumber;
2014 - LPWSTR pSchema;
2015 - BIDI_DATA data;
2016 -}
2017 -alias _BIDI_REQUEST_DATA BIDI_REQUEST_DATA;
2018 -alias _BIDI_REQUEST_DATA* PBIDI_REQUEST_DATA;
2019 -alias _BIDI_REQUEST_DATA* LPBIDI_REQUEST_DATA;
2020 -
2021 -struct _BIDI_REQUEST_CONTAINER {
2022 - DWORD Version;
2023 - DWORD Flags;
2024 - DWORD Count;
2025 - BIDI_REQUEST_DATA aData[ 1 ];
2026 -}
2027 -alias _BIDI_REQUEST_CONTAINER BIDI_REQUEST_CONTAINER;
2028 -alias _BIDI_REQUEST_CONTAINER* PBIDI_REQUEST_CONTAINER;
2029 -alias _BIDI_REQUEST_CONTAINER* LPBIDI_REQUEST_CONTAINER;
2030 -
2031 -struct _BIDI_RESPONSE_DATA {
2032 - DWORD dwResult;
2033 - DWORD dwReqNumber;
2034 - LPWSTR pSchema;
2035 - BIDI_DATA data;
2036 -}
2037 -alias _BIDI_RESPONSE_DATA BIDI_RESPONSE_DATA;
2038 -alias _BIDI_RESPONSE_DATA* PBIDI_RESPONSE_DATA;
2039 -alias _BIDI_RESPONSE_DATA* LPBIDI_RESPONSE_DATA;
2040 -
2041 -struct _BIDI_RESPONSE_CONTAINER {
2042 - DWORD Version;
2043 - DWORD Flags;
2044 - DWORD Count;
2045 - BIDI_RESPONSE_DATA aData[ 1 ];
2046 -}
2047 -alias _BIDI_RESPONSE_CONTAINER BIDI_RESPONSE_CONTAINER;
2048 -alias _BIDI_RESPONSE_CONTAINER* PBIDI_RESPONSE_CONTAINER;
2049 -alias _BIDI_RESPONSE_CONTAINER* LPBIDI_RESPONSE_CONTAINER;
2050 -
2051 -const wchar[] BIDI_ACTION_ENUM_SCHEMA = "EnumSchema";
2052 -const wchar[] BIDI_ACTION_GET = "Get";
2053 -const wchar[] BIDI_ACTION_SET = "Set";
2054 -const wchar[] BIDI_ACTION_GET_ALL = "GetAll";
2055 -
2056 -enum _0 {
2057 - BIDI_NULL = 0,
2058 - BIDI_INT = 1,
2059 - BIDI_FLOAT = 2,
2060 - BIDI_BOOL = 3,
2061 - BIDI_STRING = 4,
2062 - BIDI_TEXT = 5,
2063 - BIDI_ENUM = 6,
2064 - BIDI_BLOB = 7,
2065 -}
2066 -alias _0 BIDI_TYPE;
2067 -
2068 -enum : uint { BIDI_ACCESS_ADMINISTRATOR = 0x1 }
2069 -enum : uint { BIDI_ACCESS_USER = 0x2 }
2070 -
2071 -enum : uint { ERROR_BIDI_STATUS_OK = 0 }
2072 -alias ERROR_NOT_SUPPORTED ERROR_BIDI_NOT_SUPPORTED;
2073 -
2074 -enum : uint { ERROR_BIDI_ERROR_BASE = 13000 }
2075 -const uint ERROR_BIDI_STATUS_WARNING = ERROR_BIDI_ERROR_BASE + 1;
2076 -const uint ERROR_BIDI_SCHEMA_READ_ONLY = ERROR_BIDI_ERROR_BASE + 2;
2077 -const uint ERROR_BIDI_SERVER_OFFLINE = ERROR_BIDI_ERROR_BASE + 3;
2078 -const uint ERROR_BIDI_DEVICE_OFFLINE = ERROR_BIDI_ERROR_BASE + 4;
2079 -const uint ERROR_BIDI_SCHEMA_NOT_SUPPORTED = ERROR_BIDI_ERROR_BASE + 5;
2080 -
2081 -extern(Windows) export DWORD WaitForPrinterChange(
2082 - HANDLE hPrinter,
2083 - DWORD Flags
2084 -);
2085 -
2086 -extern(Windows) export HANDLE FindFirstPrinterChangeNotification(
2087 - HANDLE hPrinter,
2088 - DWORD fdwFlags,
2089 - DWORD fdwOptions,
2090 - LPVOID pPrinterNotifyOptions
2091 -);
2092 -
2093 -extern(Windows) export BOOL FindNextPrinterChangeNotification(
2094 - HANDLE hChange,
2095 - PDWORD pdwChange,
2096 - LPVOID pvReserved,
2097 - LPVOID *ppPrinterNotifyInfo
2098 -);
2099 -
2100 -extern(Windows) export BOOL FreePrinterNotifyInfo(
2101 - PPRINTER_NOTIFY_INFO pPrinterNotifyInfo
2102 -);
2103 -
2104 -extern(Windows) export BOOL FindClosePrinterChangeNotification(
2105 - HANDLE hChange
2106 -);
2107 -
2108 -enum : uint { PRINTER_CHANGE_ADD_PRINTER = 0x00000001 }
2109 -enum : uint { PRINTER_CHANGE_SET_PRINTER = 0x00000002 }
2110 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER = 0x00000004 }
2111 -enum : uint { PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = 0x00000008 }
2112 -enum : uint { PRINTER_CHANGE_PRINTER = 0x000000FF }
2113 -enum : uint { PRINTER_CHANGE_ADD_JOB = 0x00000100 }
2114 -enum : uint { PRINTER_CHANGE_SET_JOB = 0x00000200 }
2115 -enum : uint { PRINTER_CHANGE_DELETE_JOB = 0x00000400 }
2116 -enum : uint { PRINTER_CHANGE_WRITE_JOB = 0x00000800 }
2117 -enum : uint { PRINTER_CHANGE_JOB = 0x0000FF00 }
2118 -enum : uint { PRINTER_CHANGE_ADD_FORM = 0x00010000 }
2119 -enum : uint { PRINTER_CHANGE_SET_FORM = 0x00020000 }
2120 -enum : uint { PRINTER_CHANGE_DELETE_FORM = 0x00040000 }
2121 -enum : uint { PRINTER_CHANGE_FORM = 0x00070000 }
2122 -enum : uint { PRINTER_CHANGE_ADD_PORT = 0x00100000 }
2123 -enum : uint { PRINTER_CHANGE_CONFIGURE_PORT = 0x00200000 }
2124 -enum : uint { PRINTER_CHANGE_DELETE_PORT = 0x00400000 }
2125 -enum : uint { PRINTER_CHANGE_PORT = 0x00700000 }
2126 -enum : uint { PRINTER_CHANGE_ADD_PRINT_PROCESSOR = 0x01000000 }
2127 -enum : uint { PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = 0x04000000 }
2128 -enum : uint { PRINTER_CHANGE_PRINT_PROCESSOR = 0x07000000 }
2129 -enum : uint { PRINTER_CHANGE_ADD_PRINTER_DRIVER = 0x10000000 }
2130 -enum : uint { PRINTER_CHANGE_SET_PRINTER_DRIVER = 0x20000000 }
2131 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER_DRIVER = 0x40000000 }
2132 -enum : uint { PRINTER_CHANGE_PRINTER_DRIVER = 0x70000000 }
2133 -enum : uint { PRINTER_CHANGE_TIMEOUT = 0x80000000 }
2134 -enum : uint { PRINTER_CHANGE_ALL = 0x7777FFFF }
2135 -
2136 -extern(Windows) export DWORD PrinterMessageBoxA(
2137 - HANDLE hPrinter,
2138 - DWORD Error,
2139 - HWND hWnd,
2140 - LPSTR pText,
2141 - LPSTR pCaption,
2142 - DWORD dwType
2143 -);
2144 -extern(Windows) export DWORD PrinterMessageBoxW(
2145 - HANDLE hPrinter,
2146 - DWORD Error,
2147 - HWND hWnd,
2148 - LPWSTR pText,
2149 - LPWSTR pCaption,
2150 - DWORD dwType
2151 -);
2152 -// #ifdef UNICODE
2153 -alias PrinterMessageBoxW PrinterMessageBox;
2154 -// #else
2155 -// #...
2156 -// #endif // !UNICODE
2157 -
2158 -enum : uint { PRINTER_ERROR_INFORMATION = 0x80000000 }
2159 -enum : uint { PRINTER_ERROR_WARNING = 0x40000000 }
2160 -enum : uint { PRINTER_ERROR_SEVERE = 0x20000000 }
2161 -
2162 -enum : uint { PRINTER_ERROR_OUTOFPAPER = 0x00000001 }
2163 -enum : uint { PRINTER_ERROR_JAM = 0x00000002 }
2164 -enum : uint { PRINTER_ERROR_OUTOFTONER = 0x00000004 }
2165 -
2166 -extern(Windows) export BOOL ClosePrinter(
2167 - HANDLE hPrinter
2168 -);
2169 -
2170 -extern(Windows) export BOOL AddFormA(
2171 - HANDLE hPrinter,
2172 - DWORD Level,
2173 - LPBYTE pForm
2174 -);
2175 -extern(Windows) export BOOL AddFormW(
2176 - HANDLE hPrinter,
2177 - DWORD Level,
2178 - LPBYTE pForm
2179 -);
2180 -// #ifdef UNICODE
2181 -alias AddFormW AddForm;
2182 -// #else
2183 -// #...
2184 -// #endif // !UNICODE
2185 -
2186 -extern(Windows) export BOOL DeleteFormA(
2187 - HANDLE hPrinter,
2188 - LPSTR pFormName
2189 -);
2190 -extern(Windows) export BOOL DeleteFormW(
2191 - HANDLE hPrinter,
2192 - LPWSTR pFormName
2193 -);
2194 -// #ifdef UNICODE
2195 -alias DeleteFormW DeleteForm;
2196 -// #else
2197 -// #...
2198 -// #endif // !UNICODE
2199 -
2200 -extern(Windows) export BOOL GetFormA(
2201 - HANDLE hPrinter,
2202 - LPSTR pFormName,
2203 - DWORD Level,
2204 - LPBYTE pForm,
2205 - DWORD cbBuf,
2206 - LPDWORD pcbNeeded
2207 -);
2208 -extern(Windows) export BOOL GetFormW(
2209 - HANDLE hPrinter,
2210 - LPWSTR pFormName,
2211 - DWORD Level,
2212 - LPBYTE pForm,
2213 - DWORD cbBuf,
2214 - LPDWORD pcbNeeded
2215 -);
2216 -// #ifdef UNICODE
2217 -alias GetFormW GetForm;
2218 -// #else
2219 -// #...
2220 -// #endif // !UNICODE
2221 -
2222 -extern(Windows) export BOOL SetFormA(
2223 - HANDLE hPrinter,
2224 - LPSTR pFormName,
2225 - DWORD Level,
2226 - LPBYTE pForm
2227 -);
2228 -extern(Windows) export BOOL SetFormW(
2229 - HANDLE hPrinter,
2230 - LPWSTR pFormName,
2231 - DWORD Level,
2232 - LPBYTE pForm
2233 -);
2234 -// #ifdef UNICODE
2235 -alias SetFormW SetForm;
2236 -// #else
2237 -// #...
2238 -// #endif // !UNICODE
2239 -
2240 -extern(Windows) export BOOL EnumFormsA(
2241 - HANDLE hPrinter,
2242 - DWORD Level,
2243 - LPBYTE pForm,
2244 - DWORD cbBuf,
2245 - LPDWORD pcbNeeded,
2246 - LPDWORD pcReturned
2247 -);
2248 -extern(Windows) export BOOL EnumFormsW(
2249 - HANDLE hPrinter,
2250 - DWORD Level,
2251 - LPBYTE pForm,
2252 - DWORD cbBuf,
2253 - LPDWORD pcbNeeded,
2254 - LPDWORD pcReturned
2255 -);
2256 -// #ifdef UNICODE
2257 -alias EnumFormsW EnumForms;
2258 -// #else
2259 -// #...
2260 -// #endif // !UNICODE
2261 -
2262 -extern(Windows) export BOOL EnumMonitorsA(
2263 - LPSTR pName,
2264 - DWORD Level,
2265 - LPBYTE pMonitors,
2266 - DWORD cbBuf,
2267 - LPDWORD pcbNeeded,
2268 - LPDWORD pcReturned
2269 -);
2270 -extern(Windows) export BOOL EnumMonitorsW(
2271 - LPWSTR pName,
2272 - DWORD Level,
2273 - LPBYTE pMonitors,
2274 - DWORD cbBuf,
2275 - LPDWORD pcbNeeded,
2276 - LPDWORD pcReturned
2277 -);
2278 -// #ifdef UNICODE
2279 -alias EnumMonitorsW EnumMonitors;
2280 -// #else
2281 -// #...
2282 -// #endif // !UNICODE
2283 -
2284 -extern(Windows) export BOOL AddMonitorA(
2285 - LPSTR pName,
2286 - DWORD Level,
2287 - LPBYTE pMonitors
2288 -);
2289 -extern(Windows) export BOOL AddMonitorW(
2290 - LPWSTR pName,
2291 - DWORD Level,
2292 - LPBYTE pMonitors
2293 -);
2294 -// #ifdef UNICODE
2295 -alias AddMonitorW AddMonitor;
2296 -// #else
2297 -// #...
2298 -// #endif // !UNICODE
2299 -
2300 -extern(Windows) export BOOL DeleteMonitorA(
2301 - LPSTR pName,
2302 - LPSTR pEnvironment,
2303 - LPSTR pMonitorName
2304 -);
2305 -extern(Windows) export BOOL DeleteMonitorW(
2306 - LPWSTR pName,
2307 - LPWSTR pEnvironment,
2308 - LPWSTR pMonitorName
2309 -);
2310 -// #ifdef UNICODE
2311 -alias DeleteMonitorW DeleteMonitor;
2312 -// #else
2313 -// #...
2314 -// #endif // !UNICODE
2315 -
2316 -extern(Windows) export BOOL EnumPortsA(
2317 - LPSTR pName,
2318 - DWORD Level,
2319 - LPBYTE pPorts,
2320 - DWORD cbBuf,
2321 - LPDWORD pcbNeeded,
2322 - LPDWORD pcReturned
2323 -);
2324 -extern(Windows) export BOOL EnumPortsW(
2325 - LPWSTR pName,
2326 - DWORD Level,
2327 - LPBYTE pPorts,
2328 - DWORD cbBuf,
2329 - LPDWORD pcbNeeded,
2330 - LPDWORD pcReturned
2331 -);
2332 -// #ifdef UNICODE
2333 -alias EnumPortsW EnumPorts;
2334 -// #else
2335 -// #...
2336 -// #endif // !UNICODE
2337 -
2338 -extern(Windows) export BOOL AddPortA(
2339 - LPSTR pName,
2340 - HWND hWnd,
2341 - LPSTR pMonitorName
2342 -);
2343 -extern(Windows) export BOOL AddPortW(
2344 - LPWSTR pName,
2345 - HWND hWnd,
2346 - LPWSTR pMonitorName
2347 -);
2348 -// #ifdef UNICODE
2349 -alias AddPortW AddPort;
2350 -// #else
2351 -// #...
2352 -// #endif // !UNICODE
2353 -
2354 -extern(Windows) export BOOL ConfigurePortA(
2355 - LPSTR pName,
2356 - HWND hWnd,
2357 - LPSTR pPortName
2358 -);
2359 -extern(Windows) export BOOL ConfigurePortW(
2360 - LPWSTR pName,
2361 - HWND hWnd,
2362 - LPWSTR pPortName
2363 -);
2364 -// #ifdef UNICODE
2365 -alias ConfigurePortW ConfigurePort;
2366 -// #else
2367 -// #...
2368 -// #endif // !UNICODE
2369 -
2370 -extern(Windows) export BOOL DeletePortA(
2371 - LPSTR pName,
2372 - HWND hWnd,
2373 - LPSTR pPortName
2374 -);
2375 -extern(Windows) export BOOL DeletePortW(
2376 - LPWSTR pName,
2377 - HWND hWnd,
2378 - LPWSTR pPortName
2379 -);
2380 -// #ifdef UNICODE
2381 -alias DeletePortW DeletePort;
2382 -// #else
2383 -// #...
2384 -// #endif // !UNICODE
2385 -
2386 -extern(Windows) export BOOL XcvDataW(
2387 - HANDLE hXcv,
2388 - PCWSTR pszDataName,
2389 - PBYTE pInputData,
2390 - DWORD cbInputData,
2391 - PBYTE pOutputData,
2392 - DWORD cbOutputData,
2393 - PDWORD pcbOutputNeeded,
2394 - PDWORD pdwStatus
2395 -);
2396 -alias XcvDataW XcvData;
2397 -
2398 -extern(Windows) export BOOL GetDefaultPrinterA(
2399 - LPSTR pszBuffer,
2400 - LPDWORD pcchBuffer
2401 - );
2402 -extern(Windows) export BOOL GetDefaultPrinterW(
2403 - LPWSTR pszBuffer,
2404 - LPDWORD pcchBuffer
2405 - );
2406 -// #ifdef UNICODE
2407 -alias GetDefaultPrinterW GetDefaultPrinter;
2408 -// #else
2409 -// #...
2410 -// #endif // !UNICODE
2411 -
2412 -extern(Windows) export BOOL SetDefaultPrinterA(
2413 - LPCSTR pszPrinter
2414 - );
2415 -extern(Windows) export BOOL SetDefaultPrinterW(
2416 - LPCWSTR pszPrinter
2417 - );
2418 -// #ifdef UNICODE
2419 -alias SetDefaultPrinterW SetDefaultPrinter;
2420 -// #else
2421 -// #...
2422 -// #endif // !UNICODE
2423 -
2424 -extern(Windows) export BOOL SetPortA(
2425 - LPSTR pName,
2426 - LPSTR pPortName,
2427 - DWORD dwLevel,
2428 - LPBYTE pPortInfo
2429 -);
2430 -extern(Windows) export BOOL SetPortW(
2431 - LPWSTR pName,
2432 - LPWSTR pPortName,
2433 - DWORD dwLevel,
2434 - LPBYTE pPortInfo
2435 -);
2436 -// #ifdef UNICODE
2437 -alias SetPortW SetPort;
2438 -// #else
2439 -// #...
2440 -// #endif // !UNICODE
2441 -
2442 -extern(Windows) export BOOL AddPrinterConnectionA(
2443 - LPSTR pName
2444 -);
2445 -extern(Windows) export BOOL AddPrinterConnectionW(
2446 - LPWSTR pName
2447 -);
2448 -// #ifdef UNICODE
2449 -alias AddPrinterConnectionW AddPrinterConnection;
2450 -// #else
2451 -// #...
2452 -// #endif // !UNICODE
2453 -
2454 -extern(Windows) export BOOL DeletePrinterConnectionA(
2455 - LPSTR pName
2456 -);
2457 -extern(Windows) export BOOL DeletePrinterConnectionW(
2458 - LPWSTR pName
2459 -);
2460 -// #ifdef UNICODE
2461 -alias DeletePrinterConnectionW DeletePrinterConnection;
2462 -// #else
2463 -// #...
2464 -// #endif // !UNICODE
2465 -
2466 -extern(Windows) export HANDLE ConnectToPrinterDlg(
2467 - HWND hwnd,
2468 - DWORD Flags
2469 -);
2470 -
2471 -struct _PROVIDOR_INFO_1A {
2472 - LPSTR pName;
2473 - LPSTR pEnvironment;
2474 - LPSTR pDLLName;
2475 -}
2476 -alias _PROVIDOR_INFO_1A PROVIDOR_INFO_1A;
2477 -alias _PROVIDOR_INFO_1A* PPROVIDOR_INFO_1A;
2478 -alias _PROVIDOR_INFO_1A* LPPROVIDOR_INFO_1A;
2479 -
2480 -struct _PROVIDOR_INFO_1W {
2481 - LPWSTR pName;
2482 - LPWSTR pEnvironment;
2483 - LPWSTR pDLLName;
2484 -}
2485 -alias _PROVIDOR_INFO_1W PROVIDOR_INFO_1W;
2486 -alias _PROVIDOR_INFO_1W* PPROVIDOR_INFO_1W;
2487 -alias _PROVIDOR_INFO_1W* LPPROVIDOR_INFO_1W;
2488 -
2489 -// #ifdef UNICODE
2490 -alias PROVIDOR_INFO_1W PROVIDOR_INFO_1;
2491 -alias PPROVIDOR_INFO_1W PPROVIDOR_INFO_1;
2492 -alias LPPROVIDOR_INFO_1W LPPROVIDOR_INFO_1;
2493 -// #else
2494 -// ...
2495 -// #endif // UNICODE
2496 -
2497 -struct _PROVIDOR_INFO_2A {
2498 - LPSTR pOrder;
2499 -}
2500 -alias _PROVIDOR_INFO_2A PROVIDOR_INFO_2A;
2501 -alias _PROVIDOR_INFO_2A* PPROVIDOR_INFO_2A;
2502 -alias _PROVIDOR_INFO_2A* LPPROVIDOR_INFO_2A;
2503 -
2504 -struct _PROVIDOR_INFO_2W {
2505 - LPWSTR pOrder;
2506 -}
2507 -alias _PROVIDOR_INFO_2W PROVIDOR_INFO_2W;
2508 -alias _PROVIDOR_INFO_2W* PPROVIDOR_INFO_2W;
2509 -alias _PROVIDOR_INFO_2W* LPPROVIDOR_INFO_2W;
2510 -
2511 -// #ifdef UNICODE
2512 -alias PROVIDOR_INFO_2W PROVIDOR_INFO_2;
2513 -alias PPROVIDOR_INFO_2W PPROVIDOR_INFO_2;
2514 -alias LPPROVIDOR_INFO_2W LPPROVIDOR_INFO_2;
2515 -// #else
2516 -// ...
2517 -// #endif // UNICODE
2518 -
2519 -extern(Windows) export BOOL AddPrintProvidorA(
2520 - LPSTR pName,
2521 - DWORD level,
2522 - LPBYTE pProvidorInfo
2523 -);
2524 -extern(Windows) export BOOL AddPrintProvidorW(
2525 - LPWSTR pName,
2526 - DWORD level,
2527 - LPBYTE pProvidorInfo
2528 -);
2529 -// #ifdef UNICODE
2530 -alias AddPrintProvidorW AddPrintProvidor;
2531 -// #else
2532 -// #...
2533 -// #endif // !UNICODE
2534 -
2535 -extern(Windows) export BOOL DeletePrintProvidorA(
2536 - LPSTR pName,
2537 - LPSTR pEnvironment,
2538 - LPSTR pPrintProvidorName
2539 -);
2540 -extern(Windows) export BOOL DeletePrintProvidorW(
2541 - LPWSTR pName,
2542 - LPWSTR pEnvironment,
2543 - LPWSTR pPrintProvidorName
2544 -);
2545 -// #ifdef UNICODE
2546 -alias DeletePrintProvidorW DeletePrintProvidor;
2547 -// #else
2548 -// #...
2549 -// #endif // !UNICODE
2550 -
2551 -const TCHAR[] SPLREG_DEFAULT_SPOOL_DIRECTORY = "DefaultSpoolDirectory";
2552 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY_DEFAULT = "PortThreadPriorityDefault";
2553 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY = "PortThreadPriority";
2554 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = "SchedulerThreadPriorityDefault";
2555 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY = "SchedulerThreadPriority";
2556 -const TCHAR[] SPLREG_BEEP_ENABLED = "BeepEnabled";
2557 -const TCHAR[] SPLREG_NET_POPUP = "NetPopup";
2558 -const TCHAR[] SPLREG_RETRY_POPUP = "RetryPopup";
2559 -const TCHAR[] SPLREG_NET_POPUP_TO_COMPUTER = "NetPopupToComputer";
2560 -const TCHAR[] SPLREG_EVENT_LOG = "EventLog";
2561 -const TCHAR[] SPLREG_MAJOR_VERSION = "MajorVersion";
2562 -const TCHAR[] SPLREG_MINOR_VERSION = "MinorVersion";
2563 -const TCHAR[] SPLREG_ARCHITECTURE = "Architecture";
2564 -const TCHAR[] SPLREG_OS_VERSION = "OSVersion";
2565 -const TCHAR[] SPLREG_OS_VERSIONEX = "OSVersionEx";
2566 -const TCHAR[] SPLREG_DS_PRESENT = "DsPresent";
2567 -const TCHAR[] SPLREG_DS_PRESENT_FOR_USER = "DsPresentForUser";
2568 -const TCHAR[] SPLREG_REMOTE_FAX = "RemoteFax";
2569 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ERROR = "RestartJobOnPoolError";
2570 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ENABLED = "RestartJobOnPoolEnabled";
2571 -const TCHAR[] SPLREG_DNS_MACHINE_NAME = "DNSMachineName";
2572 -
2573 -enum : uint { SERVER_ACCESS_ADMINISTER = 0x00000001 }
2574 -enum : uint { SERVER_ACCESS_ENUMERATE = 0x00000002 }
2575 -
2576 -enum : uint { PRINTER_ACCESS_ADMINISTER = 0x00000004 }
2577 -enum : uint { PRINTER_ACCESS_USE = 0x00000008 }
2578 -
2579 -enum : uint { JOB_ACCESS_ADMINISTER = 0x00000010 }
2580 -
2581 -const uint SERVER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE;
2582 -
2583 -const uint SERVER_READ = STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE;
2584 -
2585 -const uint SERVER_WRITE = STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE;
2586 -
2587 -const uint SERVER_EXECUTE = STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE;
2588 -
2589 -const uint PRINTER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE;
2590 -
2591 -const uint PRINTER_READ = STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE;
2592 -
2593 -const uint PRINTER_WRITE = STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE;
2594 -
2595 -const uint PRINTER_EXECUTE = STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE;
2596 -
2597 -const uint JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER;
2598 -
2599 -const uint JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER;
2600 -
2601 -const uint JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER;
2602 -
2603 -const uint JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER;
2604 -
2605 -const TCHAR[] SPLDS_SPOOLER_KEY = "DsSpooler";
2606 -const TCHAR[] SPLDS_DRIVER_KEY = "DsDriver";
2607 -const TCHAR[] SPLDS_USER_KEY = "DsUser";
2608 -
2609 -const TCHAR[] SPLDS_ASSET_NUMBER = "assetNumber";
2610 -const TCHAR[] SPLDS_BYTES_PER_MINUTE = "bytesPerMinute";
2611 -const TCHAR[] SPLDS_DESCRIPTION = "description";
2612 -const TCHAR[] SPLDS_DRIVER_NAME = "driverName";
2613 -const TCHAR[] SPLDS_DRIVER_VERSION = "driverVersion";
2614 -const TCHAR[] SPLDS_LOCATION = "location";
2615 -const TCHAR[] SPLDS_PORT_NAME = "portName";
2616 -const TCHAR[] SPLDS_PRINT_ATTRIBUTES = "printAttributes";
2617 -const TCHAR[] SPLDS_PRINT_BIN_NAMES = "printBinNames";
2618 -const TCHAR[] SPLDS_PRINT_COLLATE = "printCollate";
2619 -const TCHAR[] SPLDS_PRINT_COLOR = "printColor";
2620 -const TCHAR[] SPLDS_PRINT_DUPLEX_SUPPORTED = "printDuplexSupported";
2621 -const TCHAR[] SPLDS_PRINT_END_TIME = "printEndTime";
2622 -const TCHAR[] SPLDS_PRINTER_CLASS = "printQueue";
2623 -const TCHAR[] SPLDS_PRINTER_NAME = "printerName";
2624 -const TCHAR[] SPLDS_PRINT_KEEP_PRINTED_JOBS = "printKeepPrintedJobs";
2625 -const TCHAR[] SPLDS_PRINT_LANGUAGE = "printLanguage";
2626 -const TCHAR[] SPLDS_PRINT_MAC_ADDRESS = "printMACAddress";
2627 -const TCHAR[] SPLDS_PRINT_MAX_X_EXTENT = "printMaxXExtent";
2628 -const TCHAR[] SPLDS_PRINT_MAX_Y_EXTENT = "printMaxYExtent";
2629 -const TCHAR[] SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED = "printMaxResolutionSupported";
2630 -const TCHAR[] SPLDS_PRINT_MEDIA_READY = "printMediaReady";
2631 -const TCHAR[] SPLDS_PRINT_MEDIA_SUPPORTED = "printMediaSupported";
2632 -const TCHAR[] SPLDS_PRINT_MEMORY = "printMemory";
2633 -const TCHAR[] SPLDS_PRINT_MIN_X_EXTENT = "printMinXExtent";
2634 -const TCHAR[] SPLDS_PRINT_MIN_Y_EXTENT = "printMinYExtent";
2635 -const TCHAR[] SPLDS_PRINT_NETWORK_ADDRESS = "printNetworkAddress";
2636 -const TCHAR[] SPLDS_PRINT_NOTIFY = "printNotify";
2637 -const TCHAR[] SPLDS_PRINT_NUMBER_UP = "printNumberUp";
2638 -const TCHAR[] SPLDS_PRINT_ORIENTATIONS_SUPPORTED = "printOrientationsSupported";
2639 -const TCHAR[] SPLDS_PRINT_OWNER = "printOwner";
2640 -const TCHAR[] SPLDS_PRINT_PAGES_PER_MINUTE = "printPagesPerMinute";
2641 -const TCHAR[] SPLDS_PRINT_RATE = "printRate";
2642 -const TCHAR[] SPLDS_PRINT_RATE_UNIT = "printRateUnit";
2643 -const TCHAR[] SPLDS_PRINT_SEPARATOR_FILE = "printSeparatorFile";
2644 -const TCHAR[] SPLDS_PRINT_SHARE_NAME = "printShareName";
2645 -const TCHAR[] SPLDS_PRINT_SPOOLING = "printSpooling";
2646 -const TCHAR[] SPLDS_PRINT_STAPLING_SUPPORTED = "printStaplingSupported";
2647 -const TCHAR[] SPLDS_PRINT_START_TIME = "printStartTime";
2648 -const TCHAR[] SPLDS_PRINT_STATUS = "printStatus";
2649 -const TCHAR[] SPLDS_PRIORITY = "priority";
2650 -const TCHAR[] SPLDS_SERVER_NAME = "serverName";
2651 -const TCHAR[] SPLDS_SHORT_SERVER_NAME = "shortServerName";
2652 -const TCHAR[] SPLDS_UNC_NAME = "uNCName";
2653 -const TCHAR[] SPLDS_URL = "url";
2654 -const TCHAR[] SPLDS_FLAGS = "flags";
2655 -const TCHAR[] SPLDS_VERSION_NUMBER = "versionNumber";
2656 -
2657 -const TCHAR[] SPLDS_PRINTER_NAME_ALIASES = "printerNameAliases";
2658 -const TCHAR[] SPLDS_PRINTER_LOCATIONS = "printerLocations";
2659 -const TCHAR[] SPLDS_PRINTER_MODEL = "printerModel";
2660 -
2661 -// #ifdef __cplusplus
2662 -// }
2663 -// #endif
2664 -
2665 -// #endif // _WINSPOOL_
943 +alias JOB_INFO_1* PJOB_INFO_1, LPJOB_INFO_1;
944 +alias JOB_INFO_2* PJOB_INFO_2, LPJOB_INFO_2;
945 +alias ADDJOB_INFO_1* PADDJOB_INFO_1, LPADDJOB_INFO_1;
946 +alias DATATYPES_INFO_1* PDATATYPES_INFO_1, LPDATATYPES_INFO_1;
947 +alias MONITOR_INFO_1* PMONITOR_INFO_1, LPMONITOR_INFO_1;
948 +alias MONITOR_INFO_2* PMONITOR_INFO_2, LPMONITOR_INFO_2;
949 +alias DOC_INFO_1* PDOC_INFO_1, LPDOC_INFO_1;
950 +alias DOC_INFO_2* PDOC_INFO_2, LPDOC_INFO_2;
951 +alias PORT_INFO_1* PPORT_INFO_1, LPPORT_INFO_1;
952 +alias PORT_INFO_2* PPORT_INFO_2, LPPORT_INFO_2;
953 +alias PORT_INFO_3* PPORT_INFO_3, LPPORT_INFO_3;
954 +alias DRIVER_INFO_2* PDRIVER_INFO_2, LPDRIVER_INFO_2;
955 +alias PRINTER_INFO_1* PPRINTER_INFO_1, LPPRINTER_INFO_1;
956 +alias PRINTER_INFO_2* PPRINTER_INFO_2, LPPRINTER_INFO_2;
957 +alias PRINTER_INFO_4* PPRINTER_INFO_4, LPPRINTER_INFO_4;
958 +alias PRINTER_INFO_5* PPRINTER_INFO_5, LPPRINTER_INFO_5;
959 +alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSOR_INFO_1, LPPRINTPROCESSOR_INFO_1;
960 +alias FORM_INFO_1* PFORM_INFO_1, LPFORM_INFO_1;
961 +alias PRINTER_DEFAULTS* PPRINTER_DEFAULTS, LPPRINTER_DEFAULTS;