ReactOS  0.4.15-dev-2972-gda2a567
xcv.c
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Print Spooler Service
3  * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4  * PURPOSE: Xcv* functions
5  * COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
6  */
7 
8 #include "precomp.h"
9 
10 DWORD
11 _RpcXcvData(WINSPOOL_PRINTER_HANDLE hXcv, const WCHAR* pszDataName, BYTE* pInputData, DWORD cbInputData, BYTE* pOutputData, DWORD cbOutputData, DWORD* pcbOutputNeeded, DWORD* pdwStatus)
12 {
13  DWORD dwErrorCode;
14 
15  FIXME("RpcXcvData( %p, %S,,,)\n",hXcv, pszDataName);
16 
17  dwErrorCode = RpcImpersonateClient(NULL);
18  if (dwErrorCode != ERROR_SUCCESS)
19  {
20  ERR("RpcImpersonateClient failed with error %lu!\n", dwErrorCode);
21  return dwErrorCode;
22  }
23 
24  if (!XcvDataW(hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded, pdwStatus))
25  dwErrorCode = GetLastError();
26 
28  return dwErrorCode;
29 }
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
#define FIXME(fmt,...)
Definition: debug.h:111
DWORD _RpcXcvData(WINSPOOL_PRINTER_HANDLE hXcv, const WCHAR *pszDataName, BYTE *pInputData, DWORD cbInputData, BYTE *pOutputData, DWORD cbOutputData, DWORD *pcbOutputNeeded, DWORD *pdwStatus)
Definition: xcv.c:11
RPC_STATUS WINAPI RpcRevertToSelf(void)
Definition: rpc_binding.c:1459
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned char BYTE
Definition: xxhash.c:193
#define ERR(fmt,...)
Definition: debug.h:110
RPC_STATUS WINAPI RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle)
Definition: rpc_binding.c:1052
#define NULL
Definition: types.h:112
static HANDLE hXcv
Definition: localmon.c:73