1 /** 2 * @file winspool.h 3 * Copyright 2012, 2013 MinGW.org project 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice (including the next 13 * paragraph) shall be included in all copies or substantial portions of the 14 * Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 * DEALINGS IN THE SOFTWARE. 23 */ 24 #ifndef _WINSPOOL_H 25 #define _WINSPOOL_H 26 #pragma GCC system_header 27 #include <_mingw.h> 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 #define DI_CHANNEL 1 34 #define DI_CHANNEL_WRITE 2 35 #define DI_READ_SPOOL_JOB 3 36 #define DI_MEMORYMAP_WRITE 0x1 37 #define FORM_USER 0x0 38 #define FORM_BUILTIN 0x1 39 #define FORM_PRINTER 0x2 40 41 #define JOB_CONTROL_PAUSE 1 42 #define JOB_CONTROL_RESUME 2 43 #define JOB_CONTROL_CANCEL 3 44 #define JOB_CONTROL_RESTART 4 45 #define JOB_CONTROL_DELETE 5 46 #define JOB_CONTROL_SENT_TO_PRINTER 6 47 #define JOB_CONTROL_LAST_PAGE_EJECTED 7 48 #define JOB_STATUS_PAUSED 0x1 49 #define JOB_STATUS_ERROR 0x2 50 #define JOB_STATUS_DELETING 0x4 51 #define JOB_STATUS_SPOOLING 0x8 52 #define JOB_STATUS_PRINTING 0x10 53 #define JOB_STATUS_OFFLINE 0x20 54 #define JOB_STATUS_PAPEROUT 0x40 55 #define JOB_STATUS_PRINTED 0x80 56 #define JOB_STATUS_DELETED 0x100 57 #define JOB_STATUS_BLOCKED_DEVQ 0x200 58 #define JOB_STATUS_USER_INTERVENTION 0x400 59 #define JOB_STATUS_RESTART 0x800 60 #define JOB_STATUS_COMPLETE 0x1000 61 #define JOB_POSITION_UNSPECIFIED 0 62 #define JOB_NOTIFY_TYPE 1 63 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0 64 #define JOB_NOTIFY_FIELD_MACHINE_NAME 1 65 #define JOB_NOTIFY_FIELD_PORT_NAME 2 66 #define JOB_NOTIFY_FIELD_USER_NAME 3 67 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 4 68 #define JOB_NOTIFY_FIELD_DATATYPE 5 69 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6 70 #define JOB_NOTIFY_FIELD_PARAMETERS 7 71 #define JOB_NOTIFY_FIELD_DRIVER_NAME 8 72 #define JOB_NOTIFY_FIELD_DEVMODE 9 73 #define JOB_NOTIFY_FIELD_STATUS 10 74 #define JOB_NOTIFY_FIELD_STATUS_STRING 11 75 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12 76 #define JOB_NOTIFY_FIELD_DOCUMENT 13 77 #define JOB_NOTIFY_FIELD_PRIORITY 14 78 #define JOB_NOTIFY_FIELD_POSITION 15 79 #define JOB_NOTIFY_FIELD_SUBMITTED 16 80 #define JOB_NOTIFY_FIELD_START_TIME 17 81 #define JOB_NOTIFY_FIELD_UNTIL_TIME 18 82 #define JOB_NOTIFY_FIELD_TIME 19 83 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 20 84 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 21 85 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 22 86 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 23 87 #define JOB_ACCESS_ADMINISTER 16 88 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER) 89 #define JOB_READ (STANDARD_RIGHTS_READ| JOB_ACCESS_ADMINISTER) 90 #define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER) 91 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER) 92 #define PRINTER_NOTIFY_OPTIONS_REFRESH 1 93 #define PRINTER_ACCESS_ADMINISTER 4 94 #define PRINTER_ACCESS_USE 8 95 #define PRINTER_ERROR_INFORMATION 0x80000000 96 #define PRINTER_ERROR_WARNING 0x40000000 97 #define PRINTER_ERROR_SEVERE 0x20000000 98 #define PRINTER_ERROR_OUTOFPAPER 1 99 #define PRINTER_ERROR_JAM 2 100 #define PRINTER_ERROR_OUTOFTONER 4 101 #define PRINTER_CONTROL_PAUSE 1 102 #define PRINTER_CONTROL_RESUME 2 103 #define PRINTER_CONTROL_PURGE 3 104 #define PRINTER_CONTROL_SET_STATUS 4 105 #define PRINTER_STATUS_PAUSED 1 106 #define PRINTER_STATUS_ERROR 2 107 #define PRINTER_STATUS_PENDING_DELETION 4 108 #define PRINTER_STATUS_PAPER_JAM 8 109 #define PRINTER_STATUS_PAPER_OUT 0x10 110 #define PRINTER_STATUS_MANUAL_FEED 0x20 111 #define PRINTER_STATUS_PAPER_PROBLEM 0x40 112 #define PRINTER_STATUS_OFFLINE 0x80 113 #define PRINTER_STATUS_IO_ACTIVE 0x100 114 #define PRINTER_STATUS_BUSY 0x200 115 #define PRINTER_STATUS_PRINTING 0x400 116 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800 117 #define PRINTER_STATUS_NOT_AVAILABLE 0x1000 118 #define PRINTER_STATUS_WAITING 0x2000 119 #define PRINTER_STATUS_PROCESSING 0x4000 120 #define PRINTER_STATUS_INITIALIZING 0x8000 121 #define PRINTER_STATUS_WARMING_UP 0x10000 122 #define PRINTER_STATUS_TONER_LOW 0x20000 123 #define PRINTER_STATUS_NO_TONER 0x40000 124 #define PRINTER_STATUS_PAGE_PUNT 0x80000 125 #define PRINTER_STATUS_USER_INTERVENTION 0x100000 126 #define PRINTER_STATUS_OUT_OF_MEMORY 0x200000 127 #define PRINTER_STATUS_DOOR_OPEN 0x400000 128 #define PRINTER_STATUS_SERVER_UNKNOWN 0x800000 129 #define PRINTER_STATUS_POWER_SAVE 0x1000000 130 #define PRINTER_ATTRIBUTE_QUEUED 1 131 #define PRINTER_ATTRIBUTE_DIRECT 2 132 #define PRINTER_ATTRIBUTE_DEFAULT 4 133 #define PRINTER_ATTRIBUTE_SHARED 8 134 #define PRINTER_ATTRIBUTE_NETWORK 0x10 135 #define PRINTER_ATTRIBUTE_HIDDEN 0x20 136 #define PRINTER_ATTRIBUTE_LOCAL 0x40 137 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80 138 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100 139 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200 140 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400 141 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800 142 #define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000 143 #define PRINTER_ATTRIBUTE_PUBLISHED 0x2000 144 #define PRINTER_ENUM_DEFAULT 1 145 #define PRINTER_ENUM_LOCAL 2 146 #define PRINTER_ENUM_CONNECTIONS 4 147 #define PRINTER_ENUM_FAVORITE 4 148 #define PRINTER_ENUM_NAME 8 149 #define PRINTER_ENUM_REMOTE 16 150 #define PRINTER_ENUM_SHARED 32 151 #define PRINTER_ENUM_NETWORK 0x40 152 #define PRINTER_ENUM_EXPAND 0x4000 153 #define PRINTER_ENUM_CONTAINER 0x8000 154 #define PRINTER_ENUM_ICONMASK 0xff0000 155 #define PRINTER_ENUM_ICON1 0x10000 156 #define PRINTER_ENUM_ICON2 0x20000 157 #define PRINTER_ENUM_ICON3 0x40000 158 #define PRINTER_ENUM_ICON4 0x80000 159 #define PRINTER_ENUM_ICON5 0x100000 160 #define PRINTER_ENUM_ICON6 0x200000 161 #define PRINTER_ENUM_ICON7 0x400000 162 #define PRINTER_ENUM_ICON8 0x800000 163 #define PRINTER_NOTIFY_TYPE 0 164 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0 165 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1 166 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 2 167 #define PRINTER_NOTIFY_FIELD_PORT_NAME 3 168 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4 169 #define PRINTER_NOTIFY_FIELD_COMMENT 5 170 #define PRINTER_NOTIFY_FIELD_LOCATION 6 171 #define PRINTER_NOTIFY_FIELD_DEVMODE 7 172 #define PRINTER_NOTIFY_FIELD_SEPFILE 8 173 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9 174 #define PRINTER_NOTIFY_FIELD_PARAMETERS 10 175 #define PRINTER_NOTIFY_FIELD_DATATYPE 11 176 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12 177 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13 178 #define PRINTER_NOTIFY_FIELD_PRIORITY 14 179 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15 180 #define PRINTER_NOTIFY_FIELD_START_TIME 16 181 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17 182 #define PRINTER_NOTIFY_FIELD_STATUS 18 183 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 19 184 #define PRINTER_NOTIFY_FIELD_CJOBS 20 185 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21 186 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22 187 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23 188 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24 189 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25 190 #define PRINTER_CHANGE_ADD_PRINTER 1 191 #define PRINTER_CHANGE_SET_PRINTER 2 192 #define PRINTER_CHANGE_DELETE_PRINTER 4 193 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8 194 #define PRINTER_CHANGE_PRINTER 0xFF 195 #define PRINTER_CHANGE_ADD_JOB 0x100 196 #define PRINTER_CHANGE_SET_JOB 0x200 197 #define PRINTER_CHANGE_DELETE_JOB 0x400 198 #define PRINTER_CHANGE_WRITE_JOB 0x800 199 #define PRINTER_CHANGE_JOB 0xFF00 200 #define PRINTER_CHANGE_ADD_FORM 0x10000 201 #define PRINTER_CHANGE_SET_FORM 0x20000 202 #define PRINTER_CHANGE_DELETE_FORM 0x40000 203 #define PRINTER_CHANGE_FORM 0x70000 204 #define PRINTER_CHANGE_ADD_PORT 0x100000 205 #define PRINTER_CHANGE_CONFIGURE_PORT 0x200000 206 #define PRINTER_CHANGE_DELETE_PORT 0x400000 207 #define PRINTER_CHANGE_PORT 0x700000 208 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000 209 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000 210 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000 211 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000 212 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000 213 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000 214 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000 215 #define PRINTER_CHANGE_TIMEOUT 0x80000000 216 #define PRINTER_CHANGE_ALL 0x7777FFFF 217 #define PRINTER_NOTIFY_INFO_DISCARDED 1 218 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE) 219 #define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE) 220 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE) 221 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE) 222 #define NO_PRIORITY 0 223 #define MAX_PRIORITY 99 224 #define MIN_PRIORITY 1 225 #define DEF_PRIORITY 1 226 #define PORT_TYPE_WRITE 1 227 #define PORT_TYPE_READ 2 228 #define PORT_TYPE_REDIRECTED 4 229 #define PORT_TYPE_NET_ATTACHED 8 230 #define SERVER_ACCESS_ADMINISTER 1 231 #define SERVER_ACCESS_ENUMERATE 2 232 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE) 233 #define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE) 234 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE) 235 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE) 236 #define PORT_STATUS_TYPE_ERROR 1 237 #define PORT_STATUS_TYPE_WARNING 2 238 #define PORT_STATUS_TYPE_INFO 3 239 #define PORT_STATUS_OFFLINE 1 240 #define PORT_STATUS_PAPER_JAM 2 241 #define PORT_STATUS_PAPER_OUT 3 242 #define PORT_STATUS_OUTPUT_BIN_FULL 4 243 #define PORT_STATUS_PAPER_PROBLEM 5 244 #define PORT_STATUS_NO_TONER 6 245 #define PORT_STATUS_DOOR_OPEN 7 246 #define PORT_STATUS_USER_INTERVENTION 8 247 #define PORT_STATUS_OUT_OF_MEMORY 9 248 #define PORT_STATUS_TONER_LOW 10 249 #define PORT_STATUS_WARMING_UP 11 250 #define PORT_STATUS_POWER_SAVE 12 251 252 #ifndef RC_INVOKED 253 typedef struct _ADDJOB_INFO_1A { 254 LPSTR Path; 255 DWORD JobId; 256 } ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A; 257 typedef struct _ADDJOB_INFO_1W { 258 LPWSTR Path; 259 DWORD JobId; 260 } ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W; 261 typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A; 262 typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W; 263 typedef struct _JOB_INFO_1A { 264 DWORD JobId; 265 LPSTR pPrinterName; 266 LPSTR pMachineName; 267 LPSTR pUserName; 268 LPSTR pDocument; 269 LPSTR pDatatype; 270 LPSTR pStatus; 271 DWORD Status; 272 DWORD Priority; 273 DWORD Position; 274 DWORD TotalPages; 275 DWORD PagesPrinted; 276 SYSTEMTIME Submitted; 277 } JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A; 278 typedef struct _JOB_INFO_1W { 279 DWORD JobId; 280 LPWSTR pPrinterName; 281 LPWSTR pMachineName; 282 LPWSTR pUserName; 283 LPWSTR pDocument; 284 LPWSTR pDatatype; 285 LPWSTR pStatus; 286 DWORD Status; 287 DWORD Priority; 288 DWORD Position; 289 DWORD TotalPages; 290 DWORD PagesPrinted; 291 SYSTEMTIME Submitted; 292 } JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W; 293 typedef struct _JOB_INFO_2A { 294 DWORD JobId; 295 LPSTR pPrinterName; 296 LPSTR pMachineName; 297 LPSTR pUserName; 298 LPSTR pDocument; 299 LPSTR pNotifyName; 300 LPSTR pDatatype; 301 LPSTR pPrintProcessor; 302 LPSTR pParameters; 303 LPSTR pDriverName; 304 LPDEVMODEA pDevMode; 305 LPSTR pStatus; 306 PSECURITY_DESCRIPTOR pSecurityDescriptor; 307 DWORD Status; 308 DWORD Priority; 309 DWORD Position; 310 DWORD StartTime; 311 DWORD UntilTime; 312 DWORD TotalPages; 313 DWORD Size; 314 SYSTEMTIME Submitted; 315 DWORD Time; 316 DWORD PagesPrinted; 317 } JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A; 318 typedef struct _JOB_INFO_2W { 319 DWORD JobId; 320 LPWSTR pPrinterName; 321 LPWSTR pMachineName; 322 LPWSTR pUserName; 323 LPWSTR pDocument; 324 LPWSTR pNotifyName; 325 LPWSTR pDatatype; 326 LPWSTR pPrintProcessor; 327 LPWSTR pParameters; 328 LPWSTR pDriverName; 329 LPDEVMODEW pDevMode; 330 LPWSTR pStatus; 331 PSECURITY_DESCRIPTOR pSecurityDescriptor; 332 DWORD Status; 333 DWORD Priority; 334 DWORD Position; 335 DWORD StartTime; 336 DWORD UntilTime; 337 DWORD TotalPages; 338 DWORD Size; 339 SYSTEMTIME Submitted; 340 DWORD Time; 341 DWORD PagesPrinted; 342 } JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W; 343 typedef struct _JOB_INFO_3 { 344 DWORD JobId; 345 DWORD NextJobId; 346 DWORD Reserved; 347 } JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3; 348 typedef struct _DOC_INFO_1A { 349 LPSTR pDocName; 350 LPSTR pOutputFile; 351 LPSTR pDatatype; 352 } DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A; 353 typedef struct _DOC_INFO_1W { 354 LPWSTR pDocName; 355 LPWSTR pOutputFile; 356 LPWSTR pDatatype; 357 } DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W; 358 typedef struct _DOC_INFO_2A { 359 LPSTR pDocName; 360 LPSTR pOutputFile; 361 LPSTR pDatatype; 362 DWORD dwMode; 363 DWORD JobId; 364 } DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A; 365 typedef struct _DOC_INFO_2W { 366 LPWSTR pDocName; 367 LPWSTR pOutputFile; 368 LPWSTR pDatatype; 369 DWORD dwMode; 370 DWORD JobId; 371 } DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W; 372 typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A; 373 typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W; 374 typedef struct _DRIVER_INFO_2A { 375 DWORD cVersion; 376 LPSTR pName; 377 LPSTR pEnvironment; 378 LPSTR pDriverPath; 379 LPSTR pDataFile; 380 LPSTR pConfigFile; 381 } DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A; 382 typedef struct _DRIVER_INFO_2W { 383 DWORD cVersion; 384 LPWSTR pName; 385 LPWSTR pEnvironment; 386 LPWSTR pDriverPath; 387 LPWSTR pDataFile; 388 LPWSTR pConfigFile; 389 } DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W; 390 typedef struct _DRIVER_INFO_3A { 391 DWORD cVersion; 392 LPSTR pName; 393 LPSTR pEnvironment; 394 LPSTR pDriverPath; 395 LPSTR pDataFile; 396 LPSTR pConfigFile; 397 LPSTR pHelpFile; 398 LPSTR pDependentFiles; 399 LPSTR pMonitorName; 400 LPSTR pDefaultDataType; 401 } DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A; 402 typedef struct _DRIVER_INFO_3W { 403 DWORD cVersion; 404 LPWSTR pName; 405 LPWSTR pEnvironment; 406 LPWSTR pDriverPath; 407 LPWSTR pDataFile; 408 LPWSTR pConfigFile; 409 LPWSTR pHelpFile; 410 LPWSTR pDependentFiles; 411 LPWSTR pMonitorName; 412 LPWSTR pDefaultDataType; 413 } DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W; 414 415 typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A; 416 typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W; 417 typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A; 418 typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W; 419 typedef struct _MONITOR_INFO_2A{ 420 LPSTR pName; 421 LPSTR pEnvironment; 422 LPSTR pDLLName; 423 } MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A; 424 typedef struct _MONITOR_INFO_2W{ 425 LPWSTR pName; 426 LPWSTR pEnvironment; 427 LPWSTR pDLLName; 428 } MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W; 429 typedef struct _PORT_INFO_2A { 430 LPSTR pPortName; 431 LPSTR pMonitorName; 432 LPSTR pDescription; 433 DWORD fPortType; 434 DWORD Reserved; 435 } PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A; 436 typedef struct _PORT_INFO_2W { 437 LPWSTR pPortName; 438 LPWSTR pMonitorName; 439 LPWSTR pDescription; 440 DWORD fPortType; 441 DWORD Reserved; 442 } PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W; 443 typedef struct _PORT_INFO_3A { 444 DWORD dwStatus; 445 LPSTR pszStatus; 446 DWORD dwSeverity; 447 } PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A; 448 typedef struct _PORT_INFO_3W { 449 DWORD dwStatus; 450 LPWSTR pszStatus; 451 DWORD dwSeverity; 452 } PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W; 453 454 typedef struct _PRINTER_INFO_1A { 455 DWORD Flags; 456 LPSTR pDescription; 457 LPSTR pName; 458 LPSTR pComment; 459 } PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A; 460 typedef struct _PRINTER_INFO_1W { 461 DWORD Flags; 462 LPWSTR pDescription; 463 LPWSTR pName; 464 LPWSTR pComment; 465 } PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W; 466 typedef struct _PRINTER_INFO_2A { 467 LPSTR pServerName; 468 LPSTR pPrinterName; 469 LPSTR pShareName; 470 LPSTR pPortName; 471 LPSTR pDriverName; 472 LPSTR pComment; 473 LPSTR pLocation; 474 LPDEVMODEA pDevMode; 475 LPSTR pSepFile; 476 LPSTR pPrintProcessor; 477 LPSTR pDatatype; 478 LPSTR pParameters; 479 PSECURITY_DESCRIPTOR pSecurityDescriptor; 480 DWORD Attributes; 481 DWORD Priority; 482 DWORD DefaultPriority; 483 DWORD StartTime; 484 DWORD UntilTime; 485 DWORD Status; 486 DWORD cJobs; 487 DWORD AveragePPM; 488 } PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A; 489 typedef struct _PRINTER_INFO_2W { 490 LPWSTR pServerName; 491 LPWSTR pPrinterName; 492 LPWSTR pShareName; 493 LPWSTR pPortName; 494 LPWSTR pDriverName; 495 LPWSTR pComment; 496 LPWSTR pLocation; 497 LPDEVMODEW pDevMode; 498 LPWSTR pSepFile; 499 LPWSTR pPrintProcessor; 500 LPWSTR pDatatype; 501 LPWSTR pParameters; 502 PSECURITY_DESCRIPTOR pSecurityDescriptor; 503 DWORD Attributes; 504 DWORD Priority; 505 DWORD DefaultPriority; 506 DWORD StartTime; 507 DWORD UntilTime; 508 DWORD Status; 509 DWORD cJobs; 510 DWORD AveragePPM; 511 } PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W; 512 typedef struct _PRINTER_INFO_3 { 513 PSECURITY_DESCRIPTOR pSecurityDescriptor; 514 } PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3; 515 typedef struct _PRINTER_INFO_4A { 516 LPSTR pPrinterName; 517 LPSTR pServerName; 518 DWORD Attributes; 519 } PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A; 520 typedef struct _PRINTER_INFO_4W { 521 LPWSTR pPrinterName; 522 LPWSTR pServerName; 523 DWORD Attributes; 524 } PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W; 525 typedef struct _PRINTER_INFO_5A { 526 LPSTR pPrinterName; 527 LPSTR pPortName; 528 DWORD Attributes; 529 DWORD DeviceNotSelectedTimeout; 530 DWORD TransmissionRetryTimeout; 531 } PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A; 532 typedef struct _PRINTER_INFO_5W { 533 LPWSTR pPrinterName; 534 LPWSTR pPortName; 535 DWORD Attributes; 536 DWORD DeviceNotSelectedTimeout; 537 DWORD TransmissionRetryTimeout; 538 } PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W; 539 typedef struct _PRINTER_INFO_6 { 540 DWORD dwStatus; 541 } PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6; 542 543 typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A; 544 typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W; 545 typedef struct _PRINTER_NOTIFY_INFO_DATA { 546 WORD Type; 547 WORD Field; 548 DWORD Reserved; 549 DWORD Id; 550 union { 551 DWORD adwData[2]; 552 struct { 553 DWORD cbBuf; 554 PVOID pBuf; 555 } Data; 556 } NotifyData; 557 } PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA; 558 typedef struct _PRINTER_NOTIFY_INFO { 559 DWORD Version; 560 DWORD Flags; 561 DWORD Count; 562 PRINTER_NOTIFY_INFO_DATA aData[1]; 563 } PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO; 564 typedef struct _FORM_INFO_1A { 565 DWORD Flags; 566 LPSTR pName; 567 SIZEL Size; 568 RECTL ImageableArea; 569 } FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A; 570 typedef struct _FORM_INFO_1W { 571 DWORD Flags; 572 LPWSTR pName; 573 SIZEL Size; 574 RECTL ImageableArea; 575 } FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W; 576 typedef struct _PRINTER_DEFAULTSA { 577 LPSTR pDatatype; 578 LPDEVMODE pDevMode; 579 ACCESS_MASK DesiredAccess; 580 } PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA; 581 typedef struct _PRINTER_DEFAULTSW { 582 LPWSTR pDatatype; 583 LPDEVMODE pDevMode; 584 ACCESS_MASK DesiredAccess; 585 } PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW; 586 587 typedef struct _PROVIDOR_INFO_1A { 588 LPSTR pName; 589 LPSTR pEnvironment; 590 LPSTR pDLLName; 591 } PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A; 592 typedef struct _PROVIDOR_INFO_1W { 593 LPWSTR pName; 594 LPWSTR pEnvironment; 595 LPWSTR pDLLName; 596 } PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W; 597 typedef struct _PROVIDOR_INFO_2A { 598 LPSTR pOrder; 599 } PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPROVIDOR_INFO_2A; 600 typedef struct _PROVIDOR_INFO_2W { 601 LPWSTR pOrder; 602 } PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPROVIDOR_INFO_2W; 603 604 BOOL WINAPI AbortPrinter(HANDLE); 605 BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE); 606 BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE); 607 BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD); 608 BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD); 609 BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE); 610 BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE); 611 BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR); 612 BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR); 613 HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE); 614 HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE); 615 BOOL WINAPI AddPrinterConnectionA(LPSTR); 616 BOOL WINAPI AddPrinterConnectionW(LPWSTR); 617 BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE); 618 BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE); 619 BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR); 620 BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR); 621 BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE); 622 BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE); 623 LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA); 624 LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW); 625 BOOL WINAPI ClosePrinter(HANDLE); 626 BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR); 627 BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR); 628 HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD); 629 BOOL WINAPI DeleteFormA(HANDLE,LPSTR); 630 BOOL WINAPI DeleteFormW(HANDLE,LPWSTR); 631 BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR); 632 BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR); 633 BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR); 634 BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR); 635 BOOL WINAPI DeletePrinter(HANDLE); 636 BOOL WINAPI DeletePrinterConnectionA(LPSTR); 637 BOOL WINAPI DeletePrinterConnectionW(LPWSTR); 638 DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR); 639 DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR); 640 BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR); 641 BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR); 642 BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR); 643 BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR); 644 BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR); 645 BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR); 646 LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD); 647 LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD); 648 BOOL WINAPI EndDocPrinter(HANDLE); 649 BOOL WINAPI EndPagePrinter(HANDLE); 650 BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 651 BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 652 BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 653 BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 654 BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 655 BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 656 BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 657 BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 658 DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD); 659 DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD); 660 BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 661 BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 662 BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 663 BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 664 BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 665 BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 666 BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 667 BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); 668 BOOL WINAPI FindClosePrinterChangeNotification(HANDLE); 669 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID); 670 HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*); 671 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); 672 673 BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD); 674 BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); 675 BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD); 676 BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD); 677 BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD); 678 BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD); 679 DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD); 680 DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD); 681 DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD); 682 DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); 683 DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD); 684 DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); 685 DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD); 686 DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); 687 BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA); 688 BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW); 689 DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD); 690 DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD); 691 BOOL WINAPI PrinterProperties(HWND,HANDLE); 692 BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD); 693 BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA); 694 BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW); 695 BOOL WINAPI ScheduleJob(HANDLE,DWORD); 696 BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE); 697 BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE); 698 BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD); 699 BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD); 700 BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD); 701 BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD); 702 BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD); 703 BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD); 704 DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE); 705 DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE); 706 BOOL WINAPI StartPagePrinter(HANDLE); 707 DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD); 708 BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD); 709 710 typedef __AW(JOB_INFO_1) JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1; 711 typedef __AW(JOB_INFO_2) JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2; 712 typedef __AW(ADDJOB_INFO_1) ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1; 713 typedef __AW(DATATYPES_INFO_1) DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1; 714 typedef __AW(MONITOR_INFO_1) MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1; 715 typedef __AW(MONITOR_INFO_2) MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2; 716 typedef __AW(DOC_INFO_1) DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1; 717 typedef __AW(DOC_INFO_2) DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2; 718 typedef __AW(PORT_INFO_1) PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1; 719 typedef __AW(PORT_INFO_2) PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2; 720 typedef __AW(PORT_INFO_3) PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3; 721 typedef __AW(DRIVER_INFO_1) DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1; 722 typedef __AW(DRIVER_INFO_2) DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2; 723 typedef __AW(DRIVER_INFO_3) DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3; 724 725 typedef __AW(PRINTER_INFO_1) PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1; 726 typedef __AW(PRINTER_INFO_2) PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2; 727 typedef __AW(PRINTER_INFO_4) PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4; 728 typedef __AW(PRINTER_INFO_5) PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5; 729 730 typedef __AW(PRINTPROCESSOR_INFO_1) PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1; 731 typedef __AW(FORM_INFO_1) FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1; 732 typedef __AW(PRINTER_DEFAULTS) PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS; 733 typedef __AW(PROVIDOR_INFO_1) PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1; 734 typedef __AW(PROVIDOR_INFO_2) PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2; 735 #define AddForm __AW(AddForm) 736 #define AddJob __AW(AddJob) 737 #define AddMonitor __AW(AddMonitor) 738 #define AddPort __AW(AddPort) 739 #define AddPrinter __AW(AddPrinter) 740 #define AddPrinterConnection __AW(AddPrinterConnection) 741 #define AddPrinterDriver __AW(AddPrinterDriver) 742 #define AddPrintProcessor __AW(AddPrintProcessor) 743 #define AddPrintProvidor __AW(AddPrintProvidor) 744 #define AdvancedDocumentProperties __AW(AdvancedDocumentProperties) 745 #define ConfigurePort __AW(ConfigurePort) 746 #define DeleteForm __AW(DeleteForm) 747 #define DeleteMonitor __AW(DeleteMonitor) 748 #define DeletePort __AW(DeletePort) 749 #define DeletePrinterConnection __AW(DeletePrinterConnection) 750 #define DeletePrinterData __AW(DeletePrinterData) 751 #define DeletePrinterDriver __AW(DeletePrinterDriver) 752 #define DeletePrintProcessor __AW(DeletePrinterProcessor) 753 #define DeletePrintProvidor __AW(DeletePrinterProvidor) 754 #define DocumentProperties __AW(DocumentProperties) 755 #define EnumForms __AW(EnumForms) 756 #define EnumJobs __AW(EnumJobs) 757 #define EnumMonitors __AW(EnumMonitors) 758 #define EnumPorts __AW(EnumPorts) 759 #define EnumPrinterData __AW(EnumPrinterData) 760 #define EnumPrinterDrivers __AW(EnumPrinterDrivers) 761 #define EnumPrinters __AW(EnumPrinters) 762 #define EnumPrintProcessorDatatypes __AW(EnumPrintProcessorDatatypes) 763 #define EnumPrintProcessors __AW(EnumPrintProcessors) 764 #define GetDefaultPrinter __AW(GetDefaultPrinter) 765 #define GetForm __AW(GetForm) 766 #define GetJob __AW(GetJob) 767 #define GetPrinter __AW(GetPrinter) 768 #define GetPrinterData __AW(GetPrinterData) 769 #define GetPrinterDriver __AW(GetPrinterDriver) 770 #define GetPrinterDriverDirectory __AW(GetPrinterDriverDirectory) 771 #define GetPrintProcessorDirectory __AW(GetPrintProcessorDirectory) 772 #define OpenPrinter __AW(OpenPrinter) 773 #define PrinterMessageBox __AW(PrinterMessageBox) 774 #define ResetPrinter __AW(ResetPrinter) 775 #define SetForm __AW(SetForm) 776 #define SetJob __AW(SetJob) 777 #define SetPrinter __AW(SetPrinter) 778 #define SetPrinterData __AW(SetPrinterData) 779 #define StartDocPrinter __AW(StartDocPrinter) 780 #endif /* RC_INVOKED */ 781 782 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) 783 #define DRIVER_KERNELMODE 0x00000001 784 #define DRIVER_USERMODE 0x00000002 785 #define DSPRINT_PUBLISH 0x00000001 786 #define DSPRINT_UPDATE 0x00000002 787 #define DSPRINT_UNPUBLISH 0x00000004 788 #define DSPRINT_REPUBLISH 0x00000008 789 #define DSPRINT_PENDING 0x80000000 790 791 #ifndef RC_INVOKED 792 typedef struct _DRIVER_INFO_4A { 793 DWORD cVersion; 794 LPSTR pName; 795 LPSTR pEnvironment; 796 LPSTR pDriverPath; 797 LPSTR pDataFile; 798 LPSTR pConfigFile; 799 LPSTR pHelpFile; 800 LPSTR pDependentFiles; 801 LPSTR pMonitorName; 802 LPSTR pDefaultDataType; 803 LPSTR pszzPreviousNames; 804 } DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A; 805 typedef struct _DRIVER_INFO_4W { 806 DWORD cVersion; 807 LPWSTR pName; 808 LPWSTR pEnvironment; 809 LPWSTR pDriverPath; 810 LPWSTR pDataFile; 811 LPWSTR pConfigFile; 812 LPWSTR pHelpFile; 813 LPWSTR pDependentFiles; 814 LPWSTR pMonitorName; 815 LPWSTR pDefaultDataType; 816 LPWSTR pszzPreviousNames; 817 } DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W; 818 typedef struct _DRIVER_INFO_5A { 819 DWORD cVersion; 820 LPSTR pName; 821 LPSTR pEnvironment; 822 LPSTR pDriverPath; 823 LPSTR pDataFile; 824 LPSTR pConfigFile; 825 DWORD dwDriverAttributes; 826 DWORD dwConfigVersion; 827 DWORD dwDriverVersion; 828 } DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A; 829 typedef struct _DRIVER_INFO_5W { 830 DWORD cVersion; 831 LPWSTR pName; 832 LPWSTR pEnvironment; 833 LPWSTR pDriverPath; 834 LPWSTR pDataFile; 835 LPWSTR pConfigFile; 836 DWORD dwDriverAttributes; 837 DWORD dwConfigVersion; 838 DWORD dwDriverVersion; 839 } DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W; 840 typedef struct _DRIVER_INFO_6A { 841 DWORD cVersion; 842 LPSTR pName; 843 LPSTR pEnvironment; 844 LPSTR pDriverPath; 845 LPSTR pDataFile; 846 LPSTR pConfigFile; 847 LPSTR pHelpFile; 848 LPSTR pDependentFiles; 849 LPSTR pMonitorName; 850 LPSTR pDefaultDataType; 851 LPSTR pszzPreviousNames; 852 FILETIME ftDriverDate; 853 DWORDLONG dwlDriverVersion; 854 LPSTR pszMfgName; 855 LPSTR pszOEMUrl; 856 LPSTR pszHardwareID; 857 LPSTR pszProvider; 858 } DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A; 859 typedef struct _DRIVER_INFO_6W { 860 DWORD cVersion; 861 LPWSTR pName; 862 LPWSTR pEnvironment; 863 LPWSTR pDriverPath; 864 LPWSTR pDataFile; 865 LPWSTR pConfigFile; 866 LPWSTR pHelpFile; 867 LPWSTR pDependentFiles; 868 LPWSTR pMonitorName; 869 LPWSTR pDefaultDataType; 870 LPWSTR pszzPreviousNames; 871 FILETIME ftDriverDate; 872 DWORDLONG dwlDriverVersion; 873 LPWSTR pszMfgName; 874 LPWSTR pszOEMUrl; 875 LPWSTR pszHardwareID; 876 LPWSTR pszProvider; 877 } DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W; 878 typedef struct _PRINTER_ENUM_VALUESA { 879 LPSTR pValueName; 880 DWORD cbValueName; 881 DWORD dwType; 882 LPBYTE pData; 883 DWORD cbData; 884 } PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPRINTER_ENUM_VALUESA; 885 typedef struct _PRINTER_ENUM_VALUESW { 886 LPWSTR pValueName; 887 DWORD cbValueName; 888 DWORD dwType; 889 LPBYTE pData; 890 DWORD cbData; 891 } PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPRINTER_ENUM_VALUESW; 892 typedef struct _PRINTER_INFO_7A { 893 LPWSTR pszObjectGUID; 894 DWORD dwAction; 895 } PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A; 896 typedef struct _PRINTER_INFO_7W { 897 LPWSTR pszObjectGUID; 898 DWORD dwAction; 899 } PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W; 900 typedef struct _PRINTER_INFO_8 { 901 LPDEVMODE pDevMode; 902 } PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8; 903 typedef struct _PRINTER_INFO_9 { 904 LPDEVMODE pDevMode; 905 } PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9; 906 typedef struct _PRINTPROCESSOR_CAPS_1 { 907 DWORD dwLevel; 908 DWORD dwNupOptions; 909 DWORD dwPageOrderFlags; 910 DWORD dwNumberOfCopies; 911 } PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1,*LPPRINTPROCESSOR_CAPS_1; 912 BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD); 913 BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD); 914 typedef __AW(DRIVER_INFO_4) DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4; 915 typedef __AW(DRIVER_INFO_5) DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5; 916 typedef __AW(DRIVER_INFO_6) DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6; 917 typedef __AW(PRINTER_ENUM_VALUES) PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES; 918 typedef __AW(PRINTER_INFO_7) PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7; 919 #endif /* ! RC_INVOKED */ 920 921 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */ 922 923 #ifdef __cplusplus 924 } 925 #endif 926 927 #endif 928