RpcServerRegisterIf 函数 (rpcdce.h)
RpcServerRegisterIf 函数向 RPC 运行时库注册接口。
语法
RPC_STATUS RpcServerRegisterIf(
RPC_IF_HANDLE IfSpec,
UUID *MgrTypeUuid,
RPC_MGR_EPV *MgrEpv
);
参数
IfSpec
指示要注册的接口的 MIDL 生成的结构。
MgrTypeUuid
指向要与 MgrEpv 参数关联的 UUID 类型的指针。 (或 nil UUID) 指定 null 参数值会将 IfSpec 注册为 nil 类型 UUID。
MgrEpv
管理器例程的入口点矢量 (EPV) 。 若要使用 MIDL 生成的默认 EPV,请指定 null 值。 有关详细信息,请参阅 RPC_MGR_EPV。
返回值
成功后返回RPC_S_OK。
注意 有关有效错误代码的列表,请参阅 RPC 返回值。
注解
服务器可以向 RPC 运行时库注册无限数量的接口。 注册使接口可用于使用与服务器的绑定句柄的客户端。 若要注册接口,服务器应用程序代码将调用 RpcServerRegisterIf。 对于服务器提供的接口的每个实现,它必须注册一个单独的管理器 EPV。
调用 RpcServerRegisterIf 时,服务器提供以下信息:
- 接口规范
接口规范是 MIDL 编译器生成的数据结构。 服务器使用 IfSpec 参数指定接口。
- 管理器类型 UUID 和管理器 EPV
管理器类型 UUID 和管理器 EPV 确定服务器从客户端接收远程过程调用请求时执行哪个管理器例程。
服务器使用 MgrTypeUuid 和 MgrEpv 参数指定管理器类型 UUID 和 EPV。 请注意,指定非 nil 管理器类型 UUID 时,服务器还必须调用 RpcObjectSetType 函数来注册此非 nil 类型的对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | rpcdce.h (包括 Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |