RpcServerRegisterIf function
The RpcServerRegisterIf function registers an interface with the RPC run-time library.
Syntax
RPC_STATUS RPC_ENTRY 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.
If your server application needs to register an auto-listen interface or use a callback function for authentication purposes, use RpcServerRegisterIfEx.
Requirements
|
Minimum supported client |
Windows 2000 Professional [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows 2000 Server [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also
- Registering Interfaces
- RpcBindingFromStringBinding
- RpcBindingSetObject
- RpcNsBindingExport
- RpcNsBindingImportBegin
- RpcNsBindingLookupBegin
- RpcObjectSetType
- RpcServerUnregisterIf
- RpcServerUnregisterIfEx
- RpcServerRegisterIf2
- RpcServerRegisterIf3
- RpcServerRegisterIfEx