共用方式為


RpcNsProfileEltInqBeginW 函式 (rpcnsi.h)

RpcNsProfileEltInqBegin 函式會建立查詢內容,以檢視配置檔中的元素。

注意 Windows Vista 和更新版本的作業系統不支援此函式。
 

語法

RPC_STATUS RpcNsProfileEltInqBeginW(
  unsigned long ProfileNameSyntax,
  RPC_WSTR      ProfileName,
  unsigned long InquiryType,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  unsigned long MemberNameSyntax,
  RPC_WSTR      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
搜尋設定檔中的預設配置檔專案,如果有的話。 系統會忽略 IfIdVersOptionMemberName 參數。
RPC_C_PROFILE_ALL_ELTS
從配置檔傳回每個專案。 系統會忽略 IfIdVersOptionMemberName 參數。
RPC_C_PROFILE_MATCH_BY_IF
在配置檔中搜尋包含由 IfIdVersOption所指定的介面識別的專案。 會忽略 MemberName 參數。
RPC_C_PROFILE_MATCH_BY_MBR
在配置檔中搜尋包含 MemberName的專案。 忽略 IfIdVersOption 參數。
RPC_C_PROFILE_MATCH_BY_BOTH
搜尋配置檔中是否有專案,其中包含由 IfIdVersOptionMemberName 參數所識別的介面識別和成員。

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 函式中的 return 參數 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 Service (CDS) 搭配使用。
 

注意

rpcnsi.h 標頭會根據 UNICODE 預處理器常數的定義,將 RpcNsProfileEltInqBegin 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 rpcnsi.h (包括 Rpc.h)
連結庫 Rpcns4.lib
DLL Rpcns4.dll

另請參閱

RpcIfInqId

RpcNsProfileEltInqDone

RpcNsProfileEltInqNext