The RpcEpUnregister function removes server-address information from the local endpoint-map database.
This function is supported by both 32-bit platforms — Windows NT and Windows 95.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcEpUnregister(
RPC_IF_HANDLE IfSpec,
RPC_BINDING_VECTOR * BindingVector,
UUID_VECTOR * UuidVector
);
A null argument value indicates there are no object UUIDs to unregister.
The RpcEpUnregister routine removes elements from the local host's endpoint-map database. A server application calls this routine only when the server has previously registered endpoints and the server wants to remove that address information from the endpoint-map database.
Specifically, RpcEpUnregister allows a server application to remove its own endpoint-map database elements (server-address information) based on the interface specification or on both the interface specification and the object UUID(s) of the resource(s) offered.
The server calls the RpcServerInqBindings routine to obtain the required BindingVector argument. To unregister selected endpoints, the server can prune the binding vector prior to calling this routine.
RpcEpUnregister creates a cross-product from the IfSpec, BindingVector, and UuidVector arguments and removes each element in the cross-product from the endpoint-map database.
Use RpcEpUnregister cautiously: removing elements from the endpoint-map database may make servers unavailable to client applications that have not previously communicated with the server.
Value | Meaning |
---|---|
RPC_S_OK | Success |
RPC_S_NO_BINDINGS | No bindings |
RPC_S_INVALID_BINDING | Invalid binding handle |
RPC_S_WRONG_KIND_OF_BINDING | Wrong kind of binding for operation |
Windows NT: Yes
Windows CE: Unsupported.
Header: Declared in rpcdce.h.
Import Library: Link with rpcrt4.lib.
RpcEpRegister, RpcEpRegisterNoReplace, RpcNsBindingUnexport, RpcServerInqBindings