|
|
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: ! 24: typedef struct _PRINTERSERVER { ! 25: HANDLE hProvidor; ! 26: LPSTR lpName; ! 27: LPSTR lpDescription; ! 28: LPSTR lpLocation; ! 29: DWORD cbData; ! 30: } PRINTERSERVER, *LPPRINTERSERVER; ! 31: ! 32: typedef struct _PRINTER { ! 33: DWORD Reserved; ! 34: LPPRINTERSERVER lpPrinterServer; ! 35: LPSTR lpPrinterName; ! 36: LPSTR lpPortName; ! 37: LPSTR lpDriverName; ! 38: LPSTR lpComment; ! 39: LPSTR lpLocation; ! 40: LPDEVMODE lpDevMode; ! 41: LPSTR lpSepFile; ! 42: LPSTR lpPrintProcessor; ! 43: LPSTR lpDatatype; ! 44: LPSTR lpParameters; ! 45: LPSTR lpVendorData; ! 46: DWORD Attributes; ! 47: DWORD Priority; ! 48: DWORD DefaultPriority; ! 49: DWORD StartTime; ! 50: DWORD UntilTime; ! 51: DWORD Status; ! 52: DWORD cJobs; ! 53: DWORD AveragePPM; ! 54: } PRINTER, *LPPRINTER; ! 55: ! 56: #define PRINTER_CONTROL_PAUSE 1 ! 57: #define PRINTER_CONTROL_RESUME 2 ! 58: #define PRINTER_CONTROL_PURGE 3 ! 59: ! 60: #define PRINTER_STATUS_PAUSED 0x00000001 ! 61: #define PRINTER_STATUS_ERROR 0x00000002 ! 62: #define PRINTER_STATUS_PENDING_DELETION 0x00000004 ! 63: ! 64: #define PRINTER_ATTRIBUTE_QUEUED 0x00000001 ! 65: #define PRINTER_ATTRIBUTE_DIRECT 0x00000002 ! 66: #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004 ! 67: ! 68: #define NO_PRIORITY 0 ! 69: #define MAX_PRIORITY 99 ! 70: #define MIN_PRIORITY 1 ! 71: #define DEF_PRIORITY 1 ! 72: ! 73: typedef struct _JOB { ! 74: DWORD cVersion; ! 75: DWORD JobId; ! 76: LPPRINTERSERVER lpPrinterServer; ! 77: LPSTR lpPrinterName; ! 78: LPSTR lpUserName; ! 79: LPSTR lpDocument; ! 80: LPSTR lpNotifyName; ! 81: LPSTR lpDatatype; ! 82: LPSTR lpPrintProcessor; ! 83: LPSTR lpParameters; ! 84: LPSTR lpDriverName; ! 85: LPDEVMODE lpDevMode; ! 86: LPSTR lpStatus; ! 87: DWORD Status; ! 88: DWORD Priority; ! 89: DWORD Position; ! 90: DWORD StartTime; ! 91: DWORD UntilTime; ! 92: DWORD TotalPages; ! 93: DWORD Size; ! 94: DWORD Submitted; ! 95: SYSTEMTIME Time; ! 96: } JOB, *LPJOB; ! 97: ! 98: #define JOB_CONTROL_PAUSE 1 ! 99: #define JOB_CONTROL_RESUME 2 ! 100: #define JOB_CONTROL_CANCEL 3 ! 101: #define JOB_CONTROL_RESTART 4 ! 102: ! 103: #define JOB_STATUS_SPOOLING 0x00000001 ! 104: #define JOB_STATUS_PRINTING 0x00000002 ! 105: #define JOB_STATUS_PAUSED 0x00000004 ! 106: #define JOB_STATUS_ERROR 0x00000008 ! 107: #define JOB_STATUS_OFFLINE 0x00000010 ! 108: #define JOB_STATUS_PAPEROUT 0x00000020 ! 109: #define JOB_STATUS_DELETING 0x00000040 ! 110: ! 111: typedef struct _DRIVERINFO { ! 112: DWORD cVersion; ! 113: LPSTR lpDriverName; // PSCRIPT.QMS 810 ! 114: LPSTR lpEnvironment; // Win32.x86 ! 115: LPSTR lpDriverPath; // c:\drivers\pscript.dll ! 116: LPSTR lpDeviceName; // QMS 810 ! 117: LPSTR lpDataFile; // QMS810.PPD ! 118: LPSTR lpConfigFile; // PSCRIPT.EXE ! 119: } DRIVERINFO, *LPDRIVERINFO; ! 120: ! 121: BOOL ! 122: SetJob( ! 123: IN LPJOB lpJob, ! 124: IN DWORD Command ! 125: ); ! 126: ! 127: BOOL ! 128: GetJob( ! 129: LPPRINTER lpPrinter, ! 130: DWORD JobId, ! 131: LPJOB lpJob, ! 132: DWORD cbBuf, ! 133: LPDWORD pcbNeeded ! 134: ); ! 135: ! 136: BOOL ! 137: EnumJobs( ! 138: LPPRINTER lpPrinter, ! 139: DWORD FirstJob, ! 140: DWORD NoJobs, ! 141: LPJOB lpJob, ! 142: DWORD cbBuf, ! 143: LPDWORD lpcbNeeded, ! 144: LPDWORD lpcReturned ! 145: ); ! 146: ! 147: BOOL ! 148: AddPrinter( ! 149: LPPRINTER lpPrinter ! 150: ); ! 151: ! 152: BOOL ! 153: DeletePrinter( ! 154: LPPRINTER lpPrinter ! 155: ); ! 156: ! 157: BOOL ! 158: SetPrinter( ! 159: LPPRINTER lpPrinter, ! 160: DWORD Command ! 161: ); ! 162: ! 163: BOOL ! 164: GetPrinter( ! 165: LPSTR lpName, ! 166: LPPRINTER lpPrinter, ! 167: DWORD cbBuf, ! 168: LPDWORD pcbNeeded ! 169: ); ! 170: ! 171: BOOL ! 172: EnumPrinters( ! 173: DWORD Type, ! 174: LPPRINTER lpPrinter, ! 175: DWORD cbBuf, ! 176: LPDWORD pcbNeeded, ! 177: LPDWORD lpcReturned ! 178: ); ! 179: ! 180: BOOL ! 181: GetJobFromHandle( ! 182: HANDLE hFile, ! 183: LPJOB lpJob, ! 184: DWORD cbBuf, ! 185: LPDWORD pcbNeeded ! 186: ); ! 187: ! 188: BOOL ! 189: AddPrinterDriver( ! 190: LPPRINTERSERVER lpPrinterServer, ! 191: LPDRIVERINFO lpDriverInfo ! 192: ); ! 193: ! 194: BOOL ! 195: EnumPrinterDrivers( ! 196: LPPRINTERSERVER lpPrinterServer, ! 197: LPSTR lpEnvironment, ! 198: LPDRIVERINFO lpDriverInfo, ! 199: DWORD cbBuf, ! 200: LPDWORD pcbNeeded, ! 201: LPDWORD lpcReturned ! 202: ); ! 203: ! 204: BOOL ! 205: GetPrinterDriver( ! 206: LPPRINTER lpPrinter, ! 207: LPSTR lpEnvironment, ! 208: LPDRIVERINFO lpDriverInfo, ! 209: DWORD cbBuf, ! 210: LPDWORD lpcbNeeded ! 211: ); ! 212: ! 213: BOOL ! 214: AddPrintProcessor( ! 215: LPPRINTERSERVER lpPrinterServer, ! 216: LPSTR lpEnvironment, ! 217: LPSTR lpPathName, ! 218: LPSTR lpName ! 219: ); ! 220: ! 221: HANDLE ! 222: OpenSpooler( ! 223: LPPRINTER lpPrinter ! 224: ); ! 225: ! 226: BOOL ! 227: StartDocSpooler( ! 228: HANDLE hSpooler ! 229: ); ! 230: ! 231: BOOL ! 232: StartFrameSpooler( ! 233: HANDLE hSpooler ! 234: ); ! 235: ! 236: BOOL ! 237: WriteSpooler( ! 238: HANDLE hSpooler, ! 239: LPVOID pBuf, ! 240: DWORD cbBuf, ! 241: LPDWORD pcWritten ! 242: ); ! 243: ! 244: BOOL ! 245: EndFrameSpooler( ! 246: HANDLE hSpooler ! 247: ); ! 248: ! 249: BOOL ! 250: AbortSpooler( ! 251: HANDLE hSpooler ! 252: ); ! 253: ! 254: BOOL ! 255: ReadSpooler( ! 256: HANDLE hSpooler, ! 257: LPVOID pBuf, ! 258: DWORD cbBuf, ! 259: LPDWORD lpNoBytesRead ! 260: ); ! 261: ! 262: BOOL ! 263: EndDocSpooler( ! 264: HANDLE hSpooler ! 265: ); ! 266: ! 267: BOOL ! 268: CloseSpooler( ! 269: HANDLE hSpooler ! 270: ); ! 271: ! 272: BOOL ! 273: PrinterProperties( ! 274: HWND hWnd, ! 275: LPPRINTER lpPrinter ! 276: ); ! 277: ! 278: #endif // _WINSPOOL_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.