Freigeben über


Integration in die Windows-Fotogalerie und den Windows-Explorer

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

Einleitung

Damit Windows-Fotogalerie und Windows-Explorer Miniaturansichten anzeigen und Standardbildmetadaten suchen und aktualisieren können, muss ein Codec über eine Implementierung des IThumbnailProvider- und IPropertyStore- Schnittstellen verfügen. Die IThumbnailProvider-Schnittstelle wird verwendet, um Miniaturansichten abzurufen und den Miniaturansichtencache 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 unterschiedliche 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 jedes Windows Imaging Component (WIC)-fähige Bildformat verwendet werden. Die Standardimplementierung von IPropertyStore kann mit jedem WIC-fähigen Bildformat verwendet werden, das auf einem Tagged Image File Format (TIFF) oder JPEG-Container basiert. Um Das Bildformat den Standardimplementierungen beider Schnittstellen zuzuordnen, müssen Sie nur einige Registrierungseinträge hinzufügen.

Die folgenden Einträge geben dem Windows-Fotokatalog und dem 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 an, die inhaltstyp (auch mime-Typ genannt) verwenden, 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 an, dass windows-Suche und -Anwendungen, die System.Kind verwenden, dass eine Dateinamenerweiterung (EXT) als Bild behandelt werden soll. Insbesondere gibt es an, dass die Eigenschaft "System.Kind" der Dateierweiterung auf "Picture" festgelegt werden soll.

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

Integration in den Windows-Eigenschaftenspeicher

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

Der Fotoeigenschaftenhandler muss das Containerformat verstehen und die verschiedenen Eigenschaften darin finden. Im Allgemeinen ist es für den Fotoeigenschaftenhandler nicht möglich, zu wissen, wie die verschiedenen Metadatenblöcke in einem proprietären Containerformat angeordnet sind. Wenn die Metadaten im Containerformat jedoch auf die gleiche Weise wie die Metadaten in einem TIFF-Containerformat oder einem JPEG-Containerformat angeordnet sind, kann der Fotoeigenschaftenhandler dieses Wissen nutzen, um metadaten konsistent im Containerformat 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 die gleichen 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 des Fotoeigenschaftenhandlers IPropertyStore- Dateien zu, die die Erweiterung ".ext" aufweisen. Die erste GUID ist die IID der IPropertyStore Schnittstelle, und die zweite ist die GUID der Implementierung des Fotoeigenschaftshandlers.

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 ihre eigene IPropertyStore- Implementierung schreiben.

Die Windows-Fotogalerie 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 der 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. .txtist, lautet die ProgID normalerweise "txtfile".)

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

Integration in den Windows-Miniaturansichtencache

Die folgenden beiden Einträge geben an, dass die standardmäßige WIC-Miniaturansichtenanbieterimplementierung verwendet werden kann, um Miniaturansichten für Dateien mit dieser Erweiterung abzurufen. Die erste GUID ist die IID des 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}

Konzeptionelle

Encoder-Specific Registrierungseinträge

CODEC-Installation und Registrierung

Schreiben eines WIC-Enabled CODEC-

Übersicht über die Windows-Imageerstellungskomponente