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 module win32.winspool; 10 module win32.winspool;
> 11 pragma(lib, "winspool.lib");
2 | 12
3 // Translated from Microsoft Platform SDK August 2001 Edition <
4 // by Y.Tomino | 13 private import win32.w32api, win32.windef, win32.wingdi;
> 14 private import win32.winbase; // for SYSTEMTIME
5 | 15
6 import win32.windef; <
7 import win32.winbase; | 16 // FIXME: clean up Windows version support
8 import win32.wingdi; <
9 | 17
> 18 const DI_CHANNEL=1;
10 // #ifndef _WINSPOOL_ | 19 const DI_CHANNEL_WRITE=2;
11 // #define _WINSPOOL_ | 20 const DI_READ_SPOOL_JOB=3;
12 | 21
13 // #ifdef _WINUSER_ | 22 const FORM_BUILTIN=1;
14 // #... <
15 // #endif <
16 | 23
> 24 const JOB_CONTROL_PAUSE=1;
> 25 const JOB_CONTROL_RESUME=2;
17 // #ifdef __cplusplus | 26 const JOB_CONTROL_CANCEL=3;
18 // extern "C" { | 27 const JOB_CONTROL_RESTART=4;
19 // #endif | 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;
20 | 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|PRI
> 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|SERVE
> 227 const SERVER_READ=(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE);
> 228 const SERVER_WRITE=(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS
> 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
21 struct _PRINTER_INFO_1A { | 514 struct PRINTER_INFO_1A {
22 DWORD Flags; | 515 DWORD Flags;
23 LPSTR pDescription; | 516 LPSTR pDescription;
24 LPSTR pName; | 517 LPSTR pName;
25 LPSTR pComment; | 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
> 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; | 654 alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO;
28 alias _PRINTER_INFO_1A* PPRINTER_INFO_1A; <
29 alias _PRINTER_INFO_1A* LPPRINTER_INFO_1A; <
30 655
31 struct _PRINTER_INFO_1W { | 656 struct FORM_INFO_1A {
32 DWORD Flags; | 657 DWORD Flags;
33 LPWSTR pDescription; <
34 LPWSTR pName; | 658 LPSTR pName;
> 659 SIZEL Size;
35 LPWSTR pComment; | 660 RECTL ImageableArea;
36 } 661 }
37 alias _PRINTER_INFO_1W PRINTER_INFO_1W; | 662 alias FORM_INFO_1A* PFORM_INFO_1A, LPFORM_INFO_1A;
38 alias _PRINTER_INFO_1W* PPRINTER_INFO_1W; <
39 alias _PRINTER_INFO_1W* LPPRINTER_INFO_1W; <
40 663
41 // #ifdef UNICODE | 664 struct FORM_INFO_1W {
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; | 665 DWORD Flags;
70 DWORD AveragePPM; <
> 666 LPWSTR pName;
> 667 SIZEL Size;
> 668 RECTL ImageableArea;
71 } 669 }
72 alias _PRINTER_INFO_2A PRINTER_INFO_2A; | 670 alias FORM_INFO_1W* PFORM_INFO_1W, LPFORM_INFO_1W;
73 alias _PRINTER_INFO_2A* PPRINTER_INFO_2A; <
74 alias _PRINTER_INFO_2A* LPPRINTER_INFO_2A; <
75 671
76 struct _PRINTER_INFO_2W { | 672 struct PRINTER_DEFAULTSA {
77 LPWSTR pServerName; | 673 LPSTR pDatatype;
78 LPWSTR pPrinterName; <
79 LPWSTR pShareName; <
80 LPWSTR pPortName; <
81 LPWSTR pDriverName; <
82 LPWSTR pComment; <
83 LPWSTR pLocation; <
84 LPDEVMODEW pDevMode; | 674 LPDEVMODE 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; <
> 675 ACCESS_MASK DesiredAccess;
122 } 676 }
123 alias _PRINTER_INFO_4A PRINTER_INFO_4A; | 677 alias PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA, LPPRINTER_DEFAULTSA;
124 alias _PRINTER_INFO_4A* PPRINTER_INFO_4A; <
125 alias _PRINTER_INFO_4A* LPPRINTER_INFO_4A; <
126 | 678
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; <
> 679 struct PRINTER_DEFAULTSW {
157 LPWSTR pPortName; | 680 LPWSTR pDatatype;
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; | 681 LPDEVMODE pDevMode;
> 682 ACCESS_MASK DesiredAccess;
213 } 683 }
214 alias _PRINTER_INFO_8A PRINTER_INFO_8A; | 684 alias PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW, LPPRINTER_DEFAULTSW;
215 alias _PRINTER_INFO_8A* PPRINTER_INFO_8A; <
216 alias _PRINTER_INFO_8A* LPPRINTER_INFO_8A; <
217 | 685
> 686 extern (Windows):
> 687 BOOL AbortPrinter(HANDLE);
218 struct _PRINTER_INFO_8W { | 688 BOOL AddFormA(HANDLE, DWORD, PBYTE);
219 LPDEVMODEW pDevMode; | 689 BOOL AddFormW(HANDLE, DWORD, PBYTE);
220 } <
> 690 BOOL AddJobA(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
221 alias _PRINTER_INFO_8W PRINTER_INFO_8W; | 691 BOOL AddJobW(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
222 alias _PRINTER_INFO_8W* PPRINTER_INFO_8W; | 692 BOOL AddMonitorA(LPSTR, DWORD, PBYTE);
223 alias _PRINTER_INFO_8W* LPPRINTER_INFO_8W; | 693 BOOL AddMonitorW(LPWSTR, DWORD, PBYTE);
224 <
> 694 BOOL AddPortA(LPSTR, HWND, LPSTR);
225 // #ifdef UNICODE | 695 BOOL AddPortW(LPWSTR, HWND, LPWSTR);
226 alias PRINTER_INFO_8W PRINTER_INFO_8; | 696 HANDLE AddPrinterA(LPSTR, DWORD, PBYTE);
227 alias PPRINTER_INFO_8W PPRINTER_INFO_8; | 697 HANDLE AddPrinterW(LPWSTR, DWORD, PBYTE);
228 alias LPPRINTER_INFO_8W LPPRINTER_INFO_8; | 698 BOOL AddPrinterConnectionA(LPSTR);
229 // #else | 699 BOOL AddPrinterConnectionW(LPWSTR);
230 // ... | 700 BOOL AddPrinterDriverA(LPSTR, DWORD, PBYTE);
231 // #endif // UNICODE | 701 BOOL AddPrinterDriverW(LPWSTR, DWORD, PBYTE);
232 <
> 702 BOOL AddPrintProcessorA(LPSTR, LPSTR, LPSTR, LPSTR);
233 struct _PRINTER_INFO_9A { | 703 BOOL AddPrintProcessorW(LPWSTR, LPWSTR, LPWSTR, LPWSTR);
234 LPDEVMODEA pDevMode; | 704 BOOL AddPrintProvidorA(LPSTR, DWORD, PBYTE);
235 } <
> 705 BOOL AddPrintProvidorW(LPWSTR, DWORD, PBYTE);
236 alias _PRINTER_INFO_9A PRINTER_INFO_9A; | 706 LONG AdvancedDocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODE, PDEVMODEA);
237 alias _PRINTER_INFO_9A* PPRINTER_INFO_9A; | 707 LONG AdvancedDocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODEW);
238 alias _PRINTER_INFO_9A* LPPRINTER_INFO_9A; | 708 BOOL ClosePrinter(HANDLE);
239 <
> 709 BOOL ConfigurePortA(LPSTR, HWND, LPSTR);
240 struct _PRINTER_INFO_9W { | 710 BOOL ConfigurePortW(LPWSTR, HWND, LPWSTR);
241 LPDEVMODEW pDevMode; | 711 HANDLE ConnectToPrinterDlg(HWND, DWORD);
242 } <
> 712 BOOL DeleteFormA(HANDLE, LPSTR);
243 alias _PRINTER_INFO_9W PRINTER_INFO_9W; | 713 BOOL DeleteFormW(HANDLE, LPWSTR);
244 alias _PRINTER_INFO_9W* PPRINTER_INFO_9W; | 714 BOOL DeleteMonitorA(LPSTR, LPSTR, LPSTR);
245 alias _PRINTER_INFO_9W* LPPRINTER_INFO_9W; | 715 BOOL DeleteMonitorW(LPWSTR, LPWSTR, LPWSTR);
246 <
> 716 BOOL DeletePortA(LPSTR, HWND, LPSTR);
247 // #ifdef UNICODE | 717 BOOL DeletePortW(LPWSTR, HWND, LPWSTR);
248 alias PRINTER_INFO_9W PRINTER_INFO_9; | 718 BOOL DeletePrinter(HANDLE);
249 alias PPRINTER_INFO_9W PPRINTER_INFO_9; | 719 BOOL DeletePrinterConnectionA(LPSTR);
250 alias LPPRINTER_INFO_9W LPPRINTER_INFO_9; | 720 BOOL DeletePrinterConnectionW(LPWSTR);
251 // #else | 721 DWORD DeletePrinterDataA(HANDLE, LPSTR);
252 // ... | 722 DWORD DeletePrinterDataW(HANDLE, LPWSTR);
253 // #endif // UNICODE | 723 BOOL DeletePrinterDriverA(LPSTR, LPSTR, LPSTR);
254 <
> 724 BOOL DeletePrinterDriverW(LPWSTR, LPWSTR, LPWSTR);
255 enum : uint { PRINTER_CONTROL_PAUSE = 1 } | 725 BOOL DeletePrintProcessorA(LPSTR, LPSTR, LPSTR);
256 enum : uint { PRINTER_CONTROL_RESUME = 2 } | 726 BOOL DeletePrintProcessorW(LPWSTR, LPWSTR, LPWSTR);
257 enum : uint { PRINTER_CONTROL_PURGE = 3 } | 727 BOOL DeletePrintProvidorA(LPSTR, LPSTR, LPSTR);
258 enum : uint { PRINTER_CONTROL_SET_STATUS = 4 } | 728 BOOL DeletePrintProvidorW(LPWSTR, LPWSTR, LPWSTR);
259 <
> 729 LONG DocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODEA, PDEVMODEA, DWORD);
260 enum : uint { PRINTER_STATUS_PAUSED = 0x00000001 } | 730 LONG DocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD);
261 enum : uint { PRINTER_STATUS_ERROR = 0x00000002 } | 731 BOOL EndDocPrinter(HANDLE);
262 enum : uint { PRINTER_STATUS_PENDING_DELETION = 0x00000004 } | 732 BOOL EndPagePrinter(HANDLE);
263 enum : uint { PRINTER_STATUS_PAPER_JAM = 0x00000008 } | 733 BOOL EnumFormsA(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
264 enum : uint { PRINTER_STATUS_PAPER_OUT = 0x00000010 } | 734 BOOL EnumFormsW(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
265 enum : uint { PRINTER_STATUS_MANUAL_FEED = 0x00000020 } | 735 BOOL EnumJobsA(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
266 enum : uint { PRINTER_STATUS_PAPER_PROBLEM = 0x00000040 } | 736 BOOL EnumJobsW(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
267 enum : uint { PRINTER_STATUS_OFFLINE = 0x00000080 } | 737 BOOL EnumMonitorsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
268 enum : uint { PRINTER_STATUS_IO_ACTIVE = 0x00000100 } | 738 BOOL EnumMonitorsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
269 enum : uint { PRINTER_STATUS_BUSY = 0x00000200 } | 739 BOOL EnumPortsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
270 enum : uint { PRINTER_STATUS_PRINTING = 0x00000400 } | 740 BOOL EnumPortsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
271 enum : uint { PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800 } | 741 DWORD EnumPrinterDataA(HANDLE, DWORD, LPSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD
272 enum : uint { PRINTER_STATUS_NOT_AVAILABLE = 0x00001000 } | 742 DWORD EnumPrinterDataW(HANDLE, DWORD, LPWSTR, DWORD, PDWORD, PDWORD, PBYTE, DWOR
273 enum : uint { PRINTER_STATUS_WAITING = 0x00002000 } | 743 BOOL EnumPrinterDriversA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
274 enum : uint { PRINTER_STATUS_PROCESSING = 0x00004000 } | 744 BOOL EnumPrinterDriversW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
275 enum : uint { PRINTER_STATUS_INITIALIZING = 0x00008000 } | 745 BOOL EnumPrintersA(DWORD, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
276 enum : uint { PRINTER_STATUS_WARMING_UP = 0x00010000 } | 746 BOOL EnumPrintersW(DWORD, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
277 enum : uint { PRINTER_STATUS_TONER_LOW = 0x00020000 } | 747 BOOL EnumPrintProcessorDatatypesA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDW
278 enum : uint { PRINTER_STATUS_NO_TONER = 0x00040000 } | 748 BOOL EnumPrintProcessorDatatypesW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, P
279 enum : uint { PRINTER_STATUS_PAGE_PUNT = 0x00080000 } | 749 BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
280 enum : uint { PRINTER_STATUS_USER_INTERVENTION = 0x00100000 } | 750 BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
281 enum : uint { PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000 } | 751 BOOL FindClosePrinterChangeNotification(HANDLE);
282 enum : uint { PRINTER_STATUS_DOOR_OPEN = 0x00400000 } | 752 HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID);
283 enum : uint { PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000 } | 753 HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*);
284 enum : uint { PRINTER_STATUS_POWER_SAVE = 0x01000000 } | 754 BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
285 | 755
286 enum : uint { PRINTER_ATTRIBUTE_QUEUED = 0x00000001 } | 756 static if (_WIN32_WINNT >= 0x0500) {
287 enum : uint { PRINTER_ATTRIBUTE_DIRECT = 0x00000002 } | 757 BOOL GetDefaultPrinterA(LPSTR, LPDWORD);
288 enum : uint { PRINTER_ATTRIBUTE_DEFAULT = 0x00000004 } | 758 BOOL GetDefaultPrinterW(LPWSTR, LPDWORD);
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; <
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 { | 761 BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
385 DWORD JobId; | 762 BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
386 LPWSTR pPrinterName; | 763 BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
387 LPWSTR pMachineName; | 764 BOOL GetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD);
388 LPWSTR pUserName; | 765 BOOL GetPrinterA(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
389 LPWSTR pDocument; | 766 BOOL GetPrinterW(HANDLE, DWORD, PBYTE, DWORD, PDWORD);
390 LPWSTR pNotifyName; | 767 DWORD GetPrinterDataA(HANDLE, LPSTR, PDWORD, PBYTE, DWORD, PDWORD);
391 LPWSTR pDatatype; | 768 DWORD GetPrinterDataW(HANDLE, LPWSTR, PDWORD, PBYTE, DWORD, PDWORD);
392 LPWSTR pPrintProcessor; | 769 DWORD GetPrinterDriverA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
393 LPWSTR pParameters; | 770 DWORD GetPrinterDriverW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
394 LPWSTR pDriverName; | 771 DWORD GetPrinterDriverDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
395 LPDEVMODEW pDevMode; | 772 DWORD GetPrinterDriverDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
396 LPWSTR pStatus; | 773 DWORD GetPrintProcessorDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD);
397 PSECURITY_DESCRIPTOR pSecurityDescriptor; | 774 DWORD GetPrintProcessorDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD);
398 DWORD Status; | 775 BOOL OpenPrinterA(LPSTR, PHANDLE, LPPRINTER_DEFAULTSA);
399 DWORD Priority; | 776 BOOL OpenPrinterW(LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW);
400 DWORD Position; | 777 DWORD PrinterMessageBoxA(HANDLE, DWORD, HWND, LPSTR, LPSTR, DWORD);
401 DWORD StartTime; | 778 DWORD PrinterMessageBoxW(HANDLE, DWORD, HWND, LPWSTR, LPWSTR, DWORD);
402 DWORD UntilTime; | 779 BOOL PrinterProperties(HWND, HANDLE);
403 DWORD TotalPages; | 780 BOOL ReadPrinter(HANDLE, PVOID, DWORD, PDWORD);
404 DWORD Size; | 781 BOOL ResetPrinterA(HANDLE, LPPRINTER_DEFAULTSA);
405 SYSTEMTIME Submitted; | 782 BOOL ResetPrinterW(HANDLE, LPPRINTER_DEFAULTSW);
406 DWORD Time; | 783 BOOL ScheduleJob(HANDLE, DWORD);
407 DWORD PagesPrinted; | 784 BOOL SetFormA(HANDLE, LPSTR, DWORD, PBYTE);
408 } <
> 785 BOOL SetFormW(HANDLE, LPWSTR, DWORD, PBYTE);
409 alias _JOB_INFO_2W JOB_INFO_2W; | 786 BOOL SetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD);
410 alias _JOB_INFO_2W* PJOB_INFO_2W; | 787 BOOL SetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD);
411 alias _JOB_INFO_2W* LPJOB_INFO_2W; | 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 | 798 version(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 <
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 { | 800 alias JOB_INFO_1W JOB_INFO_1;
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 { | 801 alias JOB_INFO_2W JOB_INFO_2;
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 <
471 alias ADDJOB_INFO_1W ADDJOB_INFO_1; 802 alias ADDJOB_INFO_1W ADDJOB_INFO_1;
472 alias PADDJOB_INFO_1W PADDJOB_INFO_1; | 803 alias DATATYPES_INFO_1W DATATYPES_INFO_1;
473 alias LPADDJOB_INFO_1W LPADDJOB_INFO_1; | 804 alias MONITOR_INFO_1W MONITOR_INFO_1;
474 // #else | 805 alias MONITOR_INFO_2W MONITOR_INFO_2;
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 <
738 alias DOC_INFO_1W DOC_INFO_1; 806 alias DOC_INFO_1W DOC_INFO_1;
739 alias PDOC_INFO_1W PDOC_INFO_1; | 807 alias DOC_INFO_2W DOC_INFO_2;
740 alias LPDOC_INFO_1W LPDOC_INFO_1; | 808 alias PORT_INFO_1W PORT_INFO_1;
741 // #else | 809 alias PORT_INFO_2W PORT_INFO_2;
742 // ... | 810 alias PORT_INFO_3W PORT_INFO_3;
743 // #endif // UNICODE | 811 alias DRIVER_INFO_2W DRIVER_INFO_2;
744 <
> 812 alias PRINTER_INFO_1W PRINTER_INFO_1;
745 struct _FORM_INFO_1A { | 813 alias PRINTER_INFO_2W PRINTER_INFO_2;
746 DWORD Flags; | 814 alias PRINTER_INFO_4W PRINTER_INFO_4;
747 LPSTR pName; | 815 alias PRINTER_INFO_5W PRINTER_INFO_5;
748 SIZEL Size; | 816 alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1;
749 RECTL ImageableArea; <
750 } <
751 alias _FORM_INFO_1A FORM_INFO_1A; | 817 alias FORM_INFO_1W FORM_INFO_1;
752 alias _FORM_INFO_1A* PFORM_INFO_1A; <
753 alias _FORM_INFO_1A* LPFORM_INFO_1A; <
> 818 alias PRINTER_DEFAULTSW PRINTER_DEFAULTS;
754 819
755 struct _FORM_INFO_1W { | 820 alias AddFormW AddForm;
756 DWORD Flags; | 821 alias AddJobW AddJob;
757 LPWSTR pName; | 822 alias AddMonitorW AddMonitor;
758 SIZEL Size; | 823 alias AddPortW AddPort;
759 RECTL ImageableArea; | 824 alias AddPrinterW AddPrinter;
760 } <
> 825 alias AddPrinterConnectionW AddPrinterConnection;
761 alias _FORM_INFO_1W FORM_INFO_1W; | 826 alias AddPrinterDriverW AddPrinterDriver;
762 alias _FORM_INFO_1W* PFORM_INFO_1W; | 827 alias AddPrintProcessorW AddPrintProcessor;
763 alias _FORM_INFO_1W* LPFORM_INFO_1W; | 828 alias AddPrintProvidorW AddPrintProvidor;
764 <
> 829 alias AdvancedDocumentPropertiesW AdvancedDocumentProperties;
765 // #ifdef UNICODE | 830 alias ConfigurePortW ConfigurePort;
766 alias FORM_INFO_1W FORM_INFO_1; | 831 alias DeleteFormW DeleteForm;
767 alias PFORM_INFO_1W PFORM_INFO_1; | 832 alias DeleteMonitorW DeleteMonitor;
768 alias LPFORM_INFO_1W LPFORM_INFO_1; | 833 alias DeletePortW DeletePort;
769 // #else | 834 alias DeletePrinterConnectionW DeletePrinterConnection;
770 // ... | 835 alias DeletePrinterDataW DeletePrinterData;
771 // #endif // UNICODE | 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 { | 850 static if (_WIN32_WINNT >= 0x0500) {
774 LPSTR pDocName; | 851 alias GetDefaultPrinterW GetDefaultPrinter;
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; <
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 | 854 alias GetFormW GetForm;
796 alias DOC_INFO_2W DOC_INFO_2; | 855 alias GetJobW GetJob;
797 alias PDOC_INFO_2W PDOC_INFO_2; | 856 alias GetPrinterW GetPrinter;
798 alias LPDOC_INFO_2W LPDOC_INFO_2; | 857 alias GetPrinterDataW GetPrinterData;
799 // #else | 858 alias GetPrinterDriverW GetPrinterDriver;
800 // ... | 859 alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory;
801 // #endif // UNICODE | 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 } | 872 alias JOB_INFO_1A JOB_INFO_1;
806 <
> 873 alias JOB_INFO_2A JOB_INFO_2;
807 struct _DOC_INFO_3A { | 874 alias ADDJOB_INFO_1A ADDJOB_INFO_1;
808 LPSTR pDocName; | 875 alias DATATYPES_INFO_1A DATATYPES_INFO_1;
809 LPSTR pOutputFile; | 876 alias MONITOR_INFO_1A MONITOR_INFO_1;
810 LPSTR pDatatype; | 877 alias MONITOR_INFO_2A MONITOR_INFO_2;
811 DWORD dwFlags; | 878 alias DOC_INFO_1A DOC_INFO_1;
812 } <
813 alias _DOC_INFO_3A DOC_INFO_3A; | 879 alias DOC_INFO_2A DOC_INFO_2;
> 880 alias PORT_INFO_1A PORT_INFO_1;
814 alias _DOC_INFO_3A* PDOC_INFO_3A; | 881 alias PORT_INFO_2A PORT_INFO_2;
815 alias _DOC_INFO_3A* LPDOC_INFO_3A; | 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 { | 892 alias AddFormA AddForm;
818 LPWSTR pDocName; | 893 alias AddJobA AddJob;
819 LPWSTR pOutputFile; | 894 alias AddMonitorA AddMonitor;
820 LPWSTR pDatatype; | 895 alias AddPortA AddPort;
821 DWORD dwFlags; | 896 alias AddPrinterA AddPrinter;
822 } <
> 897 alias AddPrinterConnectionA AddPrinterConnection;
823 alias _DOC_INFO_3W DOC_INFO_3W; | 898 alias AddPrinterDriverA AddPrinterDriver;
824 alias _DOC_INFO_3W* PDOC_INFO_3W; | 899 alias AddPrintProcessorA AddPrintProcessor;
825 alias _DOC_INFO_3W* LPDOC_INFO_3W; | 900 alias AddPrintProvidorA AddPrintProvidor;
826 <
> 901 alias AdvancedDocumentPropertiesA AdvancedDocumentProperties;
827 // #ifdef UNICODE | 902 alias ConfigurePortA ConfigurePort;
828 alias DOC_INFO_3W DOC_INFO_3; | 903 alias DeleteFormA DeleteForm;
829 alias PDOC_INFO_3W PDOC_INFO_3; | 904 alias DeleteMonitorA DeleteMonitor;
830 alias LPDOC_INFO_3W LPDOC_INFO_3; | 905 alias DeletePortA DeletePort;
831 // #else | 906 alias DeletePrinterConnectionA DeletePrinterConnection;
832 // ... | 907 alias DeletePrinterDataA DeletePrinterData;
833 // #endif // UNICODE | 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 } | 922 static if (_WIN32_WINNT >= 0x0500) {
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; <
> 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 | 926 alias GetFormA GetForm;
856 alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1; | 927 alias GetJobA GetJob;
857 alias PPRINTPROCESSOR_INFO_1W PPRINTPROCESSOR_INFO_1; | 928 alias GetPrinterA GetPrinter;
858 alias LPPRINTPROCESSOR_INFO_1W LPPRINTPROCESSOR_INFO_1; | 929 alias GetPrinterDataA GetPrinterData;
859 // #else | 930 alias GetPrinterDriverA GetPrinterDriver;
860 // ... | 931 alias GetPrinterDriverDirectoryA GetPrinterDriverDirectory;
861 // #endif // UNICODE | 932 alias GetPrintProcessorDirectoryA GetPrintProcessorDirectory;
862 <
> 933 alias OpenPrinterA OpenPrinter;
863 struct _PRINTPROCESSOR_CAPS_1 { | 934 alias PrinterMessageBoxA PrinterMessageBox;
864 DWORD dwLevel; | 935 alias ResetPrinterA ResetPrinter;
865 DWORD dwNupOptions; | 936 alias SetFormA SetForm;
866 DWORD dwPageOrderFlags; | 937 alias SetJobA SetJob;
867 DWORD dwNumberOfCopies; | 938 alias SetPrinterA SetPrinter;
868 } <
> 939 alias SetPrinterDataA SetPrinterData;
869 alias _PRINTPROCESSOR_CAPS_1 PRINTPROCESSOR_CAPS_1; | 940 alias StartDocPrinterA StartDocPrinter;
870 alias _PRINTPROCESSOR_CAPS_1* PPRINTPROCESSOR_CAPS_1; <
871 | 941 }
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 <
957 942
958 enum : uint { PORT_STATUS_TYPE_ERROR = 1 } | 943 alias JOB_INFO_1* PJOB_INFO_1, LPJOB_INFO_1;
959 enum : uint { PORT_STATUS_TYPE_WARNING = 2 } | 944 alias JOB_INFO_2* PJOB_INFO_2, LPJOB_INFO_2;
960 enum : uint { PORT_STATUS_TYPE_INFO = 3 } | 945 alias ADDJOB_INFO_1* PADDJOB_INFO_1, LPADDJOB_INFO_1;
961 <
> 946 alias DATATYPES_INFO_1* PDATATYPES_INFO_1, LPDATATYPES_INFO_1;
962 enum : uint { PORT_STATUS_OFFLINE = 1 } | 947 alias MONITOR_INFO_1* PMONITOR_INFO_1, LPMONITOR_INFO_1;
963 enum : uint { PORT_STATUS_PAPER_JAM = 2 } | 948 alias MONITOR_INFO_2* PMONITOR_INFO_2, LPMONITOR_INFO_2;
964 enum : uint { PORT_STATUS_PAPER_OUT = 3 } | 949 alias DOC_INFO_1* PDOC_INFO_1, LPDOC_INFO_1;
965 enum : uint { PORT_STATUS_OUTPUT_BIN_FULL = 4 } | 950 alias DOC_INFO_2* PDOC_INFO_2, LPDOC_INFO_2;
966 enum : uint { PORT_STATUS_PAPER_PROBLEM = 5 } | 951 alias PORT_INFO_1* PPORT_INFO_1, LPPORT_INFO_1;
967 enum : uint { PORT_STATUS_NO_TONER = 6 } | 952 alias PORT_INFO_2* PPORT_INFO_2, LPPORT_INFO_2;
968 enum : uint { PORT_STATUS_DOOR_OPEN = 7 } | 953 alias PORT_INFO_3* PPORT_INFO_3, LPPORT_INFO_3;
969 enum : uint { PORT_STATUS_USER_INTERVENTION = 8 } | 954 alias DRIVER_INFO_2* PDRIVER_INFO_2, LPDRIVER_INFO_2;
970 enum : uint { PORT_STATUS_OUT_OF_MEMORY = 9 } | 955 alias PRINTER_INFO_1* PPRINTER_INFO_1, LPPRINTER_INFO_1;
971 <
> 956 alias PRINTER_INFO_2* PPRINTER_INFO_2, LPPRINTER_INFO_2;
972 enum : uint { PORT_STATUS_TONER_LOW = 10 } | 957 alias PRINTER_INFO_4* PPRINTER_INFO_4, LPPRINTER_INFO_4;
973 <
> 958 alias PRINTER_INFO_5* PPRINTER_INFO_5, LPPRINTER_INFO_5;
974 enum : uint { PORT_STATUS_WARMING_UP = 11 } | 959 alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSOR_INFO_1, LPPRINTPROCESSOR_INFO_1;
975 enum : uint { PORT_STATUS_POWER_SAVE = 12 } | 960 alias FORM_INFO_1* PFORM_INFO_1, LPFORM_INFO_1;
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; | 961 alias PRINTER_DEFAULTS* PPRINTER_DEFAULTS, LPPRINTER_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 = "SchedulerThreadPriorit <
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_ADMINIST <
2582 <
2583 const uint SERVER_READ = STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE; <
2584 <
2585 const uint SERVER_WRITE = STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SER <
2586 <
2587 const uint SERVER_EXECUTE = STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE; <
2588 <
2589 const uint PRINTER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINI <
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 = "printMaxResolutionSupporte <
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_ <