Freigeben über


IPropertySetStorage-Eigenständige Implementierung

Die vom System bereitgestellte eigenständige Implementierung von IPropertySetStorage umfasst eine Implementierung von IPropertyStorage und IPropertySetStorage. IPropertyStorage ist die Schnittstelle, die Eigenschaften in einem Eigenschaftensatzspeicher liest und schreibt. IPropertySetStorage ist die Schnittstelle, die Eigenschaftensätze in einem Speicher erstellt und öffnet. Die Schnittstellen IEnumSTATPROPSTG und IEnumSTATPROPSETSTG werden ebenfalls in der eigenständigen Implementierung bereitgestellt.

Um die eigenständige Implementierung von IPropertySetStorage zu verwenden, rufen Sie zunächst einen Zeiger auf die vom System bereitgestellte eigenständige Implementierung ab, und ordnen Sie die vom System bereitgestellte Implementierung Ihrem Speicherobjekt zu. Um einen Zeiger auf die eigenständige Implementierung von IPropertySetStorage abzurufen, rufen Sie die StgCreatePropSetStg-Funktion auf, und geben Sie den pStorage-Parameter an, der das Speicherobjekt angibt, das den Eigenschaftensatz enthält. Diese Funktion stellt einen Zeiger auf die neue IPropertySetStorage-Schnittstelle für das angegebene Speicherobjekt bereit.

Die eigenständige Implementierung von IPropertySetStorage erstellt Eigenschaftssätze für jedes Speicherobjekt, nicht nur für zusammengesetzte Dateispeicher. Die eigenständige Implementierung ist nicht von zusammengesetzten Dateien abhängig und kann mit jeder Implementierung strukturierter Speicher verwendet werden. Für diese Implementierung von Eigenschaftssätzen gelten alle Einschränkungen für die vom Aufrufer bereitgestellten strukturierten Speicher. Wenn Sie beispielsweise einen Speicher im einfachen Modus für StgOpenPropStg bereitstellen, wird die resultierende IPropertySetStorage durch die angegebene IStorage eingeschränkt.

Weitere Informationen zur Implementierung von zusammengesetzten Dateien dieser Schnittstelle finden Sie im Abschnitt IPropertySetStorage-Compound File Implementation.

Einsatzgebiet

Rufen Sie die Methoden von IPropertySetStorage auf, um Eigenschaftensätze in einem beliebigen strukturierten Speicher zu erstellen, zu öffnen und zu löschen. Es gibt auch eine Methode, die einen Zeiger auf den IEnumSTATPROPSETSTG-Enumerator bereitstellt, der verwendet werden kann, um die Eigenschaftensätze im Speicher aufzulisten.

Die eigenständige Implementierung stellt zusätzlich zu den Methoden Create und Open die Hilfsfunktionen StgCreatePropStg und StgOpenPropStg bereit, um Eigenschaftensätze zu erstellen und zu öffnen. Diese beiden Funktionen fügen Unterstützung für den PROPSETFLAG_UNBUFFERED-Wert hinzu, sodass Sie Änderungen direkt in den Eigenschaftensatz schreiben können, anstatt sie in einem Cache zu puffern. Weitere Informationen finden Sie unter PROPSETFLAG-Konstanten.

Methoden

Die eigenständige Implementierung von IPropertySetStorage unterstützt die folgenden Methoden.

IPropertySetStorage::Create

Erstellt einen neuen Eigenschaftssatz im Speicher und gibt einen Zeiger auf die IPropertyStorage-Schnittstelle im Eigenschaftensatz zurück.

Wenn Sie planen, den PROPSETFLAG_UNBUFFERED-Wert zu verwenden, verwenden Sie stattdessen die StgCreatePropStg-Funktion , um den neuen Eigenschaftensatz zu erstellen und zu öffnen und einen Zeiger auf die eigenständige Implementierung für die IPropertyStorage-Schnittstelle im Eigenschaftensatz abzurufen.

IPropertySetStorage::Open

Öffnet einen vorhandenen Eigenschaftensatz im Speicher und gibt einen Zeiger auf die IPropertyStorage-Schnittstelle im Eigenschaftensatz zurück.

Wenn Sie planen, den wert PROPSETFLAG_UNBUFFERED zu verwenden, verwenden Sie stattdessen die StgOpenPropStg-Funktion , um einen Zeiger auf die eigenständige Implementierung von IPropertyStorage für den angegebenen Eigenschaftensatz abzurufen.

IPropertySetStorage::D elete

Löscht einen Eigenschaftssatz in diesem Eigenschaftensatzspeicher.

IPropertySetStorage::Enum

Erstellt ein -Objekt, das zum Auflisten von STATPROPSETSTG-Strukturen verwendet werden kann. Jede STATPROPSETSTG-Struktur stellt Daten zu einem einzelnen Eigenschaftensatz bereit.

Hinweis

Der Eigenschaftssatz DocumentSummaryInformation und UserDefined ist eindeutig, da er zwei Eigenschaftensatzabschnitte in einem einzelnen zugrunde liegenden Stream aufweisen kann. Weitere Informationen finden Sie unter The DocumentSummaryInformation and UserDefined Property Sets .

 

IPropertyStorage-Eigenständige Implementierung

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

PROPSETFLAG-Konstanten

STATPROPSETSTG

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg

STGM-Konstanten