DSInternals/Src/DSInternals.Replication.Interop/drsr_addons.cpp

70 lines
2.1 KiB
C++

#include "stdafx.h"
#include "drsr_addons.h"
#define SuppressRpcException(Function,...) \
RpcTryExcept \
return Function(__VA_ARGS__); \
RpcExcept(RpcExceptionFilter(RpcExceptionCode())) \
return RpcExceptionCode(); \
RpcEndExcept
ULONG IDL_DRSBind_NoSEH(
/* [in] */ handle_t rpc_handle,
/* [unique][in] */ UUID *puuidClientDsa,
/* [unique][in] */ DRS_EXTENSIONS *pextClient,
/* [out] */ DRS_EXTENSIONS **ppextServer,
/* [ref][out] */ DRS_HANDLE *phDrs)
{
SuppressRpcException(IDL_DRSBind, rpc_handle, puuidClientDsa, pextClient, ppextServer, phDrs)
}
ULONG IDL_DRSGetNCChanges_NoSEH(
/* [ref][in] */ DRS_HANDLE hDrs,
/* [in] */ DWORD dwInVersion,
/* [switch_is][ref][in] */ DRS_MSG_GETCHGREQ *pmsgIn,
/* [ref][out] */ DWORD *pdwOutVersion,
/* [switch_is][ref][out] */ DRS_MSG_GETCHGREPLY *pmsgOut)
{
SuppressRpcException(IDL_DRSGetNCChanges, hDrs, dwInVersion, pmsgIn, pdwOutVersion, pmsgOut)
}
ULONG IDL_DRSCrackNames_NoSEH(
/* [ref][in] */ DRS_HANDLE hDrs,
/* [in] */ DWORD dwInVersion,
/* [switch_is][ref][in] */ DRS_MSG_CRACKREQ *pmsgIn,
/* [ref][out] */ DWORD *pdwOutVersion,
/* [switch_is][ref][out] */ DRS_MSG_CRACKREPLY *pmsgOut)
{
SuppressRpcException(IDL_DRSCrackNames, hDrs, dwInVersion, pmsgIn, pdwOutVersion, pmsgOut)
}
ULONG IDL_DRSGetReplInfo_NoSEH(
/* [ref][in] */ DRS_HANDLE hDrs,
/* [in] */ DWORD dwInVersion,
/* [switch_is][ref][in] */ DRS_MSG_GETREPLINFO_REQ *pmsgIn,
/* [ref][out] */ DWORD *pdwOutVersion,
/* [switch_is][ref][out] */ DRS_MSG_GETREPLINFO_REPLY *pmsgOut)
{
SuppressRpcException(IDL_DRSGetReplInfo, hDrs, dwInVersion, pmsgIn, pdwOutVersion, pmsgOut)
}
ULONG IDL_DRSUnbind_NoSEH(
/* [ref][out][in] */ DRS_HANDLE *phDrs)
{
SuppressRpcException(IDL_DRSUnbind, phDrs)
}
DRS_EXTENSIONS_INT::DRS_EXTENSIONS_INT()
{
}
DRS_EXTENSIONS_INT::DRS_EXTENSIONS_INT(DRS_EXTENSIONS *genericExtensions)
{
if (genericExtensions != 0)
{
DWORD numDataBytes = genericExtensions->cb;
DWORD maxDataBytes = cb;
DWORD bytesToCopy = min(numDataBytes, maxDataBytes) + sizeof(DWORD);
memcpy(this, genericExtensions, bytesToCopy);
}
}