このトピックは、Windows Vista 以降に適用されます。 これには、次のセクションが含まれています。
- 概要
- Windows プロパティ ストア との統合
- Windows フォト ギャラリー との統合
- Windows サムネイル キャッシュ との統合
- 関連トピック
紹介
Windows フォト ギャラリーと Windows エクスプローラーでサムネイルを表示し、標準イメージ メタデータを検索および更新できるようにするには、コーデックに IThumbnailProvider の実装と、それに関連付けられた IPropertyStore インターフェイス する必要があります。 IThumbnailProvider インターフェイスはサムネイルの取得とサムネイル キャッシュの設定に使用され、IPropertyStore インターフェイスはファイルに関連付けられているメタデータの検索と更新に使用されます。 Windows Vista の時点では、すべてのファイルの種類にサムネイルとメタデータがありますが、ファイルの種類によって、それらのサムネイルとメタデータを取得または生成するために、これらのインターフェイスの実装が異なる必要があります。 システムは、これらのインターフェイスの既定の実装を提供します。 IThumbnailProvider の既定の実装は、任意の Windows イメージング コンポーネント (WIC) 対応イメージ形式に使用できます。 IPropertyStore の既定の実装は、タグ付けされたイメージ ファイル形式 (TIFF) または JPEG コンテナーに基づく WIC 対応のイメージ形式で使用できます。 イメージ形式を両方のインターフェイスの既定の実装に関連付けるには、いくつかのレジストリ エントリのみを追加する必要があります。
次のエントリは、ファイル名拡張子 (.ext) とそれに関連付けられている MIME の種類がイメージ形式に関連付けられていることを Windows フォト ギャラリーと Windows エクスプローラーに示します。
次のエントリは、コンテンツ タイプ (MIME タイプとも呼ばれます) を使用する Windows およびアプリケーションに対して、特定の拡張子 (.ext) を持つファイルがイメージ形式であることを示します。 ファイルの種類の所有者は、ファイル形式を一意に識別する <image sub type value>
を選択する必要があり、このコンテンツ タイプの値を IANA に登録する必要があります。
HKEY_CLASSES_ROOT
{.ext}
ContentType = image/<image sub type>
次のエントリは、ファイル名拡張子 (.ext) を画像として扱う必要があることを System.Kind を使用する Windows、Windows 検索、アプリケーションを示しています。 具体的には、ファイル拡張子の System.Kind プロパティを Picture に設定する必要があることを示します。
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Explorer
KindMap
{.ext} = Picture
Windows プロパティ ストアとの統合
同じメタデータ プロパティが異なるメタデータ スキーマで公開される場合があり、多くの場合、プロパティ名が異なります。 これらのプロパティのいずれかが更新されたが、他のプロパティが更新されていない場合、ファイル内のメタデータが同期から外れる可能性があります。写真プロパティ ハンドラーは、イメージの既定の IPropertyStore 実装を提供し、アプリケーションだけでなく、Windows フォト ギャラリーと Windows エクスプローラーによって使用され、イメージ内のすべてのメタデータが同期状態に保たれ、アプリケーションによって表示されるプロパティが Windows フォト ギャラリーおよび Windows エクスプローラーで表示されるものと一致することを確認します。 写真プロパティ ハンドラーは、メタデータを更新するときに、ファイルに存在するすべての一般的なメタデータ形式でこれらのプロパティが一貫して更新されるようにします。
写真のプロパティ ハンドラーは、コンテナーの形式と、その中のさまざまなプロパティを検索する方法を理解する必要があります。 一般に、写真プロパティ ハンドラーは、さまざまなメタデータ ブロックが独自のコンテナー形式でどのようにレイアウトされているかを知ることはできません。 ただし、コンテナー形式のメタデータが TIFF コンテナー形式または JPEG コンテナー形式のメタデータと同じ方法でレイアウトされている場合、写真プロパティ ハンドラーはその知識を利用して、コンテナー形式でもメタデータを一貫して更新できます。
この関連付けを登録するには、次のレジストリ エントリを作成します。 このエントリは、この GUID で識別されるコンテナー形式が、GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 のコンテナー形式と同じメタデータ クエリ言語パスを認識していることを写真のプロパティ ハンドラーに通知します。 (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 は TIFF コンテナー形式の GUID です)。
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
PhotoPropertyHandler
ContainerAssociations
{Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}
次のエントリは、写真プロパティ ハンドラーの IPropertyStore の既定の実装を拡張子 ".ext" を持つファイルに関連付けます。 最初の GUID は、IPropertyStore インターフェイスの IID であり、2 つ目はフォト プロパティ ハンドラーの実装の GUID です。
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
PhotoPropertyHandler
{.ext}
(Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}
TIFF または JPEG コンテナー形式と互換性のない独自の形式を使用するコーデックは、IPropertyStore 実装 独自に記述する必要があります。
Windows フォト ギャラリーとの統合
Windows フォト ギャラリーは WIC 上に構築されており、コーデックがインストールされている WIC 対応のイメージ形式を表示できます。 Windows フォト ギャラリーでイメージ形式を開くことができることをシステムに通知するには、次のレジストリ エントリを作成してファイルの関連付けを作成する必要があります。
HKEY_CLASSES_ROOT
{.ext}
(Default) = {ProgID} for example, jpegfile)
OpenWithProgids
{ProgID}
OpenWithList
PhotoViewer.dll
ShellEx
ContextMenuHandlers
ShellImagePreview
(Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
SystemFileAssociations
{.ext}
OpenWithList
PhotoViewer.dll
ShellEx
ContextMenuHandlers
ShellImagePreview
(Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
{Image Format ProgID}
(Default) = Name of Image Format
DefaultIcon
(Default) = Path to icon for type, icon index
shell
open
MuiVerb = @%PROGRAMFILES%\Windows Photo Gallery\photoviewer.dll,-3043
command
(Default) = %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Gallery\PhotoViewer.dll", ImageView_Fullscreen %1
DropTarget
Clsid = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
printo
command
(Default) = %SystemRoot%\System32\rundll32.exe "%SystemRoot%\System32\shimgvw.dll", ImageView_PrintTo /pt "%1" "%2" "%3" "%4"
ProgID は通常、"file" という単語が付加されたファイル名拡張子です。 (たとえば、ファイル名拡張子が .txtの場合、ProgID は通常は "txtfile" になります)。
ファイルの関連付けをサポートするために、作成する必要がある可能性のある他の標準的なレジストリエントリがあります。ただし、y は WIC に固有ではないため、このトピックの範囲を超えています。
Windows サムネイル キャッシュとの統合
次の 2 つのエントリは、標準の WIC サムネイル プロバイダーの実装を使用して、この拡張子を持つファイルのサムネイルを取得できることを示しています。 1 つ目の GUID は IThumbnailProvider インターフェイスの IID で、2 つ目は、このインターフェイスの標準システム実装の GUID です。 (HKCR\.ext\ShellEx\ のすべてのエントリは HKCR\SystemFileAssociations\.ext\ShellEx\の下で繰り返されます。)
HKEY_CLASSES_ROOT
SystemFileAssociations
{.ext}
ShellEx
{e357fccd-a995-4576-b01f-234630154e96}
(Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}
関連トピック