RpcNsProfileEltInqBeginA 函数 (rpcnsi.h)

RpcNsProfileEltInqBegin 函数创建查询上下文,用于查看配置文件中的元素。

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

语法

RPC_STATUS RpcNsProfileEltInqBeginA(
  unsigned long ProfileNameSyntax,
  RPC_CSTR      ProfileName,
  unsigned long InquiryType,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  unsigned long MemberNameSyntax,
  RPC_CSTR      MemberName,
  RPC_NS_HANDLE *InquiryContext
);

参数

ProfileNameSyntax

ProfileName的语法。

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

ProfileName

指向要查看的配置文件名称的指针。

InquiryType

要对配置文件执行的查询类型。 下表列出了有效的查询类型。

查询类型 意义
RPC_C_PROFILE_DEFAULT_ELT
在配置文件中搜索默认配置文件元素(如果有)。 IfIdVersOption,并忽略 MemberName 参数。
RPC_C_PROFILE_ALL_ELTS
返回配置文件中的每个元素。 IfIdVersOption,并忽略 MemberName 参数。
RPC_C_PROFILE_MATCH_BY_IF
在配置文件中搜索包含由 IfIdVersOption指定的接口标识的元素。 忽略 MemberName 参数。
RPC_C_PROFILE_MATCH_BY_MBR
在配置文件中搜索包含 MemberName的元素。 忽略 IfIdVersOption 参数。
RPC_C_PROFILE_MATCH_BY_BOTH
在配置文件中搜索包含由 IfIdVersOption以及 MemberName 参数标识的接口标识和成员的元素。

IfId

指向 RpcNsProfileEltInqNext 函数返回的配置文件元素的接口标识的指针。

仅当为 InquiryType 参数指定RPC_C_PROFILE_MATCH_BY_IF或RPC_C_PROFILE_MATCH_BY_BOTH值时,才使用 IfId 参数。 否则,将忽略 IfId,并且可以指定 null 值。

VersOption

指定 RpcNsProfileEltInqNext 函数如何使用 IfId 参数。 仅当为 InquiryType指定RPC_C_PROFILE_MATCH_BY_IF值或RPC_C_PROFILE_MATCH_BY_BOTH时,才使用此参数。 否则,将忽略此参数,可以指定 0 值。

下表描述了 VersOption的有效值。

价值 意义
RPC_C_VERS_ALL
返回提供指定接口 UUID 的配置文件元素,而不考虑版本号。 对于此值,请为 IfId中的主版本和次要版本指定 0。
RPC_C_VERS_COMPATIBLE
返回提供指定接口 UUID 的相同主版本的配置文件元素,以及大于或等于指定接口 UUID 的次要版本的次要版本。
RPC_C_VERS_EXACT
返回提供指定接口 UUID 的指定版本的配置文件元素。
RPC_C_VERS_MAJOR_ONLY
返回提供指定接口 UUID 的相同主版本的配置文件元素(忽略次要版本)。 对于此值,请在 IfId中为次要版本指定 0。
RPC_C_VERS_UPTO
返回提供小于或等于指定主版本和次要版本的指定接口 UUID 的配置文件元素。 (例如,如果 IfId 包含 V2.0 且配置文件包含具有 V1.3、V2.0 和 V2.1 的元素,则 RpcNsProfileEltInqNext 函数返回具有 V1.3 和 V2.0 的元素。

MemberNameSyntax

MemberName的语法,RpcNsProfileEltInqNext 函数中返回参数 MemberName

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

MemberName

指向 RpcNsProfileEltInqNext 函数在配置文件元素中查找的成员名称的指针。 仅当为 InquiryType指定RPC_C_PROFILE_MATCH_BY_MBR值或RPC_C_PROFILE_MATCH_BY_BOTH时,才使用 MemberName 参数。 否则,将忽略 MemberName,并且可以指定 null 值。

InquiryContext

返回指向名称服务句柄的指针,该句柄与 RpcNsProfileEltInqNextRpcNsProfileEltInqDone 函数一起使用。

返回值

价值 意义
RPC_S_OK
调用成功。
RPC_S_INVALID_VERS_OPTION
版本选项无效。
RPC_S_INVALID_NAME_SYNTAX
名称语法无效。
RPC_S_UNSUPPORTED_NAME_SYNTAX
不支持名称语法。
RPC_S_INCOMPLETE_NAME
名称不完整。
RPC_S_ENTRY_NOT_FOUND
找不到名称服务条目。
RPC_S_NAME_SERVICE_UNAVAILABLE
名称服务不可用。
 
注释 有关有效错误代码的列表,请参阅 RPC 返回值
 

言论

RpcNsProfileEltInqBegin 函数创建查询上下文,用于查看配置文件中的元素。

使用 InquiryType 参数,应用程序指定要从调用 RpcNsProfileEltInqNext返回以下配置文件元素中的哪一个:

  • 默认元素
  • 所有元素
  • 具有指定接口标识的元素
  • 具有指定成员名称的元素
  • 具有指定接口标识和成员名称的元素
在调用 RpcNsProfileEltInqNext之前,应用程序必须先调用 RpcNsProfileEltInqBegin 来创建查询上下文。

查看完配置文件元素后,应用程序调用 RpcNsProfileEltInqDone 函数来删除查询上下文。

注意 Windows 2000 Active Directory 支持此函数。 早期版本的 Windows NT 仅支持将此函数与 Cell Directory 服务(CDS)配合使用。
 

注意

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

要求

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

另请参阅

RpcIfInqId

RpcNsProfileEltInqDone

RpcNsProfileEltInqNext