Share via


Integration in Windows Photo Gallery und Windows Explorer

Dieses Thema gilt für Windows Vista und höher. Sie enthält die folgenden Abschnitte:

Einführung

Damit Windows-Fotogalerie und Windows-Explorer Miniaturansichten anzeigen und Standardbildmetadaten suchen und aktualisieren können, muss ein Codec über eine Implementierung der IThumbnailProvider- und IPropertyStore-Schnittstellen verfügen. Die IThumbnailProvider-Schnittstelle wird verwendet, um Miniaturansichten abzurufen und den Miniaturansichtcache aufzufüllen, und die IPropertyStore-Schnittstelle wird zum Suchen und Aktualisieren von Metadaten verwendet, die einer Datei zugeordnet sind. Ab Windows Vista verfügen alle Dateitypen über Miniaturansichten und Metadaten, aber verschiedene Dateitypen erfordern unterschiedliche Implementierungen dieser Schnittstellen, um die Miniaturansichten und Metadaten für sie abzurufen oder zu generieren. Das System stellt Standardimplementierungen dieser Schnittstellen bereit. Die Standardimplementierung von IThumbnailProvider kann für ein beliebiges WIC-fähiges Bildformat (Windows Imaging Component) verwendet werden. Die Standardimplementierung von IPropertyStore kann mit jedem WIC-fähigen Bildformat verwendet werden, das auf einem TIFF-Container (TIFF) oder JPEG-Container basiert. Um Ihr Imageformat den Standardimplementierungen beider Schnittstellen zuzuordnen, müssen Sie nur einige Registrierungseinträge hinzufügen.

Die folgenden Einträge geben dem Windows-Fotokatalog und windows-Explorer an, dass eine Dateinamenerweiterung (EXT) und der zugehörige MIME-Typ einem Bildformat zugeordnet sind.

Der folgende Eintrag gibt Für Windows und Anwendungen, die den Inhaltstyp (auch als MIME-Typ bezeichnet) verwenden, an, dass eine Datei mit einer bestimmten Erweiterung (.ext) ein Bildformat ist. Der Dateitypbesitzer muss eine <image sub type value> auswählen, die das Dateiformat eindeutig identifiziert, und dieser Inhaltstypwert muss bei IANA registriert werden.

HKEY_CLASSES_ROOT
   {.ext}
      ContentType = image/<image sub type>

Der folgende Eintrag gibt für Windows, Windows-Suche und Anwendungen, die System.Kind verwenden, an, dass eine Dateinamenerweiterung (.ext) als Bild behandelt werden soll. Insbesondere gibt es an, dass die System.Kind-Eigenschaft der Dateierweiterung auf Picture festgelegt werden soll.

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

Integration in den Windows Property Store

Manchmal werden dieselben Metadateneigenschaften in verschiedenen Metadatenschemas verfügbar gemacht, oft mit unterschiedlichen Eigenschaftennamen. Wenn eine dieser Eigenschaften aktualisiert wird, die anderen jedoch nicht, können die Metadaten in der Datei nicht mehr synchronisiert werden. Der Photo-Eigenschaftenhandler stellt die standardmäßige IPropertyStore-Implementierung für Bilder bereit und wird von Anwendungen sowie von der Windows-Fotogalerie und windows-Explorer verwendet, um sicherzustellen, dass alle Metadaten in einem Bild synchron bleiben und dass die von Anwendungen angezeigten Eigenschaften mit denen übereinstimmen, die in der Windows-Fotogalerie und windows Explorer angezeigt werden. Wenn der Handler für die Fotoeigenschaft Metadaten aktualisiert, wird sichergestellt, dass diese Eigenschaften konsistent in allen gängigen Metadatenformaten aktualisiert werden, die in der Datei vorhanden sind.

Der Photo-Eigenschaftenhandler muss das Containerformat verstehen und wissen, wie die verschiedenen Eigenschaften darin gefunden werden. Im Allgemeinen ist es für den Photo-Eigenschaftenhandler nicht möglich, zu wissen, wie die verschiedenen Metadatenblöcke in einem proprietären Containerformat angeordnet sind. Wenn die Metadaten in Ihrem Containerformat jedoch auf die gleiche Weise wie die Metadaten in einem TIFF-Containerformat oder einem JPEG-Containerformat angeordnet sind, kann der Photo-Eigenschaftenhandler dieses Wissen nutzen, um Metadaten auch in Ihrem Containerformat konsistent zu aktualisieren.

Sie können diese Zuordnung registrieren, indem Sie den folgenden Registrierungseintrag erstellen. Dieser Eintrag benachrichtigt den Fotoeigenschaftenhandler, dass das von dieser GUID identifizierte Containerformat dieselben Metadatenabfragesprachenpfade wie das Containerformat mit der GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 versteht. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 ist die GUID für das TIFF-Containerformat.)

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  ContainerAssociations
                     {Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}

Der folgende Eintrag ordnet die Standardimplementierung von IPropertyStore des Photo-Eigenschaftshandlers Dateien mit der Erweiterung ".ext" zu. Die erste GUID ist die IID der IPropertyStore-Schnittstelle , und die zweite ist die GUID der Implementierung des Photo-Eigenschaftshandlers.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  {.ext}
                     (Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}

Codecs, die ein proprietäres Format verwenden, das nicht mit dem TIFF- oder JPEG-Containerformat kompatibel ist, müssen eine eigene IPropertyStore-Implementierung schreiben.

Windows Photo Gallery basiert auf WIC und kann jedes WIC-fähige Bildformat anzeigen, für das der Codec installiert ist. Um das System zu benachrichtigen, dass Ihr Bildformat in Windows-Fotogalerie geöffnet werden kann, müssen Sie eine Dateizuordnung erstellen, indem Sie die folgenden Registrierungseinträge erstellen.

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"

Die ProgID ist in der Regel die Dateinamenerweiterung, die mit dem Wort "file" angefügt wird. (Wenn die Dateinamenerweiterung z. B. .txt ist, lautet die ProgID normalerweise "txtfile".)

Es gibt weitere Standardregistrierungseinträge, die Sie möglicherweise erstellen müssen, um Dateizuordnungen zu unterstützen. Da die "y" jedoch nicht spezifisch für WIC sind, liegen sie außerhalb des Rahmens dieses Themas.

Integration in den Windows-Miniaturansichtscache

Die folgenden beiden Einträge geben an, dass die Standardmäßigimplementierung des WIC-Miniaturansichtanbieters verwendet werden kann, um Miniaturansichten für Dateien mit dieser Erweiterung abzurufen. Die erste GUID ist die IID der IThumbnailProvider-Schnittstelle , und die zweite ist die GUID der Standardsystemimplementierung dieser Schnittstelle. (Alle Einträge unter HKCR\.ext\ShellEx\ werden unter HKCR\SystemFileAssociations\.ext\ShellEx\ wiederholt.)

HKEY_CLASSES_ROOT
   SystemFileAssociations
      {.ext}
         ShellEx
            {e357fccd-a995-4576-b01f-234630154e96}
               (Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}

Konzept

Encoderspezifische Registrierungseinträge

Codec-Installation und -Registrierung

Schreiben eines WIC-Enabled CODEC

Übersicht über die Windows-Imageerstellungskomponente