rpcNsBindingImportBeginA 函数 (rpcnsi.h)
RpcNsBindingImportBegin 函数创建导入上下文,用于为提供指定接口和对象的服务器导入客户端兼容的绑定句柄。
语法
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
返回用于 RpcNsBindingImportNext 和 RpcNsBindingImportDone 函数的名称服务句柄。
返回值
值 | 含义 |
---|---|
|
调用成功。 |
|
名称语法无效。 |
|
名称超出了最大长度。 |
|
不支持名称语法。 |
|
名称不完整。 |
|
找不到名称服务条目。 |
|
名称服务不可用。 |
|
对象无效。 |
注解
在调用 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 |