Module: wine Branch: refs/heads/master Commit: f7fa650d1bc228eed3716a6891f401502e8cc43d URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=f7fa650d1bc228eed3716a68...
Author: Robert Shearman rob@codeweavers.com Date: Mon May 8 12:35:02 2006 +0100
rpcrt4: Automatically resolve the endpoint.
---
dlls/rpcrt4/rpc_message.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/rpc_message.c b/dlls/rpcrt4/rpc_message.c index c0bff41..7646f98 100644 --- a/dlls/rpcrt4/rpc_message.c +++ b/dlls/rpcrt4/rpc_message.c @@ -470,6 +470,14 @@ RPC_STATUS WINAPI I_RpcSend(PRPC_MESSAGE } else { cif = pMsg->RpcInterfaceInformation; if (!cif) return RPC_S_INTERFACE_NOT_FOUND; /* ? */ + + if (!bind->Endpoint || !bind->Endpoint[0]) + { + TRACE("automatically resolving partially bound binding\n"); + status = RpcEpResolveBinding(bind, cif); + if (status != RPC_S_OK) return status; + } + status = RPCRT4_OpenBinding(bind, &conn, &cif->TransferSyntax, &cif->InterfaceId); } @@ -533,6 +541,14 @@ RPC_STATUS WINAPI I_RpcReceive(PRPC_MESS } else { cif = pMsg->RpcInterfaceInformation; if (!cif) return RPC_S_INTERFACE_NOT_FOUND; /* ? */ + + if (!bind->Endpoint || !bind->Endpoint[0]) + { + TRACE("automatically resolving partially bound binding\n"); + status = RpcEpResolveBinding(bind, cif); + if (status != RPC_S_OK) return status; + } + status = RPCRT4_OpenBinding(bind, &conn, &cif->TransferSyntax, &cif->InterfaceId); }