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 |