mirror of
https://github.com/reactos/reactos.git
synced 2025-01-03 21:09:19 +00:00
- Move winsplp.h to PSDK and improve it.
- wspiapi.h : __inline -> FORCEINLINE, alter _WSPIAPI_STRNCPY_S and _WSPIAPI_SPRINTF_S_1 - winspool.h : Add missing PRINTER_NOTIFY_OPTIONS(_TYPE) - ws2spi.h and also compstui.h : Group some related definitions. - Add wine/ddk/winsplp.h and winddiui.h wrappers around our files, as wine code wants them in ddk. svn path=/branches/header-work/; revision=46757
This commit is contained in:
parent
22d1e6dc9e
commit
15ca120bcc
8 changed files with 963 additions and 816 deletions
|
@ -1,659 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* DEFINES */
|
||||
|
||||
#define PRINTER_NOTIFY_STATUS_ENDPOINT 1
|
||||
#define PRINTER_NOTIFY_STATUS_POLL 2
|
||||
#define PRINTER_NOTIFY_STATUS_INFO 4
|
||||
|
||||
#define ROUTER_UNKNOWN 0
|
||||
#define ROUTER_SUCCESS 1
|
||||
#define ROUTER_STOP_ROUTING 2
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#ifndef __ATTRIBUTE_INFO_3__
|
||||
#define __ATTRIBUTE_INFO_3__
|
||||
typedef struct _ATTRIBUTE_INFO_3 {
|
||||
DWORD dwJobNumberOfPagesPerSide;
|
||||
DWORD dwDrvNumberOfPagesPerSide;
|
||||
DWORD dwNupBorderFlags;
|
||||
DWORD dwJobPageOrderFlags;
|
||||
DWORD dwDrvPageOrderFlags;
|
||||
DWORD dwJobNumberOfCopies;
|
||||
DWORD dwDrvNumberOfCopies;
|
||||
DWORD dwColorOptimization;
|
||||
short dmPrintQuality;
|
||||
short dmYResolution;
|
||||
} ATTRIBUTE_INFO_3, *PATTRIBUTE_INFO_3;
|
||||
#endif
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WS03) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
#ifndef __ATTRIBUTE_INFO_4__
|
||||
#define __ATTRIBUTE_INFO_4__
|
||||
|
||||
typedef struct _ATTRIBUTE_INFO_4 {
|
||||
DWORD dwJobNumberOfPagesPerSide;
|
||||
DWORD dwDrvNumberOfPagesPerSide;
|
||||
DWORD dwNupBorderFlags;
|
||||
DWORD dwJobPageOrderFlags;
|
||||
DWORD dwDrvPageOrderFlags;
|
||||
DWORD dwJobNumberOfCopies;
|
||||
DWORD dwDrvNumberOfCopies;
|
||||
DWORD dwColorOptimization;
|
||||
short dmPrintQuality;
|
||||
short dmYResolution;
|
||||
DWORD dwDuplexFlags;
|
||||
DWORD dwNupDirection;
|
||||
DWORD dwBookletFlags;
|
||||
DWORD dwScalingPercentX;
|
||||
DWORD dwScalingPercentY;
|
||||
} ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4;
|
||||
|
||||
#define REVERSE_PAGES_FOR_REVERSE_DUPLEX (0x00000001)
|
||||
#define DONT_SEND_EXTRA_PAGES_FOR_DUPLEX (0x00000001 << 1)
|
||||
|
||||
#define RIGHT_THEN_DOWN (0x00000001)
|
||||
#define DOWN_THEN_RIGHT (0x00000001 << 1)
|
||||
#define LEFT_THEN_DOWN (0x00000001 << 2)
|
||||
#define DOWN_THEN_LEFT (0x00000001 << 3)
|
||||
|
||||
#define BOOKLET_EDGE_LEFT 0x00000000
|
||||
#define BOOKLET_EDGE_RIGHT 0x00000001
|
||||
|
||||
#endif /* __ATTRIBUTE_INFO_4__ */
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
typedef struct _PRINTER_NOTIFY_INIT {
|
||||
DWORD Size;
|
||||
DWORD Reserved;
|
||||
DWORD PollTime;
|
||||
} PRINTER_NOTIFY_INIT, *LPPRINTER_NOTIFY_INIT, *PPRINTER_NOTIFY_INIT;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_1 {
|
||||
DWORD dwSize;
|
||||
LPWSTR pMachineName;
|
||||
LPWSTR pUserName;
|
||||
DWORD dwBuildNum;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
WORD wProcessorArchitecture;
|
||||
} SPLCLIENT_INFO_1, *LPSPLCLIENT_INFO_1, *PSPLCLIENT_INFO_1;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V1{
|
||||
ULONG_PTR hSplPrinter;
|
||||
} SPLCLIENT_INFO_2_W2K;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V2{
|
||||
#ifdef _WIN64
|
||||
DWORD64 hSplPrinter;
|
||||
#else
|
||||
DWORD32 hSplPrinter;
|
||||
#endif
|
||||
} SPLCLIENT_INFO_2_WINXP;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V3{
|
||||
UINT64 hSplPrinter;
|
||||
} SPLCLIENT_INFO_2_LONGHORN;
|
||||
|
||||
#if (OSVER(NTDDI_VERSION) == NTDDI_W2K)
|
||||
typedef SPLCLIENT_INFO_2_W2K SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#elif ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) || (OSVER(NTDDI_VERSION) == NTDDI_WS03))
|
||||
typedef SPLCLIENT_INFO_2_WINXP SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#else
|
||||
typedef SPLCLIENT_INFO_2_LONGHORN SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
typedef struct _SPLCLIENT_INFO_3 {
|
||||
UINT cbSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwSize;
|
||||
PWSTR pMachineName;
|
||||
PWSTR pUserName;
|
||||
DWORD dwBuildNum;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
WORD wProcessorArchitecture;
|
||||
UINT64 hSplPrinter;
|
||||
} SPLCLIENT_INFO_3, *PSPLCLIENT_INFO_3, *LPSPLCLIENT_INFO_3;
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
typedef struct _PRINTPROVIDOR {
|
||||
BOOL (WINAPI *fpOpenPrinter)(PWSTR lpPrinterName, HANDLE *phPrinter,
|
||||
PPRINTER_DEFAULTSW 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)(LPWSTR 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 dwType, LPWSTR lpszName, DWORD dwLevel,
|
||||
LPBYTE lpbPrinters, DWORD cbBuf, LPDWORD lpdwNeeded,
|
||||
LPDWORD lpdwReturned);
|
||||
BOOL (WINAPI *fpAddPrinterDriver)(LPWSTR pName, DWORD Level,
|
||||
LPBYTE pDriverInfo);
|
||||
BOOL (WINAPI *fpEnumPrinterDrivers)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpGetPrinterDriverDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverDirectory, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrinterDriver)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName);
|
||||
BOOL (WINAPI *fpAddPrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPathName, LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessors)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrintProcessorDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPWSTR pName,
|
||||
LPWSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
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, LPWSTR pValueName,
|
||||
LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter, LPWSTR pValueName,
|
||||
DWORD Type, LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
|
||||
BOOL (WINAPI *fpClosePrinter)(HANDLE phPrinter);
|
||||
BOOL (WINAPI *fpAddForm)(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
|
||||
BOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter, LPWSTR pFormName);
|
||||
BOOL (WINAPI *fpGetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpSetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm);
|
||||
BOOL (WINAPI *fpEnumForms)(HANDLE hPrinter, DWORD Level, LPBYTE pForm,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumMonitors)(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *fpDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter, LPDEVMODEW pDevMode);
|
||||
BOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, LPBYTE pIn,
|
||||
DWORD cIn, LPBYTE pOut, DWORD cOut, DWORD ul);
|
||||
BOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC);
|
||||
BOOL (WINAPI *fpAddPrinterConnection)(LPWSTR pName);
|
||||
BOOL (WINAPI *fpDeletePrinterConnection)(LPWSTR pName);
|
||||
DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter, DWORD Error, HWND hWnd,
|
||||
LPWSTR pText, LPWSTR pCaption, DWORD dwType);
|
||||
BOOL (WINAPI *fpAddMonitor)(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
|
||||
BOOL (WINAPI *fpDeleteMonitor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpResetPrinter)(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
|
||||
BOOL (WINAPI *fpGetPrinterDriverEx)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
DWORD dwClientMajorVersion, DWORD dwClientMinorVersion,
|
||||
PDWORD pdwServerMajorVersion, PDWORD pdwServerMinorVersion);
|
||||
HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD fdwFlags, DWORD fdwOptions, LPVOID pPrinterNotifyOptions);
|
||||
BOOL (WINAPI *fpFindClosePrinterChangeNotification)(HANDLE hChange);
|
||||
BOOL (WINAPI *fpAddPortEx)(HANDLE hMonitor, LPWSTR pName, DWORD Level,
|
||||
LPBYTE lpBuffer, LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *fpShutDown)(LPVOID pvReserved);
|
||||
BOOL (WINAPI *fpRefreshPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD Reserved, PVOID pvReserved, PVOID pPrinterNotifyInfo);
|
||||
BOOL (WINAPI *fpOpenPrinterEx)(LPWSTR pPrinterName, LPHANDLE phPrinter,
|
||||
LPPRINTER_DEFAULTSW pDefault, LPBYTE pClientInfo, DWORD Level);
|
||||
HANDLE (WINAPI *fpAddPrinterEx)(LPWSTR pName, DWORD Level, LPBYTE pPrinter,
|
||||
LPBYTE pClientInfo, DWORD ClientInfoLevel);
|
||||
BOOL (WINAPI *fpSetPort)(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
|
||||
LPBYTE pPortInfo);
|
||||
DWORD (WINAPI *fpEnumPrinterData)( HANDLE hPrinter, DWORD dwIndex,
|
||||
LPWSTR pValueName, DWORD cbValueName, LPDWORD pcbValueName,
|
||||
LPDWORD pType, LPBYTE pData, DWORD cbData, LPDWORD pcbData);
|
||||
DWORD (WINAPI *fpDeletePrinterData)(HANDLE hPrinter, LPWSTR pValueName);
|
||||
DWORD (WINAPI *fpClusterSplOpen)(LPCWSTR pszServer, LPCWSTR pszResource,
|
||||
PHANDLE phSpooler, LPCWSTR pszName, LPCWSTR pszAddress);
|
||||
DWORD (WINAPI *fpClusterSplClose)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpClusterSplIsAlive)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpSetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpGetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize,
|
||||
LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpEnumPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues,
|
||||
LPDWORD pnEnumValues);
|
||||
DWORD (WINAPI *fpEnumPrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey);
|
||||
DWORD (WINAPI *fpDeletePrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName);
|
||||
DWORD (WINAPI *fpDeletePrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName);
|
||||
BOOL (WINAPI *fpSeekPrinter)(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove,
|
||||
PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite);
|
||||
BOOL (WINAPI *fpDeletePrinterDriverEx)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionNum);
|
||||
BOOL (WINAPI *fpAddPerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName, LPCWSTR pPrintServer, LPCWSTR pProvider);
|
||||
BOOL (WINAPI *fpDeletePerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName);
|
||||
BOOL (WINAPI *fpEnumPerMachineConnections)(LPCWSTR pServer,
|
||||
LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpXcvData)(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
|
||||
DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded, PDWORD pdwStatus);
|
||||
BOOL (WINAPI *fpAddPrinterDriverEx)(LPWSTR pName, DWORD Level,
|
||||
LPBYTE pDriverInfo, DWORD dwFileCopyFlags);
|
||||
BOOL (WINAPI *fpSplReadPrinter)(HANDLE hPrinter, LPBYTE *pBuf, DWORD cbBuf);
|
||||
BOOL (WINAPI *fpDriverUnloadComplete)(LPWSTR pDriverFile);
|
||||
BOOL (WINAPI *fpGetSpoolFileInfo)(HANDLE hPrinter, LPWSTR *pSpoolDir,
|
||||
LPHANDLE phFile, HANDLE hSpoolerProcess, HANDLE hAppProcess);
|
||||
BOOL (WINAPI *fpCommitSpoolData)(HANDLE hPrinter, DWORD cbCommit);
|
||||
BOOL (WINAPI *fpCloseSpoolFileHandle)(HANDLE hPrinter);
|
||||
BOOL (WINAPI *fpFlushPrinter)(HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf,
|
||||
LPDWORD pcWritten, DWORD cSleep);
|
||||
DWORD (WINAPI *fpSendRecvBidiData)(HANDLE hPort, LPCWSTR pAction,
|
||||
LPBIDI_REQUEST_CONTAINER pReqData,
|
||||
LPBIDI_RESPONSE_CONTAINER *ppResData);
|
||||
BOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel,
|
||||
VOID *pvDriverInfCatInfo, DWORD dwCatalogCopyFlags);
|
||||
} PRINTPROVIDOR, *LPPRINTPROVIDOR;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* WARNING: Many Functions are declared as "BOOL", but return ROUTER_*
|
||||
*/
|
||||
|
||||
|
||||
/* TYPES */
|
||||
|
||||
typedef struct _MONITOR {
|
||||
BOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle);
|
||||
BOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName,
|
||||
PHANDLE pHandle, struct _MONITOR *pMonitor);
|
||||
BOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR 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)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
||||
LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
||||
LPWSTR pValueName, LPWSTR lpInBuffer, DWORD cbInBuffer,
|
||||
LPWSTR lpOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
||||
BOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
||||
DWORD reserved);
|
||||
BOOL (WINAPI *pfnXcvOpenPort)(LPCWSTR pszObject, ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
||||
DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
||||
PBYTE pInputData, DWORD cbInputData,
|
||||
PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded);
|
||||
BOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
||||
} MONITOR, *LPMONITOR;
|
||||
|
||||
typedef struct _MONITOR2 {
|
||||
DWORD cbSize;
|
||||
BOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle);
|
||||
BOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName,
|
||||
PHANDLE pHandle, struct _MONITOR2 *pMonitor2);
|
||||
BOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR 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)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
||||
LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
||||
LPWSTR pValueName, LPWSTR lpInBuffer, DWORD cbInBuffer,
|
||||
LPWSTR lpOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
||||
BOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
||||
DWORD reserved);
|
||||
BOOL (WINAPI *pfnXcvOpenPort)(HANDLE hMonitor, LPCWSTR pszObject,
|
||||
ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
||||
DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
||||
PBYTE pInputData, DWORD cbInputData,
|
||||
PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded);
|
||||
BOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
||||
/* Additions from MONITOR to MONITOR2 */
|
||||
VOID (WINAPI *pfnShutdown)(HANDLE hMonitor);
|
||||
DWORD (WINAPI *pfnSendRecvBidiDataFromPort)(HANDLE hPort, DWORD dwAccessBit,
|
||||
LPCWSTR pAction, PBIDI_REQUEST_CONTAINER pReqData,
|
||||
PBIDI_RESPONSE_CONTAINER *ppResData);
|
||||
} MONITOR2, *LPMONITOR2, *PMONITOR2;
|
||||
|
||||
typedef struct _MONITOREX {
|
||||
DWORD dwMonitorSize;
|
||||
MONITOR Monitor;
|
||||
} MONITOREX, *LPMONITOREX;
|
||||
|
||||
typedef struct _MONITORREG {
|
||||
DWORD cbSize;
|
||||
LONG (WINAPI *fpCreateKey)(HANDLE hcKey, LPCWSTR pszSubKey, DWORD dwOptions,
|
||||
REGSAM samDesired, PSECURITY_ATTRIBUTES pSecurityAttributes,
|
||||
PHANDLE phckResult, PDWORD pdwDisposition, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpOpenKey)(HANDLE hcKey, LPCWSTR pszSubKey, REGSAM samDesired,
|
||||
PHANDLE phkResult, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpCloseKey)(HANDLE hcKey, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpDeleteKey)(HANDLE hcKey, LPCWSTR pszSubKey, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpEnumKey)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszName,
|
||||
PDWORD pcchName, PFILETIME pftLastWriteTime, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpQueryInfoKey)(HANDLE hcKey, PDWORD pcSubKeys, PDWORD pcbKey,
|
||||
PDWORD pcValues, PDWORD pcbValue, PDWORD pcbData,
|
||||
PDWORD pcbSecurityDescriptor, PFILETIME pftLastWriteTime,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpSetValue)(HANDLE hcKey, LPCWSTR pszValue, DWORD dwType,
|
||||
const BYTE* pData, DWORD cbData, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpDeleteValue)(HANDLE hcKey, LPCWSTR pszValue, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpEnumValue)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszValue,
|
||||
PDWORD pcbValue, PDWORD pType, PBYTE pData, PDWORD pcbData,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpQueryValue)(HANDLE hcKey, LPCWSTR pszValue, PDWORD pType,
|
||||
PBYTE pData, PDWORD pcbData, HANDLE hSpooler);
|
||||
} MONITORREG, *PMONITORREG;
|
||||
|
||||
typedef struct _MONITORINIT {
|
||||
DWORD cbSize;
|
||||
HANDLE hSpooler;
|
||||
HANDLE hckRegistryRoot;
|
||||
PMONITORREG pMonitorReg;
|
||||
BOOL bLocal;
|
||||
} MONITORINIT, *PMONITORINIT;
|
||||
|
||||
typedef struct _MONITORUI {
|
||||
DWORD dwMonitorUISize;
|
||||
BOOL (WINAPI *pfnAddPortUI)(PCWSTR pszServer, HWND hWnd,
|
||||
PCWSTR pszPortNameIn, PWSTR *ppszPortNameOut);
|
||||
BOOL (WINAPI *pfnConfigurePortUI)(PCWSTR pName, HWND hWnd, PCWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePortUI)(PCWSTR pszServer, HWND hWnd, PCWSTR pszPortName);
|
||||
}MONITORUI, *PMONITORUI;
|
||||
|
||||
typedef struct _PRINTPROCESSOROPENDATA {
|
||||
PDEVMODEW pDevMode;
|
||||
LPWSTR pDatatype;
|
||||
LPWSTR pParameters;
|
||||
LPWSTR pDocumentName;
|
||||
DWORD JobId;
|
||||
LPWSTR pOutputFile;
|
||||
LPWSTR pPrinterName;
|
||||
} PRINTPROCESSOROPENDATA, *LPPRINTPROCESSOROPENDATA, *PPRINTPROCESSOROPENDATA;
|
||||
|
||||
|
||||
/*
|
||||
* WARNING: Many Functions are declared as "BOOL", but return ROUTER_*
|
||||
*/
|
||||
|
||||
typedef struct _PRINTPROVIDOR {
|
||||
BOOL (WINAPI *fpOpenPrinter)(LPWSTR lpPrinterName, HANDLE *phPrinter,
|
||||
LPPRINTER_DEFAULTSW 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)(LPWSTR 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 dwType, LPWSTR lpszName, DWORD dwLevel,
|
||||
LPBYTE lpbPrinters, DWORD cbBuf, LPDWORD lpdwNeeded,
|
||||
LPDWORD lpdwReturned);
|
||||
BOOL (WINAPI *fpAddPrinterDriver)(LPWSTR pName, DWORD Level,
|
||||
LPBYTE pDriverInfo);
|
||||
BOOL (WINAPI *fpEnumPrinterDrivers)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpGetPrinterDriverDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverDirectory, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrinterDriver)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName);
|
||||
BOOL (WINAPI *fpAddPrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPathName, LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessors)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrintProcessorDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPWSTR pName,
|
||||
LPWSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
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, LPWSTR pValueName,
|
||||
LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter, LPWSTR pValueName,
|
||||
DWORD Type, LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
|
||||
BOOL (WINAPI *fpClosePrinter)(HANDLE phPrinter);
|
||||
BOOL (WINAPI *fpAddForm)(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
|
||||
BOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter, LPWSTR pFormName);
|
||||
BOOL (WINAPI *fpGetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpSetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm);
|
||||
BOOL (WINAPI *fpEnumForms)(HANDLE hPrinter, DWORD Level, LPBYTE pForm,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumMonitors)(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *fpDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter, LPDEVMODEW pDevMode);
|
||||
BOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, LPBYTE pIn,
|
||||
DWORD cIn, LPBYTE pOut, DWORD cOut, DWORD ul);
|
||||
BOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC);
|
||||
BOOL (WINAPI *fpAddPrinterConnection)(LPWSTR pName);
|
||||
BOOL (WINAPI *fpDeletePrinterConnection)(LPWSTR pName);
|
||||
DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter, DWORD Error, HWND hWnd,
|
||||
LPWSTR pText, LPWSTR pCaption, DWORD dwType);
|
||||
BOOL (WINAPI *fpAddMonitor)(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
|
||||
BOOL (WINAPI *fpDeleteMonitor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpResetPrinter)(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
|
||||
BOOL (WINAPI *fpGetPrinterDriverEx)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
DWORD dwClientMajorVersion, DWORD dwClientMinorVersion,
|
||||
PDWORD pdwServerMajorVersion, PDWORD pdwServerMinorVersion);
|
||||
HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD fdwFlags, DWORD fdwOptions, LPVOID pPrinterNotifyOptions);
|
||||
BOOL (WINAPI *fpFindClosePrinterChangeNotification)(HANDLE hChange);
|
||||
BOOL (WINAPI *fpAddPortEx)(HANDLE hMonitor, LPWSTR pName, DWORD Level,
|
||||
LPBYTE lpBuffer, LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *fpShutDown)(LPVOID pvReserved);
|
||||
BOOL (WINAPI *fpRefreshPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD Reserved, PVOID pvReserved, PVOID pPrinterNotifyInfo);
|
||||
BOOL (WINAPI *fpOpenPrinterEx)(LPWSTR pPrinterName, LPHANDLE phPrinter,
|
||||
LPPRINTER_DEFAULTSW pDefault, LPBYTE pClientInfo, DWORD Level);
|
||||
HANDLE (WINAPI *fpAddPrinterEx)(LPWSTR pName, DWORD Level, LPBYTE pPrinter,
|
||||
LPBYTE pClientInfo, DWORD ClientInfoLevel);
|
||||
BOOL (WINAPI *fpSetPort)(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
|
||||
LPBYTE pPortInfo);
|
||||
DWORD (WINAPI *fpEnumPrinterData)( HANDLE hPrinter, DWORD dwIndex,
|
||||
LPWSTR pValueName, DWORD cbValueName, LPDWORD pcbValueName,
|
||||
LPDWORD pType, LPBYTE pData, DWORD cbData, LPDWORD pcbData);
|
||||
DWORD (WINAPI *fpDeletePrinterData)(HANDLE hPrinter, LPWSTR pValueName);
|
||||
DWORD (WINAPI *fpClusterSplOpen)(LPCWSTR pszServer, LPCWSTR pszResource,
|
||||
PHANDLE phSpooler, LPCWSTR pszName, LPCWSTR pszAddress);
|
||||
DWORD (WINAPI *fpClusterSplClose)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpClusterSplIsAlive)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpSetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpGetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize,
|
||||
LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpEnumPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues,
|
||||
LPDWORD pnEnumValues);
|
||||
DWORD (WINAPI *fpEnumPrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey);
|
||||
DWORD (WINAPI *fpDeletePrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName);
|
||||
DWORD (WINAPI *fpDeletePrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName);
|
||||
BOOL (WINAPI *fpSeekPrinter)(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove,
|
||||
PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite);
|
||||
BOOL (WINAPI *fpDeletePrinterDriverEx)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionNum);
|
||||
BOOL (WINAPI *fpAddPerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName, LPCWSTR pPrintServer, LPCWSTR pProvider);
|
||||
BOOL (WINAPI *fpDeletePerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName);
|
||||
BOOL (WINAPI *fpEnumPerMachineConnections)(LPCWSTR pServer,
|
||||
LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpXcvData)(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
|
||||
DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded, PDWORD pdwStatus);
|
||||
BOOL (WINAPI *fpAddPrinterDriverEx)(LPWSTR pName, DWORD Level,
|
||||
LPBYTE pDriverInfo, DWORD dwFileCopyFlags);
|
||||
BOOL (WINAPI *fpSplReadPrinter)(HANDLE hPrinter, LPBYTE *pBuf, DWORD cbBuf);
|
||||
BOOL (WINAPI *fpDriverUnloadComplete)(LPWSTR pDriverFile);
|
||||
BOOL (WINAPI *fpGetSpoolFileInfo)(HANDLE hPrinter, LPWSTR *pSpoolDir,
|
||||
LPHANDLE phFile, HANDLE hSpoolerProcess, HANDLE hAppProcess);
|
||||
BOOL (WINAPI *fpCommitSpoolData)(HANDLE hPrinter, DWORD cbCommit);
|
||||
BOOL (WINAPI *fpCloseSpoolFileHandle)(HANDLE hPrinter);
|
||||
BOOL (WINAPI *fpFlushPrinter)(HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf,
|
||||
LPDWORD pcWritten, DWORD cSleep);
|
||||
DWORD (WINAPI *fpSendRecvBidiData)(HANDLE hPort, LPCWSTR pAction,
|
||||
LPBIDI_REQUEST_CONTAINER pReqData,
|
||||
LPBIDI_RESPONSE_CONTAINER *ppResData);
|
||||
BOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel,
|
||||
VOID *pvDriverInfCatInfo, DWORD dwCatalogCopyFlags);
|
||||
} PRINTPROVIDOR, *LPPRINTPROVIDOR;
|
||||
|
||||
/* DECLARATIONS */
|
||||
|
||||
HANDLE WINAPI CreatePrinterIC(HANDLE hPrinter, LPDEVMODEW 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, LPDEVMODEW pDevMode, DWORD *pResID);
|
||||
|
||||
/* Security and Access */
|
||||
HANDLE WINAPI RevertToPrinterSelf(VOID);
|
||||
BOOL WINAPI ImpersonatePrinterClient(HANDLE hToken);
|
||||
BOOL WINAPI OpenPrinterToken(PHANDLE phToken);
|
||||
BOOL WINAPI SetPrinterToken(HANDLE hToken);
|
||||
BOOL WINAPI ClosePrinterToken(HANDLE hToken);
|
||||
|
||||
/* Notification */
|
||||
BOOL WINAPI ReplyPrinterChangeNotification(HANDLE hNotify, DWORD fdwFlags,
|
||||
PDWORD pdwResult, PVOID pPrinterNotifyInfo);
|
||||
BOOL WINAPI PartialReplyPrinterChangeNotification(HANDLE hNotify,
|
||||
PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc);
|
||||
PPRINTER_NOTIFY_INFO RouterAllocPrinterNotifyInfo(DWORD cPrinterNotifyInfoData);
|
||||
BOOL WINAPI RouterFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
||||
BOOL WINAPI AppendPrinterNotifyInfoData(PPRINTER_NOTIFY_INFO pInfoDest,
|
||||
PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc, DWORD fdwFlags);
|
||||
DWORD WINAPI CallRouterFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags, DWORD fdwOptions, HANDLE hNotify, PVOID pvReserved);
|
||||
|
||||
/* Port monitor / Language monitor / Print monitor */
|
||||
LPMONITOR2 WINAPI InitializePrintMonitor2(PMONITORINIT pMonitorInit,
|
||||
PHANDLE phMonitor);
|
||||
PMONITORUI WINAPI InitializePrintMonitorUI(VOID);
|
||||
LPMONITOREX WINAPI InitializePrintMonitor(LPWSTR pRegistryRoot);
|
||||
BOOL WINAPI InitializeMonitorEx(LPWSTR pRegistryRoot, LPMONITOR pMonitor);
|
||||
BOOL WINAPI InitializeMonitor(LPWSTR pRegistryRoot);
|
||||
|
||||
BOOL WINAPI OpenPort(LPWSTR pName, PHANDLE pHandle);
|
||||
BOOL WINAPI WritePort(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuf,
|
||||
LPDWORD pcbWritten);
|
||||
BOOL WINAPI ReadPort(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer,
|
||||
LPDWORD pcbRead);
|
||||
BOOL WINAPI ClosePort(HANDLE hPort);
|
||||
|
||||
/* Print processor */
|
||||
HANDLE WINAPI OpenPrintProcessor(LPWSTR pPrinterName,
|
||||
PPRINTPROCESSOROPENDATA pPrintProcessorOpenData);
|
||||
BOOL WINAPI PrintDocumentOnPrintProcessor(HANDLE hPrintProcessor,
|
||||
LPWSTR pDocumentName);
|
||||
BOOL WINAPI ClosePrintProcessor(HANDLE hPrintProcessor);
|
||||
BOOL WINAPI ControlPrintProcessor(HANDLE hPrintProcessor, DWORD Command);
|
||||
BOOL WINAPI InstallPrintProcessor(HWND hWnd);
|
||||
|
||||
/* Print provider */
|
||||
BOOL WINAPI InitializePrintProvidor(LPPRINTPROVIDOR pPrintProvidor,
|
||||
DWORD cbPrintProvidor, LPWSTR pFullRegistryPath);
|
||||
BOOL WINAPI ProvidorFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags, DWORD fdwOptions, HANDLE hNotify,
|
||||
PVOID pvReserved0, PVOID pvReserved1);
|
||||
BOOL WINAPI ProvidorFindClosePrinterChangeNotification(HANDLE hPrinter);
|
||||
|
||||
/* Spooler */
|
||||
BOOL WINAPI SpoolerFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags, DWORD fdwOptions, PHANDLE phEvent,
|
||||
PVOID pPrinterNotifyOptions, PVOID pvReserved);
|
||||
BOOL WINAPI SpoolerFindNextPrinterChangeNotification(HANDLE hPrinter,
|
||||
LPDWORD pfdwChange, PVOID pvReserved0, PVOID ppPrinterNotifyInfo);
|
||||
VOID WINAPI SpoolerFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
||||
BOOL WINAPI SpoolerFindClosePrinterChangeNotification(HANDLE hPrinter);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
|
@ -677,6 +677,16 @@ extern "C" {
|
|||
|
||||
/* TYPES */
|
||||
|
||||
typedef struct _OPTPARAM {
|
||||
WORD cbSize;
|
||||
BYTE Flags;
|
||||
BYTE Style;
|
||||
LPTSTR pData;
|
||||
ULONG_PTR IconID;
|
||||
LPARAM lParam;
|
||||
ULONG_PTR dwReserved[2];
|
||||
} OPTPARAM, *POPTPARAM;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
typedef struct _OPTCOMBO {
|
||||
WORD cbSize;
|
||||
|
@ -688,16 +698,6 @@ typedef struct _OPTCOMBO {
|
|||
} OPTCOMBO, *POPTCOMBO;
|
||||
#endif
|
||||
|
||||
typedef struct _OPTPARAM {
|
||||
WORD cbSize;
|
||||
BYTE Flags;
|
||||
BYTE Style;
|
||||
LPTSTR pData;
|
||||
ULONG_PTR IconID;
|
||||
LPARAM lParam;
|
||||
ULONG_PTR dwReserved[2];
|
||||
} OPTPARAM, *POPTPARAM;
|
||||
|
||||
typedef struct _OPTTYPE {
|
||||
WORD cbSize;
|
||||
BYTE Type;
|
||||
|
|
786
include/psdk/winsplp.h
Normal file
786
include/psdk/winsplp.h
Normal file
|
@ -0,0 +1,786 @@
|
|||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if (STRICT && (NTDDI_VERSION >= NTDDI_VISTA))
|
||||
#define HKEYMONITOR HKEY
|
||||
#else
|
||||
#define HKEYMONITOR HANDLE
|
||||
#endif
|
||||
|
||||
#define PRINTER_NOTIFY_STATUS_ENDPOINT 1
|
||||
#define PRINTER_NOTIFY_STATUS_POLL 2
|
||||
#define PRINTER_NOTIFY_STATUS_INFO 4
|
||||
|
||||
#define ROUTER_UNKNOWN 0
|
||||
#define ROUTER_SUCCESS 1
|
||||
#define ROUTER_STOP_ROUTING 2
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define MONITOR2_SIZE_WIN2K (sizeof(DWORD) + (sizeof(PVOID)*18))
|
||||
#endif
|
||||
|
||||
#define COPYFILE_EVENT_SET_PRINTER_DATAEX 1
|
||||
#define COPYFILE_EVENT_DELETE_PRINTER 2
|
||||
#define COPYFILE_EVENT_ADD_PRINTER_CONNECTION 3
|
||||
#define COPYFILE_EVENT_DELETE_PRINTER_CONNECTION 4
|
||||
#define COPYFILE_EVENT_FILES_CHANGED 5
|
||||
|
||||
#define COPYFILE_FLAG_CLIENT_SPOOLER 0x00000001
|
||||
#define COPYFILE_FLAG_SERVER_SPOOLER 0x00000002
|
||||
|
||||
#define PRINTER_NOTIFY_INFO_DATA_COMPACT 1
|
||||
|
||||
typedef struct _PRINTER_NOTIFY_INIT {
|
||||
DWORD Size;
|
||||
DWORD Reserved;
|
||||
DWORD PollTime;
|
||||
} PRINTER_NOTIFY_INIT, *LPPRINTER_NOTIFY_INIT, *PPRINTER_NOTIFY_INIT;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_1 {
|
||||
DWORD dwSize;
|
||||
LPWSTR pMachineName;
|
||||
LPWSTR pUserName;
|
||||
DWORD dwBuildNum;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
WORD wProcessorArchitecture;
|
||||
} SPLCLIENT_INFO_1, *LPSPLCLIENT_INFO_1, *PSPLCLIENT_INFO_1;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V1{
|
||||
ULONG_PTR hSplPrinter;
|
||||
} SPLCLIENT_INFO_2_W2K;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V2{
|
||||
#ifdef _WIN64
|
||||
DWORD64 hSplPrinter;
|
||||
#else
|
||||
DWORD32 hSplPrinter;
|
||||
#endif
|
||||
} SPLCLIENT_INFO_2_WINXP;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_2_V3{
|
||||
UINT64 hSplPrinter;
|
||||
} SPLCLIENT_INFO_2_LONGHORN;
|
||||
|
||||
typedef struct _PRINTPROVIDOR {
|
||||
BOOL (WINAPI *fpOpenPrinter)(PWSTR lpPrinterName, HANDLE *phPrinter,
|
||||
PPRINTER_DEFAULTSW 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)(LPWSTR 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 dwType, LPWSTR lpszName, DWORD dwLevel,
|
||||
LPBYTE lpbPrinters, DWORD cbBuf, LPDWORD lpdwNeeded,
|
||||
LPDWORD lpdwReturned);
|
||||
BOOL (WINAPI *fpAddPrinterDriver)(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo);
|
||||
BOOL (WINAPI *fpEnumPrinterDrivers)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded, LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpGetPrinterDriverDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverDirectory,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrinterDriver)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName);
|
||||
BOOL (WINAPI *fpAddPrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPathName, LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessors)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcbReturned);
|
||||
BOOL (WINAPI *fpGetPrintProcessorDirectory)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pPrintProcessorInfo,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpDeletePrintProcessor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pPrintProcessorName);
|
||||
BOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPWSTR pName,
|
||||
LPWSTR pPrintProcessorName,
|
||||
DWORD Level, LPBYTE pDatatypes,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcbReturned);
|
||||
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, LPWSTR pValueName,
|
||||
LPDWORD pType, LPBYTE pData, DWORD nSize,
|
||||
LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter, LPWSTR pValueName,
|
||||
DWORD Type, LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
|
||||
BOOL (WINAPI *fpClosePrinter)(HANDLE phPrinter);
|
||||
BOOL (WINAPI *fpAddForm)(HANDLE hPrinter, DWORD Level, LPBYTE pForm);
|
||||
BOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter, LPWSTR pFormName);
|
||||
BOOL (WINAPI *fpGetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded);
|
||||
BOOL (WINAPI *fpSetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level,
|
||||
LPBYTE pForm);
|
||||
BOOL (WINAPI *fpEnumForms)(HANDLE hPrinter, DWORD Level, LPBYTE pForm,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumMonitors)(LPWSTR pName, DWORD Level, LPBYTE pMonitors,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *fpDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter, LPDEVMODEW pDevMode);
|
||||
BOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, LPBYTE pIn,
|
||||
DWORD cIn, LPBYTE pOut, DWORD cOut,
|
||||
DWORD ul);
|
||||
BOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC);
|
||||
BOOL (WINAPI *fpAddPrinterConnection)(LPWSTR pName);
|
||||
BOOL (WINAPI *fpDeletePrinterConnection)(LPWSTR pName);
|
||||
DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter, DWORD Error, HWND hWnd,
|
||||
LPWSTR pText, LPWSTR pCaption,
|
||||
DWORD dwType);
|
||||
BOOL (WINAPI *fpAddMonitor)(LPWSTR pName, DWORD Level, LPBYTE pMonitors);
|
||||
BOOL (WINAPI *fpDeleteMonitor)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *fpResetPrinter)(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault);
|
||||
BOOL (WINAPI *fpGetPrinterDriverEx)(HANDLE hPrinter, LPWSTR pEnvironment,
|
||||
DWORD Level, LPBYTE pDriverInfo,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
DWORD dwClientMajorVersion,
|
||||
DWORD dwClientMinorVersion,
|
||||
PDWORD pdwServerMajorVersion,
|
||||
PDWORD pdwServerMinorVersion);
|
||||
HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD fdwFlags,
|
||||
DWORD fdwOptions,
|
||||
LPVOID pPrinterNotifyOptions);
|
||||
BOOL (WINAPI *fpFindClosePrinterChangeNotification)(HANDLE hChange);
|
||||
BOOL (WINAPI *fpAddPortEx)(HANDLE hMonitor, LPWSTR pName, DWORD Level,
|
||||
LPBYTE lpBuffer, LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *fpShutDown)(LPVOID pvReserved);
|
||||
BOOL (WINAPI *fpRefreshPrinterChangeNotification)(HANDLE hPrinter,
|
||||
DWORD Reserved,
|
||||
PVOID pvReserved,
|
||||
PVOID pPrinterNotifyInfo);
|
||||
BOOL (WINAPI *fpOpenPrinterEx)(LPWSTR pPrinterName, LPHANDLE phPrinter,
|
||||
LPPRINTER_DEFAULTSW pDefault, LPBYTE pClientInfo,
|
||||
DWORD Level);
|
||||
HANDLE (WINAPI *fpAddPrinterEx)(LPWSTR pName, DWORD Level, LPBYTE pPrinter,
|
||||
LPBYTE pClientInfo, DWORD ClientInfoLevel);
|
||||
BOOL (WINAPI *fpSetPort)(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel,
|
||||
LPBYTE pPortInfo);
|
||||
DWORD (WINAPI *fpEnumPrinterData)(HANDLE hPrinter, DWORD dwIndex,
|
||||
LPWSTR pValueName, DWORD cbValueName,
|
||||
LPDWORD pcbValueName, LPDWORD pType,
|
||||
LPBYTE pData, DWORD cbData, LPDWORD pcbData);
|
||||
DWORD (WINAPI *fpDeletePrinterData)(HANDLE hPrinter, LPWSTR pValueName);
|
||||
DWORD (WINAPI *fpClusterSplOpen)(LPCWSTR pszServer, LPCWSTR pszResource,
|
||||
PHANDLE phSpooler, LPCWSTR pszName,
|
||||
LPCWSTR pszAddress);
|
||||
DWORD (WINAPI *fpClusterSplClose)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpClusterSplIsAlive)(HANDLE hSpooler);
|
||||
DWORD (WINAPI *fpSetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, DWORD Type,
|
||||
LPBYTE pData, DWORD cbData);
|
||||
DWORD (WINAPI *fpGetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName, LPDWORD pType,
|
||||
LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded);
|
||||
DWORD (WINAPI *fpEnumPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPBYTE pEnumValues, DWORD cbEnumValues,
|
||||
LPDWORD pcbEnumValues, LPDWORD pnEnumValues);
|
||||
DWORD (WINAPI *fpEnumPrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey);
|
||||
DWORD (WINAPI *fpDeletePrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName);
|
||||
DWORD (WINAPI *fpDeletePrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName);
|
||||
BOOL (WINAPI *fpSeekPrinter)(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove,
|
||||
PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod,
|
||||
BOOL bWrite);
|
||||
BOOL (WINAPI *fpDeletePrinterDriverEx)(LPWSTR pName, LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName, DWORD dwDeleteFlag,
|
||||
DWORD dwVersionNum);
|
||||
BOOL (WINAPI *fpAddPerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName, LPCWSTR pPrintServer,
|
||||
LPCWSTR pProvider);
|
||||
BOOL (WINAPI *fpDeletePerMachineConnection)(LPCWSTR pServer,
|
||||
LPCWSTR pPrinterName);
|
||||
BOOL (WINAPI *fpEnumPerMachineConnections)(LPCWSTR pServer,
|
||||
LPBYTE pPrinterEnum, DWORD cbBuf,
|
||||
LPDWORD pcbNeeded,
|
||||
LPDWORD pcReturned);
|
||||
BOOL (WINAPI *fpXcvData)(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData,
|
||||
DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded, PDWORD pdwStatus);
|
||||
BOOL (WINAPI *fpAddPrinterDriverEx)(LPWSTR pName, DWORD Level,
|
||||
LPBYTE pDriverInfo, DWORD dwFileCopyFlags);
|
||||
BOOL (WINAPI *fpSplReadPrinter)(HANDLE hPrinter, LPBYTE *pBuf, DWORD cbBuf);
|
||||
BOOL (WINAPI *fpDriverUnloadComplete)(LPWSTR pDriverFile);
|
||||
BOOL (WINAPI *fpGetSpoolFileInfo)(HANDLE hPrinter, LPWSTR *pSpoolDir,
|
||||
LPHANDLE phFile, HANDLE hSpoolerProcess,
|
||||
HANDLE hAppProcess);
|
||||
BOOL (WINAPI *fpCommitSpoolData)(HANDLE hPrinter, DWORD cbCommit);
|
||||
BOOL (WINAPI *fpCloseSpoolFileHandle)(HANDLE hPrinter);
|
||||
BOOL (WINAPI *fpFlushPrinter)(HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf,
|
||||
LPDWORD pcWritten, DWORD cSleep);
|
||||
DWORD (WINAPI *fpSendRecvBidiData)(HANDLE hPort, LPCWSTR pAction,
|
||||
LPBIDI_REQUEST_CONTAINER pReqData,
|
||||
LPBIDI_RESPONSE_CONTAINER *ppResData);
|
||||
BOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel,
|
||||
VOID *pvDriverInfCatInfo, DWORD dwCatalogCopyFlags);
|
||||
} PRINTPROVIDOR, *LPPRINTPROVIDOR;
|
||||
|
||||
typedef struct _PRINTPROCESSOROPENDATA {
|
||||
PDEVMODEW pDevMode;
|
||||
LPWSTR pDatatype;
|
||||
LPWSTR pParameters;
|
||||
LPWSTR pDocumentName;
|
||||
DWORD JobId;
|
||||
LPWSTR pOutputFile;
|
||||
LPWSTR pPrinterName;
|
||||
} PRINTPROCESSOROPENDATA, *LPPRINTPROCESSOROPENDATA, *PPRINTPROCESSOROPENDATA;
|
||||
|
||||
typedef struct _MONITORREG {
|
||||
DWORD cbSize;
|
||||
LONG (WINAPI *fpCreateKey)(HANDLE hcKey, LPCWSTR pszSubKey, DWORD dwOptions,
|
||||
REGSAM samDesired,
|
||||
PSECURITY_ATTRIBUTES pSecurityAttributes,
|
||||
PHANDLE phckResult, PDWORD pdwDisposition,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpOpenKey)(HANDLE hcKey, LPCWSTR pszSubKey, REGSAM samDesired,
|
||||
PHANDLE phkResult, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpCloseKey)(HANDLE hcKey, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpDeleteKey)(HANDLE hcKey, LPCWSTR pszSubKey, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpEnumKey)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszName,
|
||||
PDWORD pcchName, PFILETIME pftLastWriteTime,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpQueryInfoKey)(HANDLE hcKey, PDWORD pcSubKeys, PDWORD pcbKey,
|
||||
PDWORD pcValues, PDWORD pcbValue, PDWORD pcbData,
|
||||
PDWORD pcbSecurityDescriptor,
|
||||
PFILETIME pftLastWriteTime,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpSetValue)(HANDLE hcKey, LPCWSTR pszValue, DWORD dwType,
|
||||
const BYTE* pData, DWORD cbData, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpDeleteValue)(HANDLE hcKey, LPCWSTR pszValue, HANDLE hSpooler);
|
||||
LONG (WINAPI *fpEnumValue)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszValue,
|
||||
PDWORD pcbValue, PDWORD pType, PBYTE pData, PDWORD pcbData,
|
||||
HANDLE hSpooler);
|
||||
LONG (WINAPI *fpQueryValue)(HANDLE hcKey, LPCWSTR pszValue, PDWORD pType,
|
||||
PBYTE pData, PDWORD pcbData, HANDLE hSpooler);
|
||||
} MONITORREG, *PMONITORREG;
|
||||
|
||||
typedef struct _MONITORINIT {
|
||||
DWORD cbSize;
|
||||
HANDLE hSpooler;
|
||||
HKEYMONITOR hckRegistryRoot;
|
||||
PMONITORREG pMonitorReg;
|
||||
BOOL bLocal;
|
||||
LPCWSTR pszServerName;
|
||||
} MONITORINIT, *PMONITORINIT;
|
||||
|
||||
typedef struct _MONITOR {
|
||||
BOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
|
||||
BOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle);
|
||||
BOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName,
|
||||
PHANDLE pHandle, struct _MONITOR *pMonitor);
|
||||
BOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR 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)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
||||
LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
||||
LPWSTR pValueName, LPWSTR lpInBuffer,
|
||||
DWORD cbInBuffer, LPWSTR lpOutBuffer,
|
||||
DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
||||
BOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
||||
DWORD reserved);
|
||||
BOOL (WINAPI *pfnXcvOpenPort)(LPCWSTR pszObject, ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
||||
DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
||||
PBYTE pInputData, DWORD cbInputData,
|
||||
PBYTE pOutputData, DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded);
|
||||
BOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
||||
} MONITOR, *LPMONITOR;
|
||||
|
||||
typedef struct _MONITOREX {
|
||||
DWORD dwMonitorSize;
|
||||
MONITOR Monitor;
|
||||
} MONITOREX, *LPMONITOREX;
|
||||
|
||||
typedef struct _MONITOR2 {
|
||||
DWORD cbSize;
|
||||
BOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts,
|
||||
DWORD cbBuf, LPDWORD pcbNeeded,
|
||||
LPDWORD pcReturned);
|
||||
BOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle);
|
||||
BOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName,
|
||||
PHANDLE pHandle, struct _MONITOR2 *pMonitor2);
|
||||
BOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR 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)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName);
|
||||
BOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer,
|
||||
LPWSTR lpMonitorName);
|
||||
BOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName);
|
||||
BOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID,
|
||||
LPWSTR pValueName, LPWSTR lpInBuffer,
|
||||
DWORD cbInBuffer, LPWSTR lpOutBuffer,
|
||||
DWORD cbOutBuffer, LPDWORD lpcbReturned);
|
||||
BOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO,
|
||||
DWORD reserved);
|
||||
BOOL (WINAPI *pfnXcvOpenPort)(HANDLE hMonitor, LPCWSTR pszObject,
|
||||
ACCESS_MASK GrantedAccess, PHANDLE phXcv);
|
||||
DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName,
|
||||
PBYTE pInputData, DWORD cbInputData,
|
||||
PBYTE pOutputData, DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded);
|
||||
BOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv);
|
||||
VOID (WINAPI *pfnShutdown)(HANDLE hMonitor);
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
DWORD (WINAPI *pfnSendRecvBidiDataFromPort)(HANDLE hPort, DWORD dwAccessBit,
|
||||
LPCWSTR pAction,
|
||||
PBIDI_REQUEST_CONTAINER pReqData,
|
||||
PBIDI_RESPONSE_CONTAINER *ppResData);
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
DWORD (WINAPI *pfnNotifyUsedPorts)(HANDLE hMonitor, DWORD cPorts,
|
||||
PCWSTR *ppszPorts);
|
||||
|
||||
DWORD (WINAPI *pfnNotifyUnusedPorts)(HANDLE hMonitor, DWORD cPorts,
|
||||
PCWSTR *ppszPorts);
|
||||
#endif
|
||||
} MONITOR2, *LPMONITOR2, *PMONITOR2;
|
||||
|
||||
typedef struct _MONITORUI {
|
||||
DWORD dwMonitorUISize;
|
||||
BOOL (WINAPI *pfnAddPortUI)(PCWSTR pszServer, HWND hWnd,
|
||||
PCWSTR pszPortNameIn, PWSTR *ppszPortNameOut);
|
||||
BOOL (WINAPI *pfnConfigurePortUI)(PCWSTR pName, HWND hWnd, PCWSTR pPortName);
|
||||
BOOL (WINAPI *pfnDeletePortUI)(PCWSTR pszServer, HWND hWnd, PCWSTR pszPortName);
|
||||
} MONITORUI, *PMONITORUI;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
typedef enum {
|
||||
kMessageBox = 0
|
||||
} UI_TYPE;
|
||||
|
||||
typedef struct {
|
||||
DWORD cbSize;
|
||||
LPWSTR pTitle;
|
||||
LPWSTR pMessage;
|
||||
DWORD Style;
|
||||
DWORD dwTimeout;
|
||||
BOOL bWait;
|
||||
} MESSAGEBOX_PARAMS, *PMESSAGEBOX_PARAMS;
|
||||
|
||||
typedef struct {
|
||||
UI_TYPE UIType;
|
||||
MESSAGEBOX_PARAMS MessageBoxParams;
|
||||
} SHOWUIPARAMS, *PSHOWUIPARAMS;
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#ifndef __ATTRIBUTE_INFO_3__
|
||||
#define __ATTRIBUTE_INFO_3__
|
||||
typedef struct _ATTRIBUTE_INFO_3 {
|
||||
DWORD dwJobNumberOfPagesPerSide;
|
||||
DWORD dwDrvNumberOfPagesPerSide;
|
||||
DWORD dwNupBorderFlags;
|
||||
DWORD dwJobPageOrderFlags;
|
||||
DWORD dwDrvPageOrderFlags;
|
||||
DWORD dwJobNumberOfCopies;
|
||||
DWORD dwDrvNumberOfCopies;
|
||||
DWORD dwColorOptimization;
|
||||
short dmPrintQuality;
|
||||
short dmYResolution;
|
||||
} ATTRIBUTE_INFO_3, *PATTRIBUTE_INFO_3;
|
||||
#endif /* __ATTRIBUTE_INFO_3__ */
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WS03) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
typedef BOOL
|
||||
(CALLBACK *ROUTER_NOTIFY_CALLBACK)(
|
||||
IN DWORD dwCommand,
|
||||
IN PVOID pContext,
|
||||
IN DWORD dwColor,
|
||||
IN PPRINTER_NOTIFY_INFO pNofityInfo,
|
||||
IN DWORD fdwFlags,
|
||||
OUT PDWORD pdwResult);
|
||||
|
||||
typedef enum _NOTIFICATION_CALLBACK_COMMANDS {
|
||||
NOTIFICATION_COMMAND_NOTIFY,
|
||||
NOTIFICATION_COMMAND_CONTEXT_ACQUIRE,
|
||||
NOTIFICATION_COMMAND_CONTEXT_RELEASE
|
||||
} NOTIFICATION_CALLBACK_COMMANDS;
|
||||
|
||||
typedef struct _NOTIFICATION_CONFIG_1 {
|
||||
UINT cbSize;
|
||||
DWORD fdwFlags;
|
||||
ROUTER_NOTIFY_CALLBACK pfnNotifyCallback;
|
||||
PVOID pContext;
|
||||
} NOTIFICATION_CONFIG_1, *PNOTIFICATION_CONFIG_1;
|
||||
|
||||
typedef enum _NOTIFICATION_CONFIG_FLAGS {
|
||||
NOTIFICATION_CONFIG_CREATE_EVENT = 1 << 0,
|
||||
NOTIFICATION_CONFIG_REGISTER_CALLBACK = 1 << 1,
|
||||
NOTIFICATION_CONFIG_EVENT_TRIGGER = 1 << 2,
|
||||
NOTIFICATION_CONFIG_ASYNC_CHANNEL = 1 << 3
|
||||
} NOTIFICATION_CONFIG_FLAGS;
|
||||
|
||||
typedef struct _SPLCLIENT_INFO_3 {
|
||||
UINT cbSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwSize;
|
||||
PWSTR pMachineName;
|
||||
PWSTR pUserName;
|
||||
DWORD dwBuildNum;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
WORD wProcessorArchitecture;
|
||||
UINT64 hSplPrinter;
|
||||
} SPLCLIENT_INFO_3, *PSPLCLIENT_INFO_3, *LPSPLCLIENT_INFO_3;
|
||||
|
||||
#ifndef __ATTRIBUTE_INFO_4__
|
||||
#define __ATTRIBUTE_INFO_4__
|
||||
|
||||
typedef struct _ATTRIBUTE_INFO_4 {
|
||||
DWORD dwJobNumberOfPagesPerSide;
|
||||
DWORD dwDrvNumberOfPagesPerSide;
|
||||
DWORD dwNupBorderFlags;
|
||||
DWORD dwJobPageOrderFlags;
|
||||
DWORD dwDrvPageOrderFlags;
|
||||
DWORD dwJobNumberOfCopies;
|
||||
DWORD dwDrvNumberOfCopies;
|
||||
DWORD dwColorOptimization;
|
||||
short dmPrintQuality;
|
||||
short dmYResolution;
|
||||
DWORD dwDuplexFlags;
|
||||
DWORD dwNupDirection;
|
||||
DWORD dwBookletFlags;
|
||||
DWORD dwScalingPercentX;
|
||||
DWORD dwScalingPercentY;
|
||||
} ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4;
|
||||
|
||||
#define REVERSE_PAGES_FOR_REVERSE_DUPLEX (0x00000001)
|
||||
#define DONT_SEND_EXTRA_PAGES_FOR_DUPLEX (0x00000001 << 1)
|
||||
|
||||
#define RIGHT_THEN_DOWN (0x00000001)
|
||||
#define DOWN_THEN_RIGHT (0x00000001 << 1)
|
||||
#define LEFT_THEN_DOWN (0x00000001 << 2)
|
||||
#define DOWN_THEN_LEFT (0x00000001 << 3)
|
||||
|
||||
#define BOOKLET_EDGE_LEFT 0x00000000
|
||||
#define BOOKLET_EDGE_RIGHT 0x00000001
|
||||
|
||||
#endif /* __ATTRIBUTE_INFO_4__ */
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
#if (OSVER(NTDDI_VERSION) == NTDDI_W2K)
|
||||
typedef SPLCLIENT_INFO_2_W2K SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#elif ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) || (OSVER(NTDDI_VERSION) == NTDDI_WS03))
|
||||
typedef SPLCLIENT_INFO_2_WINXP SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#else
|
||||
typedef SPLCLIENT_INFO_2_LONGHORN SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2;
|
||||
#endif /* (OSVER(NTDDI_VERSION) == NTDDI_W2K) */
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
InitializePrintProvidor(
|
||||
OUT LPPRINTPROVIDOR pPrintProvidor,
|
||||
IN DWORD cbPrintProvidor,
|
||||
IN LPWSTR pFullRegistryPath OPTIONAL);
|
||||
|
||||
HANDLE
|
||||
WINAPI
|
||||
OpenPrintProcessor(
|
||||
IN LPWSTR pPrinterName,
|
||||
IN PPRINTPROCESSOROPENDATA pPrintProcessorOpenData);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
PrintDocumentOnPrintProcessor(
|
||||
IN HANDLE hPrintProcessor,
|
||||
IN LPWSTR pDocumentName);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ClosePrintProcessor(
|
||||
IN OUT HANDLE hPrintProcessor);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ControlPrintProcessor(
|
||||
IN HANDLE hPrintProcessor,
|
||||
IN DWORD Command);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
GetPrintProcessorCapabilities(
|
||||
IN LPTSTR pValueName,
|
||||
IN DWORD dwAttributes,
|
||||
OUT LPBYTE pData,
|
||||
IN DWORD nSize,
|
||||
OUT LPDWORD pcbNeeded);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
InitializeMonitor(
|
||||
IN LPWSTR pRegistryRoot);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
OpenPort(
|
||||
IN LPWSTR pName,
|
||||
OUT PHANDLE pHandle);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
WritePort(
|
||||
HANDLE hPort,
|
||||
LPBYTE pBuffer,
|
||||
DWORD cbBuf,
|
||||
LPDWORD pcbWritten);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ReadPort(
|
||||
HANDLE hPort,
|
||||
LPBYTE pBuffer,
|
||||
DWORD cbBuffer,
|
||||
LPDWORD pcbRead);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ClosePort(
|
||||
IN HANDLE hPort);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
XcvOpenPort(
|
||||
LPCWSTR pszObject,
|
||||
ACCESS_MASK GrantedAccess,
|
||||
PHANDLE phXcv);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
XcvDataPort(
|
||||
HANDLE hXcv,
|
||||
LPCWSTR pszDataName,
|
||||
PBYTE pInputData,
|
||||
DWORD cbInputData,
|
||||
PBYTE pOutputData,
|
||||
DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
XcvClosePort(
|
||||
IN HANDLE hXcv);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
AddPortUI(
|
||||
IN PCWSTR pszServer OPTIONAL,
|
||||
IN HWND hWnd,
|
||||
IN PCWSTR pszMonitorNameIn,
|
||||
OUT PWSTR *ppszPortNameOut OPTIONAL);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
ConfigurePortUI(
|
||||
IN PCWSTR pszServer,
|
||||
IN HWND hWnd,
|
||||
IN PCWSTR pszPortName);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DeletePortUI(
|
||||
IN PCWSTR pszServer,
|
||||
IN HWND hWnd,
|
||||
IN PCWSTR pszPortName);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SplDeleteSpoolerPortStart(
|
||||
IN PCWSTR pPortName);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SplDeleteSpoolerPortEnd(
|
||||
IN PCWSTR pName,
|
||||
IN BOOL bDeletePort);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SpoolerCopyFileEvent(
|
||||
IN LPWSTR pszPrinterName,
|
||||
IN LPWSTR pszKey,
|
||||
IN DWORD dwCopyFileEvent);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
GenerateCopyFilePaths(
|
||||
IN LPCWSTR pszPrinterName,
|
||||
IN LPCWSTR pszDirectory,
|
||||
IN LPBYTE pSplClientInfo,
|
||||
IN DWORD dwLevel,
|
||||
IN OUT LPWSTR pszSourceDir,
|
||||
IN OUT LPDWORD pcchSourceDirSize,
|
||||
IN OUT LPWSTR pszTargetDir,
|
||||
IN OUT LPDWORD pcchTargetDirSize,
|
||||
IN DWORD dwFlags);
|
||||
|
||||
HANDLE WINAPI CreatePrinterIC(HANDLE hPrinter, LPDEVMODEW 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, LPDEVMODEW pDevMode, DWORD *pResID);
|
||||
HANDLE WINAPI RevertToPrinterSelf(VOID);
|
||||
BOOL WINAPI ImpersonatePrinterClient(HANDLE hToken);
|
||||
BOOL WINAPI ReplyPrinterChangeNotification(HANDLE hNotify, DWORD fdwFlags,
|
||||
PDWORD pdwResult, PVOID pPrinterNotifyInfo);
|
||||
BOOL WINAPI ReplyPrinterChangeNotificationEx(HANDLE hNotify, DWORD dwColor,
|
||||
DWORD fdwFlags, PDWORD pdwResult,
|
||||
PVOID pPrinterNotifyInfo);
|
||||
BOOL WINAPI PartialReplyPrinterChangeNotification(HANDLE hNotify,
|
||||
PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc);
|
||||
PPRINTER_NOTIFY_INFO WINAPI RouterAllocPrinterNotifyInfo(DWORD cPrinterNotifyInfoData);
|
||||
BOOL WINAPI RouterFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
||||
|
||||
BOOL WINAPI AppendPrinterNotifyInfoData(PPRINTER_NOTIFY_INFO pInfoDest,
|
||||
PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc,
|
||||
DWORD fdwFlags);
|
||||
DWORD WINAPI CallRouterFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags,
|
||||
DWORD fdwOptions,
|
||||
HANDLE hNotify,
|
||||
PPRINTER_NOTIFY_OPTIONS pPrinterNotifyOptions);
|
||||
BOOL WINAPI ProvidorFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags,
|
||||
DWORD fdwOptions,
|
||||
HANDLE hNotify,
|
||||
PVOID pvReserved0,
|
||||
PVOID pvReserved1);
|
||||
BOOL WINAPI ProvidorFindClosePrinterChangeNotification(HANDLE hPrinter);
|
||||
|
||||
/* Spooler */
|
||||
BOOL WINAPI SpoolerFindFirstPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD fdwFlags,
|
||||
DWORD fdwOptions,
|
||||
PHANDLE phEvent,
|
||||
PVOID pPrinterNotifyOptions,
|
||||
PVOID pvReserved);
|
||||
BOOL WINAPI SpoolerFindNextPrinterChangeNotification(HANDLE hPrinter,
|
||||
LPDWORD pfdwChange,
|
||||
PVOID pvReserved0,
|
||||
PVOID ppPrinterNotifyInfo);
|
||||
VOID WINAPI SpoolerFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo);
|
||||
BOOL WINAPI SpoolerFindClosePrinterChangeNotification(HANDLE hPrinter);
|
||||
|
||||
/* Port monitor / Language monitor / Print monitor */
|
||||
LPMONITOR2 WINAPI InitializePrintMonitor2(PMONITORINIT pMonitorInit,
|
||||
PHANDLE phMonitor);
|
||||
PMONITORUI WINAPI InitializePrintMonitorUI(VOID);
|
||||
LPMONITOREX WINAPI InitializePrintMonitor(LPWSTR pRegistryRoot);
|
||||
BOOL WINAPI InitializeMonitorEx(LPWSTR pRegistryRoot, LPMONITOR pMonitor);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
PBIDI_RESPONSE_CONTAINER WINAPI RouterAllocBidiResponseContainer(DWORD Count);
|
||||
PVOID WINAPI RouterAllocBidiMem(size_t NumBytes);
|
||||
DWORD WINAPI RouterFreeBidiResponseContainer(PBIDI_RESPONSE_CONTAINER pData);
|
||||
VOID WINAPI RouterFreeBidiMem(PVOID pMemPointer);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SplPromptUIInUsersSession(
|
||||
IN HANDLE hPrinter,
|
||||
IN DWORD JobId,
|
||||
IN PSHOWUIPARAMS pUIParams,
|
||||
OUT DWORD *pResponse);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
SplIsSessionZero(
|
||||
IN HANDLE hPrinter,
|
||||
IN DWORD JobId,
|
||||
OUT BOOL *pIsSessionZero);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
BOOL
|
||||
WINAPI
|
||||
GetJobAttributes(
|
||||
IN LPWSTR pPrinterName,
|
||||
IN LPDEVMODEW pDevmode,
|
||||
OUT PATTRIBUTE_INFO_3 pAttributeInfo);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
#define FILL_WITH_DEFAULTS 0x1
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
GetJobAttributesEx(
|
||||
IN LPWSTR pPrinterName,
|
||||
IN LPDEVMODEW pDevmode,
|
||||
IN DWORD dwLevel,
|
||||
OUT LPBYTE pAttributeInfo,
|
||||
IN DWORD nSize,
|
||||
IN DWORD dwFlags);
|
||||
|
||||
BOOL WINAPI SpoolerRefreshPrinterChangeNotification(HANDLE hPrinter,
|
||||
DWORD dwColor,
|
||||
PPRINTER_NOTIFY_OPTIONS pOptions,
|
||||
PPRINTER_NOTIFY_INFO *ppInfo);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
/* FIXME : The following declarations are not present in the official header */
|
||||
|
||||
BOOL WINAPI OpenPrinterToken(PHANDLE phToken);
|
||||
BOOL WINAPI SetPrinterToken(HANDLE hToken);
|
||||
BOOL WINAPI ClosePrinterToken(HANDLE hToken);
|
||||
BOOL WINAPI InstallPrintProcessor(HWND hWnd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
|
@ -218,6 +218,23 @@ extern "C" {
|
|||
#define PORT_STATUS_TONER_LOW 10
|
||||
#define PORT_STATUS_WARMING_UP 11
|
||||
#define PORT_STATUS_POWER_SAVE 12
|
||||
|
||||
typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
|
||||
WORD Type;
|
||||
WORD Reserved0;
|
||||
DWORD Reserved1;
|
||||
DWORD Reserved2;
|
||||
DWORD Count;
|
||||
PWORD pFields;
|
||||
} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, *LPPRINTER_NOTIFY_OPTIONS_TYPE;
|
||||
|
||||
typedef struct _PRINTER_NOTIFY_OPTIONS {
|
||||
DWORD Version;
|
||||
DWORD Flags;
|
||||
DWORD Count;
|
||||
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
|
||||
} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
typedef struct _ADDJOB_INFO_1A {
|
||||
LPSTR Path;
|
||||
|
|
|
@ -37,131 +37,21 @@ extern "C" {
|
|||
|
||||
#define WSPAPI WSAAPI
|
||||
|
||||
typedef struct _WSATHREADID {
|
||||
HANDLE ThreadHandle;
|
||||
DWORD_PTR Reserved;
|
||||
} WSATHREADID, FAR *LPWSATHREADID;
|
||||
|
||||
typedef struct WSPData {
|
||||
WORD wVersion;
|
||||
WORD wHighVersion;
|
||||
WCHAR szDescription[WSPDESCRIPTION_LEN+1];
|
||||
} WSPDATA, FAR *LPWSPDATA;
|
||||
|
||||
typedef struct _WSATHREADID {
|
||||
HANDLE ThreadHandle;
|
||||
DWORD_PTR Reserved;
|
||||
} WSATHREADID, FAR *LPWSATHREADID;
|
||||
|
||||
/* Service provider procedure table */
|
||||
typedef struct _WSPPROC_TABLE {
|
||||
LPWSPACCEPT lpWSPAccept;
|
||||
LPWSPADDRESSTOSTRING lpWSPAddressToString;
|
||||
LPWSPASYNCSELECT lpWSPAsyncSelect;
|
||||
LPWSPBIND lpWSPBind;
|
||||
LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
|
||||
LPWSPCLEANUP lpWSPCleanup;
|
||||
LPWSPCLOSESOCKET lpWSPCloseSocket;
|
||||
LPWSPCONNECT lpWSPConnect;
|
||||
LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
|
||||
LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
|
||||
LPWSPEVENTSELECT lpWSPEventSelect;
|
||||
LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
|
||||
LPWSPGETPEERNAME lpWSPGetPeerName;
|
||||
LPWSPGETSOCKNAME lpWSPGetSockName;
|
||||
LPWSPGETSOCKOPT lpWSPGetSockOpt;
|
||||
LPWSPGETQOSBYNAME lpWSPGetQOSByName;
|
||||
LPWSPIOCTL lpWSPIoctl;
|
||||
LPWSPJOINLEAF lpWSPJoinLeaf;
|
||||
LPWSPLISTEN lpWSPListen;
|
||||
LPWSPRECV lpWSPRecv;
|
||||
LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
|
||||
LPWSPRECVFROM lpWSPRecvFrom;
|
||||
LPWSPSELECT lpWSPSelect;
|
||||
LPWSPSEND lpWSPSend;
|
||||
LPWSPSENDDISCONNECT lpWSPSendDisconnect;
|
||||
LPWSPSENDTO lpWSPSendTo;
|
||||
LPWSPSETSOCKOPT lpWSPSetSockOpt;
|
||||
LPWSPSHUTDOWN lpWSPShutdown;
|
||||
LPWSPSOCKET lpWSPSocket;
|
||||
LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
|
||||
} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
|
||||
|
||||
/* Service Provider upcall table */
|
||||
typedef struct _WSPUPCALLTABLE {
|
||||
LPWPUCLOSEEVENT lpWPUCloseEvent;
|
||||
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
|
||||
LPWPUCREATEEVENT lpWPUCreateEvent;
|
||||
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
|
||||
LPWPUFDISSET lpWPUFDIsSet;
|
||||
LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
|
||||
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
|
||||
LPWPUPOSTMESSAGE lpWPUPostMessage;
|
||||
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
|
||||
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
|
||||
LPWPUQUEUEAPC lpWPUQueueApc;
|
||||
LPWPURESETEVENT lpWPUResetEvent;
|
||||
LPWPUSETEVENT lpWPUSetEvent;
|
||||
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
|
||||
LPWPUCLOSETHREAD lpWPUCloseThread;
|
||||
} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
|
||||
|
||||
#if(_WIN32_WINNT >= 0x0600)
|
||||
|
||||
#define LSP_SYSTEM 0x80000000
|
||||
#define LSP_INSPECTOR 0x00000001
|
||||
#define LSP_REDIRECTOR 0x00000002
|
||||
#define LSP_PROXY 0x00000004
|
||||
#define LSP_FIREWALL 0x00000008
|
||||
#define LSP_INBOUND_MODIFY 0x00000010
|
||||
#define LSP_OUTBOUND_MODIFY 0x00000020
|
||||
#define LSP_CRYPTO_COMPRESS 0x00000040
|
||||
#define LSP_LOCAL_CACHE 0x00000080
|
||||
|
||||
typedef enum _WSC_PROVIDER_INFO_TYPE {
|
||||
ProviderInfoLspCategories,
|
||||
ProviderInfoAudit
|
||||
} WSC_PROVIDER_INFO_TYPE ;
|
||||
|
||||
typedef struct _WSC_PROVIDER_AUDIT_INFO {
|
||||
DWORD RecordSize;
|
||||
PVOID Reserved;
|
||||
} WSC_PROVIDER_AUDIT_INFO;
|
||||
|
||||
#endif /* (_WIN32_WINNT >= 0x0600) */
|
||||
|
||||
typedef struct _NSP_ROUTINE {
|
||||
DWORD cbSize;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
LPNSPCLEANUP NSPCleanup;
|
||||
LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
|
||||
LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
|
||||
LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
|
||||
LPNSPSETSERVICE NSPSetService;
|
||||
LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
|
||||
LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
|
||||
LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
|
||||
LPNSPIOCTL NSPIoctl;
|
||||
} NSP_ROUTINE, *PNSP_ROUTINE, FAR* LPNSP_ROUTINE;
|
||||
|
||||
typedef struct _NSPV2_ROUTINE {
|
||||
DWORD cbSize;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
LPNSPV2STARTUP NSPv2Startup;
|
||||
LPNSPV2CLEANUP NSPv2Cleanup;
|
||||
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
|
||||
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
|
||||
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
|
||||
LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
|
||||
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
|
||||
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;
|
||||
typedef const NSPV2_ROUTINE *PCNSPV2_ROUTINE, *LPCNSPV2_ROUTINE;
|
||||
|
||||
typedef BOOL
|
||||
(CALLBACK FAR *LPBLOCKINGCALLBACK)(
|
||||
DWORD_PTR dwContext);
|
||||
|
||||
typedef VOID
|
||||
(CALLBACK FAR *LPWSAUSERAPC)(
|
||||
DWORD_PTR dwContext);
|
||||
|
||||
typedef SOCKET
|
||||
(WSPAPI *LPWSPACCEPT)(
|
||||
IN SOCKET s,
|
||||
|
@ -171,6 +61,10 @@ typedef SOCKET
|
|||
IN DWORD_PTR dwCallbackData OPTIONAL,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef VOID
|
||||
(CALLBACK FAR *LPWSAUSERAPC)(
|
||||
DWORD_PTR dwContext);
|
||||
|
||||
typedef INT
|
||||
(WSPAPI *LPWSPADDRESSTOSTRING)(
|
||||
IN LPSOCKADDR lpsaAddress,
|
||||
|
@ -511,14 +405,6 @@ typedef int
|
|||
IN DWORD cbTransferred,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
typedef int
|
||||
(WSPAPI *LPWSPSTARTUP)(
|
||||
IN WORD wVersionRequested,
|
||||
IN LPWSPDATA lpWSPData,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
IN WSPUPCALLTABLE UpcallTable,
|
||||
OUT LPWSPPROC_TABLE lpProcTable);
|
||||
|
||||
typedef int
|
||||
(WSPAPI *LPWSCENUMPROTOCOLS)(
|
||||
IN LPINT lpiProtocols OPTIONAL,
|
||||
|
@ -563,6 +449,40 @@ typedef INT
|
|||
IN LPGUID lpProviderId,
|
||||
IN BOOL fEnable);
|
||||
|
||||
/* Service provider procedure table */
|
||||
typedef struct _WSPPROC_TABLE {
|
||||
LPWSPACCEPT lpWSPAccept;
|
||||
LPWSPADDRESSTOSTRING lpWSPAddressToString;
|
||||
LPWSPASYNCSELECT lpWSPAsyncSelect;
|
||||
LPWSPBIND lpWSPBind;
|
||||
LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
|
||||
LPWSPCLEANUP lpWSPCleanup;
|
||||
LPWSPCLOSESOCKET lpWSPCloseSocket;
|
||||
LPWSPCONNECT lpWSPConnect;
|
||||
LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
|
||||
LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
|
||||
LPWSPEVENTSELECT lpWSPEventSelect;
|
||||
LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
|
||||
LPWSPGETPEERNAME lpWSPGetPeerName;
|
||||
LPWSPGETSOCKNAME lpWSPGetSockName;
|
||||
LPWSPGETSOCKOPT lpWSPGetSockOpt;
|
||||
LPWSPGETQOSBYNAME lpWSPGetQOSByName;
|
||||
LPWSPIOCTL lpWSPIoctl;
|
||||
LPWSPJOINLEAF lpWSPJoinLeaf;
|
||||
LPWSPLISTEN lpWSPListen;
|
||||
LPWSPRECV lpWSPRecv;
|
||||
LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
|
||||
LPWSPRECVFROM lpWSPRecvFrom;
|
||||
LPWSPSELECT lpWSPSelect;
|
||||
LPWSPSEND lpWSPSend;
|
||||
LPWSPSENDDISCONNECT lpWSPSendDisconnect;
|
||||
LPWSPSENDTO lpWSPSendTo;
|
||||
LPWSPSETSOCKOPT lpWSPSetSockOpt;
|
||||
LPWSPSHUTDOWN lpWSPShutdown;
|
||||
LPWSPSOCKET lpWSPSocket;
|
||||
LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
|
||||
} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
|
||||
|
||||
typedef INT
|
||||
(WSAAPI *LPNSPCLEANUP)(
|
||||
IN LPGUID lpProviderId);
|
||||
|
@ -624,11 +544,6 @@ typedef INT
|
|||
IN LPDWORD lpdwBufSize,
|
||||
IN LPWSASERVICECLASSINFOW lpServiceClassInfo);
|
||||
|
||||
typedef INT
|
||||
(WSAAPI *LPNSPSTARTUP)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN OUT LPNSP_ROUTINE lpnspRoutines);
|
||||
|
||||
typedef INT
|
||||
(WSAAPI *LPNSPV2STARTUP)(
|
||||
IN LPGUID lpProviderId,
|
||||
|
@ -673,6 +588,91 @@ typedef VOID
|
|||
IN LPGUID lpProviderId,
|
||||
IN LPVOID pvClientSessionArg);
|
||||
|
||||
/* Service Provider upcall table */
|
||||
typedef struct _WSPUPCALLTABLE {
|
||||
LPWPUCLOSEEVENT lpWPUCloseEvent;
|
||||
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
|
||||
LPWPUCREATEEVENT lpWPUCreateEvent;
|
||||
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
|
||||
LPWPUFDISSET lpWPUFDIsSet;
|
||||
LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
|
||||
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
|
||||
LPWPUPOSTMESSAGE lpWPUPostMessage;
|
||||
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
|
||||
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
|
||||
LPWPUQUEUEAPC lpWPUQueueApc;
|
||||
LPWPURESETEVENT lpWPUResetEvent;
|
||||
LPWPUSETEVENT lpWPUSetEvent;
|
||||
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
|
||||
LPWPUCLOSETHREAD lpWPUCloseThread;
|
||||
} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
|
||||
|
||||
typedef int
|
||||
(WSPAPI *LPWSPSTARTUP)(
|
||||
IN WORD wVersionRequested,
|
||||
IN LPWSPDATA lpWSPData,
|
||||
IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
IN WSPUPCALLTABLE UpcallTable,
|
||||
OUT LPWSPPROC_TABLE lpProcTable);
|
||||
|
||||
#if (_WIN32_WINNT >= 0x0600)
|
||||
|
||||
#define LSP_SYSTEM 0x80000000
|
||||
#define LSP_INSPECTOR 0x00000001
|
||||
#define LSP_REDIRECTOR 0x00000002
|
||||
#define LSP_PROXY 0x00000004
|
||||
#define LSP_FIREWALL 0x00000008
|
||||
#define LSP_INBOUND_MODIFY 0x00000010
|
||||
#define LSP_OUTBOUND_MODIFY 0x00000020
|
||||
#define LSP_CRYPTO_COMPRESS 0x00000040
|
||||
#define LSP_LOCAL_CACHE 0x00000080
|
||||
|
||||
typedef enum _WSC_PROVIDER_INFO_TYPE {
|
||||
ProviderInfoLspCategories,
|
||||
ProviderInfoAudit
|
||||
} WSC_PROVIDER_INFO_TYPE ;
|
||||
|
||||
typedef struct _WSC_PROVIDER_AUDIT_INFO {
|
||||
DWORD RecordSize;
|
||||
PVOID Reserved;
|
||||
} WSC_PROVIDER_AUDIT_INFO;
|
||||
|
||||
#endif /* (_WIN32_WINNT >= 0x0600) */
|
||||
|
||||
typedef struct _NSP_ROUTINE {
|
||||
DWORD cbSize;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
LPNSPCLEANUP NSPCleanup;
|
||||
LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
|
||||
LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
|
||||
LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
|
||||
LPNSPSETSERVICE NSPSetService;
|
||||
LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
|
||||
LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
|
||||
LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
|
||||
LPNSPIOCTL NSPIoctl;
|
||||
} NSP_ROUTINE, *PNSP_ROUTINE, FAR* LPNSP_ROUTINE;
|
||||
|
||||
typedef INT
|
||||
(WSAAPI *LPNSPSTARTUP)(
|
||||
IN LPGUID lpProviderId,
|
||||
IN OUT LPNSP_ROUTINE lpnspRoutines);
|
||||
|
||||
typedef struct _NSPV2_ROUTINE {
|
||||
DWORD cbSize;
|
||||
DWORD dwMajorVersion;
|
||||
DWORD dwMinorVersion;
|
||||
LPNSPV2STARTUP NSPv2Startup;
|
||||
LPNSPV2CLEANUP NSPv2Cleanup;
|
||||
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
|
||||
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
|
||||
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
|
||||
LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
|
||||
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
|
||||
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;
|
||||
typedef const NSPV2_ROUTINE *PCNSPV2_ROUTINE, *LPCNSPV2_ROUTINE;
|
||||
|
||||
int
|
||||
WSPAPI
|
||||
WSPStartup(
|
||||
|
@ -690,7 +690,7 @@ WSCEnumProtocols(
|
|||
IN OUT LPDWORD lpdwBufferLength,
|
||||
OUT LPINT lpErrno);
|
||||
|
||||
#if defined(_WIN32_WINNT >= 0x0501)
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
|
||||
int
|
||||
WSPAPI
|
||||
|
|
|
@ -15,17 +15,16 @@ extern "C" {
|
|||
|
||||
#define _WSPIAPI_STRCPY_S strcpy_s
|
||||
#define _WSPIAPI_STRCAT_S strcat_s
|
||||
#define _WSPIAPI_STRNCPY_S strncpy_s
|
||||
#define _WSPIAPI_SPRINTF_S_1 sprintf_s
|
||||
|
||||
#else
|
||||
|
||||
#define _WSPIAPI_STRCPY_S(_Dst, _Size, _Src) strcpy((_Dst), (_Src))
|
||||
#define _WSPIAPI_STRCAT_S(_Dst, _Size, _Src) strcat((_Dst), (_Src))
|
||||
#define _WSPIAPI_STRNCPY_S(_Dst, _Size, _Src, _Count) strncpy((_Dst), (_Src), (_Count)); (_Dst)[(_Size) - 1] = 0
|
||||
#define _WSPIAPI_SPRINTF_S_1(_Dst, _Size, _Format, _Arg1) sprintf((_Dst), (_Format), (_Arg1))
|
||||
|
||||
#endif /* #if defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L */
|
||||
#endif /* defined(__GOT_SECURE_LIB__) && __GOT_SECURE_LIB__ >= 200402L */
|
||||
|
||||
#define _WSPIAPI_STRNCPY_S(_Dst, _Size, _Src, _Count) strncpy((_Dst), (_Src), (_Count)); (_Dst)[(_Size) - 1] = 0 //FIXME
|
||||
#define _WSPIAPI_SPRINTF_S_1(_Dst, _Size, _Format, _Arg1) sprintf((_Dst), (_Format), (_Arg1)) //FIXME
|
||||
|
||||
#if !defined(_WSPIAPI_COUNTOF)
|
||||
|
||||
|
@ -67,7 +66,7 @@ typedef void
|
|||
(WINAPI *WSPIAPI_PFREEADDRINFO)(
|
||||
IN struct addrinfo *ai);
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
char *
|
||||
WINAPI
|
||||
WspiapiStrdup(
|
||||
|
@ -84,7 +83,7 @@ WspiapiStrdup(
|
|||
return pszMemory;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
BOOL
|
||||
WINAPI
|
||||
WspiapiParseV4Address(
|
||||
|
@ -104,7 +103,7 @@ WspiapiParseV4Address(
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
struct addrinfo *
|
||||
WINAPI
|
||||
WspiapiNewAddrInfo(
|
||||
|
@ -135,7 +134,7 @@ WspiapiNewAddrInfo(
|
|||
return ptNew;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiQueryDNS(
|
||||
|
@ -174,7 +173,7 @@ WspiapiQueryDNS(
|
|||
}
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiLookupNode(
|
||||
|
@ -214,7 +213,7 @@ WspiapiLookupNode(
|
|||
|
||||
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiClone(
|
||||
|
@ -237,7 +236,7 @@ WspiapiClone(
|
|||
return 0;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
void
|
||||
WINAPI
|
||||
WspiapiLegacyFreeAddrInfo(
|
||||
|
@ -253,7 +252,7 @@ WspiapiLegacyFreeAddrInfo(
|
|||
}
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiLegacyGetAddrInfo(
|
||||
|
@ -353,7 +352,7 @@ WspiapiLegacyGetAddrInfo(
|
|||
return (iError);
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiLegacyGetNameInfo(
|
||||
|
@ -442,7 +441,7 @@ typedef struct {
|
|||
"freeaddrinfo", (FARPROC) WspiapiLegacyFreeAddrInfo, \
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
FARPROC
|
||||
WINAPI
|
||||
WspiapiLoad(
|
||||
|
@ -504,7 +503,7 @@ WspiapiLoad(
|
|||
return (rgtGlobal[wFunction].pfAddress);
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiGetAddrInfo(
|
||||
|
@ -523,7 +522,7 @@ WspiapiGetAddrInfo(
|
|||
return iError;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
int
|
||||
WINAPI
|
||||
WspiapiGetNameInfo(
|
||||
|
@ -545,7 +544,7 @@ WspiapiGetNameInfo(
|
|||
return iError;
|
||||
}
|
||||
|
||||
__inline
|
||||
FORCEINLINE
|
||||
void
|
||||
WINAPI
|
||||
WspiapiFreeAddrInfo(
|
||||
|
|
2
include/reactos/wine/ddk/winddiui.h
Normal file
2
include/reactos/wine/ddk/winddiui.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
#include_next <winddiui.h>
|
2
include/reactos/wine/ddk/winsplp.h
Normal file
2
include/reactos/wine/ddk/winsplp.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
#include_next <winsplp.h>
|
Loading…
Reference in a new issue