SetupDiEnumDriverInfoA 関数 (setupapi.h)
SetupDiEnumDriverInfo 関数は、ドライバー リストのメンバーを列挙します。
構文
WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_A DriverInfoData
);
パラメーター
[in] DeviceInfoSet
列挙するドライバーの一覧を含む デバイス情報セット へのハンドル。
[in, optional] DeviceInfoData
DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターを指定すると、 SetupDiEnumDriverInfo は指定したデバイスのドライバーリストを列挙します。 このパラメーターが NULL の場合、 SetupDiEnumDriverInfo は DeviceInfoSet に関連付けられているグローバル クラス ドライバー リストを列挙します (このリストの種類はSPDIT_CLASSDRIVER)。
[in] DriverType
列挙するドライバー リストの種類。これは、次のいずれかの値である必要があります。
SPDIT_CLASSDRIVER
クラス ドライバーの一覧を列挙します。 DeviceInfoData が指定されていない場合は、このドライバー リストの種類を指定する必要があります。
SPDIT_COMPATDRIVER
指定したデバイスの互換性のあるドライバーの一覧を列挙します。 このドライバー リストの種類は、 DeviceInfoData も指定されている場合にのみ指定できます。
[in] MemberIndex
取得するドライバー情報メンバーの 0 から始まるインデックス。
[out] DriverInfoData
列挙されたドライバーに関する情報を受け取る呼び出し元初期化 SP_DRVINFO_DATA 構造体へのポインター。 呼び出し元は DriverInfoData を設定する必要があります。cbSize to sizeof(SP_DRVINFO_DATA) してから SetupDiEnumDriverInfo を呼び出します。 cbSize メンバーが正しく設定されていない場合、SetupDiEnumDriverInfo は FALSE を返します。
戻り値
成功した場合、関数は TRUE を 返します。 それ以外の場合は FALSE を 返し、ログに記録されたエラーは GetLastError の呼び出しで取得できます。
注釈
ドライバー情報セットのメンバーを列挙するには、インストーラーはまず、MemberIndex パラメーターを 0 に設定して SetupDiEnumDriverInfo を呼び出す必要があります。 その後、 MemberIndex をインクリメントし、値がなくなったら SetupDiEnumDriverInfo を呼び出す必要があります。 これ以上値がない場合、関数は失敗し、 GetLastError の呼び出しはERROR_NO_MORE_ITEMSを返します。
ポインター DriverInfoData によって提供されるSP_DRVINFO_DATA構造体の cbSize メンバーを適切に初期化しないと、関数は失敗し、エラー ERROR_INVALID_USER_BUFFERログに記録されます。
特定のデバイスまたはデバイス情報セットのグローバル クラス ドライバー リストに関連付けられているドライバーの一覧を作成するには、まず SetupDiBuildDriverInfoList を使用してから、そのリストを SetupDiEnumDriverInfo に渡します。
Note
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiEnumDriverInfo を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
ヘッダー | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |