|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1990 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: WinSplp.h ! 8: ! 9: Abstract: ! 10: ! 11: Internal 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 _WINSPLP_ ! 22: #define _WINSPLP_ ! 23: ! 24: typedef struct _PRINTPROVIDOR { ! 25: ! 26: BOOL (*fpOpenPrinter)(LPWSTR pPrinterName, ! 27: LPHANDLE phPrinter, ! 28: LPPRINTER_DEFAULTS pDefault); ! 29: ! 30: BOOL (*fpSetJob)(HANDLE hPrinter, ! 31: DWORD JobId, ! 32: DWORD Level, ! 33: LPBYTE pJob, ! 34: DWORD Command); ! 35: ! 36: BOOL (*fpGetJob)(HANDLE hPrinter, ! 37: DWORD JobId, ! 38: DWORD Level, ! 39: LPBYTE pJob, ! 40: DWORD cbBuf, ! 41: LPDWORD pcbNeeded); ! 42: ! 43: BOOL (*fpEnumJobs)(HANDLE hPrinter, ! 44: DWORD FirstJob, ! 45: DWORD NoJobs, ! 46: DWORD Level, ! 47: LPBYTE pJob, ! 48: DWORD cbBuf, ! 49: LPDWORD pcbNeeded, ! 50: LPDWORD pcReturned); ! 51: ! 52: HANDLE (*fpAddPrinter)(LPWSTR pName, ! 53: DWORD Level, ! 54: LPBYTE pPrinter); ! 55: ! 56: BOOL (*fpDeletePrinter)(HANDLE hPrinter); ! 57: ! 58: BOOL (*fpSetPrinter)(HANDLE hPrinter, ! 59: DWORD Level, ! 60: LPBYTE pPrinter, ! 61: DWORD Command); ! 62: ! 63: BOOL (*fpGetPrinter)(HANDLE hPrinter, ! 64: DWORD Level, ! 65: LPBYTE pPrinter, ! 66: DWORD cbBuf, ! 67: LPDWORD pcbNeeded); ! 68: ! 69: BOOL (*fpEnumPrinters)(DWORD Flags, ! 70: LPWSTR Name, ! 71: DWORD Level, ! 72: LPBYTE pPrinterEnum, ! 73: DWORD cbBuf, ! 74: LPDWORD pcbNeeded, ! 75: LPDWORD pcReturned); ! 76: ! 77: BOOL (*fpAddPrinterDriver)(LPWSTR pName, ! 78: DWORD Level, ! 79: LPBYTE pDriverInfo); ! 80: ! 81: BOOL (*fpEnumPrinterDrivers)(LPWSTR pName, ! 82: LPWSTR pEnvironment, ! 83: DWORD Level, ! 84: LPBYTE pDriverInfo, ! 85: DWORD cbBuf, ! 86: LPDWORD pcbNeeded, ! 87: LPDWORD pcReturned); ! 88: ! 89: BOOL (*fpGetPrinterDriver)(HANDLE hPrinter, ! 90: LPWSTR pEnvironment, ! 91: DWORD Level, ! 92: LPBYTE pDriverInfo, ! 93: DWORD cbBuf, ! 94: LPDWORD pcbNeeded); ! 95: ! 96: BOOL (*fpGetPrinterDriverDirectory)(LPWSTR pName, ! 97: LPWSTR pEnvironment, ! 98: DWORD Level, ! 99: LPBYTE pDriverDirectory, ! 100: DWORD cbBuf, ! 101: LPDWORD pcbNeeded); ! 102: ! 103: BOOL (*fpDeletePrinterDriver)(LPWSTR pName, ! 104: LPWSTR pEnvironment, ! 105: LPWSTR pDriverName); ! 106: ! 107: BOOL (*fpAddPrintProcessor)(LPWSTR pName, ! 108: LPWSTR pEnvironment, ! 109: LPWSTR pPathName, ! 110: LPWSTR pPrintProcessorName); ! 111: ! 112: BOOL (*fpEnumPrintProcessors)(LPWSTR pName, ! 113: LPWSTR pEnvironment, ! 114: DWORD Level, ! 115: LPBYTE pPrintProcessorInfo, ! 116: DWORD cbBuf, ! 117: LPDWORD pcbNeeded, ! 118: LPDWORD pcReturned); ! 119: ! 120: BOOL (*fpGetPrintProcessorDirectory)(LPWSTR pName, ! 121: LPWSTR pEnvironment, ! 122: DWORD Level, ! 123: LPBYTE pPrintProcessorInfo, ! 124: DWORD cbBuf, ! 125: LPDWORD pcbNeeded); ! 126: ! 127: BOOL (*fpDeletePrintProcessor)(LPWSTR pName, ! 128: LPWSTR pEnvironment, ! 129: LPWSTR pPrintProcessorName); ! 130: ! 131: BOOL (*fpEnumPrintProcessorDatatypes)(LPWSTR pName, ! 132: LPWSTR pPrintProcessorName, ! 133: DWORD Level, ! 134: LPBYTE pDataypes, ! 135: DWORD cbBuf, ! 136: LPDWORD pcbNeeded, ! 137: LPDWORD pcReturned); ! 138: ! 139: DWORD (*fpStartDocPrinter)(HANDLE hPrinter, ! 140: DWORD Level, ! 141: LPBYTE pDocInfo); ! 142: ! 143: BOOL (*fpStartPagePrinter)(HANDLE hPrinter); ! 144: ! 145: BOOL (*fpWritePrinter)(HANDLE hPrinter, ! 146: LPVOID pBuf, ! 147: DWORD cbBuf, ! 148: LPDWORD pcWritten); ! 149: ! 150: BOOL (*fpEndPagePrinter)(HANDLE hPrinter); ! 151: ! 152: BOOL (*fpAbortPrinter)(HANDLE hPrinter); ! 153: ! 154: BOOL (*fpReadPrinter)(HANDLE hPrinter, ! 155: LPVOID pBuf, ! 156: DWORD cbBuf, ! 157: LPDWORD pNoBytesRead); ! 158: ! 159: BOOL (*fpEndDocPrinter)(HANDLE hPrinter); ! 160: ! 161: BOOL (*fpAddJob)(HANDLE hPrinter, ! 162: DWORD Level, ! 163: LPBYTE pData, ! 164: DWORD cbBuf, ! 165: LPDWORD pcbNeeded); ! 166: ! 167: BOOL (*fpScheduleJob)(HANDLE hPrinter, ! 168: DWORD JobId); ! 169: ! 170: DWORD (*fpGetPrinterData)(HANDLE hPrinter, ! 171: LPWSTR pValueName, ! 172: LPDWORD pType, ! 173: LPBYTE pData, ! 174: DWORD nSize, ! 175: LPDWORD pcbNeeded); ! 176: ! 177: DWORD (*fpSetPrinterData)(HANDLE hPrinter, ! 178: LPWSTR pValueName, ! 179: DWORD Type, ! 180: LPBYTE pData, ! 181: DWORD cbData); ! 182: ! 183: DWORD (*fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags); ! 184: ! 185: BOOL (*fpClosePrinter)(HANDLE hPrinter); ! 186: ! 187: BOOL (*fpAddForm)(HANDLE hPrinter, ! 188: DWORD Level, ! 189: LPBYTE pForm); ! 190: ! 191: BOOL (*fpDeleteForm)(HANDLE hPrinter, ! 192: LPWSTR pFormName); ! 193: ! 194: BOOL (*fpGetForm)(HANDLE hPrinter, ! 195: LPWSTR pFormName, ! 196: DWORD Level, ! 197: LPBYTE pForm, ! 198: DWORD cbBuf, ! 199: LPDWORD pcbNeeded); ! 200: ! 201: BOOL (*fpSetForm)(HANDLE hPrinter, ! 202: LPWSTR pFormName, ! 203: DWORD Level, ! 204: LPBYTE pForm); ! 205: ! 206: BOOL (*fpEnumForms)(HANDLE hPrinter, ! 207: DWORD Level, ! 208: LPBYTE pForm, ! 209: DWORD cbBuf, ! 210: LPDWORD pcbNeeded, ! 211: LPDWORD pcReturned); ! 212: ! 213: BOOL (*fpEnumMonitors)(LPWSTR pName, ! 214: DWORD Level, ! 215: LPBYTE pMonitors, ! 216: DWORD cbBuf, ! 217: LPDWORD pcbNeeded, ! 218: LPDWORD pcReturned); ! 219: ! 220: BOOL (*fpEnumPorts)(LPWSTR pName, ! 221: DWORD Level, ! 222: LPBYTE pPorts, ! 223: DWORD cbBuf, ! 224: LPDWORD pcbNeeded, ! 225: LPDWORD pcReturned); ! 226: ! 227: BOOL (*fpAddPort)(LPWSTR pName, ! 228: HWND hWnd, ! 229: LPWSTR pMonitorName); ! 230: ! 231: BOOL (*fpConfigurePort)(LPWSTR pName, ! 232: HWND hWnd, ! 233: LPWSTR pPortName); ! 234: ! 235: BOOL (*fpDeletePort)(LPWSTR pName, ! 236: HWND hWnd, ! 237: LPWSTR pPortName); ! 238: ! 239: HANDLE (*fpCreatePrinterIC)(HANDLE hPrinter, ! 240: LPDEVMODEW pDevMode); ! 241: ! 242: BOOL (*fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, ! 243: LPBYTE pIn, ! 244: DWORD cIn, ! 245: LPBYTE pOut, ! 246: DWORD cOut, ! 247: DWORD ul); ! 248: ! 249: BOOL (*fpDeletePrinterIC)(HANDLE hPrinterIC); ! 250: ! 251: BOOL (*fpAddPrinterConnection)(LPWSTR pName); ! 252: ! 253: BOOL (*fpDeletePrinterConnection)(LPWSTR pName); ! 254: ! 255: DWORD (*fpPrinterMessageBox)(HANDLE hPrinter, ! 256: DWORD Error, ! 257: HWND hWnd, ! 258: LPWSTR pText, ! 259: LPWSTR pCaption, ! 260: DWORD dwType); ! 261: ! 262: BOOL (*fpAddMonitor)(LPWSTR pName, ! 263: DWORD Level, ! 264: LPBYTE pMonitorInfo); ! 265: ! 266: BOOL (*fpDeleteMonitor)(LPWSTR pName, ! 267: LPWSTR pEnvironment, ! 268: LPWSTR pMonitorName); ! 269: ! 270: BOOL (*fpResetPrinter)(HANDLE hPrinter, ! 271: LPPRINTER_DEFAULTS pDefault); ! 272: ! 273: } PRINTPROVIDOR, *LPPRINTPROVIDOR; ! 274: ! 275: BOOL ! 276: InitializePrintProvidor( ! 277: LPPRINTPROVIDOR pPrintProvidor, ! 278: DWORD cbPrintProvidor, ! 279: LPWSTR pFullRegistryPath ! 280: ); ! 281: ! 282: typedef struct _PRINTPROCESSOROPENDATA { ! 283: PDEVMODE pDevMode; ! 284: LPWSTR pDatatype; ! 285: LPWSTR pParameters; ! 286: LPWSTR pDocumentName; ! 287: DWORD JobId; ! 288: } PRINTPROCESSOROPENDATA, *PPRINTPROCESSOROPENDATA, *LPPRINTPROCESSOROPENDATA; ! 289: ! 290: HANDLE ! 291: OpenPrintProcessor( ! 292: LPWSTR pPrinterName, ! 293: PPRINTPROCESSOROPENDATA pPrintProcessorOpenData ! 294: ); ! 295: ! 296: BOOL ! 297: PrintDocumentOnPrintProcessor( ! 298: HANDLE hPrintProcessor, ! 299: LPWSTR pDocumentName ! 300: ); ! 301: ! 302: BOOL ! 303: ClosePrintProcessor( ! 304: HANDLE hPrintProcessor ! 305: ); ! 306: ! 307: BOOL ! 308: ControlPrintProcessor( ! 309: HANDLE hPrintProcessor, ! 310: DWORD Command ! 311: ); ! 312: ! 313: BOOL ! 314: InstallPrintProcessor( ! 315: HWND hWnd ! 316: ); ! 317: ! 318: ! 319: BOOL ! 320: InitializeMonitor( ! 321: LPWSTR pRegistryRoot ! 322: ); ! 323: ! 324: BOOL ! 325: OpenPort( ! 326: LPWSTR pName, ! 327: PHANDLE pHandle ! 328: ); ! 329: ! 330: BOOL ! 331: WritePort( ! 332: HANDLE hPort, ! 333: LPBYTE pBuffer, ! 334: DWORD cbBuf, ! 335: LPDWORD pcbWritten ! 336: ); ! 337: ! 338: BOOL ! 339: ReadPort( ! 340: HANDLE hPort, ! 341: LPBYTE pBuffer, ! 342: DWORD cbBuffer, ! 343: LPDWORD pcbRead ! 344: ); ! 345: ! 346: BOOL ! 347: ClosePort( ! 348: HANDLE hPort ! 349: ); ! 350: ! 351: HANDLE ! 352: CreatePrinterIC( ! 353: HANDLE hPrinter, ! 354: LPDEVMODEW pDevMode ! 355: ); ! 356: ! 357: BOOL ! 358: PlayGdiScriptOnPrinterIC( ! 359: HANDLE hPrinterIC, ! 360: LPBYTE pIn, ! 361: DWORD cIn, ! 362: LPBYTE pOut, ! 363: DWORD cOut, ! 364: DWORD ul ! 365: ); ! 366: ! 367: BOOL ! 368: DeletePrinterIC( ! 369: HANDLE hPrinterIC ! 370: ); ! 371: ! 372: BOOL ! 373: DevQueryPrint( ! 374: HANDLE hPrinter, ! 375: LPDEVMODE pDevMode, ! 376: DWORD *pResID ! 377: ); ! 378: ! 379: HANDLE ! 380: RevertToPrinterSelf( ! 381: VOID ! 382: ); ! 383: ! 384: BOOL ! 385: ImpersonatePrinterClient( ! 386: HANDLE hToken ! 387: ); ! 388: ! 389: BOOL ! 390: OpenPrinterToken( ! 391: PHANDLE phToken ! 392: ); ! 393: ! 394: BOOL ! 395: SetPrinterToken( ! 396: HANDLE hToken ! 397: ); ! 398: ! 399: BOOL ! 400: ClosePrinterToken( ! 401: HANDLE hToken ! 402: ); ! 403: ! 404: #endif // _WINSPLP_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.