RpcNsBindingExportPnPW 函数 (rpcnsi.h)

RpcNsBindingExportPnP 函数为支持即插即用的服务器建立具有多个绑定句柄和多个对象的 name-service 数据库条目。

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

语法

RPC_STATUS RpcNsBindingExportPnPW(
  unsigned long EntryNameSyntax,
  RPC_WSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID_VECTOR   *ObjectVector
);

parameters

EntryNameSyntax

EntryName 的语法。

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

EntryName

指向绑定句柄和对象 UUID 导出到的条目名称的指针。 不能提供 null 或空字符串。

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

IfSpec

存根生成的数据结构,指定要导出的接口。 null 值表示没有绑定句柄可以导出 (仅导出对象 UUID) ,并忽略 BindingVec

ObjectVector

指向服务器提供的对象 UUID 的矢量的指针。 服务器应用程序构造此向量。 null 值表示没有要导出的对象 UUID, (只有绑定句柄要导出) 。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_NOTHING_TO_EXPORT
没有什么可导出的。
RPC_S_INVALID_BINDING
绑定句柄无效。
RPC_S_WRONG_KIND_OF_BINDING
这是操作的错误绑定类型。
RPC_S_INVALID_NAME_SYNTAX
名称语法无效。
RPC_S_UNSUPPORTED_NAME_SYNTAX
不支持名称语法。
RPC_S_INCOMPLETE_NAME
名称不完整。
RPC_S_NO_NS_PRIVILEGE
名称服务操作没有权限。
RPC_S_NAME_SERVICE_UNAVAILABLE
名称服务不可用。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RpcNsBindingExportPnP 函数允许服务器应用程序在名称服务数据库中公开提供接口,该接口支持任何客户端应用程序使用的即插即用绑定。

请注意,导出即插即用绑定时,服务器应用程序不应显式提供绑定向量。 当绑定中由于即插即用事件而发生更改时,绑定会自动更新。

注意

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

要求

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

请参阅

RpcNsBindingExport

RpcNsBindingUnexportPnP