Windows フォト ギャラリーと Windows エクスプローラーとの統合

このトピックは、Windows Vista 以降に適用されます。 次のセクションが含まれます。

はじめに

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>

次のエントリは、Windows、Windows 検索、 System.Kind を使用するアプリケーションに対して、ファイル名拡張子 (.ext) を画像として扱う必要があることを示しています。 具体的には、ファイル拡張子の System.Kind プロパティを Picture に設定する必要があることを示します。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  KindMap
                     {.ext} = Picture

Windows プロパティ ストアとの統合

同じメタデータ プロパティが異なるメタデータ スキーマで公開される場合があります。多くの場合、プロパティ名が異なります。 これらのプロパティのいずれかが更新され、他のプロパティが更新されていない場合、ファイル内のメタデータが同期を取り消す可能性があります。フォト プロパティ ハンドラーは、画像の既定の IPropertyStore 実装を提供し、アプリケーションだけでなく、Windows フォト ギャラリーと Windows エクスプローラーによって使用され、イメージ内のすべてのメタデータが同期し続け、アプリケーションによって表示されるプロパティが Windows フォト ギャラリーと Windows エクスプローラーによって表示されるプロパティと一致していることを確認します。 Photo プロパティ ハンドラーは、メタデータを更新するときに、ファイルに存在するすべての一般的なメタデータ形式にわたって、これらのプロパティが一貫して更新されるようにします。

フォト プロパティ ハンドラーは、コンテナーの形式とその中のさまざまなプロパティを検索する方法を理解する必要があります。 一般に、photo プロパティ ハンドラーは、さまざまなメタデータ ブロックが独自のコンテナー形式でどのようにレイアウトされているかを知ることはできません。 ただし、コンテナー形式のメタデータが TIFF コンテナー形式または JPEG コンテナー形式でメタデータと同じようにレイアウトされている場合、フォト プロパティ ハンドラーはその知識を利用して、コンテナー形式でもメタデータを一貫して更新できます。

この関連付けを登録するには、次のレジストリ エントリを作成します。 このエントリは、この GUID で識別されるコンテナー形式が、GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 と同じメタデータ クエリ言語パスを理解していることを photo プロパティ ハンドラーに通知します。 (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 フォト ギャラリーは 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 サムネイル プロバイダーの実装を使用して、この拡張子を持つファイルのサムネイルを取得できることを示しています。 最初の 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}

概念

エンコーダー固有のレジストリ エントリ

CODEC のインストールと登録

WIC-Enabled CODEC を記述する方法

Windows イメージング コンポーネントの概要