SetupDiGetDriverInfoDetailA 関数 (setupapi.h)
SetupDiGetDriverInfoDetail 関数は、デバイス情報セットまたはデバイス情報セット内の特定のデバイス情報要素のドライバー情報の詳細を取得します。
構文
WINSETUPAPI BOOL SetupDiGetDriverInfoDetailA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] PSP_DRVINFO_DATA_A DriverInfoData,
[in, out] PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
[in] DWORD DriverInfoDetailDataSize,
[out, optional] PDWORD RequiredSize
);
パラメーター
[in] DeviceInfoSet
ドライバー情報を取得するドライバー情報要素を含む デバイス情報セット へのハンドル。
[in, optional] DeviceInfoData
ドライバー 情報を取得 するデバイスを表すデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターを指定すると、 SetupDiGetDriverInfoDetail は、指定されたデバイスのドライバー一覧のドライバーに関する情報を取得します。 このパラメーターが NULL の場合、 SetupDiGetDriverInfoDetail は DeviceInfoSet のグローバル クラス ドライバー リストのメンバーであるドライバーに関する情報を取得します。
[in] DriverInfoData
詳細を取得する ドライバー を表すドライバー情報要素を指定するSP_DRVINFO_DATA構造体へのポインター。 DeviceInfoData が指定されている場合、ドライバーは DeviceInfoData で指定されたデバイスのドライバー リストのメンバーである必要があります。 それ以外の場合、ドライバーは DeviceInfoSet のグローバル クラス ドライバー リストのメンバーである必要があります。
[in, out] DriverInfoDetailData
指定したドライバーに関する詳細情報を受け取る SP_DRVINFO_DETAIL_DATA 構造体へのポインター。 このパラメーターを指定しない場合、 DriverInfoDetailDataSize は 0 である必要があります。 このパラメーターを指定すると、DriverInfoDetailData になります。cbSize は、SetupDiGetDriverInfoDetail を呼び出す前に、sizeof(SP_DRVINFO_DETAIL_DATA) の値に設定する必要があります。
[in] DriverInfoDetailDataSize
DriverInfoDetailData バッファーのサイズ (バイト単位)。
[out, optional] RequiredSize
詳細なドライバー情報を格納するために必要なバイト数を受け取る変数へのポインター。 この値には、構造体のサイズと、ハードウェア ID リストと互換性のある ID リストを保持する末尾の可変長文字バッファーに必要な追加バイトの両方が含まれます。 リストはREG_MULTI_SZ形式です。 ハードウェア ID と互換性のある ID の詳細については、「 デバイス識別文字列」を参照してください。
戻り値
成功した場合、この関数は TRUE を 返します。 それ以外の場合は FALSE を 返し、 GetLastError を呼び出すことでログに記録されたエラーを取得できます。
解説
指定したドライバー情報メンバーと呼び出し元が指定したバッファーの両方が有効な場合、この関数は、SP_DRVINFO_DETAIL_DATA構造体内のすべての静的フィールドと、REG_MULTI_SZ形式を維持しながら、末尾の可変長バッファーに可能な限り多くの ID を入力することが保証されます。 この場合、関数は FALSE を 返し、 GetLastError の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。 指定した場合、 RequiredSize には、すべての ID を持つ構造体に必要な合計バイト数が含まれます。
注意
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiGetDriverInfoDetail を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |