rpcrt4: Implement RpcBindingCopy.

This commit is contained in:
Robert Shearman 2006-05-24 23:00:34 +01:00 committed by Alexandre Julliard
parent 760208b2a5
commit b9f36c3fa2
1 changed files with 31 additions and 0 deletions

View File

@ -835,6 +835,37 @@ RPC_STATUS WINAPI I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING
return RPC_S_OK;
}
/***********************************************************************
* RpcBindingCopy (RPCRT4.@)
*/
RPC_STATUS RPC_ENTRY RpcBindingCopy(
RPC_BINDING_HANDLE SourceBinding,
RPC_BINDING_HANDLE* DestinationBinding)
{
RpcBinding *DestBinding;
RpcBinding *SrcBinding = (RpcBinding*)SourceBinding;
RPC_STATUS status;
TRACE("(%p, %p)\n", SourceBinding, DestinationBinding);
status = RPCRT4_AllocBinding(&DestBinding, SrcBinding->server);
if (status != RPC_S_OK) return status;
DestBinding->ObjectUuid = SrcBinding->ObjectUuid;
DestBinding->BlockingFn = SrcBinding->BlockingFn;
DestBinding->Protseq = RPCRT4_strndupA(SrcBinding->Protseq, -1);
DestBinding->NetworkAddr = RPCRT4_strndupA(SrcBinding->NetworkAddr, -1);
DestBinding->Endpoint = RPCRT4_strndupA(SrcBinding->Endpoint, -1);
DestBinding->FromConn = SrcBinding->FromConn;
SrcBinding->FromConn = NULL;
if (SrcBinding->AuthInfo) RpcAuthInfo_AddRef(SrcBinding->AuthInfo);
DestBinding->AuthInfo = SrcBinding->AuthInfo;
*DestinationBinding = DestBinding;
return RPC_S_OK;
}
/***********************************************************************
* RpcImpersonateClient (RPCRT4.@)
*