RpcServerRegisterIf
The RpcServerRegisterIf
function registers an interface with 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 RpcServerRegisterIf(
RPC_IF_HANDLE IfSpec, |
|
UUID *
MgrTypeUuid, |
|
RPC_MGR_EPV * MgrEpv |
|
); |
|
Parameters
IfSpec
Specifies a
MIDL-generated data structure indicating the interface to register.
MgrTypeUuid
Points to a
type UUID to associate with the MgrEpv argument. Specifying a null
argument value (or a nil UUID) registers IfSpec with a nil type UUID.
MgrEpv
Specifies the
manager routines entry-point vector (EPV). To use the MIDL-generated default
EPV, specify a null value.
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 the RpcServerRegisterIf
routine. For each implementation of an interface offered by a server, it must
register a separate manager EPV.
To register
an interface, 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 argument.
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 arguments. Note that when specifying a non-nil manager type
UUID, the server must also call the RpcObjectSetType routine 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
See Also