IDirectorySearch::GetFirstRow 方法 (iads.h)
GetFirstRow 方法會取得搜尋結果的第一個數據列。 此方法會發出或重新發出新的搜尋,即使之前已呼叫此方法也一樣。
語法
HRESULT GetFirstRow(
[in] ADS_SEARCH_HANDLE hSearchResult
);
參數
[in] hSearchResult
包含藉由呼叫 IDirectorySearch::ExecuteSearch 取得的搜尋句柄。
傳回值
此方法會傳回標準傳回值,以及下列各項:
如需詳細資訊,請參閱 ADSI 錯誤碼。
備註
未設定 ADS_SEARCHPREF_CACHE_RESULTS 旗標時,也就是 FALSE,只允許向前捲動,因為用戶端可能不會快取所有查詢結果。 從相同數據列多次呼叫 GetFirstRow 需要一些回捲動,而且在結果不保證保留在快取中時,可能會導致分頁或透過 OLE DB 起始的異步搜尋結果錯誤。
範例
hr = m_pSearch->ExecuteSearch(L"(objectCategory=contact)", pszAttr, dwCount, &hSearch);
if(SUCCEEDED(hr))
{
while(SUCCEEDED(hr = m_pSearch->GetNextRow(hSearch)))
{
if(S_OK == hr)
{
// Get the data.
}
else if(S_ADS_NOMORE_ROWS == hr)
{
// Call ADsGetLastError to see if the search is waiting for a response.
DWORD dwError = ERROR_SUCCESS;
WCHAR szError[512];
WCHAR szProvider[512];
ADsGetLastError(&dwError, szError, 512, szProvider, 512);
if(ERROR_MORE_DATA != dwError)
{
break;
}
}
else
{
break;
}
}
m_pSearch->CloseSearchHandle(hSearch);
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | iads.h |
Dll | Activeds.dll;Adsldp.dll;Adsldpc.dll |