RpcEpResolveBinding
The RpcEpResolveBinding
function resolves a partially bound server binding handle into a fully bound
server binding handle.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcEpResolveBinding(
RPC_BINDING_HANDLE Binding, |
|
RPC_IF_HANDLE IfSpec |
|
); |
|
Parameters
Binding
Specifies a
partially bound server binding handle to resolve to a fully bound server
binding handle.
IfSpec
Specifies a
stub-generated data structure specifying the interface of interest.
Remarks
An
application calls the RpcEpResolveBinding routine to resolve a partially
bound server binding handle into a fully bound binding handle.
Resolving
binding handles requires an interface UUID and an object UUID (which may be
nil). The RPC run-time library asks the endpoint-mapping service on the host
specified by the Binding argument to look up an endpoint for a
compatible server instance. To find the endpoint, the endpoint-mapping service
looks in the endpoint-map database for the interface UUID in the IfSpec
argument and the object UUID in the Binding argument, if any.
How the
resolve-binding operation functions depends on whether the specified binding
handle is partially or fully bound. When the client specifies a partially bound
handle, the resolve-binding operation has the following possible outcomes:
If no compatible server
instances are registered in the endpoint-map database, the resolve-binding
operation returns the EPT_S_NOT_REGISTERED status code.
If a compatible server instance
is registered in the endpoint-map database, the resolve-binding operation
returns a fully bound binding and the RPC_S_OK status code.
When the
client specifies a fully bound binding handle, the resolve-binding operation
returns the specified binding handle and the RPC_S_OK status code. The
resolve-binding operation does not contact the endpoint-mapping service.
In neither
the partially nor the fully bound binding case does the resolve-binding
operation contact a compatible server instance.
Return Values
Value |
Meaning |
RPC_S_OK |
Success |
RPC_S_INVALID_BINDING |
Invalid
binding handle |
RPC_S_WRONG_KIND_OF_BINDING |
Wrong kind
of binding for operation |
See Also