次の方法で共有


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 設定する必要があります。SetupDiEnumDriverInfoを呼び出す前に、cbSize を sizeof(SP_DRVINFO_DATA)します。 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渡します。

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiEnumDriverInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー setupapi.h (Setupapi.h を含む)
ライブラリ Setupapi.lib

関連項目

SetupDiBuildDriverInfoList の