RpcNsBindingImportBeginA 函数 (rpcnsi.h)
RpcNsBindingImportBegin 函数为提供指定接口和对象的服务器创建导入客户端兼容的绑定句柄的导入上下文。
语法
RPC_STATUS RpcNsBindingImportBeginA(
unsigned long EntryNameSyntax,
RPC_CSTR EntryName,
RPC_IF_HANDLE IfSpec,
UUID *ObjUuid,
RPC_NS_HANDLE *ImportContext
);
参数
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 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | rpcnsi.h (包括 Rpc.h) |
库 | Rpcns4.lib |
DLL | Rpcns4.dll |