デバイス用アイコンの提供

このトピックでは、ドライバーの INF ファイルで参照することで、デバイスのカスタム アイコンを提供する方法について説明します。 必要に応じて、デバイス マネージャー、Windows エクスプローラー、またはその両方に表示されるアイコンを指定できます。

デバイス マネージャーのアイコンの追加

DLL にカスタム アイコンを埋め込むか、スタンドアロンの.ico ファイルを指定できます。 ドライバーが既に DLL ファイルである場合は、追加のファイルをコピーする必要がないため、1 つ目が最も簡単なオプションです。

DLL にアイコンを埋め込むには、次のようなエントリを使用します。

[<DDInstall>]
AddProperty = DeviceIconProperty

[DeviceIconProperty]
DeviceIcon,,,,"%13%\UmdfDriver.dll,-100"

上の例では、DIRID 13 を使用してファイルをドライバー ストアにコピーするため、他の場所にコピーする必要がなくなります。 エントリは形式 <Resource.dll>,-<IconResourceID>に従うので、100 は DLL のリソース テーブルのアイコンのリソース ID を示します。 DIRID 13 の詳細については、「ユニバーサル INF ファイルの使用」を参照してください。

スタンドアロン .ico ファイルを参照するには、次のようなエントリを使用します。

[<DDInstall>]
AddProperty = DeviceIconProperty

[DeviceIconProperty]
DeviceIcon,,,,"%13%\vendor.ico"

エクスプローラーでのストレージ ボリュームのアイコンの追加

シェルでは、アイコンNoMediaIcons レジストリ値を使用して、AutoPlay、マイ コンピューター、ファイルの [開く] ダイアログ ボックスでデバイスを表します。

これらを追加するには、デバイスの INF DDInstall.HW セクション下に INF AddReg ディレクティブを含めます。 次の例に示すように、[AddReg] セクションでアイコンと NoMediaIcons の値エントリを指定します。

[DDInstall.NT.HW]
AddReg = IconInformation

[IconInformation]
HKR, , Icons, 0x10000, "media-inserted-icon-file"
HKR, , NoMediaIcons, 0x10000, "no-media-inserted-icon-file"

次に、アイコン ファイルと、それらをシステムにコピーする対応する INF CopyFiles ディレクティブを一覧表示する INF SourceDisksFiles セクションを含めます。

IconsNoMediaIcons の値エントリは、次のようなエントリを含むデバイスのハードウェア キーの下に格納されます。

  • Icons [REG_MULTI_SZ] = %SystemRoot%\system32\icon.ico

  • NoMediaIcons [REG_MULTI_SZ] = %SystemRoot%\system32\noicon.ico

リソース

アイコンを作成するときは、「アイコン」に記載されているガイドラインに従ってください。 これらのガイドラインでは、Windows グラフィック要素の外観と動作を持つアイコンを作成する方法について説明します。