Annotation of ntddk/src/print/inc/winsplp.h, revision 1.1.1.1

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_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.