Eigenschaften und Eigenschaftensätze

Obwohl die Arten von Laufzeiteigenschaften, die Automation und Microsoft ActiveX-Steuerelemente bieten, wichtig sind, entsprechen sie nicht direkt der Notwendigkeit, Informationen mit dauerhaft im Dateisystem gespeicherten Objekten zu speichern. 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 eine oder mehrere Sätze können einer Dateisystementität zugeordnet sein. Diese persistenten Eigenschaftensätze sollen zum Speichern von Daten verwendet werden, die als Sammlung fein abgestufter Werte dargestellt werden können. Sie sind nicht für die Verwendung als große Datenbank vorgesehen. Sie können verwendet werden, um Zusammenfassungsinformationen zu einem Objekt im System zu speichern, auf die dann jedes andere Objekt zugreifen kann, das versteht, wie dieser Eigenschaftssatz interpretiert werden kann.

Frühere Versionen von COM haben in Bezug auf Eigenschaften und deren Verwendung sehr wenig angegeben, aber ein serialisiertes Format definiert, mit dem Entwickler Eigenschaften und Eigenschaftensätze in einer IStorage-instance speichern konnten. Die Eigenschaftenbezeichner und die Semantik eines einzelnen Eigenschaftensatzes, die für Zusammenfassungsinformationen zu einem Dokument verwendet werden, wurden ebenfalls definiert. Zu diesem Zeitpunkt war es notwendig, diese Struktur direkt als Datenstrom zu erstellen und zu bearbeiten. Weitere Informationen finden Sie unter Serialisiertes Eigenschaftssatzformat für strukturierten Speicher.

Nun definiert COM jedoch zwei primäre Schnittstellen zum Verwalten von Eigenschaftssä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. zusammengesetzte Dateien). Beim Schreiben von Eigenschaften über IPropertySetStorage und IPropertyStorage werden Daten erstellt, die genau dem COM-Eigenschaftssatzformat entsprechen, wie es mit IStorage-Methoden dargestellt wird. Umgekehrt ist auch wahr: Eigenschaften, die mithilfe von IStorage in das COM-Eigenschaftssatzformat geschrieben wurden, sind über IPropertySetStorage und IPropertyStorage sichtbar (obwohl Sie nicht erwarten können, dass sie in IStream schreiben und die Eigenschaften über IPropertyStorage sofort verfügbar sind oder umgekehrt).

Die IPropertySetStorage-Schnittstelle definiert Methoden zum Erstellen und Verwalten von Eigenschaftensätzen. Die IPropertyStorage-Schnittstelle bearbeitet die Eigenschaften innerhalb eines Eigenschaftensatzes 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 abgestimmte Lese- und Schreibimplementierung für Eigenschaften, anstatt eine Implementierung in jeder Anwendung zu haben, bei der es zu Leistungsengpässen wie unablässiger Suche kommen kann. Sie können die Schnittstellen implementieren, um die Leistung zu verbessern, sodass Eigenschaften schneller gelesen und geschrieben werden können, z. B. durch eine effizientere Zwischenspeicherung. Darüber hinaus ermöglichen IPropertyStorage und IPropertySetStorage das Bearbeiten von Eigenschaften für Entitäten, die IStorage nicht unterstützen, obwohl die meisten Anwendungen dies im Allgemeinen nicht tun.

Dieser Abschnitt enthält die folgenden Themen:

Property Set-Implementierungen in COM

Eigenschaftensatzüberlegungen

Verwalten von Eigenschaften

Verwalten von Eigenschaftensätzen

Speichern von Eigenschaftensätzen

Leistungsmerkmale