Share via


検索結果の処理

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_Standard EditionARCH_COLUMN構造体を返します。 ADSVALUE 構造体をループ処理して、列によって返されるプロパティの値を読み取ることができます。 ADS_Standard EditionARCH_COLUMN構造体の dwADsType メンバー (または ADSVALUE 構造体の dwType メンバー) で指定された ADSTYPE に基づいて、ADSVALUE 構造体の適切なメンバーを読み取る必要があります。 たとえば、dwADsType がADSTYPE_INTEGERされた場合は、各 ADSVALUE 構造体の Integer メンバーを読み取ります。

詳細とコード例については、「ユーザーを検索するためのコード例」を参照してください