mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 10:02:02 +00:00
- Update headers
- Add more stubs for winspool svn path=/trunk/; revision=37892
This commit is contained in:
parent
b7903f6d19
commit
52ce98d5ec
4 changed files with 834 additions and 2 deletions
|
@ -1453,3 +1453,292 @@ WritePrinter(HANDLE Printer, PVOID Buffer, DWORD BufSize, PDWORD Written)
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
XcvDataW(HANDLE hXcv,
|
||||
LPCWSTR pszDataName,
|
||||
PBYTE pInputData,
|
||||
DWORD cbInputData,
|
||||
PBYTE pOutputData,
|
||||
DWORD cbOutputData,
|
||||
PDWORD pcbOutputNeeded,
|
||||
PDWORD pdwStatus)
|
||||
{
|
||||
OutputDebugStringW(L"winspool XcvDataW stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
SetDefaultPrinterA(LPCSTR pszPrinter)
|
||||
{
|
||||
OutputDebugStringW(L"winspool SetDefaultPrinterA stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
SetDefaultPrinterW(LPCWSTR pszPrinter)
|
||||
{
|
||||
OutputDebugStringW(L"winspool SetDefaultPrinterW stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
AddPortExA(LPSTR pName,
|
||||
DWORD dwLevel,
|
||||
LPBYTE pBuffer,
|
||||
LPSTR pMonitorName)
|
||||
{
|
||||
OutputDebugStringW(L"winspool AddPortExA stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
AddPortExW(LPWSTR pName,
|
||||
DWORD dwLevel,
|
||||
LPBYTE pBuffer,
|
||||
LPWSTR pMonitorName)
|
||||
{
|
||||
OutputDebugStringW(L"winspool AddPortExW stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
AddPrinterDriverExA(LPSTR pName,
|
||||
DWORD dwLevel,
|
||||
LPBYTE pDriverInfo,
|
||||
DWORD dwFileCopyFlags)
|
||||
{
|
||||
OutputDebugStringW(L"winspool AddPrinterDriverExA stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
AddPrinterDriverExW(LPWSTR pName,
|
||||
DWORD dwLevel,
|
||||
LPBYTE pDriverInfo,
|
||||
DWORD dwFileCopyFlags)
|
||||
{
|
||||
OutputDebugStringW(L"winspool AddPrinterDriverExW stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
DeletePrinterDataExA(HANDLE hPrinter,
|
||||
LPCSTR pKeyName,
|
||||
LPCSTR pValueName)
|
||||
{
|
||||
OutputDebugStringW(L"winspool DeletePrinterDataExA stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
DeletePrinterDataExW(HANDLE hPrinter,
|
||||
LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName)
|
||||
{
|
||||
OutputDebugStringW(L"winspool DeletePrinterDataExW stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
DeletePrinterDriverExA(LPSTR pName,
|
||||
LPSTR pEnvironment,
|
||||
LPSTR pDriverName,
|
||||
DWORD dwDeleteFlag,
|
||||
DWORD dwVersionFlag)
|
||||
{
|
||||
OutputDebugStringW(L"winspool DeletePrinterDriverExA stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
DeletePrinterDriverExW(LPWSTR pName,
|
||||
LPWSTR pEnvironment,
|
||||
LPWSTR pDriverName,
|
||||
DWORD dwDeleteFlag,
|
||||
DWORD dwVersionFlag)
|
||||
{
|
||||
OutputDebugStringW(L"winspool DeletePrinterDriverExW stub called\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
EnumPrinterDataExA(HANDLE hPrinter,
|
||||
LPCSTR pKeyName,
|
||||
LPBYTE pEnumValues,
|
||||
DWORD cbEnumValues,
|
||||
LPDWORD pcbEnumValues,
|
||||
LPDWORD pnEnumValues)
|
||||
{
|
||||
OutputDebugStringW(L"winspool EnumPrinterDataExA stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
EnumPrinterDataExW(HANDLE hPrinter,
|
||||
LPCWSTR pKeyName,
|
||||
LPBYTE pEnumValues,
|
||||
DWORD cbEnumValues,
|
||||
LPDWORD pcbEnumValues,
|
||||
LPDWORD pnEnumValues)
|
||||
{
|
||||
OutputDebugStringW(L"winspool EnumPrinterDataExW stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
ExtDeviceMode(HWND hWnd,
|
||||
HANDLE hInst,
|
||||
LPDEVMODEA pDevModeOutput,
|
||||
LPSTR pDeviceName,
|
||||
LPSTR pPort,
|
||||
LPDEVMODEA pDevModeInput,
|
||||
LPSTR pProfile,
|
||||
DWORD fMode)
|
||||
{
|
||||
OutputDebugStringW(L"winspool ExtDeviceMode stub called\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
GetPrinterDataExA(HANDLE hPrinter,
|
||||
LPCSTR pKeyName,
|
||||
LPCSTR pValueName,
|
||||
LPDWORD pType,
|
||||
LPBYTE pData,
|
||||
DWORD nSize,
|
||||
LPDWORD pcbNeeded)
|
||||
{
|
||||
OutputDebugStringW(L"winspool GetPrinterDataExA stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
GetPrinterDataExW(HANDLE hPrinter,
|
||||
LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName,
|
||||
LPDWORD pType,
|
||||
LPBYTE pData,
|
||||
DWORD nSize,
|
||||
LPDWORD pcbNeeded)
|
||||
{
|
||||
OutputDebugStringW(L"winspool GetPrinterDataExW stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
SetPrinterDataExA(HANDLE hPrinter,
|
||||
LPCSTR pKeyName,
|
||||
LPCSTR pValueName,
|
||||
DWORD dwType,
|
||||
LPBYTE pData,
|
||||
DWORD cbData)
|
||||
{
|
||||
OutputDebugStringW(L"winspool SetPrinterDataExA stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
WINAPI
|
||||
SetPrinterDataExW(HANDLE hPrinter,
|
||||
LPCWSTR pKeyName,
|
||||
LPCWSTR pValueName,
|
||||
DWORD dwType,
|
||||
LPBYTE pData,
|
||||
DWORD cbData)
|
||||
{
|
||||
OutputDebugStringW(L"winspool SetPrinterDataExW stub called\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL
|
||||
WINAPI
|
||||
SpoolerInit(VOID)
|
||||
{
|
||||
OutputDebugStringW(L"winspool SpoolerInit stub called\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,43 @@
|
|||
100 stub -noname EnumPrinterPropertySheets
|
||||
101 stub -noname ClusterSplOpen
|
||||
102 stub -noname ClusterSplClose
|
||||
103 stub -noname ClusterSplIsAlive
|
||||
104 stub PerfClose
|
||||
105 stub PerfCollect
|
||||
106 stub PerfOpen
|
||||
201 stdcall GetDefaultPrinterA(ptr ptr)
|
||||
202 stdcall SetDefaultPrinterA(str)
|
||||
203 stdcall GetDefaultPrinterW(ptr ptr)
|
||||
204 stdcall SetDefaultPrinterW(wstr)
|
||||
205 stub -noname SplReadPrinter
|
||||
206 stub -noname AddPerMachineConnectionA
|
||||
207 stub -noname AddPerMachineConnectionW
|
||||
208 stub -noname DeletePerMachineConnectionA
|
||||
209 stub -noname DeletePerMachineConnectionW
|
||||
210 stub -noname EnumPerMachineConnectionsA
|
||||
211 stub -noname EnumPerMachineConnectionsW
|
||||
212 stub -noname LoadPrinterDriver
|
||||
213 stub -noname RefCntLoadDriver
|
||||
214 stub -noname RefCntUnloadDriver
|
||||
215 stub -noname ForceUnloadDriver
|
||||
216 stub -noname PublishPrinterA
|
||||
217 stub -noname PublishPrinterW
|
||||
218 stub -noname CallCommonPropertySheetUI
|
||||
219 stub -noname PrintUIQueueCreate
|
||||
220 stub -noname PrintUIPrinterPropPages
|
||||
221 stub -noname PrintUIDocumentDefaults
|
||||
222 stub -noname SendRecvBidiData
|
||||
223 stub -noname RouterFreeBidiResponseContainer
|
||||
224 stub -noname ExternalConnectToLd64In32Server
|
||||
226 stub -noname PrintUIWebPnpEntry
|
||||
227 stub -noname PrintUIWebPnpPostEntry
|
||||
228 stub -noname PrintUICreateInstance
|
||||
229 stub -noname PrintUIDocumentPropertiesWrap
|
||||
230 stub -noname PrintUIPrinterSetup
|
||||
231 stub -noname PrintUIServerPropPages
|
||||
232 stub -noname AddDriverCatalog
|
||||
|
||||
@ stub ADVANCEDSETUPDIALOG
|
||||
@ stdcall AbortPrinter(long)
|
||||
@ stdcall AddFormA(long long ptr)
|
||||
@ stdcall AddFormW(long long ptr)
|
||||
|
@ -6,11 +46,15 @@
|
|||
@ stdcall AddMonitorA(str long ptr)
|
||||
@ stdcall AddMonitorW(wstr long ptr)
|
||||
@ stdcall AddPortA(str ptr str)
|
||||
@ stdcall AddPortExA(str long ptr str)
|
||||
@ stdcall AddPortExW(wstr long ptr wstr)
|
||||
@ stdcall AddPortW(wstr long wstr)
|
||||
@ stdcall AddPrinterA(str long ptr)
|
||||
@ stdcall AddPrinterConnectionA(str)
|
||||
@ stdcall AddPrinterConnectionW(wstr)
|
||||
@ stdcall AddPrinterDriverA(str long ptr)
|
||||
@ stdcall AddPrinterDriverExA(str long ptr long)
|
||||
@ stdcall AddPrinterDriverExW(wstr long ptr long)
|
||||
@ stdcall AddPrinterDriverW(wstr long ptr)
|
||||
@ stdcall AddPrinterW(wstr long ptr)
|
||||
@ stdcall AddPrintProcessorA(str str str str)
|
||||
|
@ -19,10 +63,16 @@
|
|||
@ stdcall AddPrintProvidorW(wstr long ptr)
|
||||
@ stdcall AdvancedDocumentPropertiesA(long long str ptr ptr)
|
||||
@ stdcall AdvancedDocumentPropertiesW(long long wstr ptr ptr)
|
||||
@ stub AdvancedSetupDialog
|
||||
@ stdcall ClosePrinter(long)
|
||||
@ stdcall ConfigurePortA(str long str)
|
||||
@ stdcall ConfigurePortW(wstr long wstr)
|
||||
@ stdcall ConnectToPrinterDlg(long long)
|
||||
@ stub ConvertAnsiDevModeToUnicodeDevMode
|
||||
@ stub ConvertUnicodeDevModeToAnsiDevMode
|
||||
@ stub CreatePrinterIC
|
||||
@ stub DEVICECAPABILITIES
|
||||
@ stub DEVICEMODE
|
||||
@ stdcall DeleteFormA(long str)
|
||||
@ stdcall DeleteFormW(long wstr)
|
||||
@ stdcall DeleteMonitorA(str str str)
|
||||
|
@ -32,19 +82,28 @@
|
|||
@ stdcall DeletePrinter(long)
|
||||
@ stdcall DeletePrinterConnectionA(str)
|
||||
@ stdcall DeletePrinterConnectionW(wstr)
|
||||
@ stdcall DeletePrinterDataExA(long str str)
|
||||
@ stdcall DeletePrinterDataExW(long wstr wstr)
|
||||
@ stdcall DeletePrinterDataA(ptr str)
|
||||
@ stdcall DeletePrinterDataW(ptr wstr)
|
||||
@ stdcall DeletePrinterDriverA(str str str)
|
||||
@ stdcall DeletePrinterDriverExA(str str str long long)
|
||||
@ stdcall DeletePrinterDriverExW(wstr wstr wstr long long)
|
||||
@ stdcall DeletePrinterDriverW(wstr wstr wstr)
|
||||
@ stub DeletePrinterIC
|
||||
@ stub DevQueryPrint
|
||||
@ stdcall DeletePrintProcessorA(str str str)
|
||||
@ stdcall DeletePrintProcessorW(wstr wstr wstr)
|
||||
@ stdcall DeletePrintProvidorA(str str str)
|
||||
@ stdcall DeletePrintProvidorW(wstr wstr wstr)
|
||||
@ stdcall DeviceCapabilitiesA(str str long ptr ptr)
|
||||
@ stdcall DeviceCapabilitiesW(wstr wstr long ptr ptr)
|
||||
@ stub DeviceMode
|
||||
@ stub DocumentEvent
|
||||
@ stdcall DllMain(ptr long ptr)
|
||||
@ stdcall DocumentPropertiesA(long long ptr ptr ptr long)
|
||||
@ stdcall DocumentPropertiesW(long long ptr ptr ptr long)
|
||||
@ stub EXTDEVICEMODE
|
||||
@ stdcall EndDocPrinter(long)
|
||||
@ stdcall EndPagePrinter(long)
|
||||
@ stdcall EnumFormsA(long long ptr long ptr ptr)
|
||||
|
@ -56,11 +115,14 @@
|
|||
@ stdcall EnumPortsA(str long ptr ptr ptr ptr)
|
||||
@ stdcall EnumPortsW(wstr long ptr ptr ptr ptr)
|
||||
@ stdcall EnumPrinterDataA(long long ptr long ptr ptr ptr long ptr)
|
||||
@ stdcall EnumPrinterDataExA(long str ptr long ptr ptr)
|
||||
@ stdcall EnumPrinterDataExW(long wstr ptr long ptr ptr)
|
||||
@ stdcall EnumPrinterDataW(long long ptr long ptr ptr ptr long ptr)
|
||||
@ stdcall EnumPrinterDriversA(str str long ptr long ptr ptr)
|
||||
@ stdcall EnumPrinterDriversW(wstr wstr long ptr long ptr ptr)
|
||||
@ stdcall EnumPrintersA(long ptr long ptr long ptr ptr)
|
||||
@ stdcall EnumPrintersW(long ptr long ptr long ptr ptr)
|
||||
@ stdcall ExtDeviceMode(long long ptr str str ptr str long)
|
||||
@ stdcall EnumPrintProcessorDatatypesA(str str long ptr long ptr ptr)
|
||||
@ stdcall EnumPrintProcessorDatatypesW(wstr wstr long ptr long ptr ptr)
|
||||
@ stdcall EnumPrintProcessorsA(str str long ptr long ptr ptr)
|
||||
|
@ -69,14 +131,14 @@
|
|||
@ stdcall FindFirstPrinterChangeNotification(long long long ptr)
|
||||
@ stdcall FindNextPrinterChangeNotification(long ptr ptr ptr)
|
||||
@ stdcall FreePrinterNotifyInfo(ptr)
|
||||
201 stdcall GetDefaultPrinterA(ptr ptr)
|
||||
203 stdcall GetDefaultPrinterW(ptr ptr)
|
||||
@ stdcall GetFormA(long str long ptr long ptr)
|
||||
@ stdcall GetFormW(long wstr long ptr long ptr)
|
||||
@ stdcall GetJobA(long long long ptr long ptr)
|
||||
@ stdcall GetJobW(long long long ptr long ptr)
|
||||
@ stdcall GetPrinterA(long long ptr long ptr)
|
||||
@ stdcall GetPrinterDataA(long str ptr ptr long ptr)
|
||||
@ stdcall GetPrinterDataExA(long str str ptr ptr long ptr)
|
||||
@ stdcall GetPrinterDataExW(long wstr wstr ptr ptr long ptr)
|
||||
@ stdcall GetPrinterDataW(long wstr ptr ptr long ptr)
|
||||
@ stdcall GetPrinterDriverA(long str long ptr long ptr)
|
||||
@ stdcall GetPrinterDriverDirectoryA(str str long ptr long ptr)
|
||||
|
@ -87,6 +149,7 @@
|
|||
@ stdcall GetPrintProcessorDirectoryW(wstr wstr long ptr long ptr)
|
||||
@ stdcall OpenPrinterA(str ptr ptr)
|
||||
@ stdcall OpenPrinterW(wstr ptr ptr)
|
||||
@ stub PlayGdiScriptOnPrinterIC
|
||||
@ stdcall PrinterMessageBoxA(ptr long ptr str str long)
|
||||
@ stdcall PrinterMessageBoxW(ptr long ptr wstr wstr long)
|
||||
@ stdcall PrinterProperties(long long)
|
||||
|
@ -94,16 +157,23 @@
|
|||
@ stdcall ResetPrinterA(long ptr)
|
||||
@ stdcall ResetPrinterW(long ptr)
|
||||
@ stdcall ScheduleJob(long long)
|
||||
@ stub SetAllocFailCount
|
||||
@ stdcall SetFormA(long str long ptr)
|
||||
@ stdcall SetFormW(long wstr long ptr)
|
||||
@ stdcall SetJobA(long long long ptr long)
|
||||
@ stdcall SetJobW(long long long ptr long)
|
||||
@ stdcall SetPrinterA(long long ptr long)
|
||||
@ stdcall SetPrinterDataA(long str long ptr long)
|
||||
@ stdcall SetPrinterDataExA(long str str long ptr long)
|
||||
@ stdcall SetPrinterDataExW(long wstr wstr long ptr long)
|
||||
@ stdcall SetPrinterDataW(long wstr long ptr long)
|
||||
@ stdcall SetPrinterW(long long ptr long)
|
||||
@ stub SpoolerDevQueryPrintW
|
||||
@ stdcall SpoolerInit()
|
||||
@ stub SpoolerPrinterEvent
|
||||
@ stdcall StartDocPrinterA(long long ptr)
|
||||
@ stdcall StartDocPrinterW(long long ptr)
|
||||
@ stdcall StartPagePrinter(long)
|
||||
@ stdcall WaitForPrinterChange(ptr long)
|
||||
@ stdcall WritePrinter(long ptr long ptr)
|
||||
@ stdcall XcvDataW(long wstr ptr long ptr long ptr ptr)
|
||||
|
|
428
reactos/include/ddk/winsplp.h
Normal file
428
reactos/include/ddk/winsplp.h
Normal file
|
@ -0,0 +1,428 @@
|
|||
/*
|
||||
* Definitions for print provider, monitor, processor and spooler
|
||||
*
|
||||
* Copyright 2005 Detlef Riekenberg
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
*
|
||||
* "providor" is not a spelling error in this file. It's the real name.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _WINSPLP_
|
||||
#define _WINSPLP_
|
||||
|
||||
#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
|
||||
|
||||
/*
|
||||
* 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 _PRINTER_NOTIFY_INIT {
|
||||
DWORD Size;
|
||||
DWORD Reserved;
|
||||
DWORD PollTime;
|
||||
} PRINTER_NOTIFY_INIT, *LPPRINTER_NOTIFY_INIT, *PPRINTER_NOTIFY_INIT;
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
|
||||
/* 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
|
||||
|
||||
#endif /* _WINSPLP_ */
|
|
@ -715,6 +715,50 @@ typedef struct _PROVIDOR_INFO_2W{
|
|||
LPWSTR pOrder;
|
||||
} PROVIDOR_INFO_2W, *LPPROVIDOR_INFO_2W;
|
||||
|
||||
typedef struct _BINARY_CONTAINER {
|
||||
DWORD cbBuf;
|
||||
LPBYTE pData;
|
||||
} BINARY_CONTAINER, *PBINARY_CONTAINER;
|
||||
|
||||
typedef struct _BIDI_DATA {
|
||||
DWORD dwBidiType;
|
||||
union
|
||||
{
|
||||
BOOL bData;
|
||||
INT iData;
|
||||
LPWSTR sData;
|
||||
FLOAT fData;
|
||||
BINARY_CONTAINER biData;
|
||||
} u;
|
||||
} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
|
||||
|
||||
typedef struct _BIDI_REQUEST_DATA {
|
||||
DWORD dwReqNumber;
|
||||
LPWSTR pSchema;
|
||||
BIDI_DATA data;
|
||||
} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
|
||||
|
||||
typedef struct _BIDI_REQUEST_CONTAINER {
|
||||
DWORD Version;
|
||||
DWORD Flags;
|
||||
DWORD Count;
|
||||
BIDI_REQUEST_DATA aData[1];
|
||||
} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
|
||||
|
||||
typedef struct _BIDI_RESPONSE_DATA {
|
||||
DWORD dwResult;
|
||||
DWORD dwReqNumber;
|
||||
LPWSTR pSchema;
|
||||
BIDI_DATA data;
|
||||
} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
|
||||
|
||||
typedef struct _BIDI_RESPONSE_CONTAINER {
|
||||
DWORD Version;
|
||||
DWORD Flags;
|
||||
DWORD Count;
|
||||
BIDI_RESPONSE_DATA aData[1];
|
||||
} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
|
||||
|
||||
BOOL WINAPI AbortPrinter(HANDLE);
|
||||
BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE);
|
||||
BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE);
|
||||
|
@ -823,6 +867,7 @@ DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE);
|
|||
BOOL WINAPI StartPagePrinter(HANDLE);
|
||||
DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
|
||||
BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
|
||||
BOOL WINAPI XcvDataW(HANDLE, LPCWSTR, PBYTE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue