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 确定服务器从客户端接收远程过程调用请求时执行哪个管理器例程。

    服务器使用 MgrTypeUuidMgrEpv 参数指定管理器类型 UUID 和 EPV。 请注意,指定非 nil 管理器类型 UUID 时,服务器还必须调用 RpcObjectSetType 函数来注册此非 nil 类型的对象。

如果服务器应用程序需要注册自动侦听接口或使用回调函数进行身份验证,请使用 RpcServerRegisterIfEx

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

注册接口

RpcBindingFromStringBinding

RpcBindingSetObject

RpcNsBindingExport

RpcNsBindingImportBegin

RpcNsBindingLookupBegin

RpcObjectSetType

RpcServerRegisterIf2

RpcServerRegisterIf3

RpcServerRegisterIfEx

RpcServerUnregisterIf

RpcServerUnregisterIfEx