IDirectorySearchで属性名のみを返します

検索を実行して、特定のオブジェクトで使用できるデータの種類を確認できます。 この場合、必要なのは属性名のみで、オブジェクトの属性値ではありません。 ADS_SEARCHPREF_ATTRIBTYPES_ONLYオプションを指定すると、サーバーは属性名のみを返し、属性値は返しません。 ただし、結果セットには、値が割り当てられている属性のみが含まれます。 たとえば、次の属性を持つオブジェクトがあるとします。

name = Jeff
sn = Smith
department = Empty
phone = 206-555-0111

ADS_SEARCHPREF_ATTRIBTYPES_ONLYオプションを設定すると、結果セットには次のものが含まれます。

name
sn
department
phone

既定では、属性値と名前の両方が返されます。

属性名のみを取得するには、IDirectorySearch::SetSearchPreferenceメソッドに渡されるADS_SEARCHPREF_INFO配列で、ADSTYPE_BOOLEAN値がTRUEADS_SEARCHPREF_ATTRIBTYPES_ONLY検索オプションを設定します。

次のコード例は、属性名のみを取得する方法を示しています。

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_ATTRIBTYPES_ONLY;
SearchPref.vValue.dwType = ADSTYPE_BOOLEAN;
SearchPref.vValue.Boolean = TRUE;

ADS_SEARCHPREF_ATTRIBTYPES_ONLY検索オプションの使用方法を示すコード例と詳細については、 属性を検索するためのコード例 を参照してください。