IPropertySetStorage-Schnittstelle (propidl.h)

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

Die IPropertySetStorage - und IPropertyStorage-Schnittstellen 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 ein Objekt aufgerufen wird, das IStorage (z. B. strukturierte und zusammengesetzte Dateien) oder IStream unterstützt, entsprechen die eigenschaftssätze, die mit dem COM-Eigenschaftssatzformat erstellt wurden, das ausführlich im Format der serialisierten Eigenschaftssatz für strukturierten Speicher beschrieben wird. Ebenso sind Eigenschaften, die mit IStorage in das COM-Eigenschaftssatzformat geschrieben wurden, über IPropertySetStorage und IPropertyStorage sichtbar.

IPropertySetStorage-Methoden identifizieren Eigenschaftssätze über einen global eindeutigen Bezeichner (GUID), der als Formatbezeichner (FMTID) bezeichnet wird. Die FMTID für einen Eigenschaftssatz identifiziert die Eigenschaftsbezeichner im Eigenschaftensatz, deren Bedeutung und alle Einschränkungen für die Werte. Die FMTID eines Eigenschaftssatzes sollte auch die Mittel zum Bearbeiten dieses Eigenschaftssatzes bereitstellen. Innerhalb eines einzelnen Eigenschaftsspeichers kann jeweils nur eine Instanz einer bestimmten FMTID vorhanden sein.

Vererbung

Die IPropertySetStorage-Schnittstelle erbt von der IUnknown-Schnittstelle . IPropertySetStorage verfügt auch über diese Arten von Mitgliedern:

Methoden

Die IPropertySetStorage-Schnittstelle weist diese Methoden auf.

 
IPropertySetStorage::Create

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

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

Die Enum-Methode erstellt ein Aufzählungsobjekt, das Informationen zu den in diesem Eigenschaftssatz gespeicherten Eigenschaftensätzen enthält. Bei der Rückgabe stellt diese Methode einen Zeiger auf den IEnumSTATPROPSETSTG-Zeiger für das Enumeratorobjekt bereit.
IPropertySetStorage::Open

Öffnet einen Eigenschaftssatz, der im Eigenschaftssatzspeicherobjekt enthalten ist.

Hinweise

Hinweis In der Eigenschaft "DocumentSummaryInformation" und "UserDefined" gibt es eine Ausnahme. Dieser Eigenschaftssatz ist eindeutig, dass es möglicherweise zwei Eigenschaftensatzabschnitte in einem einzelnen zugrunde liegenden Datenstrom enthält. Dieser Eigenschaftssatz wird in den Property Sets "DocumentSummaryInformation" und "UserDefined"-Eigenschaft beschrieben. Der erste Abschnitt ist der Satz der DocumentSummaryInformation-Eigenschaft. Der zweite Abschnitt ist der Satz der UserDefined-Eigenschaft. Jeder Abschnitt wird durch einen eindeutigen Formatbezeichner (FMTID) identifiziert. Beispiel: FMTID_DocSummaryInformation- und FMTID_UserDefined-Eigenschaftssatz. Die Tatsache, dass diese beiden Eigenschaftensätze in einem einzelnen Datenstrom vorhanden sein können, wirkt sich auf das Verhalten der IPropertySetStorage-Schnittstelle aus .

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

Wenn Sie IPropertySetStorage::D elete aufrufen, wird der erste Abschnitt gelöscht, wodurch beide Abschnitte gelöscht werden. Das Aufrufen von IPropertySetStorage::D elete mit FMTID_DocSummaryInformation bewirkt, dass sowohl dieser Abschnitt als auch der FMTID_UserDefinedProperties Abschnitt gelöscht werden. Durch das Löschen des zweiten Abschnitts wird der erste Abschnitt jedoch nicht automatisch gelöscht.

Wenn IPropertySetStorage::Enum zum Aufzählen von Eigenschaftssätzen verwendet wird, wird der Satz der UserDefined-Eigenschaft nicht aufgezählt.

 

Anforderungen

   
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