|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1990 Microsoft Corporation
4:
5: Module Name:
6:
7: WinSpool.h
8:
9: Abstract:
10:
11: Header file for Print APIs
12:
13: Author:
14:
15: Dave Snipp (DaveSn) 15-Mar-1991
16:
17: Revision History:
18:
19: --*/
20:
21: #ifndef _WINSPOOL_
22: #define _WINSPOOL_
23:
1.1.1.2 ! root 24: typedef struct _PRINTER_INFO_1 {
! 25: DWORD Flags;
! 26: LPTSTR pDescription;
! 27: LPTSTR pName;
! 28: LPTSTR pComment;
! 29: } PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
! 30:
! 31: typedef struct _PRINTER_INFO_2 {
! 32: LPTSTR pServerName;
! 33: LPTSTR pPrinterName;
! 34: LPTSTR pShareName;
! 35: LPTSTR pPortName;
! 36: LPTSTR pDriverName;
! 37: LPTSTR pComment;
! 38: LPTSTR pLocation;
! 39: LPDEVMODE pDevMode;
! 40: LPTSTR pSepFile;
! 41: LPTSTR pPrintProcessor;
! 42: LPTSTR pDatatype;
! 43: LPTSTR pParameters;
! 44: PSECURITY_DESCRIPTOR pSecurityDescriptor;
! 45: DWORD Attributes;
! 46: DWORD Priority;
! 47: DWORD DefaultPriority;
! 48: DWORD StartTime;
! 49: DWORD UntilTime;
! 50: DWORD Status;
! 51: DWORD cJobs;
! 52: DWORD AveragePPM;
! 53: } PRINTER_INFO_2, *PPRINTER_INFO_2, *LPPRINTER_INFO_2;
! 54:
! 55: #define PRINTER_CONTROL_PAUSE 1
! 56: #define PRINTER_CONTROL_RESUME 2
! 57: #define PRINTER_CONTROL_PURGE 3
1.1 root 58:
1.1.1.2 ! root 59: #define PRINTER_STATUS_PAUSED 0x00000001
! 60: #define PRINTER_STATUS_ERROR 0x00000002
1.1 root 61: #define PRINTER_STATUS_PENDING_DELETION 0x00000004
62:
1.1.1.2 ! root 63: #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
! 64: #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
! 65: #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
! 66: #define PRINTER_ATTRIBUTE_SHARED 0x00000008
1.1 root 67:
68: #define NO_PRIORITY 0
69: #define MAX_PRIORITY 99
70: #define MIN_PRIORITY 1
71: #define DEF_PRIORITY 1
72:
1.1.1.2 ! root 73: typedef struct _JOB_INFO_1 {
! 74: DWORD JobId;
! 75: LPTSTR pPrinterName;
! 76: LPTSTR pMachineName;
! 77: LPTSTR pUserName;
! 78: LPTSTR pDocument;
! 79: LPTSTR pDatatype;
! 80: LPTSTR pStatus;
! 81: DWORD Status;
! 82: DWORD Priority;
! 83: DWORD Position;
! 84: } JOB_INFO_1, *PJOB_INFO_1, *LPJOB_INFO_1;
! 85:
! 86: typedef struct _JOB_INFO_2 {
! 87: DWORD JobId;
! 88: LPTSTR pPrinterName;
! 89: LPTSTR pMachineName;
! 90: LPTSTR pUserName;
! 91: LPTSTR pDocument;
! 92: LPTSTR pNotifyName;
! 93: LPTSTR pDatatype;
! 94: LPTSTR pPrintProcessor;
! 95: LPTSTR pParameters;
! 96: LPTSTR pDriverName;
! 97: LPDEVMODE pDevMode;
! 98: LPTSTR pStatus;
! 99: PSECURITY_DESCRIPTOR pSecurityDescriptor;
! 100: DWORD Status;
! 101: DWORD Priority;
! 102: DWORD Position;
! 103: DWORD StartTime;
! 104: DWORD UntilTime;
! 105: DWORD TotalPages;
! 106: DWORD Size;
! 107: SYSTEMTIME Submitted; // Time the job was spooled
! 108: DWORD Time; // How many seconds the job has been printing
! 109: } JOB_INFO_2, *PJOB_INFO_2, *LPJOB_INFO_2;
1.1 root 110:
111: #define JOB_CONTROL_PAUSE 1
112: #define JOB_CONTROL_RESUME 2
113: #define JOB_CONTROL_CANCEL 3
114: #define JOB_CONTROL_RESTART 4
115:
1.1.1.2 ! root 116: #define JOB_STATUS_PAUSED 0x00000001
! 117: #define JOB_STATUS_ERROR 0x00000002
! 118: #define JOB_STATUS_DELETING 0x00000004
! 119: #define JOB_STATUS_SPOOLING 0x00000008
! 120: #define JOB_STATUS_PRINTING 0x00000010
! 121: #define JOB_STATUS_OFFLINE 0x00000020
! 122: #define JOB_STATUS_PAPEROUT 0x00000040
! 123: #define JOB_STATUS_PRINTED 0x00000080
! 124:
! 125: typedef struct _ADDJOB_INFO_1 {
! 126: LPTSTR Path;
! 127: DWORD JobId;
! 128: } ADDJOB_INFO_1, *PADDJOB_INFO_1, *LPADDJOB_INFO_1;
! 129:
! 130: typedef struct _DRIVER_INFO_1 {
! 131: LPTSTR pName; // QMS 810
! 132: } DRIVER_INFO_1, *PDRIVER_INFO_1, *LPDRIVER_INFO_1;
! 133:
! 134: typedef struct _DRIVER_INFO_2 {
! 135: DWORD cVersion;
! 136: LPTSTR pName; // QMS 810
! 137: LPTSTR pEnvironment; // W32x86
! 138: LPTSTR pDriverPath; // c:\drivers\pscript.dll
! 139: LPTSTR pDataFile; // c:\drivers\QMS810.PPD
! 140: LPTSTR pConfigFile; // c:\drivers\PSCRPTUI.DLL
! 141: } DRIVER_INFO_2, *PDRIVER_INFO_2, *LPDRIVER_INFO_2;
! 142:
! 143: typedef struct _DOC_INFO_1 {
! 144: LPTSTR pDocName;
! 145: LPTSTR pOutputFile;
! 146: LPTSTR pDatatype;
! 147: } DOC_INFO_1, *PDOC_INFO_1, *LPDOC_INFO_1;
! 148:
! 149: typedef struct _FORM_INFO_1 {
! 150: LPTSTR pName;
! 151: SIZEL Size;
! 152: RECTL ImageableArea;
! 153: } FORM_INFO_1, *PFORM_INFO_1, *LPFORM_INFO_1;
! 154:
! 155: typedef struct _PRINTPROCESSOR_INFO_1 {
! 156: LPTSTR pName;
! 157: } PRINTPROCESSOR_INFO_1, *PPRINTPROCESSOR_INFO_1, *LPPRINTPROCESSOR_INFO_1;
! 158:
! 159: typedef struct _PORT_INFO_1 {
! 160: LPSTR pName;
! 161: } PORT_INFO_1, *PPORT_INFO_1, *LPPORT_INFO_1;
! 162:
! 163: typedef struct _MONITOR_INFO_1 {
! 164: LPSTR pName;
! 165: } MONITOR_INFO_1, *PMONITOR_INFO_1, *LPMONITOR_INFO_1;
! 166:
! 167: typedef struct _DATATYPES_INFO_1 {
! 168: LPSTR pName;
! 169: } DATATYPES_INFO_1, *PDATATYPES_INFO_1, *LPDATATYPES_INFO_1;
! 170:
! 171: typedef struct _PRINTER_DEFAULTS {
! 172: LPSTR pDatatype;
! 173: LPDEVMODE pDevMode;
! 174: } PRINTER_DEFAULTS, *PPRINTER_DEFAULTS, *LPPRINTER_DEFAULTS;
1.1 root 175:
176: BOOL
1.1.1.2 ! root 177: WINAPI
! 178: EnumPrinters(
! 179: DWORD Flags,
! 180: LPTSTR Name,
! 181: DWORD Level,
! 182: LPBYTE pPrinterEnum,
! 183: DWORD cbBuf,
! 184: LPDWORD pcbNeeded,
! 185: LPDWORD pcReturned
! 186: );
! 187:
! 188: #define PRINTER_ENUM_DEFAULT 0x00000001
! 189: #define PRINTER_ENUM_LOCAL 0x00000002
! 190: #define PRINTER_ENUM_FAVORITE 0x00000004
! 191: #define PRINTER_ENUM_NAME 0x00000008
! 192: #define PRINTER_ENUM_REMOTE 0x00000010
! 193: #define PRINTER_ENUM_SHARED 0x00000020
! 194:
! 195: BOOL
! 196: WINAPI
! 197: OpenPrinter(
! 198: LPTSTR pPrinterName,
! 199: LPHANDLE phPrinter,
! 200: LPPRINTER_DEFAULTS pDefault
! 201: );
! 202:
! 203: BOOL
! 204: WINAPI
1.1 root 205: SetJob(
1.1.1.2 ! root 206: HANDLE hPrinter,
! 207: DWORD JobId,
! 208: DWORD Level,
! 209: LPBYTE pJob,
! 210: DWORD Command
1.1 root 211: );
212:
213: BOOL
1.1.1.2 ! root 214: WINAPI
1.1 root 215: GetJob(
1.1.1.2 ! root 216: HANDLE hPrinter,
! 217: DWORD JobId,
! 218: DWORD Level,
! 219: LPBYTE pJob,
! 220: DWORD cbBuf,
! 221: LPDWORD pcbNeeded
1.1 root 222: );
223:
224: BOOL
1.1.1.2 ! root 225: WINAPI
1.1 root 226: EnumJobs(
1.1.1.2 ! root 227: HANDLE hPrinter,
! 228: DWORD FirstJob,
! 229: DWORD NoJobs,
! 230: DWORD Level,
! 231: LPBYTE pJob,
! 232: DWORD cbBuf,
! 233: LPDWORD pcbNeeded,
! 234: LPDWORD pcReturned
1.1 root 235: );
236:
1.1.1.2 ! root 237: HANDLE
! 238: WINAPI
1.1 root 239: AddPrinter(
1.1.1.2 ! root 240: LPSTR pName,
! 241: DWORD Level,
! 242: LPBYTE pPrinter
1.1 root 243: );
244:
245: BOOL
1.1.1.2 ! root 246: WINAPI
1.1 root 247: DeletePrinter(
1.1.1.2 ! root 248: HANDLE hPrinter
1.1 root 249: );
250:
251: BOOL
1.1.1.2 ! root 252: WINAPI
1.1 root 253: SetPrinter(
1.1.1.2 ! root 254: HANDLE hPrinter,
! 255: DWORD Level,
! 256: LPBYTE pPrinter,
! 257: DWORD Command
1.1 root 258: );
259:
260: BOOL
1.1.1.2 ! root 261: WINAPI
1.1 root 262: GetPrinter(
1.1.1.2 ! root 263: HANDLE hPrinter,
! 264: DWORD Level,
! 265: LPBYTE pPrinter,
! 266: DWORD cbBuf,
! 267: LPDWORD pcbNeeded
1.1 root 268: );
269:
270: BOOL
1.1.1.2 ! root 271: WINAPI
! 272: AddPrinterDriver(
! 273: LPTSTR pName,
! 274: DWORD Level,
! 275: LPBYTE pDriverInfo
1.1 root 276: );
277:
278: BOOL
1.1.1.2 ! root 279: WINAPI
! 280: EnumPrinterDrivers(
! 281: LPTSTR pName,
! 282: LPTSTR pEnvironment,
! 283: DWORD Level,
! 284: LPBYTE pDriverInfo,
! 285: DWORD cbBuf,
! 286: LPDWORD pcbNeeded,
! 287: LPDWORD pcReturned
1.1 root 288: );
289:
290: BOOL
1.1.1.2 ! root 291: WINAPI
! 292: GetPrinterDriver(
! 293: HANDLE hPrinter,
! 294: LPTSTR pEnvironment,
! 295: DWORD Level,
! 296: LPBYTE pDriverInfo,
! 297: DWORD cbBuf,
! 298: LPDWORD pcbNeeded
1.1 root 299: );
300:
301: BOOL
1.1.1.2 ! root 302: WINAPI
! 303: GetPrinterDriverDirectory(
! 304: LPTSTR pName,
! 305: LPTSTR pEnvironment,
! 306: DWORD Level,
! 307: LPBYTE pDriverDirectory,
! 308: DWORD cbBuf,
! 309: LPDWORD pcbNeeded
1.1 root 310: );
311:
312: BOOL
1.1.1.2 ! root 313: WINAPI
! 314: DeletePrinterDriver(
! 315: LPTSTR pName,
! 316: LPTSTR pEnvironment,
! 317: LPTSTR pDriverName
1.1 root 318: );
319:
320: BOOL
1.1.1.2 ! root 321: WINAPI
1.1 root 322: AddPrintProcessor(
1.1.1.2 ! root 323: LPTSTR pName,
! 324: LPTSTR pEnvironment,
! 325: LPTSTR pPathName,
! 326: LPTSTR pPrintProcessorName
1.1 root 327: );
328:
1.1.1.2 ! root 329: BOOL
! 330: WINAPI
! 331: EnumPrintProcessors(
! 332: LPTSTR pName,
! 333: LPTSTR pEnvironment,
! 334: DWORD Level,
! 335: LPBYTE pPrintProcessorInfo,
! 336: DWORD cbBuf,
! 337: LPDWORD pcbNeeded,
! 338: LPDWORD pcReturned
1.1 root 339: );
340:
341: BOOL
1.1.1.2 ! root 342: WINAPI
! 343: GetPrintProcessorDirectory(
! 344: LPTSTR pName,
! 345: LPTSTR pEnvironment,
! 346: DWORD Level,
! 347: LPBYTE pPrintProcessorInfo,
! 348: DWORD cbBuf,
! 349: LPDWORD pcbNeeded
1.1 root 350: );
351:
352: BOOL
1.1.1.2 ! root 353: WINAPI
! 354: StartDocPrinter(
! 355: HANDLE hPrinter,
! 356: DWORD Level,
! 357: LPBYTE pDocInfo
1.1 root 358: );
359:
360: BOOL
1.1.1.2 ! root 361: WINAPI
! 362: StartPagePrinter(
! 363: HANDLE hPrinter
1.1 root 364: );
365:
366: BOOL
1.1.1.2 ! root 367: WINAPI
! 368: WritePrinter(
! 369: HANDLE hPrinter,
! 370: LPVOID pBuf,
! 371: DWORD cbBuf,
! 372: LPDWORD pcWritten
1.1 root 373: );
374:
375: BOOL
1.1.1.2 ! root 376: WINAPI
! 377: EndPagePrinter(
! 378: HANDLE hPrinter
1.1 root 379: );
380:
381: BOOL
1.1.1.2 ! root 382: WINAPI
! 383: AbortPrinter(
! 384: HANDLE hPrinter
1.1 root 385: );
386:
387: BOOL
1.1.1.2 ! root 388: WINAPI
! 389: ReadPrinter(
! 390: HANDLE hPrinter,
! 391: LPVOID pBuf,
! 392: DWORD cbBuf,
! 393: LPDWORD pNoBytesRead
1.1 root 394: );
395:
396: BOOL
1.1.1.2 ! root 397: WINAPI
! 398: EndDocPrinter(
! 399: HANDLE hPrinter
1.1 root 400: );
401:
402: BOOL
1.1.1.2 ! root 403: WINAPI
! 404: AddJob(
! 405: HANDLE hPrinter,
! 406: DWORD Level,
! 407: LPBYTE pData,
! 408: DWORD cbBuf,
! 409: LPDWORD pcbNeeded
! 410: );
! 411:
! 412: BOOL
! 413: WINAPI
! 414: ScheduleJob(
! 415: HANDLE hPrinter,
! 416: DWORD JobId
! 417: );
! 418:
! 419: BOOL
! 420: WINAPI
1.1 root 421: PrinterProperties(
1.1.1.2 ! root 422: HWND hWnd,
! 423: HANDLE hPrinter
! 424: );
! 425:
! 426: LONG
! 427: WINAPI
! 428: DocumentProperties(
! 429: HWND hWnd,
! 430: HANDLE hPrinter,
! 431: LPSTR pDeviceName,
! 432: PDEVMODE pDevModeOutput,
! 433: PDEVMODE pDevModeInput,
! 434: DWORD fMode
! 435: );
! 436:
! 437: LONG
! 438: WINAPI
! 439: AdvancedDocumentProperties(
! 440: HWND hWnd,
! 441: HANDLE hPrinter,
! 442: LPSTR pDeviceName,
! 443: PDEVMODE pDevModeOutput,
! 444: PDEVMODE pDevModeInput
! 445: );
! 446:
! 447: DWORD
! 448: WINAPI
! 449: GetPrinterData(
! 450: HANDLE hPrinter,
! 451: LPTSTR pValueName,
! 452: LPDWORD pType,
! 453: LPBYTE pData,
! 454: DWORD nSize,
! 455: LPDWORD pcbNeeded
! 456: );
! 457:
! 458: DWORD
! 459: WINAPI
! 460: SetPrinterData(
! 461: HANDLE hPrinter,
! 462: LPTSTR pValueName,
! 463: DWORD Type,
! 464: LPBYTE pData,
! 465: DWORD cbData
! 466: );
! 467:
! 468: BOOL
! 469: WINAPI
! 470: ClosePrinter(
! 471: HANDLE hPrinter
! 472: );
! 473:
! 474: BOOL
! 475: WINAPI
! 476: AddForm(
! 477: HANDLE hPrinter,
! 478: DWORD Level,
! 479: LPBYTE pForm
! 480: );
! 481:
! 482: BOOL
! 483: WINAPI
! 484: DeleteForm(
! 485: HANDLE hPrinter,
! 486: LPSTR pFormName
! 487: );
! 488:
! 489: BOOL
! 490: WINAPI
! 491: GetForm(
! 492: HANDLE hPrinter,
! 493: LPSTR pFormName,
! 494: DWORD Level,
! 495: LPBYTE pForm,
! 496: DWORD cbBuf,
! 497: LPDWORD pcbNeeded
! 498: );
! 499:
! 500: BOOL
! 501: WINAPI
! 502: SetForm(
! 503: HANDLE hPrinter,
! 504: LPSTR pFormName,
! 505: DWORD Level,
! 506: LPBYTE pForm
! 507: );
! 508:
! 509: BOOL
! 510: WINAPI
! 511: EnumForms(
! 512: HANDLE hPrinter,
! 513: DWORD Level,
! 514: LPBYTE pForm,
! 515: DWORD cbBuf,
! 516: LPDWORD pcbNeeded,
! 517: LPDWORD pcReturned
! 518: );
! 519:
! 520: BOOL
! 521: WINAPI
! 522: EnumMonitors(
! 523: LPSTR pName,
! 524: DWORD Level,
! 525: LPBYTE pMonitors,
! 526: DWORD cbBuf,
! 527: LPDWORD pcbNeeded,
! 528: LPDWORD pcReturned
! 529: );
! 530:
! 531: BOOL
! 532: WINAPI
! 533: EnumPorts(
! 534: LPSTR pName,
! 535: DWORD Level,
! 536: LPBYTE pPorts,
! 537: DWORD cbBuf,
! 538: LPDWORD pcbNeeded,
! 539: LPDWORD pcReturned
! 540: );
! 541:
! 542: BOOL
! 543: WINAPI
! 544: AddPort(
! 545: LPSTR pName,
! 546: HWND hWnd,
! 547: LPSTR pMonitorName
! 548: );
! 549:
! 550: BOOL
! 551: WINAPI
! 552: ConfigurePort(
! 553: LPSTR pName,
! 554: HWND hWnd,
! 555: LPSTR pPortName
! 556: );
! 557:
! 558: BOOL
! 559: WINAPI
! 560: DeletePort(
! 561: LPSTR pName,
! 562: HWND hWnd,
! 563: LPSTR pPortName
1.1 root 564: );
565:
566: #endif // _WINSPOOL_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.