SetupDiEnumDriverInfoW 関数 (setupapi.h)

SetupDiEnumDriverInfo 関数は、ドライバーリストのメンバーを列挙します。

構文

WINSETUPAPI BOOL SetupDiEnumDriverInfoW(
  [in]           HDEVINFO           DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA   DeviceInfoData,
  [in]           DWORD              DriverType,
  [in]           DWORD              MemberIndex,
  [out]          PSP_DRVINFO_DATA_W DriverInfoData
);

パラメーター

[in] DeviceInfoSet

列挙するドライバーの一覧を含む デバイス情報セット へのハンドル。

[in, optional] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターを指定すると、 SetupDiEnumDriverInfo は、指定したデバイスのドライバー一覧を列挙します。 このパラメーターが NULL の場合、 SetupDiEnumDriverInfoDeviceInfoSet に関連付けられているグローバル クラス ドライバー リストを列挙します (このリストの種類は 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 メンバーが正しく設定されていない場合、SetupDiEnumDriverInfoFALSE を返します

戻り値

成功した場合、この関数は 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 で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

こちらもご覧ください

SetupDiBuildDriverInfoList