Freigeben über


PROPSETFLAG-Konstanten

Die PROPSETFLAG-Konstanten definieren Eigenschaften eines Eigenschaftensatzes. Die in der folgenden Tabelle aufgeführten Werte werden im grfFlags-Parameter von IPropertySetStorage-Methoden , der StgCreatePropStg-Funktion und der StgOpenPropStg-Funktion verwendet.

Konstante/Wert BESCHREIBUNG
PROPSETFLAG_DEFAULT
0
Wenn nicht angegeben, können standardmäßig nur einfache Eigenschaftswerte in den Eigenschaftensatz geschrieben werden. Die Verwendung einfacher Eigenschaftswerte verhindert, dass Eigenschaftssätze in der zusammengesetzten Datei und eigenständigen Implementierungen von IPropertySetStorage durchgeführt werden. Zu diesem Zweck müssen Nicht-e-Eigenschaftswerte verwendet werden.
PROPSETFLAG_NONSIMPLE
1
Wenn angegeben, können nicht einfache Eigenschaftswerte in den Eigenschaftensatz geschrieben werden, und der Eigenschaftssatz wird in einem Speicherobjekt gespeichert. Nicht einfache Eigenschaftswerte umfassen solche mit einem VARTYPE-Wert von VT_STORAGE, VT_STREAM, VT_STORED_OBJECT oder VT_STREAMED_OBJECT. Wenn dieses Flag nicht angegeben ist, können nicht einfache Typen nicht in den Eigenschaftensatz geschrieben werden. In der zusammengesetzten Datei und eigenständigen Implementierungen können Eigenschaftssätze nur dann durchgeführt werden, wenn PROPSETFLAG_NONSIMPLE angegeben ist.
PROPSETFLAG_ANSI
2
Wenn angegeben, werden alle Zeichenfolgenwerte im Eigenschaftssatz, die nicht explizit Unicode sind, d. h. die werte außer VT_LPWSTR, mit der aktuellen System-ANSI-Codepage gespeichert. Weitere Informationen finden Sie unter GetACP. Die Verwendung dieses Werts wird nicht empfohlen. Weitere Informationen finden Sie in den Hinweisen.
Wenn dieser Wert nicht vorhanden ist, werden Zeichenfolgenwerte im neuen Eigenschaftensatz in Unicode gespeichert. Der Grad der Kontrolle, den dieser Wert bietet, ist erforderlich, damit Clients, die die eigenschaftenbezogenen Schnittstellen verwenden, mit Standardeigenschaftensätzen wie den OLE2-Zusammenfassungsinformationen zusammenarbeiten können, die möglicherweise auf der ANSI-Codepage vorhanden sind.
PROPSETFLAG_UNBUFFERED
4
Wird nur mit den Funktionen StgCreatePropStg und StgOpenPropStg verwendet; d. h. in den eigenständigen Implementierungen von Eigenschaftensatzschnittstellen. Wenn in diesen Funktionen angegeben, werden Änderungen am Eigenschaftensatz nicht gepuffert. Stattdessen werden Änderungen immer direkt in den Eigenschaftensatz geschrieben. Durch Aufrufe eines Eigenschaftssatzes werden IPropertyStorage-Methoden geändert. Standardmäßig werden Änderungen jedoch in einem internen Eigenschaftensatzcache gepuffert und anschließend in den Eigenschaftssatz geschrieben, wenn die IPropertyStorage::Commit-Methode aufgerufen wird.
Das Festlegen PROPSETFLAG_UNBUFFERED verringert die Leistung, da der interne Puffer des Eigenschaftssatzes nach jeder Änderung des Eigenschaftensatzes automatisch geleert wird. Das direkte Schreiben von Änderungen verhindert jedoch Koordinationsprobleme. Beispielsweise, wenn das Speicherobjekt im Transaktionsmodus geöffnet wird und der Eigenschaftssatz gepuffert ist. Wenn Sie dann die IStorage::Commit-Methode für das Speicherobjekt aufrufen, werden die Änderungen des Eigenschaftensatzes nicht als Teil der Transaktion übernommen, da sie sich in einem Puffer befinden, der noch nicht geleert wurde. Sie müssen IPropertyStorage::Commit aufrufen, bevor Sie IStorage::Commit aufrufen, um den Eigenschaftensatzpuffer zu leeren, bevor Sie Änderungen an den Speicher committen. Alternativ zu zwei Aufrufen können Sie PROPSETFLAG_UNBUFFERED festlegen, sodass Änderungen immer direkt in den Eigenschaftensatz geschrieben und nie im internen Cache des Eigenschaftensatzes gepuffert werden. Dann werden die Änderungen übernommen, wenn der transaktionsierte Speicher committ wird.
PROPSETFLAG_CASE_SENSITIVE
8
Falls angegeben, muss bei Eigenschaftennamen die Groß-/Kleinschreibung beachtet werden. Eigenschaftennamen, bei denen die Groß-/Kleinschreibung beachtet wird, sind nur im Serialisierungsformat für Den Eigenschaftensatz der Version 1 möglich. Weitere Informationen finden Sie unter Serialisierung von Eigenschaftensatz.

Bemerkungen

Diese Werte können mit bitweisen Vorgängen festgelegt und überprüft werden, die bestimmen, wie Eigenschaftensätze erstellt und geöffnet werden. Eigenschaftensätze werden mit der IPropertySetStorage::Create-Methode oder der StgCreatePropStg-Funktion erstellt. Sie werden mit der IPropertySetStorage::Open-Methode oder der StgOpenPropStg-Funktion geöffnet.

Es wird empfohlen, Eigenschaftssätze als Unicode zu erstellen, indem sie nicht das PROPSETFLAG_ANSI-Flag im grfFlags-Parameter festlegen. Es wird auch empfohlen, die Verwendung VT_LPSTR-Werte zu vermeiden und stattdessen VT_LPWSTR Werte zu verwenden. Wenn die Codepage des Eigenschaftensatzes Unicode ist, werden VT_LPSTR Zeichenfolgenwerte beim Speichern in Unicode konvertiert und beim Abrufen wieder in Multibyte-Zeichenfolgenwerte konvertiert. Wenn die Codepage des Eigenschaftensatzes nicht Unicode ist, werden Eigenschaftennamen, VT_BSTR Zeichenfolgen und nicht einfache Eigenschaftswerte beim Speichern in Multibytezeichenfolgen konvertiert und beim Abrufen wieder in Unicode konvertiert, alles mit der aktuellen System-ANSI-Codepage.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Propidl.h

Siehe auch

FmtIdToPropStgName

IPropertySetStorage::Create

IPropertySetStorage::Open

PropStgNameToFmtId

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg