Eigenschaften und Eigenschaftensätze
Die Arten von Laufzeiteigenschaften, die Von Automation und Microsoft ActiveX Controls angeboten werden, sind zwar wichtig, aber sie stellen nicht direkt die Notwendigkeit dar, Informationen mit Objekten zu speichern, die dauerhaft im Dateisystem gespeichert sind. Diese Entitäten können Dateien (strukturiert, zusammengesetzt usw.), Verzeichnisse und Zusammenfassungskataloge enthalten. COM bietet sowohl ein serialisiertes Standardformat für diese persistenten Eigenschaften als auch eine Reihe von Schnittstellen und Funktionen, mit denen Sie die Eigenschaftensätze und deren Eigenschaften erstellen und bearbeiten können.
Persistente Eigenschaften werden als Sätze gespeichert, und einer Dateisystementität können eine oder mehrere Sätze zugeordnet werden. Diese persistenten Eigenschaftensätze sollen zum Speichern von Daten verwendet werden, die als Sammlung von fein abgrenzenden Werten dargestellt werden können. Sie sind nicht für die Verwendung als große Datenbank vorgesehen. Sie können verwendet werden, um Zusammenfassende Informationen zu einem Objekt im System zu speichern, auf das dann von jedem anderen Objekt zugegriffen werden kann, das versteht, wie dieser Eigenschaftensatz interpretiert werden soll.
Frühere Versionen von COM haben in Bezug auf Eigenschaften und deren Verwendung nur sehr wenig angegeben, aber es wurde ein serialisiertes Format definiert, mit dem Entwickler Eigenschaften und Eigenschaftensätze in einer IStorage-Instanz speichern konnten. Die Eigenschaftenbezeichner und die Semantik eines einzelnen Eigenschaftensets, die für zusammenfassende Informationen zu einem Dokument verwendet werden, wurden ebenfalls definiert. Zu diesem Zeitpunkt war es erforderlich, diese Struktur direkt als Datenstrom zu erstellen und zu bearbeiten. Siehe Structured Storage Serialized Property Set Format.
Com definiert nun jedoch zwei primäre Schnittstellen zum Verwalten von Eigenschaftensätzen:
Es ist nicht mehr erforderlich, das serialisierte Format direkt zu behandeln, wenn diese Schnittstellen für ein Objekt implementiert werden, das die IStorage-Schnittstelle unterstützt (z. B. Verbunddateien). Beim Schreiben von Eigenschaften über IPropertySetStorage und IPropertyStorage werden Daten erstellt, die genau dem COM-Eigenschaftensatzformat entsprechen, wie es über IStorage-Methoden angezeigt wird. Umgekehrt gilt auch : Eigenschaften, die mithilfe von IStorage in das COM-Eigenschaftensatzformat geschrieben werden, sind über IPropertySetStorage und IPropertyStorage sichtbar (obwohl Sie nicht erwarten können, in IStream zu schreiben, und die Eigenschaften über IPropertyStorage sofort verfügbar sind oder umgekehrt).
Die IPropertySetStorage-Schnittstelle definiert Methoden, die Eigenschaftensätze erstellen und verwalten. Die IPropertyStorage-Schnittstelle bearbeitet die Eigenschaften innerhalb eines Eigenschaftensets direkt. Durch Aufrufen der Methoden dieser Schnittstellen kann ein Anwendungsentwickler alle Eigenschaftensätze verwalten, die für eine bestimmte Dateisystementität geeignet sind. Die Verwendung dieser Schnittstellen bietet eine optimierten Lese- und Schreibimplementierung für Eigenschaften, anstatt in jeder Anwendung eine Implementierung zu haben, bei der Leistungsengpässe wie z. B. eine unaufdingliche Suche möglich sind. Sie können die Schnittstellen implementieren, um die Leistung zu verbessern, sodass Eigenschaften schneller gelesen und geschrieben werden können, z. B. durch effizienteres Zwischenspeichern. Darüber hinaus ermöglichen IPropertyStorage und IPropertySetStorage das Bearbeiten von Eigenschaften für Entitäten, die IStoragenicht unterstützen, obwohl dies in der Regel von den meisten Anwendungen nicht unterstützt wird.
Dieser Abschnitt enthält die folgenden Themen:
- Der Eigenschaftssatz "Zusammenfassungsinformationen"
- Vordefinierte Formatbezeichner für Eigenschaftensatz
- Die Eigenschaftensätze DocumentSummaryInformation und UserDefined