PROPSETFLAG-Konstanten

Die PROPSETFLAG-Konstanten definieren Merkmale 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, werden standardmäßig nur einfache Eigenschaftswerte in den Eigenschaftensatz geschrieben. Die Verwendung einfacher Eigenschaftswerte verhindert, dass Eigenschaftssätze in der zusammengesetzten Datei und eigenständige Implementierungen von IPropertySetStorage durchgeführt werden. Nicht-e-Eigenschaftswerte müssen für diesen Zweck verwendet werden.
PROPSETFLAG_NONSIMPLE
1
Wenn angegeben, können nicht einfache Eigenschaftswerte in den Eigenschaftensatz geschrieben werden, und der Eigenschaftensatz wird in einem Speicherobjekt gespeichert. Nicht einfache Eigenschaftswerte umfassen die Werte mit einem VARTYPE von VT_STORAGE, VT_STREAM, VT_STORED_OBJECT oder VT_STREAMED_OBJECT. Wenn dieses Flag nicht angegeben ist, können nicht einfache Typen in den Eigenschaftensatz geschrieben werden. In der Verbunddatei und eigenständigen Implementierungen können Eigenschaftssätze nur ausgeführt werden, wenn PROPSETFLAG_NONSIMPLE angegeben ist.
PROPSETFLAG_ANSI
2
Wenn angegeben, werden alle Zeichenfolgenwerte im Eigenschaftensatz, die nicht explizit Unicode sind, also die anderen als VT_LPWSTR, mit der aktuellen System-ANSI-Codeseite 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, die dieser Wert bereitstellt, ist erforderlich, damit Clients, die die eigenschaftenbezogenen Schnittstellen verwenden, mit Standardeigenschaftensätzen wie den OLE2-Zusammenfassungsinformationen interoperieren können, die möglicherweise auf der ANSI-Codeseite vorhanden sind.
PROPSETFLAG_UNBUFFERED
4
Wird nur mit den Funktionen StgCreatePropStg und StgOpenPropStg verwendet; das heißt, in den eigenständigen Implementierungen von Eigenschaftensatzschnittstellen. Wenn in diesen Funktionen angegeben, werden Änderungen am Eigenschaftensatz nicht puffert. Stattdessen werden Änderungen immer direkt in den Eigenschaftensatz geschrieben. Aufrufe für einen Eigenschaftssatz IPropertyStorage-Methoden ändern sie. Standardmäßig werden Änderungen jedoch in einem internen Eigenschaftensatzcache puffert und anschließend in die Eigenschaft geschrieben, die festgelegt wird, wenn die IPropertyStorage::Commit-Methode aufgerufen wird.
Das Festlegen PROPSETFLAG_UNBUFFERED verringert die Leistung, da der interne Puffer der Eigenschaft automatisch nach jeder Änderung des Eigenschaftensatzes geleert wird. Das Direkte Schreiben von Änderungen verhindert jedoch Koordinierungsprobleme. Wenn das Speicherobjekt z. B. im Transaktionsmodus geöffnet wird, wird der Eigenschaftensatz puffert. Wenn Sie die IStorage::Commit-Methode für das Speicherobjekt aufrufen, werden die Eigenschaftensatzänderungen nicht als Teil der Transaktion aufgenommen, da sie sich in einem Puffer befinden, der noch nicht geleert wurde. Sie müssen IPropertyStorage::Commit vor dem Aufrufen von IStorage::Commit aufrufen, um den Eigenschaftensatzpuffer zu leeren, bevor Sie Änderungen am Speicher übernehmen. Alternativ zum Tätigen von zwei Aufrufen können Sie PROPSETFLAG_UNBUFFERED so festlegen, dass Änderungen immer direkt in den Eigenschaftensatz geschrieben und niemals im internen Cache des Eigenschaftensatzes puffert werden. Anschließend werden die Änderungen übernommen, wenn der transaktionsierte Speicher zugesichert wird.
PROPSETFLAG_CASE_SENSITIVE
8
Wenn angegeben, werden Eigenschaftsnamen bei Groß-/Kleinschreibung beachtet. Namen der Groß-/Kleinschreibung sind nur im Serialisierungsformat der Version 1-Eigenschaft möglich. Weitere Informationen finden Sie unter "Property Set Serialization".

Hinweise

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

Es wird empfohlen, Eigenschaftensätze als Unicode zu erstellen, indem sie das PROPSETFLAG_ANSI Flag im GrfFlags-Parameter nicht festlegen. Es wird auch empfohlen, die Verwendung von VT_LPSTR Werten zu vermeiden und stattdessen VT_LPWSTR Werte zu verwenden. Wenn die Codeseite der Eigenschaftssatz Unicode ist, werden VT_LPSTR Zeichenfolgenwerte beim Abrufen in Unicode konvertiert und zurück in Multibyte-Zeichenfolgenwerte konvertiert. Wenn die Codeseite des Eigenschaftssatzes nicht Unicode, Eigenschaftsnamen, VT_BSTR Zeichenfolgen und Nichtimplenz-Eigenschaftswerte sind, werden bei der Speicherung in Multibyte-Zeichenfolgen konvertiert und beim Abrufen zurück in Unicode konvertiert, und alle verwenden die aktuelle System-ANSI-Codeseite.

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