IPropertySetStorage-Compound-Dateiimplementierung

Die Com-Verbunddateispeicherobjektimplementierung umfasst eine Implementierung von IPropertyStorage, der Schnittstelle, die einen einzelnen persistenten Eigenschaftensatz verwaltet, und IPropertySetStorage, der Schnittstelle, die Gruppen persistenter Eigenschaftensätze verwaltet.

Um einen Zeiger auf die Verbunddateiimplementierung von IPropertySetStorage abzurufen, geben Sie den vom Header definierten Namen für den Bezeichner IID_IStorage als riid-Parameter an, oder verwenden Sie die Funktionen StgCreateStorageEx oder StgOpenStorageEx . Geben Sie in beiden Fällen STGFMT_STORAGE als stgfmt-Parameter an. (STGFMT_ANY kann auch im Fall von StgOpenStorageEx angegeben werden.) Geben Sie außerdem den vom Header definierten Namen für den Schnittstellenbezeichner (Interface Identifier, IID) IID_IPropertySetStorage als riid-Parameter an. Beide Funktionen stellen einen Zeiger auf die IPropertySetStorage-Schnittstelle des Objekts bereit.

Eine andere Möglichkeit, einen Zeiger auf die Verbunddateiimplementierung abzurufen, besteht darin, den headerdefinierte Namen für den Bezeichner IID_IStorage als riid-Parameter anzugeben oder die Funktionen StgCreateDocfile oder StgOpenStorage zu verwenden. Dadurch wird ein Zeiger auf die IStorage-Objektschnittstelle bereitgestellt. Wenn Sie persistente Eigenschaftensätze behandeln möchten, rufen Sie IStorage::QueryInterface für die IPropertySetStorage-Schnittstelle auf.

Verwendung von IPropertySetStorage

Rufen Sie die Methoden von IPropertySetStorage auf, um Eigenschaftssätze im aktuellen Verbunddatei-Eigenschaftensatzspeicher zu erstellen, zu öffnen oder zu löschen. Es gibt auch die Methode IPropertySetStorage::Enum, die einen Zeiger auf einen Enumerator bereitstellt, der zum Aufzählen der Eigenschaftssätze im Speicher verwendet werden kann.

Methoden

IPropertySetStorage::Create

Erstellt einen neuen Eigenschaftssatz im aktuellen Verbunddateispeicher und stellt bei der Rückgabe einen Schnittstellenzeiger auf die IPropertyStorage-Verbunddateiimplementierung bereit. In dieser Implementierung können Eigenschaftssätze nur ausgeführt werden, wenn PROPSETFLAG_NONSIMPLE angegeben ist. Diese Methode erfordert, dass der im grfMode-Parameter angegebene Freigabemodus STGM_SHARE_EXCLUSIVE ist und dass der Zugriffsmodus entweder STGM_READ oder STGM_READWRITE ist (STGM_WRITE Modus wird nicht unterstützt).

IPropertySetStorage::Open

Öffnet einen vorhandenen Eigenschaftensatz im aktuellen Eigenschaftenspeicher. Bei der Rückgabe wird ein Schnittstellenzeiger auf die Verbunddateiimplementierung von IPropertyStorage bereitgestellt. Diese Methode erfordert, dass der im grfMode-Parameter angegebene Freigabemodus STGM_SHARE_EXCLUSIVE ist und dass der Zugriffsmodus entweder STGM_READ oder STGM_READWRITE ist (STGM_WRITE wird nicht unterstützt).

IPropertySetStorage::D elete

Löscht einen Eigenschaftssatz in diesem Eigenschaftenspeicher.

IPropertySetStorage::Enum

Erstellt ein -Objekt, das zum Aufzählen von STATPROPSETSTG-Strukturen verwendet wird. Jede STATPROPSETSTG-Struktur stellt Daten zu einem einzelnen Eigenschaftensatz bereit.

Bemerkungen

Ab Windows 2000 unterstützt die Verbunddateiimplementierung von IPropertySetStorage den einfachen Modus. Der einfache Modus wird durch Angabe des STGM_SIMPLE-Flags für die Funktionen StgCreateStorageEx und StgOpenStorageEx angegeben. Wenn die Verbunddatei im einfachen Modus geöffnet wird, ist die zugehörige IPropertySetStorage-Implementierung wie folgt eingeschränkt:

Einfache Eigenschaftssätze können nicht abgewickelt werden. Sie können STGM_TRANSACTED nicht im grfmode-Parameter der Create - und Open-Methoden angeben, es sei denn, Sie geben auch PROPSETFLAG_NONSIMPLE im grfFlags-Parameter an. Beachten Sie, dass einfache und nicht einfache Eigenschaftssätze nicht mit den oben beschriebenen Eigenschaftensätzen im einfachen Modus zusammenhängen. Weitere Informationen zu einfachen und nicht einfachen Eigenschaftensätzen finden Sie unter Speicher- und Streamobjekte für einen Eigenschaftensatz.

Hinweis

Die Eigenschaftssätze DocumentSummaryInformation und UserDefined sind eindeutig, da sie über zwei Eigenschaftensatzabschnitte verfügen können. Weitere Informationen finden Sie unter The DocumentSummaryInformation and UserDefined Property Sets.For more information, see The DocumentSummaryInformation and UserDefined Property Sets.

 

IPropertyStorage – Implementierung von Zusammengesetzten Dateien

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

PROPSETFLAG-Konstanten

STATPROPSETSTG