RpcServerRegisterIf function (rpcdce.h)
The RpcServerRegisterIf function registers an interface with the RPC run-time library.
Syntax
RPC_STATUS RpcServerRegisterIf(
RPC_IF_HANDLE IfSpec,
UUID *MgrTypeUuid,
RPC_MGR_EPV *MgrEpv
);
Parameters
IfSpec
MIDL-generated structure indicating the interface to register.
MgrTypeUuid
Pointer to a type UUID to associate with the MgrEpv parameter. Specifying a null parameter value (or a nil UUID) registers IfSpec with a nil-type UUID.
MgrEpv
Manager routines' entry-point vector (EPV). To use the MIDL-generated default EPV, specify a null value. For more information, please see RPC_MGR_EPV.
Return value
Returns RPC_S_OK upon success.
Remarks
A server can register an unlimited number of interfaces with the RPC run-time library. Registration makes an interface available to clients using a binding handle to the server. To register an interface, the server application code calls RpcServerRegisterIf. For each implementation of an interface that a server offers, it must register a separate manager EPV.
When calling RpcServerRegisterIf, the server provides the following information:
- Interface specification
The interface specification is a data structure that the MIDL compiler generates. The server specifies the interface using the IfSpec parameter.
- Manager type UUID and manager EPV
The manager type UUID and the manager EPV determine which manager routine executes when a server receives a remote procedure call request from a client.
The server specifies the manager type UUID and EPV using the MgrTypeUuid and MgrEpv parameters. Note that when specifying a non-nil manager-type UUID, the server must also call the RpcObjectSetType function to register objects of this non-nil type.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | rpcdce.h (include Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |