1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_winspool.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.winspool for the auto-generated win32 package. 11 module win32.winspool; 12 //version (Windows): 13 @system: 14 15 version (ANSI) {} else version = Unicode; 16 version (Win32_UseLib) pragma(lib, "winspool"); 17 18 import win32.w32api, win32.windef, win32.wingdi; 19 import win32.winbase; // for SYSTEMTIME 20 21 // FIXME: clean up Windows version support 22 23 enum DI_CHANNEL=1; 24 enum DI_CHANNEL_WRITE=2; 25 enum DI_READ_SPOOL_JOB=3; 26 27 enum FORM_BUILTIN=1; 28 29 enum JOB_CONTROL_PAUSE=1; 30 enum JOB_CONTROL_RESUME=2; 31 enum JOB_CONTROL_CANCEL=3; 32 enum JOB_CONTROL_RESTART=4; 33 enum JOB_CONTROL_DELETE=5; 34 enum JOB_STATUS_PAUSED=1; 35 enum JOB_STATUS_ERROR=2; 36 enum JOB_STATUS_DELETING=4; 37 enum JOB_STATUS_SPOOLING=8; 38 enum JOB_STATUS_PRINTING=16; 39 enum JOB_STATUS_OFFLINE=32; 40 enum JOB_STATUS_PAPEROUT=0x40; 41 enum JOB_STATUS_PRINTED=0x80; 42 enum JOB_STATUS_DELETED=0x100; 43 enum JOB_STATUS_BLOCKED_DEVQ=0x200; 44 enum JOB_STATUS_USER_INTERVENTION=0x400; 45 46 enum JOB_POSITION_UNSPECIFIED=0; 47 48 enum JOB_NOTIFY_TYPE=1; 49 50 enum JOB_NOTIFY_FIELD_PRINTER_NAME=0; 51 enum JOB_NOTIFY_FIELD_MACHINE_NAME=1; 52 enum JOB_NOTIFY_FIELD_PORT_NAME=2; 53 enum JOB_NOTIFY_FIELD_USER_NAME=3; 54 enum JOB_NOTIFY_FIELD_NOTIFY_NAME=4; 55 enum JOB_NOTIFY_FIELD_DATATYPE=5; 56 enum JOB_NOTIFY_FIELD_PRINT_PROCESSOR=6; 57 enum JOB_NOTIFY_FIELD_PARAMETERS=7; 58 enum JOB_NOTIFY_FIELD_DRIVER_NAME=8; 59 enum JOB_NOTIFY_FIELD_DEVMODE=9; 60 enum JOB_NOTIFY_FIELD_STATUS=10; 61 enum JOB_NOTIFY_FIELD_STATUS_STRING=11; 62 enum JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12; 63 enum JOB_NOTIFY_FIELD_DOCUMENT=13; 64 enum JOB_NOTIFY_FIELD_PRIORITY=14; 65 enum JOB_NOTIFY_FIELD_POSITION=15; 66 enum JOB_NOTIFY_FIELD_SUBMITTED=16; 67 enum JOB_NOTIFY_FIELD_START_TIME=17; 68 enum JOB_NOTIFY_FIELD_UNTIL_TIME=18; 69 enum JOB_NOTIFY_FIELD_TIME=19; 70 enum JOB_NOTIFY_FIELD_TOTAL_PAGES=20; 71 enum JOB_NOTIFY_FIELD_PAGES_PRINTED=21; 72 enum JOB_NOTIFY_FIELD_TOTAL_BYTES=22; 73 enum JOB_NOTIFY_FIELD_BYTES_PRINTED=23; 74 75 enum JOB_ACCESS_ADMINISTER = 16; 76 enum JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER; 77 enum JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER; 78 enum JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER; 79 enum JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER; 80 81 enum PRINTER_NOTIFY_OPTIONS_REFRESH=1; 82 enum PRINTER_ACCESS_ADMINISTER=4; 83 enum PRINTER_ACCESS_USE=8; 84 85 enum PRINTER_ERROR_INFORMATION=0x80000000; 86 enum PRINTER_ERROR_WARNING=0x40000000; 87 enum PRINTER_ERROR_SEVERE=0x20000000; 88 enum PRINTER_ERROR_OUTOFPAPER=1; 89 enum PRINTER_ERROR_JAM=2; 90 enum PRINTER_ERROR_OUTOFTONER=4; 91 92 enum PRINTER_CONTROL_PAUSE=1; 93 enum PRINTER_CONTROL_RESUME=2; 94 enum PRINTER_CONTROL_PURGE=3; 95 enum PRINTER_CONTROL_SET_STATUS=4; 96 97 enum PRINTER_STATUS_PAUSED = 1; 98 enum PRINTER_STATUS_ERROR = 2; 99 enum PRINTER_STATUS_PENDING_DELETION = 4; 100 enum PRINTER_STATUS_PAPER_JAM = 8; 101 enum PRINTER_STATUS_PAPER_OUT = 0x10; 102 enum PRINTER_STATUS_MANUAL_FEED = 0x20; 103 enum PRINTER_STATUS_PAPER_PROBLEM = 0x40; 104 enum PRINTER_STATUS_OFFLINE = 0x80; 105 enum PRINTER_STATUS_IO_ACTIVE = 0x100; 106 enum PRINTER_STATUS_BUSY = 0x200; 107 enum PRINTER_STATUS_PRINTING = 0x400; 108 enum PRINTER_STATUS_OUTPUT_BIN_FULL = 0x800; 109 enum PRINTER_STATUS_NOT_AVAILABLE = 0x1000; 110 enum PRINTER_STATUS_WAITING = 0x2000; 111 enum PRINTER_STATUS_PROCESSING = 0x4000; 112 enum PRINTER_STATUS_INITIALIZING = 0x8000; 113 enum PRINTER_STATUS_WARMING_UP = 0x10000; 114 enum PRINTER_STATUS_TONER_LOW = 0x20000; 115 enum PRINTER_STATUS_NO_TONER = 0x40000; 116 enum PRINTER_STATUS_PAGE_PUNT = 0x80000; 117 enum PRINTER_STATUS_USER_INTERVENTION = 0x100000; 118 enum PRINTER_STATUS_OUT_OF_MEMORY = 0x200000; 119 enum PRINTER_STATUS_DOOR_OPEN = 0x400000; 120 enum PRINTER_STATUS_SERVER_UNKNOWN = 0x800000; 121 enum PRINTER_STATUS_POWER_SAVE = 0x1000000; 122 123 enum PRINTER_ATTRIBUTE_QUEUED=1; 124 enum PRINTER_ATTRIBUTE_DIRECT=2; 125 enum PRINTER_ATTRIBUTE_DEFAULT=4; 126 enum PRINTER_ATTRIBUTE_SHARED=8; 127 enum PRINTER_ATTRIBUTE_NETWORK=0x10; 128 enum PRINTER_ATTRIBUTE_HIDDEN=0x20; 129 enum PRINTER_ATTRIBUTE_LOCAL=0x40; 130 enum PRINTER_ATTRIBUTE_ENABLE_DEVQ=0x80; 131 enum PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS=0x100; 132 enum PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST=0x200; 133 enum PRINTER_ATTRIBUTE_WORK_OFFLINE=0x400; 134 enum PRINTER_ATTRIBUTE_ENABLE_BIDI=0x800; 135 enum PRINTER_ATTRIBUTE_RAW_ONLY=0x1000; 136 enum PRINTER_ATTRIBUTE_PUBLISHED=0x2000; 137 138 enum PRINTER_ENUM_DEFAULT=1; 139 enum PRINTER_ENUM_LOCAL=2; 140 enum PRINTER_ENUM_CONNECTIONS=4; 141 enum PRINTER_ENUM_FAVORITE=4; 142 enum PRINTER_ENUM_NAME=8; 143 enum PRINTER_ENUM_REMOTE=16; 144 enum PRINTER_ENUM_SHARED=32; 145 enum PRINTER_ENUM_NETWORK=0x40; 146 enum PRINTER_ENUM_EXPAND=0x4000; 147 enum PRINTER_ENUM_CONTAINER=0x8000; 148 enum PRINTER_ENUM_ICONMASK=0xff0000; 149 enum PRINTER_ENUM_ICON1=0x10000; 150 enum PRINTER_ENUM_ICON2=0x20000; 151 enum PRINTER_ENUM_ICON3=0x40000; 152 enum PRINTER_ENUM_ICON4=0x80000; 153 enum PRINTER_ENUM_ICON5=0x100000; 154 enum PRINTER_ENUM_ICON6=0x200000; 155 enum PRINTER_ENUM_ICON7=0x400000; 156 enum PRINTER_ENUM_ICON8=0x800000; 157 158 enum PRINTER_NOTIFY_TYPE=0; 159 160 enum PRINTER_NOTIFY_FIELD_SERVER_NAME=0; 161 enum PRINTER_NOTIFY_FIELD_PRINTER_NAME=1; 162 enum PRINTER_NOTIFY_FIELD_SHARE_NAME=2; 163 enum PRINTER_NOTIFY_FIELD_PORT_NAME=3; 164 enum PRINTER_NOTIFY_FIELD_DRIVER_NAME=4; 165 enum PRINTER_NOTIFY_FIELD_COMMENT=5; 166 enum PRINTER_NOTIFY_FIELD_LOCATION=6; 167 enum PRINTER_NOTIFY_FIELD_DEVMODE=7; 168 enum PRINTER_NOTIFY_FIELD_SEPFILE=8; 169 enum PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR=9; 170 enum PRINTER_NOTIFY_FIELD_PARAMETERS=10; 171 enum PRINTER_NOTIFY_FIELD_DATATYPE=11; 172 enum PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12; 173 enum PRINTER_NOTIFY_FIELD_ATTRIBUTES=13; 174 enum PRINTER_NOTIFY_FIELD_PRIORITY=14; 175 enum PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY=15; 176 enum PRINTER_NOTIFY_FIELD_START_TIME=16; 177 enum PRINTER_NOTIFY_FIELD_UNTIL_TIME=17; 178 enum PRINTER_NOTIFY_FIELD_STATUS=18; 179 enum PRINTER_NOTIFY_FIELD_STATUS_STRING=19; 180 enum PRINTER_NOTIFY_FIELD_CJOBS=20; 181 enum PRINTER_NOTIFY_FIELD_AVERAGE_PPM=21; 182 enum PRINTER_NOTIFY_FIELD_TOTAL_PAGES=22; 183 enum PRINTER_NOTIFY_FIELD_PAGES_PRINTED=23; 184 enum PRINTER_NOTIFY_FIELD_TOTAL_BYTES=24; 185 enum PRINTER_NOTIFY_FIELD_BYTES_PRINTED=25; 186 187 enum PRINTER_CHANGE_ADD_PRINTER=1; 188 enum PRINTER_CHANGE_SET_PRINTER=2; 189 enum PRINTER_CHANGE_DELETE_PRINTER=4; 190 enum PRINTER_CHANGE_FAILED_CONNECTION_PRINTER=8; 191 enum PRINTER_CHANGE_PRINTER=0xFF; 192 enum PRINTER_CHANGE_ADD_JOB=0x100; 193 enum PRINTER_CHANGE_SET_JOB=0x200; 194 enum PRINTER_CHANGE_DELETE_JOB=0x400; 195 enum PRINTER_CHANGE_WRITE_JOB=0x800; 196 enum PRINTER_CHANGE_JOB=0xFF00; 197 enum PRINTER_CHANGE_ADD_FORM=0x10000; 198 enum PRINTER_CHANGE_SET_FORM=0x20000; 199 enum PRINTER_CHANGE_DELETE_FORM=0x40000; 200 enum PRINTER_CHANGE_FORM=0x70000; 201 enum PRINTER_CHANGE_ADD_PORT=0x100000; 202 enum PRINTER_CHANGE_CONFIGURE_PORT=0x200000; 203 enum PRINTER_CHANGE_DELETE_PORT=0x400000; 204 enum PRINTER_CHANGE_PORT=0x700000; 205 enum PRINTER_CHANGE_ADD_PRINT_PROCESSOR=0x1000000; 206 enum PRINTER_CHANGE_DELETE_PRINT_PROCESSOR=0x4000000; 207 enum PRINTER_CHANGE_PRINT_PROCESSOR=0x7000000; 208 enum PRINTER_CHANGE_ADD_PRINTER_DRIVER=0x10000000; 209 enum PRINTER_CHANGE_SET_PRINTER_DRIVER=0x20000000; 210 enum PRINTER_CHANGE_DELETE_PRINTER_DRIVER=0x40000000; 211 enum PRINTER_CHANGE_PRINTER_DRIVER=0x70000000; 212 enum PRINTER_CHANGE_TIMEOUT=0x80000000; 213 enum PRINTER_CHANGE_ALL=0x7777FFFF; 214 215 enum PRINTER_NOTIFY_INFO_DISCARDED=1; 216 enum PRINTER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE); 217 enum PRINTER_READ=(STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE); 218 enum PRINTER_WRITE=(STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE); 219 enum PRINTER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE); 220 enum NO_PRIORITY=0; 221 enum MAX_PRIORITY=99; 222 enum MIN_PRIORITY=1; 223 enum DEF_PRIORITY=1; 224 enum PORT_TYPE_WRITE=1; 225 enum PORT_TYPE_READ=2; 226 enum PORT_TYPE_REDIRECTED=4; 227 enum PORT_TYPE_NET_ATTACHED=8; 228 enum SERVER_ACCESS_ADMINISTER=1; 229 enum SERVER_ACCESS_ENUMERATE=2; 230 231 enum SERVER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE); 232 enum SERVER_READ=(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE); 233 enum SERVER_WRITE=(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE); 234 enum SERVER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE); 235 236 enum PORT_STATUS_TYPE_ERROR=1; 237 enum PORT_STATUS_TYPE_WARNING=2; 238 enum PORT_STATUS_TYPE_INFO=3; 239 240 enum PORT_STATUS_OFFLINE=1; 241 enum PORT_STATUS_PAPER_JAM=2; 242 enum PORT_STATUS_PAPER_OUT=3; 243 enum PORT_STATUS_OUTPUT_BIN_FULL=4; 244 enum PORT_STATUS_PAPER_PROBLEM=5; 245 enum PORT_STATUS_NO_TONER=6; 246 enum PORT_STATUS_DOOR_OPEN=7; 247 enum PORT_STATUS_USER_INTERVENTION=8; 248 enum PORT_STATUS_OUT_OF_MEMORY=9; 249 enum PORT_STATUS_TONER_LOW=10; 250 enum PORT_STATUS_WARMING_UP=11; 251 enum PORT_STATUS_POWER_SAVE=12; 252 253 struct ADDJOB_INFO_1A { 254 LPSTR Path; 255 DWORD JobId; 256 } 257 alias ADDJOB_INFO_1A* PADDJOB_INFO_1A, LPADDJOB_INFO_1A; 258 259 struct ADDJOB_INFO_1W { 260 LPWSTR Path; 261 DWORD JobId; 262 } 263 alias ADDJOB_INFO_1W* PADDJOB_INFO_1W, LPADDJOB_INFO_1W; 264 265 struct DATATYPES_INFO_1A { 266 LPSTR pName; 267 } 268 alias DATATYPES_INFO_1A* PDATATYPES_INFO_1A, LPDATATYPES_INFO_1A; 269 270 struct DATATYPES_INFO_1W { 271 LPWSTR pName; 272 } 273 alias DATATYPES_INFO_1W* PDATATYPES_INFO_1W, LPDATATYPES_INFO_1W; 274 275 struct JOB_INFO_1A { 276 DWORD JobId; 277 LPSTR pPrinterName; 278 LPSTR pMachineName; 279 LPSTR pUserName; 280 LPSTR pDocument; 281 LPSTR pDatatype; 282 LPSTR pStatus; 283 DWORD Status; 284 DWORD Priority; 285 DWORD Position; 286 DWORD TotalPages; 287 DWORD PagesPrinted; 288 SYSTEMTIME Submitted; 289 } 290 alias JOB_INFO_1A* PJOB_INFO_1A, LPJOB_INFO_1A; 291 292 struct JOB_INFO_1W { 293 DWORD JobId; 294 LPWSTR pPrinterName; 295 LPWSTR pMachineName; 296 LPWSTR pUserName; 297 LPWSTR pDocument; 298 LPWSTR pDatatype; 299 LPWSTR pStatus; 300 DWORD Status; 301 DWORD Priority; 302 DWORD Position; 303 DWORD TotalPages; 304 DWORD PagesPrinted; 305 SYSTEMTIME Submitted; 306 } 307 alias JOB_INFO_1W* PJOB_INFO_1W, LPJOB_INFO_1W; 308 309 struct JOB_INFO_2A { 310 DWORD JobId; 311 LPSTR pPrinterName; 312 LPSTR pMachineName; 313 LPSTR pUserName; 314 LPSTR pDocument; 315 LPSTR pNotifyName; 316 LPSTR pDatatype; 317 LPSTR pPrintProcessor; 318 LPSTR pParameters; 319 LPSTR pDriverName; 320 LPDEVMODEA pDevMode; 321 LPSTR pStatus; 322 PSECURITY_DESCRIPTOR pSecurityDescriptor; 323 DWORD Status; 324 DWORD Priority; 325 DWORD Position; 326 DWORD StartTime; 327 DWORD UntilTime; 328 DWORD TotalPages; 329 DWORD Size; 330 SYSTEMTIME Submitted; 331 DWORD Time; 332 DWORD PagesPrinted; 333 } 334 alias JOB_INFO_2A* PJOB_INFO_2A, LPJOB_INFO_2A; 335 336 struct JOB_INFO_2W { 337 DWORD JobId; 338 LPWSTR pPrinterName; 339 LPWSTR pMachineName; 340 LPWSTR pUserName; 341 LPWSTR pDocument; 342 LPWSTR pNotifyName; 343 LPWSTR pDatatype; 344 LPWSTR pPrintProcessor; 345 LPWSTR pParameters; 346 LPWSTR pDriverName; 347 LPDEVMODEW pDevMode; 348 LPWSTR pStatus; 349 PSECURITY_DESCRIPTOR pSecurityDescriptor; 350 DWORD Status; 351 DWORD Priority; 352 DWORD Position; 353 DWORD StartTime; 354 DWORD UntilTime; 355 DWORD TotalPages; 356 DWORD Size; 357 SYSTEMTIME Submitted; 358 DWORD Time; 359 DWORD PagesPrinted; 360 } 361 alias JOB_INFO_2W* PJOB_INFO_2W, LPJOB_INFO_2W; 362 363 struct DOC_INFO_1A { 364 LPSTR pDocName; 365 LPSTR pOutputFile; 366 LPSTR pDatatype; 367 } 368 alias DOC_INFO_1A* PDOC_INFO_1A, LPDOC_INFO_1A; 369 370 struct DOC_INFO_1W { 371 LPWSTR pDocName; 372 LPWSTR pOutputFile; 373 LPWSTR pDatatype; 374 } 375 alias DOC_INFO_1W* PDOC_INFO_1W, LPDOC_INFO_1W; 376 377 struct DOC_INFO_2A { 378 LPSTR pDocName; 379 LPSTR pOutputFile; 380 LPSTR pDatatype; 381 DWORD dwMode; 382 DWORD JobId; 383 } 384 alias DOC_INFO_2A* PDOC_INFO_2A, LPDOC_INFO_2A; 385 386 struct DOC_INFO_2W { 387 LPWSTR pDocName; 388 LPWSTR pOutputFile; 389 LPWSTR pDatatype; 390 DWORD dwMode; 391 DWORD JobId; 392 } 393 alias DOC_INFO_2W* PDOC_INFO_2W, LPDOC_INFO_2W; 394 395 struct DRIVER_INFO_1A { 396 LPSTR pName; 397 } 398 alias DRIVER_INFO_1A* PDRIVER_INFO_1A, LPDRIVER_INFO_1A; 399 400 struct DRIVER_INFO_1W { 401 LPWSTR pName; 402 } 403 alias DRIVER_INFO_1W* PDRIVER_INFO_1W, LPDRIVER_INFO_1W; 404 405 struct DRIVER_INFO_2A { 406 DWORD cVersion; 407 LPSTR pName; 408 LPSTR pEnvironment; 409 LPSTR pDriverPath; 410 LPSTR pDataFile; 411 LPSTR pConfigFile; 412 } 413 alias DRIVER_INFO_2A* PDRIVER_INFO_2A, LPDRIVER_INFO_2A; 414 415 struct DRIVER_INFO_2W { 416 DWORD cVersion; 417 LPWSTR pName; 418 LPWSTR pEnvironment; 419 LPWSTR pDriverPath; 420 LPWSTR pDataFile; 421 LPWSTR pConfigFile; 422 } 423 alias DRIVER_INFO_2W* PDRIVER_INFO_2W, LPDRIVER_INFO_2W; 424 425 struct DRIVER_INFO_3A { 426 DWORD cVersion; 427 LPSTR pName; 428 LPSTR pEnvironment; 429 LPSTR pDriverPath; 430 LPSTR pDataFile; 431 LPSTR pConfigFile; 432 LPSTR pHelpFile; 433 LPSTR pDependentFiles; 434 LPSTR pMonitorName; 435 LPSTR pDefaultDataType; 436 } 437 alias DRIVER_INFO_3A* PDRIVER_INFO_3A, LPDRIVER_INFO_3A; 438 439 struct DRIVER_INFO_3W { 440 DWORD cVersion; 441 LPWSTR pName; 442 LPWSTR pEnvironment; 443 LPWSTR pDriverPath; 444 LPWSTR pDataFile; 445 LPWSTR pConfigFile; 446 LPWSTR pHelpFile; 447 LPWSTR pDependentFiles; 448 LPWSTR pMonitorName; 449 LPWSTR pDefaultDataType; 450 } 451 alias DRIVER_INFO_3W* PDRIVER_INFO_3W, LPDRIVER_INFO_3W; 452 453 struct MONITOR_INFO_1A { 454 LPSTR pName; 455 } 456 alias MONITOR_INFO_1A* PMONITOR_INFO_1A, LPMONITOR_INFO_1A; 457 458 struct MONITOR_INFO_1W { 459 LPWSTR pName; 460 } 461 alias MONITOR_INFO_1W* PMONITOR_INFO_1W, LPMONITOR_INFO_1W; 462 463 struct PORT_INFO_1A { 464 LPSTR pName; 465 } 466 alias PORT_INFO_1A* PPORT_INFO_1A, LPPORT_INFO_1A; 467 468 struct PORT_INFO_1W { 469 LPWSTR pName; 470 } 471 alias PORT_INFO_1W* PPORT_INFO_1W, LPPORT_INFO_1W; 472 473 struct MONITOR_INFO_2A { 474 LPSTR pName; 475 LPSTR pEnvironment; 476 LPSTR pDLLName; 477 } 478 alias MONITOR_INFO_2A* PMONITOR_INFO_2A, LPMONITOR_INFO_2A; 479 480 struct MONITOR_INFO_2W { 481 LPWSTR pName; 482 LPWSTR pEnvironment; 483 LPWSTR pDLLName; 484 } 485 alias MONITOR_INFO_2W* PMONITOR_INFO_2W, LPMONITOR_INFO_2W; 486 487 struct PORT_INFO_2A { 488 LPSTR pPortName; 489 LPSTR pMonitorName; 490 LPSTR pDescription; 491 DWORD fPortType; 492 DWORD Reserved; 493 } 494 alias PORT_INFO_2A* PPORT_INFO_2A, LPPORT_INFO_2A; 495 496 struct PORT_INFO_2W { 497 LPWSTR pPortName; 498 LPWSTR pMonitorName; 499 LPWSTR pDescription; 500 DWORD fPortType; 501 DWORD Reserved; 502 } 503 alias PORT_INFO_2W* PPORT_INFO_2W, LPPORT_INFO_2W; 504 505 struct PORT_INFO_3A { 506 DWORD dwStatus; 507 LPSTR pszStatus; 508 DWORD dwSeverity; 509 } 510 alias PORT_INFO_3A* PPORT_INFO_3A, LPPORT_INFO_3A; 511 512 struct PORT_INFO_3W { 513 DWORD dwStatus; 514 LPWSTR pszStatus; 515 DWORD dwSeverity; 516 } 517 alias PORT_INFO_3W* PPORT_INFO_3W, LPPORT_INFO_3W; 518 519 struct PRINTER_INFO_1A { 520 DWORD Flags; 521 LPSTR pDescription; 522 LPSTR pName; 523 LPSTR pComment; 524 } 525 alias PRINTER_INFO_1A* PPRINTER_INFO_1A, LPPRINTER_INFO_1A; 526 527 struct PRINTER_INFO_1W { 528 DWORD Flags; 529 LPWSTR pDescription; 530 LPWSTR pName; 531 LPWSTR pComment; 532 } 533 alias PRINTER_INFO_1W* PPRINTER_INFO_1W, LPPRINTER_INFO_1W; 534 535 struct PRINTER_INFO_2A { 536 LPSTR pServerName; 537 LPSTR pPrinterName; 538 LPSTR pShareName; 539 LPSTR pPortName; 540 LPSTR pDriverName; 541 LPSTR pComment; 542 LPSTR pLocation; 543 LPDEVMODEA pDevMode; 544 LPSTR pSepFile; 545 LPSTR pPrintProcessor; 546 LPSTR pDatatype; 547 LPSTR pParameters; 548 PSECURITY_DESCRIPTOR pSecurityDescriptor; 549 DWORD Attributes; 550 DWORD Priority; 551 DWORD DefaultPriority; 552 DWORD StartTime; 553 DWORD UntilTime; 554 DWORD Status; 555 DWORD cJobs; 556 DWORD AveragePPM; 557 } 558 alias PRINTER_INFO_2A* PPRINTER_INFO_2A, LPPRINTER_INFO_2A; 559 560 struct PRINTER_INFO_2W { 561 LPWSTR pServerName; 562 LPWSTR pPrinterName; 563 LPWSTR pShareName; 564 LPWSTR pPortName; 565 LPWSTR pDriverName; 566 LPWSTR pComment; 567 LPWSTR pLocation; 568 LPDEVMODEW pDevMode; 569 LPWSTR pSepFile; 570 LPWSTR pPrintProcessor; 571 LPWSTR pDatatype; 572 LPWSTR pParameters; 573 PSECURITY_DESCRIPTOR pSecurityDescriptor; 574 DWORD Attributes; 575 DWORD Priority; 576 DWORD DefaultPriority; 577 DWORD StartTime; 578 DWORD UntilTime; 579 DWORD Status; 580 DWORD cJobs; 581 DWORD AveragePPM; 582 } 583 alias PRINTER_INFO_2W* PPRINTER_INFO_2W, LPPRINTER_INFO_2W; 584 585 struct PRINTER_INFO_3 { 586 PSECURITY_DESCRIPTOR pSecurityDescriptor; 587 } 588 alias PRINTER_INFO_3* PPRINTER_INFO_3, LPPRINTER_INFO_3; 589 590 struct PRINTER_INFO_4A { 591 LPSTR pPrinterName; 592 LPSTR pServerName; 593 DWORD Attributes; 594 } 595 alias PRINTER_INFO_4A* PPRINTER_INFO_4A, LPPRINTER_INFO_4A; 596 597 struct PRINTER_INFO_4W { 598 LPWSTR pPrinterName; 599 LPWSTR pServerName; 600 DWORD Attributes; 601 } 602 alias PRINTER_INFO_4W* PPRINTER_INFO_4W, LPPRINTER_INFO_4W; 603 604 struct PRINTER_INFO_5A { 605 LPSTR pPrinterName; 606 LPSTR pPortName; 607 DWORD Attributes; 608 DWORD DeviceNotSelectedTimeout; 609 DWORD TransmissionRetryTimeout; 610 } 611 alias PRINTER_INFO_5A* PPRINTER_INFO_5A, LPPRINTER_INFO_5A; 612 613 struct PRINTER_INFO_5W { 614 LPWSTR pPrinterName; 615 LPWSTR pPortName; 616 DWORD Attributes; 617 DWORD DeviceNotSelectedTimeout; 618 DWORD TransmissionRetryTimeout; 619 } 620 alias PRINTER_INFO_5W* PPRINTER_INFO_5W, LPPRINTER_INFO_5W; 621 622 struct PRINTER_INFO_6 { 623 DWORD dwStatus; 624 } 625 alias PRINTER_INFO_6* PPRINTER_INFO_6, LPPRINTER_INFO_6; 626 627 struct PRINTPROCESSOR_INFO_1A { 628 LPSTR pName; 629 } 630 alias PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A, LPPRINTPROCESSOR_INFO_1A; 631 632 struct PRINTPROCESSOR_INFO_1W { 633 LPWSTR pName; 634 } 635 alias PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W, LPPRINTPROCESSOR_INFO_1W; 636 637 struct PRINTER_NOTIFY_INFO_DATA { 638 WORD Type; 639 WORD Field; 640 DWORD Reserved; 641 DWORD Id; 642 union _NotifyData { 643 DWORD[2] adwData; 644 struct _Data { 645 DWORD cbBuf; 646 PVOID pBuf; 647 } 648 _Data Data; 649 } 650 _NotifyData NotifyData; 651 } 652 alias PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA, LPPRINTER_NOTIFY_INFO_DATA; 653 654 struct PRINTER_NOTIFY_INFO { 655 DWORD Version; 656 DWORD Flags; 657 DWORD Count; 658 PRINTER_NOTIFY_INFO_DATA[1] aData; 659 } 660 alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO; 661 662 struct FORM_INFO_1A { 663 DWORD Flags; 664 LPSTR pName; 665 SIZEL Size; 666 RECTL ImageableArea; 667 } 668 alias FORM_INFO_1A* PFORM_INFO_1A, LPFORM_INFO_1A; 669 670 struct FORM_INFO_1W { 671 DWORD Flags; 672 LPWSTR pName; 673 SIZEL Size; 674 RECTL ImageableArea; 675 } 676 alias FORM_INFO_1W* PFORM_INFO_1W, LPFORM_INFO_1W; 677 678 struct PRINTER_DEFAULTSA { 679 LPSTR pDatatype; 680 LPDEVMODE pDevMode; 681 ACCESS_MASK DesiredAccess; 682 } 683 alias PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA, LPPRINTER_DEFAULTSA; 684 685 struct PRINTER_DEFAULTSW { 686 LPWSTR pDatatype; 687 LPDEVMODE pDevMode; 688 ACCESS_MASK DesiredAccess; 689 } 690 alias PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW, LPPRINTER_DEFAULTSW; 691 692 extern (Windows): 693 BOOL AbortPrinter(HANDLE); 694 BOOL AddFormA(HANDLE, DWORD, PBYTE); 695 BOOL AddFormW(HANDLE, DWORD, PBYTE); 696 BOOL AddJobA(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 697 BOOL AddJobW(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 698 BOOL AddMonitorA(LPSTR, DWORD, PBYTE); 699 BOOL AddMonitorW(LPWSTR, DWORD, PBYTE); 700 BOOL AddPortA(LPSTR, HWND, LPSTR); 701 BOOL AddPortW(LPWSTR, HWND, LPWSTR); 702 HANDLE AddPrinterA(LPSTR, DWORD, PBYTE); 703 HANDLE AddPrinterW(LPWSTR, DWORD, PBYTE); 704 BOOL AddPrinterConnectionA(LPSTR); 705 BOOL AddPrinterConnectionW(LPWSTR); 706 BOOL AddPrinterDriverA(LPSTR, DWORD, PBYTE); 707 BOOL AddPrinterDriverW(LPWSTR, DWORD, PBYTE); 708 BOOL AddPrintProcessorA(LPSTR, LPSTR, LPSTR, LPSTR); 709 BOOL AddPrintProcessorW(LPWSTR, LPWSTR, LPWSTR, LPWSTR); 710 BOOL AddPrintProvidorA(LPSTR, DWORD, PBYTE); 711 BOOL AddPrintProvidorW(LPWSTR, DWORD, PBYTE); 712 LONG AdvancedDocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODE, PDEVMODEA); 713 LONG AdvancedDocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODEW); 714 BOOL ClosePrinter(HANDLE); 715 BOOL ConfigurePortA(LPSTR, HWND, LPSTR); 716 BOOL ConfigurePortW(LPWSTR, HWND, LPWSTR); 717 HANDLE ConnectToPrinterDlg(HWND, DWORD); 718 BOOL DeleteFormA(HANDLE, LPSTR); 719 BOOL DeleteFormW(HANDLE, LPWSTR); 720 BOOL DeleteMonitorA(LPSTR, LPSTR, LPSTR); 721 BOOL DeleteMonitorW(LPWSTR, LPWSTR, LPWSTR); 722 BOOL DeletePortA(LPSTR, HWND, LPSTR); 723 BOOL DeletePortW(LPWSTR, HWND, LPWSTR); 724 BOOL DeletePrinter(HANDLE); 725 BOOL DeletePrinterConnectionA(LPSTR); 726 BOOL DeletePrinterConnectionW(LPWSTR); 727 DWORD DeletePrinterDataA(HANDLE, LPSTR); 728 DWORD DeletePrinterDataW(HANDLE, LPWSTR); 729 BOOL DeletePrinterDriverA(LPSTR, LPSTR, LPSTR); 730 BOOL DeletePrinterDriverW(LPWSTR, LPWSTR, LPWSTR); 731 BOOL DeletePrintProcessorA(LPSTR, LPSTR, LPSTR); 732 BOOL DeletePrintProcessorW(LPWSTR, LPWSTR, LPWSTR); 733 BOOL DeletePrintProvidorA(LPSTR, LPSTR, LPSTR); 734 BOOL DeletePrintProvidorW(LPWSTR, LPWSTR, LPWSTR); 735 LONG DocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODEA, PDEVMODEA, DWORD); 736 LONG DocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD); 737 BOOL EndDocPrinter(HANDLE); 738 BOOL EndPagePrinter(HANDLE); 739 BOOL EnumFormsA(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 740 BOOL EnumFormsW(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 741 BOOL EnumJobsA(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 742 BOOL EnumJobsW(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 743 BOOL EnumMonitorsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 744 BOOL EnumMonitorsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 745 BOOL EnumPortsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 746 BOOL EnumPortsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 747 DWORD EnumPrinterDataA(HANDLE, DWORD, LPSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD); 748 DWORD EnumPrinterDataW(HANDLE, DWORD, LPWSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD); 749 BOOL EnumPrinterDriversA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 750 BOOL EnumPrinterDriversW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 751 BOOL EnumPrintersA(DWORD, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 752 BOOL EnumPrintersW(DWORD, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 753 BOOL EnumPrintProcessorDatatypesA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 754 BOOL EnumPrintProcessorDatatypesW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 755 BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 756 BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 757 BOOL FindClosePrinterChangeNotification(HANDLE); 758 HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID); 759 HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*); 760 BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); 761 762 static if (_WIN32_WINNT >= 0x500) { 763 BOOL GetDefaultPrinterA(LPSTR, LPDWORD); 764 BOOL GetDefaultPrinterW(LPWSTR, LPDWORD); 765 } 766 767 BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 768 BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 769 BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); 770 BOOL GetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); 771 BOOL GetPrinterA(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 772 BOOL GetPrinterW(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 773 DWORD GetPrinterDataA(HANDLE, LPSTR, PDWORD, PBYTE, DWORD, PDWORD); 774 DWORD GetPrinterDataW(HANDLE, LPWSTR, PDWORD, PBYTE, DWORD, PDWORD); 775 DWORD GetPrinterDriverA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 776 DWORD GetPrinterDriverW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 777 DWORD GetPrinterDriverDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 778 DWORD GetPrinterDriverDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 779 DWORD GetPrintProcessorDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 780 DWORD GetPrintProcessorDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 781 BOOL OpenPrinterA(LPSTR, PHANDLE, LPPRINTER_DEFAULTSA); 782 BOOL OpenPrinterW(LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW); 783 DWORD PrinterMessageBoxA(HANDLE, DWORD, HWND, LPSTR, LPSTR, DWORD); 784 DWORD PrinterMessageBoxW(HANDLE, DWORD, HWND, LPWSTR, LPWSTR, DWORD); 785 BOOL PrinterProperties(HWND, HANDLE); 786 BOOL ReadPrinter(HANDLE, PVOID, DWORD, PDWORD); 787 BOOL ResetPrinterA(HANDLE, LPPRINTER_DEFAULTSA); 788 BOOL ResetPrinterW(HANDLE, LPPRINTER_DEFAULTSW); 789 BOOL ScheduleJob(HANDLE, DWORD); 790 BOOL SetFormA(HANDLE, LPSTR, DWORD, PBYTE); 791 BOOL SetFormW(HANDLE, LPWSTR, DWORD, PBYTE); 792 BOOL SetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD); 793 BOOL SetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD); 794 BOOL SetPrinterA(HANDLE, DWORD, PBYTE, DWORD); 795 BOOL SetPrinterW(HANDLE, DWORD, PBYTE, DWORD); 796 BOOL SetPrinterDataA(HANDLE, LPSTR, DWORD, PBYTE, DWORD); 797 BOOL SetPrinterDataW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD); 798 DWORD StartDocPrinterA(HANDLE, DWORD, PBYTE); 799 DWORD StartDocPrinterW(HANDLE, DWORD, PBYTE); 800 BOOL StartPagePrinter(HANDLE); 801 DWORD WaitForPrinterChange(HANDLE, DWORD); 802 BOOL WritePrinter(HANDLE, PVOID, DWORD, PDWORD); 803 804 version (Unicode) { 805 806 alias JOB_INFO_1W JOB_INFO_1; 807 alias JOB_INFO_2W JOB_INFO_2; 808 alias ADDJOB_INFO_1W ADDJOB_INFO_1; 809 alias DATATYPES_INFO_1W DATATYPES_INFO_1; 810 alias MONITOR_INFO_1W MONITOR_INFO_1; 811 alias MONITOR_INFO_2W MONITOR_INFO_2; 812 alias DOC_INFO_1W DOC_INFO_1; 813 alias DOC_INFO_2W DOC_INFO_2; 814 alias PORT_INFO_1W PORT_INFO_1; 815 alias PORT_INFO_2W PORT_INFO_2; 816 alias PORT_INFO_3W PORT_INFO_3; 817 alias DRIVER_INFO_2W DRIVER_INFO_2; 818 alias PRINTER_INFO_1W PRINTER_INFO_1; 819 alias PRINTER_INFO_2W PRINTER_INFO_2; 820 alias PRINTER_INFO_4W PRINTER_INFO_4; 821 alias PRINTER_INFO_5W PRINTER_INFO_5; 822 alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1; 823 alias FORM_INFO_1W FORM_INFO_1; 824 alias PRINTER_DEFAULTSW PRINTER_DEFAULTS; 825 826 alias AddFormW AddForm; 827 alias AddJobW AddJob; 828 alias AddMonitorW AddMonitor; 829 alias AddPortW AddPort; 830 alias AddPrinterW AddPrinter; 831 alias AddPrinterConnectionW AddPrinterConnection; 832 alias AddPrinterDriverW AddPrinterDriver; 833 alias AddPrintProcessorW AddPrintProcessor; 834 alias AddPrintProvidorW AddPrintProvidor; 835 alias AdvancedDocumentPropertiesW AdvancedDocumentProperties; 836 alias ConfigurePortW ConfigurePort; 837 alias DeleteFormW DeleteForm; 838 alias DeleteMonitorW DeleteMonitor; 839 alias DeletePortW DeletePort; 840 alias DeletePrinterConnectionW DeletePrinterConnection; 841 alias DeletePrinterDataW DeletePrinterData; 842 alias DeletePrinterDriverW DeletePrinterDriver; 843 alias DeletePrintProcessorW DeletePrintProcessor; 844 alias DeletePrintProvidorW DeletePrintProvidor; 845 alias DocumentPropertiesW DocumentProperties; 846 alias EnumFormsW EnumForms; 847 alias EnumJobsW EnumJobs; 848 alias EnumMonitorsW EnumMonitors; 849 alias EnumPortsW EnumPorts; 850 alias EnumPrinterDataW EnumPrinterData; 851 alias EnumPrinterDriversW EnumPrinterDrivers; 852 alias EnumPrintersW EnumPrinters; 853 alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes; 854 alias EnumPrintProcessorsW EnumPrintProcessors; 855 856 static if (_WIN32_WINNT >= 0x500) { 857 alias GetDefaultPrinterW GetDefaultPrinter; 858 } 859 860 alias GetFormW GetForm; 861 alias GetJobW GetJob; 862 alias GetPrinterW GetPrinter; 863 alias GetPrinterDataW GetPrinterData; 864 alias GetPrinterDriverW GetPrinterDriver; 865 alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory; 866 alias GetPrintProcessorDirectoryW GetPrintProcessorDirectory; 867 alias OpenPrinterW OpenPrinter; 868 alias PrinterMessageBoxW PrinterMessageBox; 869 alias ResetPrinterW ResetPrinter; 870 alias SetFormW SetForm; 871 alias SetJobW SetJob; 872 alias SetPrinterW SetPrinter; 873 alias SetPrinterDataW SetPrinterData; 874 alias StartDocPrinterW StartDocPrinter; 875 876 } else { 877 878 alias JOB_INFO_1A JOB_INFO_1; 879 alias JOB_INFO_2A JOB_INFO_2; 880 alias ADDJOB_INFO_1A ADDJOB_INFO_1; 881 alias DATATYPES_INFO_1A DATATYPES_INFO_1; 882 alias MONITOR_INFO_1A MONITOR_INFO_1; 883 alias MONITOR_INFO_2A MONITOR_INFO_2; 884 alias DOC_INFO_1A DOC_INFO_1; 885 alias DOC_INFO_2A DOC_INFO_2; 886 alias PORT_INFO_1A PORT_INFO_1; 887 alias PORT_INFO_2A PORT_INFO_2; 888 alias PORT_INFO_3A PORT_INFO_3; 889 alias DRIVER_INFO_2A DRIVER_INFO_2; 890 alias PRINTER_INFO_1A PRINTER_INFO_1; 891 alias PRINTER_INFO_2A PRINTER_INFO_2; 892 alias PRINTER_INFO_4A PRINTER_INFO_4; 893 alias PRINTER_INFO_5A PRINTER_INFO_5; 894 alias PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1; 895 alias FORM_INFO_1A FORM_INFO_1; 896 alias PRINTER_DEFAULTSA PRINTER_DEFAULTS; 897 898 alias AddFormA AddForm; 899 alias AddJobA AddJob; 900 alias AddMonitorA AddMonitor; 901 alias AddPortA AddPort; 902 alias AddPrinterA AddPrinter; 903 alias AddPrinterConnectionA AddPrinterConnection; 904 alias AddPrinterDriverA AddPrinterDriver; 905 alias AddPrintProcessorA AddPrintProcessor; 906 alias AddPrintProvidorA AddPrintProvidor; 907 alias AdvancedDocumentPropertiesA AdvancedDocumentProperties; 908 alias ConfigurePortA ConfigurePort; 909 alias DeleteFormA DeleteForm; 910 alias DeleteMonitorA DeleteMonitor; 911 alias DeletePortA DeletePort; 912 alias DeletePrinterConnectionA DeletePrinterConnection; 913 alias DeletePrinterDataA DeletePrinterData; 914 alias DeletePrinterDriverA DeletePrinterDriver; 915 alias DeletePrintProcessorA DeletePrintProcessor; 916 alias DeletePrintProvidorA DeletePrintProvidor; 917 alias DocumentPropertiesA DocumentProperties; 918 alias EnumFormsA EnumForms; 919 alias EnumJobsA EnumJobs; 920 alias EnumMonitorsA EnumMonitors; 921 alias EnumPortsA EnumPorts; 922 alias EnumPrinterDataA EnumPrinterData; 923 alias EnumPrinterDriversA EnumPrinterDrivers; 924 alias EnumPrintersA EnumPrinters; 925 alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes; 926 alias EnumPrintProcessorsA EnumPrintProcessors; 927 928 static if (_WIN32_WINNT >= 0x500) { 929 alias GetDefaultPrinterA GetDefaultPrinter; 930 } 931 932 alias GetFormA GetForm; 933 alias GetJobA GetJob; 934 alias GetPrinterA GetPrinter; 935 alias GetPrinterDataA GetPrinterData; 936 alias GetPrinterDriverA GetPrinterDriver; 937 alias GetPrinterDriverDirectoryA GetPrinterDriverDirectory; 938 alias GetPrintProcessorDirectoryA GetPrintProcessorDirectory; 939 alias OpenPrinterA OpenPrinter; 940 alias PrinterMessageBoxA PrinterMessageBox; 941 alias ResetPrinterA ResetPrinter; 942 alias SetFormA SetForm; 943 alias SetJobA SetJob; 944 alias SetPrinterA SetPrinter; 945 alias SetPrinterDataA SetPrinterData; 946 alias StartDocPrinterA StartDocPrinter; 947 } 948 949 alias JOB_INFO_1* PJOB_INFO_1, LPJOB_INFO_1; 950 alias JOB_INFO_2* PJOB_INFO_2, LPJOB_INFO_2; 951 alias ADDJOB_INFO_1* PADDJOB_INFO_1, LPADDJOB_INFO_1; 952 alias DATATYPES_INFO_1* PDATATYPES_INFO_1, LPDATATYPES_INFO_1; 953 alias MONITOR_INFO_1* PMONITOR_INFO_1, LPMONITOR_INFO_1; 954 alias MONITOR_INFO_2* PMONITOR_INFO_2, LPMONITOR_INFO_2; 955 alias DOC_INFO_1* PDOC_INFO_1, LPDOC_INFO_1; 956 alias DOC_INFO_2* PDOC_INFO_2, LPDOC_INFO_2; 957 alias PORT_INFO_1* PPORT_INFO_1, LPPORT_INFO_1; 958 alias PORT_INFO_2* PPORT_INFO_2, LPPORT_INFO_2; 959 alias PORT_INFO_3* PPORT_INFO_3, LPPORT_INFO_3; 960 alias DRIVER_INFO_2* PDRIVER_INFO_2, LPDRIVER_INFO_2; 961 alias PRINTER_INFO_1* PPRINTER_INFO_1, LPPRINTER_INFO_1; 962 alias PRINTER_INFO_2* PPRINTER_INFO_2, LPPRINTER_INFO_2; 963 alias PRINTER_INFO_4* PPRINTER_INFO_4, LPPRINTER_INFO_4; 964 alias PRINTER_INFO_5* PPRINTER_INFO_5, LPPRINTER_INFO_5; 965 alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSOR_INFO_1, LPPRINTPROCESSOR_INFO_1; 966 alias FORM_INFO_1* PFORM_INFO_1, LPFORM_INFO_1; 967 alias PRINTER_DEFAULTS* PPRINTER_DEFAULTS, LPPRINTER_DEFAULTS;