IPropertySetStorage-Schnittstelle (propidl.h)

Die IPropertySetStorage-Schnittstelle erstellt, öffnet, löscht und listet Eigenschaftensatzspeicher auf, die Instanzen der IPropertyStorage-Schnittstelle unterstützen. Die IPropertyStorage-Schnittstelle verwaltet eine einzelne Eigenschaft, die in einem Unterobjekt des Eigenschaftenspeichers festgelegt ist. und die IPropertySetStorage-Schnittstelle verwaltet den Speicher von Gruppen solcher Eigenschaftensätze. Jede Dateisystementität kann IPropertySetStorage unterstützen, die derzeit im COM-Verbunddateiobjekt implementiert ist.

Die Schnittstellen IPropertySetStorage und IPropertyStorage bieten eine einheitliche Möglichkeit zum Erstellen und Verwalten von Eigenschaftssätzen, unabhängig davon, ob sich diese Sätze in einem Speicherobjekt befinden, das IStorage unterstützt. Wenn sie über ein Objekt aufgerufen werden, das IStorage (z. B. strukturierte dateien und zusammengesetzte Dateien) oder IStream unterstützt, entsprechen die erstellten Eigenschaftssätze dem COM-Eigenschaftssatzformat, das ausführlich unter Serialisiertes Eigenschaftssatzformat für strukturierten Speicher beschrieben wird. Auf ähnliche Weise sind Eigenschaften, die mit IStorage in das COM-Eigenschaftssatzformat geschrieben wurden, über IPropertySetStorage und IPropertyStorage sichtbar.

IPropertySetStorage-Methoden identifizieren Eigenschaftensätze über einen global eindeutigen Bezeichner (GUID), der als FMTID (Format Identifier) bezeichnet wird. Die FMTID für einen Eigenschaftensatz identifiziert die Eigenschaftsbezeichner im Eigenschaftensatz, ihre Bedeutung und alle Einschränkungen für die Werte. Die FMTID eines Eigenschaftensatzes sollte auch die Möglichkeit bieten, diesen Eigenschaftensatz zu bearbeiten. Nur eine instance einer bestimmten FMTID kann gleichzeitig innerhalb eines einzelnen Eigenschaftsspeichers vorhanden sein.

Vererbung

Die IPropertySetStorage-Schnittstelle erbt von der IUnknown-Schnittstelle . IPropertySetStorage verfügt auch über folgende Membertypen:

Methoden

Die IPropertySetStorage-Schnittstelle verfügt über diese Methoden.

 
IPropertySetStorage::Create

Erstellt und öffnet einen neuen Eigenschaftssatz im Eigenschaftssatzspeicherobjekt.
IPropertySetStorage::D elete

Die Delete-Methode löscht einen der Eigenschaftensätze, die im Eigenschaftensatzspeicherobjekt enthalten sind.
IPropertySetStorage::Enum

Die Enum-Methode erstellt ein Enumeratorobjekt, das Informationen zu den Eigenschaftensätzen enthält, die in diesem Eigenschaftensatzspeicher gespeichert sind. Bei der Rückgabe stellt diese Methode einen Zeiger auf den IEnumSTATPROPSETSTG-Zeiger auf das Enumeratorobjekt bereit.
IPropertySetStorage::Open

Öffnet einen Eigenschaftensatz, der im Eigenschaftensatzspeicherobjekt enthalten ist.

Hinweise

Hinweis Es gibt eine Ausnahme von oben im Eigenschaftssatz DocumentSummaryInformation und UserDefined. Dieser Eigenschaftssatz ist insofern eindeutig, als er zwei Eigenschaftensatzabschnitte in einem einzelnen zugrunde liegenden Stream enthalten kann. Dieser Eigenschaftssatz wird in Den Eigenschaftensätzen DocumentSummaryInformation und UserDefined beschrieben. Im ersten Abschnitt wird die DocumentSummaryInformation-Eigenschaft festgelegt. Der zweite Abschnitt ist der UserDefined-Eigenschaftssatz. Jeder Abschnitt wird durch einen eindeutigen Formatbezeichner (FMTID) identifiziert. Beispiel: FMTID_DocSummaryInformation und FMTID_UserDefined Eigenschaft festgelegt. Die Tatsache, dass diese beiden Eigenschaftensätze in einem einzelnen Stream vorhanden sein können, wirkt sich auf das Verhalten der IPropertySetStorage-Schnittstelle aus.

Wenn IPropertySetStorage::Create aufgerufen wird, um den UserDefined-Eigenschaftssatz zu erstellen, wird der erste Abschnitt automatisch erstellt. Nachdem die FMTID_UserDefinedProperties erstellt wurde, müssen FMTID_DocSummaryInformation nicht erstellt werden, sondern können mit einem Aufruf von IPropertySetStorage::Open geöffnet werden. Beim Erstellen des ersten Abschnitts wird nicht automatisch der zweite Abschnitt erstellt, und es ist nicht möglich, beide Abschnitte gleichzeitig zu öffnen.

Wenn Sie IPropertySetStorage::D elete aufrufen, um den ersten Abschnitt zu löschen, werden beide Abschnitte gelöscht. Anders ausgedrückt: Das Aufrufen von IPropertySetStorage::D elete mit FMTID_DocSummaryInformation bewirkt, dass sowohl dieser Abschnitt als auch der FMTID_UserDefinedProperties Abschnitt gelöscht werden. Beim Löschen des zweiten Abschnitts wird der erste Abschnitt jedoch nicht automatisch gelöscht.

Wenn IPropertySetStorage::Enum zum Auflisten von Eigenschaftssätzen verwendet wird, wird der UserDefined-Eigenschaftssatz nicht aufgelistet.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile propidl.h (include Objbase.h)

Weitere Informationen

EnumAll-Beispiel

IEnumSTATPROPSETSTG

IPropertySetStorage-Compound File Implementation

IPropertySetStorage-NTFS-Dateisystemimplementierung

IPropertySetStorage-Eigenständige Implementierung

IPropertyStorage

PROPVARIANT

STATPROPSETSTG

Beispiele