winsplp.h
来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 515 行
H
515 行
/*++
Copyright (c) 1990-95 Microsoft Corporation
Module Name:
WinSplp.h
Abstract:
Internal Header file for Print APIs
--*/
#ifndef _WINSPLP_
#define _WINSPLP_
typedef struct _PRINTPROVIDOR {
BOOL (WINAPI *fpOpenPrinter)(LPTSTR pPrinterName,
LPHANDLE phPrinter,
LPPRINTER_DEFAULTS pDefault);
BOOL (WINAPI *fpSetJob)(HANDLE hPrinter,
DWORD JobId,
DWORD Level,
LPBYTE pJob,
DWORD Command);
BOOL (WINAPI *fpGetJob)(HANDLE hPrinter,
DWORD JobId,
DWORD Level,
LPBYTE pJob,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpEnumJobs)(HANDLE hPrinter,
DWORD FirstJob,
DWORD NoJobs,
DWORD Level,
LPBYTE pJob,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
HANDLE (WINAPI *fpAddPrinter)(LPTSTR pName,
DWORD Level,
LPBYTE pPrinter);
BOOL (WINAPI *fpDeletePrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpSetPrinter)(HANDLE hPrinter,
DWORD Level,
LPBYTE pPrinter,
DWORD Command);
BOOL (WINAPI *fpGetPrinter)(HANDLE hPrinter,
DWORD Level,
LPBYTE pPrinter,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpEnumPrinters)(DWORD Flags,
LPTSTR Name,
DWORD Level,
LPBYTE pPrinterEnum,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpAddPrinterDriver)(LPTSTR pName,
DWORD Level,
LPBYTE pDriverInfo);
BOOL (WINAPI *fpEnumPrinterDrivers)(LPTSTR pName,
LPTSTR pEnvironment,
DWORD Level,
LPBYTE pDriverInfo,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter,
LPTSTR pEnvironment,
DWORD Level,
LPBYTE pDriverInfo,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpGetPrinterDriverDirectory)(LPTSTR pName,
LPTSTR pEnvironment,
DWORD Level,
LPBYTE pDriverDirectory,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpDeletePrinterDriver)(LPTSTR pName,
LPTSTR pEnvironment,
LPTSTR pDriverName);
BOOL (WINAPI *fpAddPrintProcessor)(LPTSTR pName,
LPTSTR pEnvironment,
LPTSTR pPathName,
LPTSTR pPrintProcessorName);
BOOL (WINAPI *fpEnumPrintProcessors)(LPTSTR pName,
LPTSTR pEnvironment,
DWORD Level,
LPBYTE pPrintProcessorInfo,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpGetPrintProcessorDirectory)(LPTSTR pName,
LPTSTR pEnvironment,
DWORD Level,
LPBYTE pPrintProcessorInfo,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpDeletePrintProcessor)(LPTSTR pName,
LPTSTR pEnvironment,
LPTSTR pPrintProcessorName);
BOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPTSTR pName,
LPTSTR pPrintProcessorName,
DWORD Level,
LPBYTE pDataypes,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
DWORD (WINAPI *fpStartDocPrinter)(HANDLE hPrinter,
DWORD Level,
LPBYTE pDocInfo);
BOOL (WINAPI *fpStartPagePrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpWritePrinter)(HANDLE hPrinter,
LPVOID pBuf,
DWORD cbBuf,
LPDWORD pcWritten);
BOOL (WINAPI *fpEndPagePrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpAbortPrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpReadPrinter)(HANDLE hPrinter,
LPVOID pBuf,
DWORD cbBuf,
LPDWORD pNoBytesRead);
BOOL (WINAPI *fpEndDocPrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpAddJob)(HANDLE hPrinter,
DWORD Level,
LPBYTE pData,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpScheduleJob)(HANDLE hPrinter,
DWORD JobId);
DWORD (WINAPI *fpGetPrinterData)(HANDLE hPrinter,
LPTSTR pValueName,
LPDWORD pType,
LPBYTE pData,
DWORD nSize,
LPDWORD pcbNeeded);
DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter,
LPTSTR pValueName,
DWORD Type,
LPBYTE pData,
DWORD cbData);
DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
BOOL (WINAPI *fpClosePrinter)(HANDLE hPrinter);
BOOL (WINAPI *fpAddForm)(HANDLE hPrinter,
DWORD Level,
LPBYTE pForm);
BOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter,
LPTSTR pFormName);
BOOL (WINAPI *fpGetForm)(HANDLE hPrinter,
LPTSTR pFormName,
DWORD Level,
LPBYTE pForm,
DWORD cbBuf,
LPDWORD pcbNeeded);
BOOL (WINAPI *fpSetForm)(HANDLE hPrinter,
LPTSTR pFormName,
DWORD Level,
LPBYTE pForm);
BOOL (WINAPI *fpEnumForms)(HANDLE hPrinter,
DWORD Level,
LPBYTE pForm,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpEnumMonitors)(LPTSTR pName,
DWORD Level,
LPBYTE pMonitors,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpEnumPorts)(LPTSTR pName,
DWORD Level,
LPBYTE pPorts,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned);
BOOL (WINAPI *fpAddPort)(LPTSTR pName,
HWND hWnd,
LPTSTR pMonitorName);
BOOL (WINAPI *fpConfigurePort)(LPTSTR pName,
HWND hWnd,
LPTSTR pPortName);
BOOL (WINAPI *fpDeletePort)(LPTSTR pName,
HWND hWnd,
LPTSTR pPortName);
HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter,
LPDEVMODE pDevMode);
BOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC,
LPBYTE pIn,
DWORD cIn,
LPBYTE pOut,
DWORD cOut,
DWORD ul);
BOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC);
BOOL (WINAPI *fpAddPrinterConnection)(LPTSTR pName);
BOOL (WINAPI *fpDeletePrinterConnection)(LPTSTR pName);
DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter,
DWORD Error,
HWND hWnd,
LPTSTR pText,
LPTSTR pCaption,
DWORD dwType);
BOOL (WINAPI *fpAddMonitor)(LPTSTR pName,
DWORD Level,
LPBYTE pMonitorInfo);
BOOL (WINAPI *fpDeleteMonitor)(LPTSTR pName,
LPTSTR pEnvironment,
LPTSTR pMonitorName);
} PRINTPROVIDOR, FAR *LPPRINTPROVIDOR;
BOOL
WINAPI
InitializePrintProvidor(
LPPRINTPROVIDOR pPrintProvidor,
DWORD cbPrintProvidor,
LPTSTR pFullRegistryPath
);
typedef struct _PRINTPROCESSORDOCUMENTDATA
{
LPDEVMODE pDevMode;
LPTSTR pDatatype;
LPTSTR pParameters;
LPTSTR pDocumentName;
DWORD JobId;
LPTSTR pOutputFile; // ccteng add these for chicago
LPTSTR pSpoolFileName; // full path + filename
LPTSTR pSepFile; // Separator file
} PRINTPROCESSORDOCUMENTDATA, FAR *PPRINTPROCESSORDOCUMENTDATA, FAR *LPPRINTPROCESSORDOCUMENTDATA;
typedef struct _PRINTPROCESSOR
{
BOOL (WINAPI *fpEnumDatatypes)
(
LPTSTR pName,
LPTSTR pPrintProcessorName,
DWORD Level,
LPSTR pDatatypes,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned
);
HANDLE (WINAPI *fpOpenPrintProcessor)
(
LPTSTR pPrinterName
);
BOOL (WINAPI *fpPrintDocument)
(
HANDLE hPrintProcessor,
PPRINTPROCESSORDOCUMENTDATA pDoc
);
BOOL (WINAPI *fpClosePrintProcessor)
(
HANDLE hPrintProcessor
);
BOOL (WINAPI *fpControlPrintProcessor)
(
HANDLE hPrintProcessor,
DWORD Command,
DWORD JobId,
LPTSTR pDatatype,
LPTSTR pSpoolFile
);
} PRINTPROCESSOR, FAR *LPPRINTPROCESSOR;
BOOL
WINAPI
InitializePrintProcessor
(
LPPRINTPROCESSOR pPrintProcessor,
DWORD cbPrintProcessor
);
/*
BOOL
WINAPI
PrintDocumentOnPrintProcessor(
HANDLE hPrintProcessor,
LPTSTR pDocumentName
);
BOOL
WINAPI
ClosePrintProcessor(
HANDLE hPrintProcessor
);
BOOL
WINAPI
ControlPrintProcessor(
HANDLE hPrintProcessor,
DWORD Command
);
*/
BOOL
WINAPI
InstallPrintProcessor(
HWND hWnd
);
typedef struct _MONITOR
{
BOOL (WINAPI *pfnEnumPorts)
(
LPTSTR pName,
DWORD Level,
LPBYTE pPorts,
DWORD cbBuf,
LPDWORD pcbNeeded,
LPDWORD pcReturned
);
BOOL (WINAPI *pfnOpenPort)
(
LPTSTR pName,
PHANDLE pHandle
);
BOOL (WINAPI *pfnOpenPortEx)
(
LPTSTR pPortName,
LPTSTR pPrinterName,
PHANDLE pHandle,
struct _MONITOR FAR *pMonitor
);
BOOL (WINAPI *pfnStartDocPort)
(
HANDLE hPort,
LPTSTR pPrinterName,
DWORD JobId,
DWORD Level,
LPBYTE pDocInfo
);
BOOL (WINAPI *pfnWritePort)
(
HANDLE hPort,
LPBYTE pBuffer,
DWORD cbBuf,
LPDWORD pcbWritten
);
BOOL (WINAPI *pfnReadPort)
(
HANDLE hPort,
LPBYTE pBuffer,
DWORD cbBuffer,
LPDWORD pcbRead
);
BOOL (WINAPI *pfnEndDocPort)
(
HANDLE hPort
);
BOOL (WINAPI *pfnClosePort)
(
HANDLE hPort
);
BOOL (WINAPI *pfnAddPort)
(
LPTSTR pName,
HWND hWnd,
LPTSTR pMonitorName
);
BOOL (WINAPI *pfnConfigurePort)
(
LPTSTR pName,
HWND hWnd,
LPTSTR pPortName
);
BOOL (WINAPI *pfnDeletePort)
(
LPTSTR pName,
HWND hWnd,
LPTSTR pPortName
);
BOOL (WINAPI *pfnGetPrinterDataFromPort)
(
HANDLE hPort,
LPTSTR pValueName
);
} MONITOR, FAR *LPMONITOR;
BOOL
WINAPI
InitializeMonitorEx(
LPTSTR pRegisterRoot,
LPMONITOR pMonitor
);
HANDLE
WINAPI
CreatePrinterIC(
HANDLE hPrinter,
LPDEVMODE pDevMode
);
BOOL
WINAPI
PlayGdiScriptOnPrinterIC(
HANDLE hPrinterIC,
LPBYTE pIn,
DWORD cIn,
LPBYTE pOut,
DWORD cOut,
DWORD ul
);
BOOL
WINAPI
DeletePrinterIC(
HANDLE hPrinterIC
);
BOOL
WINAPI
DevQueryPrint(
HANDLE hPrinter,
LPDEVMODE pDevMode,
DWORD FAR *pResID
);
#if 0 // ccteng we don't need this in chicago
HANDLE
WINAPI
RevertToPrinterSelf(
VOID
);
BOOL
WINAPI
ImpersonatePrinterClient(
HANDLE hToken
);
#else
#define RevertToPrinterSelf() 0
#define ImpersonatePrinterClient(a) TRUE
#endif
#endif // _WINSPLP_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?