DSInternals/Src/DSInternals.Replication.Int.../drsr_addons.cpp

81 lines
2.4 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_DRSWriteNgcKey_NoSEH(
/* [in, ref] */ DRS_HANDLE hDrs,
/* [in] */ DWORD dwInVersion,
/* [in, ref, switch_is(dwInVersion)]*/ DRS_MSG_WRITENGCKEYREQ* pmsgIn,
/* [out, ref] */ DWORD* pdwOutVersion,
/* [out, ref, switch_is(*pdwOutVersion)] */ DRS_MSG_WRITENGCKEYREPLY* pmsgOut)
{
SuppressRpcException(IDL_DRSWriteNgcKey, 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);
}
}