iDirectorySearch::GetColumn 方法 (iads.h)
IDirectorySearch::GetColumn方法會從搜尋結果的具名資料行取得資料。
語法
HRESULT GetColumn(
[in] ADS_SEARCH_HANDLE hSearchResult,
[in] LPWSTR szColumnName,
[out] PADS_SEARCH_COLUMN pSearchColumn
);
參數
[in] hSearchResult
提供搜尋內容的控制碼。
[in] szColumnName
提供要求資料的資料行名稱。
[out] pSearchColumn
提供方法配置 ADS_SEARCH_COLUMN 結構的位址,其中包含搜尋結果目前資料列中的資料行。
傳回值
這個方法會傳回標準傳回值,以及下列專案。
如需其他傳回值,請參閱 ADSI 錯誤碼。
備註
方法會為 ADS_SEARCH_COLUMN 結構配置記憶體,以保存資料行的資料。 但呼叫端必須呼叫 IDirectorySearch::FreeColumn來釋放記憶體。
IDirectorySearch::GetColumn方法會嘗試讀取所要求屬性的架構定義,使其可以在包含在ADS_SEARCH_COLUMN結構中的ADSVALUE結構中,以適當的格式傳回屬性值。 不過,即使架構定義無法使用,GetColumn仍可成功,在此情況下,ADS_SEARCH_COLUMN結構的dwADsType成員會傳回ADSTYPE_PROV_SPECIFIC,而且該值會在ADS_PROV_SPECIFIC結構中傳回。 當您處理 GetColumn 呼叫的結果時,您必須驗證 dwADsType ,以確保資料以預期格式傳回。
範例
ADS_SEARCH_COLUMN col;
/*.. Omit the set preference and execute*/
while( m_pSearch->GetNextRow( hSearch) != S_ADS_NOMORE_ROWS )
{
// Get the Name and display it in the list.
hr = m_pSearch->GetColumn( hSearch, pszAttr[0], &col );
if ( SUCCEEDED(hr) )
{
switch (col.dwADsType)
{
case ADSTYPE_CASE_IGNORE_STRING:
printf("%S\n", col.pADsValues->CaseIgnoreString);
break;
case ADSTYPE_PROV_SPECIFIC:
printf("%S\n", col.pADsValues->ProviderSpecific.lpValue);
break;
default:
printf("Unexpected ADsType: %d\n", col.dwADsType);
break;
}
{
m_pSearch->FreeColumn( &col );
}
}
}
m_pSearch->CloseSearchHandle( hSearch );
需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | iads.h |
Dll | Activeds.dll;Adsldp.dll;Adsldpc.dll |