rpcObjectSetType 函数 (rpcdce.h)

RpcObjectSetType 函数分配对象的类型。

语法

RPC_STATUS RpcObjectSetType(
  UUID *ObjUuid,
  UUID *TypeUuid
);

参数

ObjUuid

指向要与 TypeUuid 参数中的类型 UUID 关联的对象 UUID 的 指针。

TypeUuid

指向 ObjUuid 参数的类型 UUID 的 指针。

指定参数值 NULL 或 nil UUID,以将对象类型重置为对象 UUID/nil 类型 UUID 的默认关联。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_OBJECT
对象无效。
RPC_S_ALREADY_REGISTERED
对象已注册。
RPC_S_OUT_OF_MEMORY
系统内存不足。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

服务器应用程序调用 RpcObjectSetType 将类型 UUID 分配给对象 UUID。 默认情况下,RPC 运行时库会自动分配具有 nil 类型 UUID 的所有对象 UUID。 包含接口的一个实现的服务器应用程序 (一个管理器入口点矢量 [EPV]) 不需要调用 RpcObjectSetType ,前提是服务器向 nil 类型 UUID 注册了接口, (请参阅 RpcServerRegisterIf) 下。

包含接口的多个实现的服务器应用程序 (多个管理器EPV,即,多类型 UUID) 为服务器支持的每个不同对象 UUID/非 nil 类型 UUID 关联调用 RpcObjectSetType 一次。 将每个对象与 UUID 类型相关联会告知 RPC 运行时库,当服务器收到非零对象 UUID 的远程过程调用时,) 要使用的哪个管理器 EPV (接口实现。

RPC 运行时库允许应用程序为无限数量的对象设置类型。 若要删除对象 UUID 与其类型 UUID (通过调用 RpcObjectSetType) 建立的关联,服务器会再次调用 RpcObjectSetType ,并为 TypeUuid 参数指定 null 值或 nil UUID。 这会将对象 UUID/type UUID 关联重置为对象 UUID/nil-type UUID 的默认关联。 服务器无法将类型分配给 nil 对象 UUID。 RPC 运行时库自动为 nil 对象 UUID 分配 nil 类型 UUID。

有关详细信息,请参阅 注册接口

要求

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

另请参阅

注册接口

RpcServerRegisterIf