The RpcServerUnregisterIf function unregisters an interface from the RPC run-time library.
This function is supported by both 32-bit platforms — Windows NT and Windows 95.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(
RPC_IF_HANDLE IfSpec,
UUID * MgrTypeUuid,
unsigned int WaitForCallsToComplete
);
Specify a null value to unregister all interfaces previously registered with the type UUID value specified in the MgrTypeUuid argument.
Specify a null value to unregister the interface specified in the IfSpec argument for all previously registered type UUIDs.
Specify a nil UUID to unregister the MIDL-generated default manager EPV. In this case, all manager EPVs registered with a non-nil type UUID remain registered.
Specify a value of zero to disregard calls in progress and unregister immediately. Specify any non-zero value to wait until all active calls complete.
A server calls the RpcServerUnregisterIf routine to remove the association between an interface and a manager EPV.
Specify the manager EPV to remove in the MgrTypeUuid argument by providing the type UUID value that was specified in a call to the RpcServerRegisterIf routine. Once unregistered, an interface is no longer available to client applications.
When an interface is unregistered, the RPC run-time library stops accepting new calls for that interface. Executing calls on the interface are allowed to complete, including callbacks.
The following table summarizes the behavior of RpcServerUnregisterIf:
IfSpec | MgrTypeUuid | Behavior |
---|---|---|
Non-null | Non-null | Unregisters the manager EPV associated with the specified arguments. |
Non-null | NULL | Unregisters all manager EPVs associated with the IfSpec argument. |
NULL | Non-null | Unregisters all manager EPVs associated with the MgrTypeUuid argument. |
NULL | NULL | Unregisters all manager EPVs. This call has the effect of preventing the server from receiving any new remote procedure calls because all the manager EPVs for all interfaces have been unregistered. |
Note If IfSpec is NULL, this function will leave auto-listen interfaces registered. Auto-listen interfaces must be individually unregistered. See RpcServerRegisterIfEx for more details.
Value | Meaning |
---|---|
RPC_S_OK | Success |
RPC_S_UNKNOWN_MGR_TYPE | Unknown manager type |
RPC_S_UNKNOWN_IF | Unknown interface |
Windows NT: Yes
Windows CE: Unsupported.
Header: Declared in rpcdce.h.
Import Library: Link with rpcrt4.lib.
RpcServerRegisterIf, RpcServerRegisterIfEx