SetupDiLoadDeviceIcon 関数 (setupapi.h)

SetupDiLoadDeviceIcon 関数は、指定したデバイスのアイコンを取得します。

構文

WINSETUPAPI BOOL SetupDiLoadDeviceIcon(
  [in]  HDEVINFO         DeviceInfoSet,
  [in]  PSP_DEVINFO_DATA DeviceInfoData,
  [in]  UINT             cxIcon,
  [in]  UINT             cyIcon,
  [in]  DWORD            Flags,
  [out] HICON            *hIcon
);

パラメーター

[in] DeviceInfoSet

アイコンを取得する デバイス を表すデバイス情報要素を含むデバイス情報セットのハンドル。

[in] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。

[in] cxIcon

取得するアイコンの幅 (ピクセル単位)。 システム メトリック インデックス SM_CXICONを使用して既定のサイズのアイコンを指定するか、システム メトリック インデックス SM_CXSMICONを使用して小さなアイコンを指定します。 システム メトリック インデックスは Winuser.h で定義され、関連する値は GetSystemMetrics 関数の呼び出しによって取得できます。 (GetSystemMetrics 関数は、Microsoft Windows SDKに記載されています)。

[in] cyIcon

取得するアイコンの高さ (ピクセル単位)。 SM_CXICONを使用して既定のサイズのアイコンを指定するか、SM_CXSMICONを使用して小さなアイコンを指定します。

[in] Flags

使用されていません。 0 に設定する必要があります。

[out] hIcon

この関数が取得するアイコンへのハンドルを受け取るアイコンへのハンドルへのポインター。 この関数を呼び出すアプリケーションがアイコンを使用して終了したら、アプリケーションは DestroyIcon を呼び出してアイコンを削除する必要があります。 (DestroyIcon は、Microsoft Windows SDKに記載されています。

戻り値

関数が指定したデバイスのアイコンの取得に成功した場合、SetupDiLoadDeviceIconTRUE を返します。 それ以外の場合、関数は FALSE を 返し、ログに記録されたエラーは GetLastError の呼び出しによって取得できます。

注釈

SetupDiLoadDeviceIcon は、次のようにデバイスのアイコンの取得を試みます。

  • デバイスの DEVPKEY_DrvPkg_Icon デバイス プロパティにリソース識別子文字列の一覧が含まれている場合、関数は、リスト内の最初のリソース識別子文字列で指定されたアイコンの取得を試みます。

    DEVPKEY_DrvPkg_Icon デバイス プロパティのデバイス プロパティ データ型DEVPROP_TYPE_STRING_LIST

    リソース識別子文字列の形式は 次のとおりです。

    [filepath\]filename,-resourceID
    

    各値の説明:

    • filepath の 後に円記号 (\\) が続き は省略可能であり、アイコンを含むファイルのパスを指定します。
    • FileName の後にコンマ文字 (",") を付けて、アイコンを含むファイルの名前を指定します。
    • ResourceID の前にダッシュ文字 ("-") を付け、アイコンのリソース ID を指定します。
  • 関数がデバイス固有のアイコンを取得できない場合は、デバイスのクラス アイコンの取得を試みます。 クラス アイコンの詳細については、「 SetupDiLoadClassIcon」を参照してください。
  • 関数がデバイスのクラス アイコンを取得できない場合、不明なデバイス セットアップ クラスのアイコンの取得が試みられ、不明な デバイス セットアップ クラスのアイコンに疑問符 (?) の画像が含まれます。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll

こちらもご覧ください

DEVPROP_TYPE_STRING_LIST

SetupDiLoadClassIcon