共用方式為


處理搜尋結果

第一次呼叫 IDirectorySearch::GetFirstRow 或 IDirectorySearch::GetNextRow 之後,會傳回S_OKS_ADS_NOMORE_ROWS或錯誤結果。

如果傳回值S_ADS_NOMORE_ROWS,則找不到符合篩選條件的更多物件。 如果傳回錯誤結果,查詢就會失敗。 在這兩種情況下,您都不需要處理結果中的數據列,因為未傳回任何數據列。

如果 傳回S_OK ,則會擷取數據列。 您可以使用 IDirectorySearch::GetColumn 依名稱剖析數據行。 名稱是 數據行中屬性的 lDAPDisplayName 。 所有數據行集是由 IDirectorySearch::ExecuteSearch 方法的 pAttributeNames 參數所定義。 如果 指定了 NULL ,所有數據行集合就是針對所有傳回之物件找到的所有屬性聯集。 若要讀取對象傳回的整組數據行,請使用 IDirectorySearch::GetNextColumnName 逐一查看每個數據行,並使用傳回的數據行名稱來呼叫 IDirectorySearch::GetColumn。

IDirectorySearch::GetColumn 方法會傳回包含屬性名稱、屬性類型、值計數,以及包含值的 ADSVALUE 結構數位指標的ADS_SEARCH_COLUMN結構。 您可以迴圈執行 ADSVALUE 結構,以讀取數據行所傳回之屬性的值。 您必須根據ADS_SEARCH_COLUMN結構的 dwADsType 成員指定的 ADSTYPE,讀取 ADSVALUE 結構的適當成員(或 ADSVALUE 結構的 dwType 成員)。 例如,如果 dwADsType ADSTYPE_INTEGER,您會讀取每個 ADSVALUE 結構的 Integer 成員。

如需詳細資訊和程式代碼範例,請參閱 搜尋使用者的範例程序代碼。