Grundlegendes zu Eigenschaftenhandlern
Eigenschaften werden durch IDs dargestellt, die als Eigenschaftsbezeichner (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 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 angesehen. Anbieter können garantieren, dass ihre Eigenschaften eindeutig definiert werden, indem sie in einem durch ihre eigenen GUIDs definierten Eigenschaftensatz platziert werden.
Wichtig
Es ist wichtig, dass Sie Eigenschaften sorgfältig und strategisch für die erste Version des Schemas definieren. Alle Änderungen an benutzerdefinierten Eigenschaften (z. B. Spaltenbreite oder Eigenschaftentyp) werden nicht in der Datenbank angezeigt, nachdem ein Schema registriert wurde. Die einzige Möglichkeit, diese Änderungen erkannt zu haben, nachdem das Schema einmal auf einem System registriert wurde, wäre entweder die Neuerstellung des Indexes und dann das Registrieren des neuen Schemas oder das Registrieren des Schemas und anschließendes Erstellen einer neuen Eigenschaft (die aus einem kanonischen Namen und einem PKEY besteht) für jede nachfolgende Version; z. BPKEY_GroupName_PropertyNameV2
PKEY_GroupName_PropertyNameV3
. , usw. Es wird nicht empfohlen, neue Eigenschaften auf diese Weise zu erstellen, da sich mehrere überflüssige 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, zentral zum Organisieren von Elementen wie Dateien, E-Mail und Kontakten. 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 umfasst ein umfangreicher Satz von Eigenschaften die Besonderheiten von Elementen wie Fotos, Musik, Dokumenten, Nachrichten, Kontakten und Dateien. Unabhängige Softwareanbieter (ISVs) können ihre eigenen Eigenschaften auf die Plattform einführen, wenn keine vorhandene Eigenschaft ihren Anforderungen entspricht.
Metadaten öffnen
Das Eigenschaftensystem in Windows Vista und höher ist ein offenes Metadatensystem. In einem Dateiformat werden alle ihm zugewiesenen Eigenschaften gespeichert und dieser Wert verfügbar gemacht, unabhängig von Relevanz oder Bedeutung. Auf diese Weise können Drittanbieterentwickler zusätzliche Eigenschaften an die Datei anfügen, ohne dass eine Änderung des eigenschaftenhandlers erforderlich ist, der ihr zugeordnet ist. Open Metadata ist ein leistungsfähiges Konzept. Weitere Informationen zur Unterstützung von offenen Metadaten für ein XML-basiertes Dateiformat finden Sie unter "Unterstützen von Open Metadata" in initializing Property Handlers.
Hinweis
Eigenschaftenhandler sind immer bestimmten Dateitypen zugeordnet. Wenn Das 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-Suchsystem 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 Das Dateiformat und seine Eigenschaften lesen und verstehen kann; in anderen Fällen müssen Sie möglicherweise einen neuen Eigenschaftshandler für Ihren Dateityp entwickeln.
Der erste Schritt beim Schreiben eines Eigenschaftenhandlers besteht darin, zu berücksichtigen, welche Eigenschaften der Dateityp unterstützt. Eigenschaftswerte werden im Dateidatenstrom gespeichert, hauptsächlich 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, ein USB-Speicherstick oder ein anderes Dateisystem kopieren oder die Datei als E-Mail-Anlage senden, die Eigenschaften mit der Datei reisen und nie aus der Synchronisierung oder verloren gehen. 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. Sie können zunächst denken, dass eine begrenzte Gruppe von Eigenschaften angemessen ist. Eine Audiodatei konnte nur audiobezogene Eigenschaften unterstützen und dort enden. Diese Audiodatei könnte jedoch eine Aufzeichnung einer Sitzung eines Gerichts sein, archiviert von einer Anwaltskanzlei. In diesem Fall möchte die Anwaltskanzlei sicherlich andere Nicht-Audio-Eigenschaften mit dieser Datei verknüpfen, z. B. die Fallnummer. Der Anbieter des Audiodateiformats kann nicht alle Szenarien bestimmen, in denen ihr Format jemals verwendet wird. Sie sollten daher in Erwägung ziehen, eine Deckenspeicherung beliebiger Eigenschaften zu ermöglichen, die vom Eigenschaftensystem unterstützt werden.
Legacytechnologie
Die sekundäre Datenstromtechnologie von Microsoft Windows NT File System (NTFS) wurde entwickelt, um die Persistenz zusätzlicher Informationen mit der Datei über einen alternativen Datenstrom auf der Dateisystemebene zu unterstützen. Vielleicht fragen Sie sich, warum diese sekundären Datenströme nicht als Hauptmethode zum Speichern von Eigenschaften verwendet werden, insbesondere bei offener Metadatenunterstützung. Der Hauptgrund ist die Transportierbarkeit 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, in der Eigenschaften garantiert mit der Datei reisen, und daher bietet das Windows Vista-Eigenschaftensystem keinen integrierten Mechanismus, der die sekundären NTFS-Streams für den Eigenschaftenspeicher ausnutzt. ISVs werden auch dringend davon abgeraten, Eigenschaftenhandler zu erstellen, die sekundäre Datenströme für den Speicher von Eigenschaften verwenden. Natürlich gibt es Szenarien, in denen NTFS-sekundäre Datenströme geeignet sind, insbesondere wenn Anwendungen garantieren können, dass die datei, mit der sie zu tun haben, immer in einem NTFS-Volume gespeichert ist und aufgrund der Endbenutzerinteraktion nicht übertragen wird.
Zugehörige Themen