After calling RpcServerUseAllProtseqs, registering dynamic endpoints in the endpoint-map database, and registering your distributed application in the name service, register the interface by calling RpcServerRegisterIfEx or RpcServerRegisterIf once for each implementation of the interface.
Where you provide a single implementation of each function prototype specified in the interface, supply the interface handle data structure generated by the MIDL compiler and supply null pointers for the manager type and the parameters of the manager entry-point vector (EPV).
RpcServerRegisterIfEx and RpcServerRegisterIf set values in the internal interface registry table. This table is used to map the interface UUID and object UUIDs to a manager EPV. The manager EPV is an array of function pointers that contains exactly one function pointer for each function prototype in the interface specified in the IDL file.
The run-time library uses the interface registry table (set by calls to the function RpcServerRegisterIf*) and the object registry table (set by calls to the function RpcObjectSetType) to map interface and object UUIDs to the function pointer.
For information on supplying multiple EPVs to provide multiple implementations of the interface, see Multiple Interface Implementations.