rpcNsBindingImportBeginA 函数 (rpcnsi.h)

RpcNsBindingImportBegin 函数创建导入上下文,用于为提供指定接口和对象的服务器导入客户端兼容的绑定句柄。

注意 Windows Vista 及更高版本的操作系统不支持此功能。
 

语法

RPC_STATUS RpcNsBindingImportBeginA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID          *ObjUuid,
  RPC_NS_HANDLE *ImportContext
);

parameters

EntryNameSyntax

EntryName 的语法。

若要使用注册表值项 中指定的语法HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax,请指定 RPC_C_NS_SYNTAX_DEFAULT。

EntryName

指向搜索兼容绑定句柄的条目名称的指针。

若要使用注册表值项中指定的项名称 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultEntry,请提供空指针或空字符串。 在这种情况下, 将忽略 EntryNameSyntax 参数,运行时库使用默认语法。

IfSpec

存根生成的数据结构,指示要导入的接口。 如果接口规范尚未导出或与调用方无关,请为此参数指定 null 值。 在这种情况下,仅保证返回的绑定属于兼容且受支持的协议序列,并包含指定的对象 UUID。 所联系的服务器可能不支持所需的接口。

ObjUuid

指向可选对象 UUID 的指针。

对于非零 UUID,仅当服务器导出了指定的对象 UUID 时,才会从条目返回兼容的绑定句柄。

ObjUuid 具有 null 指针值或 nil UUID 时,返回的绑定句柄包含由兼容服务器导出的对象 UUID 之一。 如果服务器未导出任何对象 UUID,则返回的兼容绑定句柄包含一个 nil 对象 UUID。

ImportContext

返回用于 RpcNsBindingImportNextRpcNsBindingImportDone 函数的名称服务句柄。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_NAME_SYNTAX
名称语法无效。
RPC_S_NAME_SERVICE_UNAVAILABLE
名称超出了最大长度。
RPC_S_UNSUPPORTED_NAME_SYNTAX
不支持名称语法。
RPC_S_INCOMPLETE_NAME
名称不完整。
RPC_S_ENTRY_NOT_FOUND
找不到名称服务条目。
RPC_S_NAME_SERVICE_UNAVAILABLE
名称服务不可用。
RPC_S_INVALID_OBJECT
对象无效。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

在调用 RpcNsBindingImportNext 函数之前,客户端应用程序必须先调用 RpcNsBindingImportBegin 来创建导入上下文。 此函数的参数控制 RpcNsBindingImportNext 函数的操作。

完成导入绑定句柄后,客户端应用程序将调用 RpcNsBindingImportDone 函数来删除导入上下文。

注意

rpcnsi.h 标头将 RpcNsBindingImportBegin 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

请参阅

RpcNsBindingImportDone

RpcNsBindingImportNext