Share via


Grundlegendes zu Eigenschaftenhandlern

Eigenschaften werden durch IDs dargestellt, die als Eigenschaftenbezeichner (PIDs) bezeichnet werden. Jede Eigenschaft MUSS über einen global eindeutigen Bezeichner (GUID) verfügen. Dieser Bezeichner besteht aus einer GUID, die eine Auflistung von Eigenschaften darstellt, die als Eigenschaftensatz bezeichnet werden, sowie entweder eine Zeichenfolge oder eine 32-Bit-Ganzzahl, um die Eigenschaft innerhalb des Satzes zu identifizieren. Wenn die ganzzahlige FORM der ID verwendet wird, werden die Werte 0x00000000, 0xFFFFFFFF und 0xFFFFFFFE als ungültig betrachtet. Anbieter können garantieren, dass ihre Eigenschaften eindeutig definiert werden, indem sie sie in einem Durch ihre eigenen GUIDs definierten Eigenschaftensatz platzieren.

Wichtig

Es ist wichtig, dass Sie Eigenschaften für die erste Version des Schemas sorgfältig und strategisch definieren. Änderungen an benutzerdefinierten Eigenschaften (z. B. Spaltenbreite oder Eigenschaftentyp) werden nach der Registrierung eines Schemas nicht mehr in der Datenbank widergespiegelt. Die einzige Möglichkeit, diese Änderungen zu erkennen, nachdem das Schema einmal in einem System registriert wurde, besteht darin, entweder den Index neu zu erstellen und dann das neue Schema zu registrieren, oder das Schema zu registrieren und dann eine neue Eigenschaft (die aus einem kanonischen Namen und einem PKEY besteht) für jede untergeordnete Version zu erstellen. z. B. PKEY_GroupName_PropertyNameV2, PKEY_GroupName_PropertyNameV3usw. Es wird nicht empfohlen, neue Eigenschaften auf diese Weise zu erstellen, da sich mehrere zusätzliche Spalten auf die Systemleistung auswirken können.

 

Dieses Thema ist wie folgt organisiert:

Metadaten

In Windows Vista und höher ist ein neues Eigenschaftensystem, das auf Metadaten basiert, für die Organisation von Elementen wie Dateien, E-Mail und Kontakten von zentraler Bedeutung. In diesem neuen Eigenschaftensystem können Elemente basierend auf ihren Metadaten durchsucht werden, und Benutzer können diese Metadaten lesen oder schreiben. Metadaten in diesem System werden durch einen erweiterbaren Satz von Eigenschaften dargestellt, die als Name-Wert-Paare implementiert werden.

In Windows Vista und höher deckt ein umfangreicher Satz von Eigenschaften die Besonderheiten von Elementen wie Fotos, Musik, Dokumenten, Nachrichten, Kontakten und Dateien ab. Unabhängige Softwareanbieter (Independent Software Vendors, ISVs) können ihre eigenen Eigenschaften auf der Plattform einführen, wenn keine vorhandene Eigenschaft ihren Anforderungen entspricht.

Öffnen von Metadaten

Das Eigenschaftensystem in Windows Vista und höher ist ein offenes Metadatensystem. Ein Dateiformat speichert alle ihm zugewiesenen Eigenschaften und macht diesen Wert verfügbar, wenn er abgefragt wird, unabhängig von Relevanz oder Bedeutung. Dadurch können Entwickler von Drittanbietern zusätzliche Eigenschaften an die Datei anfügen, ohne dass eine Änderung des zugeordneten Eigenschaftenhandlers erforderlich ist. Open Metadata ist ein leistungsstarkes Konzept. Weitere Informationen zur Unterstützung von offenen Metadaten für ein XML-basiertes Dateiformat finden Sie unter "Unterstützen von offenen Metadaten" unter Initialisieren von Eigenschaftshandlern.

Hinweis

Eigenschaftenhandler sind immer bestimmten Dateitypen zugeordnet. Wenn Ihr Dateiformat Eigenschaften enthält, die einen benutzerdefinierten Eigenschaftenhandler erfordern, sollten Sie daher immer eine eindeutige Dateinamenerweiterung für jedes Dateiformat registrieren.

 

Informationen zu Eigenschaftenhandlern

In Windows Vista und höher verfügt Windows über ein erweiterbares Eigenschaftensystem zum Speichern und Abrufen von Metadaten in den Dateien und Datenelementen, auf die Sie zugreifen. Windows Explorer und das Windows Search-System verwenden zusammen mit anderen Anwendungen Eigenschaftenhandler, um diese Metadaten zu lesen und zu ändern. Wenn Sie ein Entwickler sind, der einen bestimmten Dateityp besitzt, sollten Sie einen Eigenschaftenhandler registrieren, um dem Eigenschaftensystem Zugriff auf die Metadaten in Ihren Dateien zu gewähren. In einigen Fällen können Sie möglicherweise einen vorhandenen Eigenschaftenhandler verwenden, der Ihr Dateiformat und die zugehörigen Eigenschaften lesen und verstehen kann. in anderen Fällen müssen Sie möglicherweise einen neuen Eigenschaftenhandler für Ihren Dateityp entwickeln.

Der erste Schritt beim Schreiben eines Eigenschaftenhandlers besteht darin, zu berücksichtigen, welche Eigenschaften Ihr Dateityp unterstützt. Eigenschaftswerte werden im Dateidatenstrom gespeichert, in erster Linie, um die Transportierbarkeit zu ermöglichen. Wenn die Eigenschaftswerte in der Datei selbst gespeichert werden, wie sie sich in diesem System befinden, kann ein Benutzer eine Datei auf einen anderen Computer, einen USB-Speicherstick oder ein anderes Dateisystem kopieren oder die Datei als E-Mail-Anlage senden, die Eigenschaften werden mit der Datei übertragen und werden nicht mehr synchronisiert oder verloren. Wenn das Dateiformat das Speichern zusätzlicher Informationen unterstützt, empfiehlt es sich daher, die Eigenschaften in der Datei selbst zu speichern.

Der nächste Schritt besteht darin, zu bestimmen, welche Eigenschaften die Datei bereitstellen soll. Möglicherweise denken Sie zunächst, dass ein begrenzter Satz von Eigenschaften angemessen ist. Eine Audiodatei kann nur audiobezogene Eigenschaften unterstützen und dort enden. Diese Audiodatei kann jedoch eine Aufzeichnung einer Gerichtssitzung sein, die von einer Anwaltskanzlei archiviert wird. In diesem Fall würde die Kanzlei sicherlich andere Nicht-Audio-Eigenschaften mit dieser Datei verknüpfen wollen, wie z. B. die Fallnummer. Der Anbieter des Audiodateiformats kann möglicherweise nicht alle Szenarien bestimmen, in denen sein Format jemals verwendet wird. Sie sollten daher erwägen, die pauschale Speicherung beliebiger Eigenschaften zu ermöglichen, die vom Eigenschaftensystem unterstützt werden.

Legacytechnologie

Die sekundäre Datenstromtechnologie microsoft Windows NT File System (NTFS) wurde entwickelt, um die Persistenz zusätzlicher Informationen mit der Datei über einen alternativen Stream zu unterstützen, der auf der Dateisystemebene festgelegt ist. Man könnte sich fragen, warum diese sekundären Datenströme nicht als Standard-Methode zum Speichern von Eigenschaften verwendet werden, insbesondere wenn offene Metadaten unterstützt werden. Der Hauptgrund ist die Transportfähigkeit dieser zusätzlichen Informationen. Leider werden diese alternativen Datenströme in vielen Szenarien entfernt, einschließlich clientseitiger Cacheunterstützung (CSC), Senden von Dateien als Anlagen und Kopieren von Dateien in einen NICHT-NTFS-Speicher.

Sekundäre Datenströme bieten keine robuste Lösung, bei der Eigenschaften garantiert mit der Datei übertragen werden, und daher bietet das Windows Vista-Eigenschaftensystem keinen integrierten Mechanismus, der die sekundären NTFS-Streams für die Speicherung von Eigenschaften ausnutzt. ISVs werden auch dringend davon abgeraten, Eigenschaftenhandler zu erstellen, die sekundäre Datenströme für die Speicherung von Eigenschaften verwenden. Natürlich gibt es Szenarien, in denen sekundäre NTFS-Streams geeignet sind, insbesondere wenn Anwendungen garantieren können, dass die Datei, mit der sie arbeiten, immer auf einem NTFS-Volume gespeichert wird und aufgrund der Endbenutzerinteraktion nicht übertragen wird.

Verwenden von Kindnamen

Verwenden von Eigenschaftenlisten

Initialisieren von Eigenschaftshandlern

Registrieren und Verteilen von Eigenschaftenhandlern

Bewährte Methoden und häufig gestellte Fragen zu Eigenschaftenhandlern