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

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

はじめに

Windows フォト ギャラリーと Windows エクスプローラーでサムネイルを表示し、標準イメージ メタデータを検索および更新できるようにするには、コーデックに関連付けられている IThumbnailProvider インターフェイスと IPropertyStore インターフェイスの実装が必要です。 IThumbnailProvider インターフェイスを使用してサムネイルを取得し、サムネイル キャッシュを設定し、IPropertyStore インターフェイスを使用してファイルに関連付けられているメタデータを検索および更新します。 Windows Vista の時点では、すべてのファイルの種類にサムネイルとメタデータがありますが、ファイルの種類によって、それらのサムネイルとメタデータを取得または生成するために、これらのインターフェイスの実装が異なる必要があります。 システムは、これらのインターフェイスの既定の実装を提供します。 IThumbnailProvider の既定の実装は、任意の Windows イメージング コンポーネント (WIC)対応イメージ形式に使用できます。 IPropertyStore の既定の実装は、タグ付けされたイメージ ファイル形式 (TIFF) または JPEG コンテナーに基づく WIC 対応のイメージ形式で使用できます。 イメージ形式をこれらの両方のインターフェイスの既定の実装に関連付けるには、いくつかのレジストリ エントリのみを追加する必要があります。

次のエントリは、Windows フォト ギャラリーと Windows エクスプローラーに、ファイル名拡張子 (.ext) とそれに関連付けられた MIME の種類がイメージ形式に関連付けられていることを示しています。

次のエントリは、コンテンツ タイプ (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 プロパティ ハンドラーは、コンテナーの形式とその中のさまざまなプロパティを見つける方法を理解している必要があります。 一般に、フォト プロパティ ハンドラーは、さまざまなメタデータ ブロックを独自のコンテナー形式でレイアウトする方法を知ることはできません。 ただし、コンテナー形式のメタデータが 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 はフォト プロパティ ハンドラーの実装の 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 は、このインターフェイスの標準システム実装の 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 コーデックを記述する方法

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