|
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
rpcspool.c
Abstract:
Spooler API entry points for RPC Clients.
Author:
Steve Wilson (NT) (swilson) 1-Jun-1995
[Notes:]
optional-notes
Revision History:
--*/
#include <windows.h>
#include <rpc.h>
#include <winspool.h>
#include <winsplp.h>
#include <winspl.h>
#include <offsets.h>
#include "server.h"
#include "client.h"
#include "yspool.h"
VOID PrinterHandleRundown( HANDLE hPrinter);
BOOL GetPrinterDriverExW( HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded, DWORD dwClientMajorVersion, DWORD dwClientMinorVersion, PDWORD pdwServerMajorVersion, PDWORD pdwServerMinorVersion);
BOOL SpoolerInit( VOID);
DWORD RpcEnumPrinters( DWORD Flags, LPWSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPrinters( Flags, Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcOpenPrinter( LPWSTR pPrinterName, HANDLE *phPrinter, LPWSTR pDatatype, LPDEVMODE_CONTAINER pDevModeContainer, DWORD AccessRequired ) { return YOpenPrinter(pPrinterName, phPrinter, pDatatype, pDevModeContainer, AccessRequired, RPC_CALL); }
DWORD RpcOpenPrinterEx( LPWSTR pPrinterName, HANDLE *phPrinter, LPWSTR pDatatype, LPDEVMODE_CONTAINER pDevModeContainer, DWORD AccessRequired, LPSPLCLIENT_CONTAINER pSplClientContainer ) { return YOpenPrinterEx(pPrinterName, phPrinter, pDatatype, pDevModeContainer, AccessRequired, RPC_CALL, pSplClientContainer); }
//
// RpcSplOpenPrinter differs from RpcOpenPrinterEx in the SPLCLIENT_CONTAINER buffer type
// It is defined as [in, out] in RpcSplOpenPrinter and just [in] in the latter
//
DWORD RpcSplOpenPrinter( LPWSTR pPrinterName, HANDLE *phPrinter, LPWSTR pDatatype, LPDEVMODE_CONTAINER pDevModeContainer, DWORD AccessRequired, LPSPLCLIENT_CONTAINER pSplClientContainer ) { return YOpenPrinterEx(pPrinterName, phPrinter, pDatatype, pDevModeContainer, AccessRequired, RPC_CALL, pSplClientContainer); }
DWORD RpcResetPrinter( HANDLE hPrinter, LPWSTR pDatatype, LPDEVMODE_CONTAINER pDevModeContainer ) { return YResetPrinter( hPrinter, pDatatype, pDevModeContainer, RPC_CALL); }
DWORD RpcSetJob( HANDLE hPrinter, DWORD JobId, JOB_CONTAINER *pJobContainer, DWORD Command ) { return YSetJob( hPrinter, JobId, pJobContainer, Command, RPC_CALL); }
DWORD RpcGetJob( HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded )
{ return YGetJob( hPrinter, JobId, Level, pJob, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcEnumJobs( HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumJobs( hPrinter, FirstJob, NoJobs, Level, pJob, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcAddPrinter( LPWSTR pName, PPRINTER_CONTAINER pPrinterContainer, PDEVMODE_CONTAINER pDevModeContainer, PSECURITY_CONTAINER pSecurityContainer, HANDLE *phPrinter ) { return YAddPrinter( pName, pPrinterContainer, pDevModeContainer, pSecurityContainer, phPrinter, RPC_CALL); }
DWORD RpcAddPrinterEx( LPWSTR pName, PPRINTER_CONTAINER pPrinterContainer, PDEVMODE_CONTAINER pDevModeContainer, PSECURITY_CONTAINER pSecurityContainer, PSPLCLIENT_CONTAINER pClientContainer, HANDLE *phPrinter ) { return YAddPrinterEx(pName, pPrinterContainer, pDevModeContainer, pSecurityContainer, phPrinter, RPC_CALL, pClientContainer); }
DWORD RpcDeletePrinter( HANDLE hPrinter ) { return YDeletePrinter(hPrinter, RPC_CALL); }
DWORD RpcAddPrinterConnection( LPWSTR pName ) { return YAddPrinterConnection(pName, RPC_CALL); }
DWORD RpcDeletePrinterConnection( LPWSTR pName ) { return YDeletePrinterConnection(pName, RPC_CALL); }
DWORD RpcSetPrinter( HANDLE hPrinter, PPRINTER_CONTAINER pPrinterContainer, PDEVMODE_CONTAINER pDevModeContainer, PSECURITY_CONTAINER pSecurityContainer, DWORD Command ) { return YSetPrinter( hPrinter, pPrinterContainer, pDevModeContainer, pSecurityContainer, Command, RPC_CALL); }
DWORD RpcGetPrinter( HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded ) { return YGetPrinter( hPrinter, Level, pPrinter, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcAddPrinterDriver( LPWSTR pName, LPDRIVER_CONTAINER pDriverContainer ) { return YAddPrinterDriver( pName, pDriverContainer, RPC_CALL); }
DWORD RpcAddPrinterDriverEx( LPWSTR pName, LPDRIVER_CONTAINER pDriverContainer, DWORD dwFileCopyFlags ) { return YAddPrinterDriverEx( pName, pDriverContainer, dwFileCopyFlags, RPC_CALL); }
DWORD RpcAddDriverCatalog( HANDLE hPrinter, DRIVER_INFCAT_CONTAINER *pDriverInfCatContainer, DWORD dwCatalogCopyFlags ) { return YAddDriverCatalog(hPrinter, pDriverInfCatContainer, dwCatalogCopyFlags, RPC_CALL); }
DWORD RpcEnumPrinterDrivers( LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pDrivers, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPrinterDrivers( pName, pEnvironment, Level, pDrivers, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcGetPrinterDriver( HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded ) { return YGetPrinterDriver( hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcGetPrinterDriverDirectory( LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded ) { return YGetPrinterDriverDirectory( pName, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcDeletePrinterDriver( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pDriverName ) { return YDeletePrinterDriver(pName, pEnvironment, pDriverName, RPC_CALL); }
DWORD RpcDeletePrinterDriverEx( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionNum ) { return YDeletePrinterDriverEx(pName, pEnvironment, pDriverName, dwDeleteFlag, dwVersionNum, RPC_CALL); }
DWORD RpcAddPerMachineConnection( LPWSTR pServer, LPCWSTR pPrinterName, LPCWSTR pPrintServer, LPCWSTR pProvider ) { return YAddPerMachineConnection(pServer, pPrinterName, pPrintServer, pProvider, RPC_CALL); }
DWORD RpcDeletePerMachineConnection( LPWSTR pServer, LPCWSTR pPrinterName ) { return YDeletePerMachineConnection(pServer, pPrinterName, RPC_CALL); }
DWORD RpcEnumPerMachineConnections( LPWSTR pServer, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPerMachineConnections(pServer, pPrinterEnum, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcAddPrintProcessor( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPathName, LPWSTR pPrintProcessorName ) { return YAddPrintProcessor( pName, pEnvironment, pPathName, pPrintProcessorName, RPC_CALL); }
DWORD RpcEnumPrintProcessors( LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessors, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPrintProcessors(pName, pEnvironment, Level, pPrintProcessors, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcGetPrintProcessorDirectory( LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded ) { return YGetPrintProcessorDirectory( pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcEnumPrintProcessorDatatypes( LPWSTR pName, LPWSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPrintProcessorDatatypes(pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcStartDocPrinter( HANDLE hPrinter, LPDOC_INFO_CONTAINER pDocInfoContainer, LPDWORD pJobId ) { return YStartDocPrinter(hPrinter, pDocInfoContainer, pJobId, RPC_CALL); }
DWORD RpcStartPagePrinter( HANDLE hPrinter ) { return YStartPagePrinter(hPrinter, RPC_CALL); }
DWORD RpcWritePrinter( HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf, LPDWORD pcWritten ) { return YWritePrinter( hPrinter, pBuf, cbBuf, pcWritten, RPC_CALL); }
DWORD RpcSeekPrinter( HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWritePrinter ) { return YSeekPrinter( hPrinter, liDistanceToMove, pliNewPointer, dwMoveMethod, bWritePrinter, RPC_CALL ); }
DWORD RpcEndPagePrinter( HANDLE hPrinter ) { return YEndPagePrinter(hPrinter, RPC_CALL); }
DWORD RpcAbortPrinter( HANDLE hPrinter ) { return YAbortPrinter(hPrinter, RPC_CALL); }
DWORD RpcReadPrinter( HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf, LPDWORD pRead ) { return YReadPrinter(hPrinter, pBuf, cbBuf, pRead, RPC_CALL); }
DWORD RpcEndDocPrinter( HANDLE hPrinter ) { return YEndDocPrinter(hPrinter, RPC_CALL); }
DWORD RpcAddJob( HANDLE hPrinter, DWORD Level, LPBYTE pAddJob, DWORD cbBuf, LPDWORD pcbNeeded ) { return YAddJob( hPrinter, Level, pAddJob, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcScheduleJob( HANDLE hPrinter, DWORD JobId ) { return YScheduleJob(hPrinter, JobId, RPC_CALL); }
DWORD RpcGetPrinterData( HANDLE hPrinter, LPTSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded ) { return YGetPrinterData(hPrinter, pValueName, pType, pData, nSize, pcbNeeded, RPC_CALL); }
DWORD RpcGetPrinterDataEx( HANDLE hPrinter, LPCTSTR pKeyName, LPCTSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded ) { return YGetPrinterDataEx(hPrinter, pKeyName, pValueName, pType, pData, nSize, pcbNeeded, RPC_CALL); }
DWORD RpcEnumPrinterData( HANDLE hPrinter, DWORD dwIndex, // index of value to query
LPWSTR pValueName, // address of buffer for value string
DWORD cbValueName, // size of buffer for value string
LPDWORD pcbValueName, // address for size of value buffer
LPDWORD pType, // address of buffer for type code
LPBYTE pData, // address of buffer for value data
DWORD cbData, // size of buffer for value data
LPDWORD pcbData // address for size of data buffer
) { return YEnumPrinterData(hPrinter, dwIndex, pValueName, cbValueName, pcbValueName, pType, pData, cbData, pcbData, RPC_CALL); }
DWORD RpcEnumPrinterDataEx( HANDLE hPrinter, LPCWSTR pKeyName, // address of key name
LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues, LPDWORD pnEnumValues ) { return YEnumPrinterDataEx( hPrinter, pKeyName, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues, RPC_CALL); }
DWORD RpcEnumPrinterKey( HANDLE hPrinter, LPCWSTR pKeyName, // address of key name
LPWSTR pSubkey, // address of buffer for value string
DWORD cbSubkey, // size of buffer for value string
LPDWORD pcbSubkey // address for size of value buffer
) { return YEnumPrinterKey( hPrinter, pKeyName, pSubkey, cbSubkey, pcbSubkey, RPC_CALL); }
DWORD RpcDeletePrinterData( HANDLE hPrinter, LPWSTR pValueName ) { return YDeletePrinterData(hPrinter, pValueName, RPC_CALL); }
DWORD RpcDeletePrinterDataEx( HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName ) { return YDeletePrinterDataEx(hPrinter, pKeyName, pValueName, RPC_CALL); }
DWORD RpcDeletePrinterKey( HANDLE hPrinter, LPCWSTR pKeyName ) { return YDeletePrinterKey(hPrinter, pKeyName, RPC_CALL); }
DWORD RpcSetPrinterData( HANDLE hPrinter, LPTSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData ) { return YSetPrinterData( hPrinter, pValueName, Type, pData, cbData, RPC_CALL); }
DWORD RpcSetPrinterDataEx( HANDLE hPrinter, LPCTSTR pKeyName, LPCTSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData ) { return YSetPrinterDataEx( hPrinter, pKeyName, pValueName, Type, pData, cbData, RPC_CALL); }
DWORD RpcWaitForPrinterChange( HANDLE hPrinter, DWORD Flags, LPDWORD pFlags ) { return YWaitForPrinterChange( hPrinter, Flags, pFlags, RPC_CALL); }
DWORD RpcClosePrinter( LPHANDLE phPrinter ) { return YClosePrinter(phPrinter, RPC_CALL); }
DWORD RpcAddForm( HANDLE hPrinter, PFORM_CONTAINER pFormInfoContainer ) { return YAddForm( hPrinter, pFormInfoContainer, RPC_CALL); }
DWORD RpcDeleteForm( HANDLE hPrinter, LPWSTR pFormName ) { return YDeleteForm( hPrinter, pFormName, RPC_CALL); }
DWORD RpcGetForm( PRINTER_HANDLE hPrinter, LPWSTR pFormName, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded ) { return YGetForm(hPrinter, pFormName, Level, pForm, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcSetForm( PRINTER_HANDLE hPrinter, LPWSTR pFormName, PFORM_CONTAINER pFormInfoContainer ) { return YSetForm(hPrinter, pFormName, pFormInfoContainer, RPC_CALL); }
DWORD RpcEnumForms( PRINTER_HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumForms( hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcEnumPorts( LPWSTR pName, DWORD Level, LPBYTE pPort, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumPorts( pName, Level, pPort, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcEnumMonitors( LPWSTR pName, DWORD Level, LPBYTE pMonitor, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) { return YEnumMonitors( pName, Level, pMonitor, cbBuf, pcbNeeded, pcReturned, RPC_CALL); }
DWORD RpcAddPort( LPWSTR pName, ULONG_PTR hWnd, LPWSTR pMonitorName ) { return YAddPort( pName, (HWND)hWnd, pMonitorName, RPC_CALL); }
DWORD RpcConfigurePort( LPWSTR pName, ULONG_PTR hWnd, LPWSTR pPortName ) { return YConfigurePort( pName, (HWND)hWnd, pPortName, RPC_CALL); }
DWORD RpcDeletePort( LPWSTR pName, ULONG_PTR hWnd, LPWSTR pPortName ) { return YDeletePort( pName, (HWND)hWnd, pPortName, RPC_CALL); }
DWORD RpcXcvData( HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus ) { return YXcvData(hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded, pdwStatus, RPC_CALL); }
DWORD RpcCreatePrinterIC( HANDLE hPrinter, HANDLE *pHandle, LPDEVMODE_CONTAINER pDevModeContainer ) { return YCreatePrinterIC(hPrinter, pHandle, pDevModeContainer, RPC_CALL); }
DWORD RpcPlayGdiScriptOnPrinterIC( GDI_HANDLE hPrinterIC, LPBYTE pIn, DWORD cIn, LPBYTE pOut, DWORD cOut, DWORD ul ) { return YPlayGdiScriptOnPrinterIC( hPrinterIC, pIn, cIn, pOut, cOut, ul, RPC_CALL); }
DWORD RpcDeletePrinterIC( GDI_HANDLE *phPrinterIC ) { return YDeletePrinterIC(phPrinterIC, 1, RPC_CALL); }
VOID GDI_HANDLE_rundown( HANDLE hPrinterIC ) { YDeletePrinterIC(&hPrinterIC, 0, RPC_CALL); }
DWORD RpcPrinterMessageBox( PRINTER_HANDLE hPrinter, DWORD Error, ULONG_PTR hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType ) { return YPrinterMessageBox(hPrinter, Error, (HWND)hWnd, pText, pCaption, dwType, RPC_CALL); }
DWORD RpcAddMonitor( LPWSTR pName, PMONITOR_CONTAINER pMonitorContainer ) { return YAddMonitor( pName, pMonitorContainer, RPC_CALL); }
DWORD RpcDeleteMonitor( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pMonitorName ) { return YDeleteMonitor( pName, pEnvironment, pMonitorName, RPC_CALL); }
DWORD RpcDeletePrintProcessor( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrintProcessorName ) { return YDeletePrintProcessor(pName, pEnvironment, pPrintProcessorName, RPC_CALL); }
DWORD RpcAddPrintProvidor( LPWSTR pName, PPROVIDOR_CONTAINER pProvidorContainer ) { return YAddPrintProvidor(pName, pProvidorContainer, RPC_CALL); }
DWORD RpcDeletePrintProvidor( LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrintProvidorName ) { return YDeletePrintProvidor(pName, pEnvironment, pPrintProvidorName, RPC_CALL); }
DWORD RpcGetPrinterDriver2( HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded, DWORD dwClientMajorVersion, DWORD dwClientMinorVersion, PDWORD pdwServerMajorVersion, PDWORD pdwServerMinorVersion ) { return YGetPrinterDriver2(hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, dwClientMajorVersion, dwClientMinorVersion, pdwServerMajorVersion, pdwServerMinorVersion, RPC_CALL); }
DWORD RpcAddPortEx( LPWSTR pName, LPPORT_CONTAINER pPortContainer, LPPORT_VAR_CONTAINER pPortVarContainer, LPWSTR pMonitorName ) { return YAddPortEx( pName, pPortContainer, pPortVarContainer, pMonitorName, RPC_CALL); }
DWORD RpcSpoolerInit( LPWSTR pName ) { return YSpoolerInit(pName, RPC_CALL); }
DWORD RpcResetPrinterEx( HANDLE hPrinter, LPWSTR pDatatype, LPDEVMODE_CONTAINER pDevModeContainer, DWORD dwFlag
) { return YResetPrinterEx( hPrinter, pDatatype, pDevModeContainer, dwFlag, RPC_CALL); }
DWORD RpcSetAllocFailCount( HANDLE hPrinter, DWORD dwFailCount, LPDWORD lpdwAllocCount, LPDWORD lpdwFreeCount, LPDWORD lpdwFailCountHit ) { return YSetAllocFailCount( hPrinter, dwFailCount, lpdwAllocCount, lpdwFreeCount, lpdwFailCountHit, RPC_CALL); }
DWORD RpcSetPort( LPWSTR pName, LPWSTR pPortName, LPPORT_CONTAINER pPortContainer ) { return YSetPort(pName, pPortName, pPortContainer, RPC_CALL); }
DWORD RpcClusterSplOpen( LPWSTR pszServer, LPWSTR pszResource, PHANDLE phSpooler, LPWSTR pszName, LPWSTR pszAddress ) { return YClusterSplOpen( pszServer, pszResource, phSpooler, pszName, pszAddress, RPC_CALL ); }
DWORD RpcClusterSplClose( PHANDLE phSpooler ) { return YClusterSplClose( phSpooler, RPC_CALL ); }
DWORD RpcClusterSplIsAlive( HANDLE hSpooler ) { return YClusterSplIsAlive( hSpooler, RPC_CALL ); }
DWORD RpcGetSpoolFileInfo( HANDLE hPrinter, DWORD dwAppProcessId, DWORD dwLevel, LPBYTE pSpoolFileInfo, DWORD cbBuf, LPDWORD pcbNeeded) { return YGetSpoolFileInfo(hPrinter, dwAppProcessId, dwLevel, pSpoolFileInfo, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcGetSpoolFileInfo2( HANDLE hPrinter, DWORD dwAppProcessId, DWORD dwLevel, LPFILE_INFO_CONTAINER pSplFileInfoContainer ) { return YGetSpoolFileInfo2(hPrinter, dwAppProcessId, dwLevel, pSplFileInfoContainer, RPC_CALL); }
DWORD RpcCommitSpoolData( HANDLE hPrinter, DWORD dwAppProcessId, DWORD cbCommit, DWORD dwLevel, LPBYTE pSpoolFileInfo, DWORD cbBuf, LPDWORD pcbNeeded) { return YCommitSpoolData(hPrinter, dwAppProcessId, cbCommit, dwLevel, pSpoolFileInfo, cbBuf, pcbNeeded, RPC_CALL); }
DWORD RpcCommitSpoolData2( HANDLE hPrinter, DWORD dwAppProcessId, DWORD cbCommit, DWORD dwLevel, LPFILE_INFO_CONTAINER pSplFileInfoContainer) { return YCommitSpoolData2(hPrinter, dwAppProcessId, cbCommit, dwLevel, pSplFileInfoContainer, RPC_CALL); }
DWORD RpcCloseSpoolFileHandle( HANDLE hPrinter) { return YCloseSpoolFileHandle(hPrinter, RPC_CALL); }
DWORD RpcFlushPrinter( HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf, LPDWORD pcWritten, DWORD cSleep ) { return YFlushPrinter( hPrinter, pBuf, cbBuf, pcWritten, cSleep, RPC_CALL); }
DWORD RpcSendRecvBidiData( IN HANDLE hPrinter, IN LPCWSTR pAction, IN PRPC_BIDI_REQUEST_CONTAINER pReqData, OUT PRPC_BIDI_RESPONSE_CONTAINER* ppRespData ) { return ( YSendRecvBidiData(hPrinter, pAction, (PBIDI_REQUEST_CONTAINER)pReqData, (PBIDI_RESPONSE_CONTAINER*)ppRespData, RPC_CALL) ); }
|