IPropertySetStorage::Create-Methode (propidl.h)
Die Create-Methode erstellt und öffnet einen neuen Eigenschaftensatz im Eigenschaftensatzspeicherobjekt.
Syntax
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Parameter
[in] rfmtid
Die FMTID der zu erstellenden Eigenschaft. Informationen zu FMTIDs, die im Platform SDK bekannt und vordefiniert sind, finden Sie unter Vordefinierte Eigenschaftssatzformatbezeichner.
[in] pclsid
Ein Zeiger auf die anfängliche Klassenbezeichner-CLSID für diesen Eigenschaftssatz. Kann NULL sein, in diesem Fall wird er auf alle Nullen festgelegt. Die CLSID ist die CLSID einer Klasse, die programmgesteuerten Zugriff auf die Eigenschaftswerte anzeigt und/oder bereitstellt. Wenn es keine solche Klasse gibt, wird empfohlen, die FMTID zu verwenden.
[in] grfFlags
Die Werte aus PROPSETFLAG-Konstanten.
[in] grfMode
Ein Zugriffsmodus, in dem der neu erstellte Eigenschaftensatz geöffnet werden soll, der aus bestimmten Werten von STGM_Constants stammt, wie im folgenden Abschnitt "Hinweise" beschrieben.
[out] ppprstg
Ein Zeiger auf die Ausgabevariable, die den IPropertyStorage-Schnittstellenzeiger empfängt.
Rückgabewert
Diese Methode unterstützt den Standardrückgabewert E_UNEXPECTED sowie Folgendes:
Hinweise
IPropertySetStorage::Create erstellt und öffnet ein neues Unterobjekt des Eigenschaftensatzes (das die IPropertyStorage-Schnittstelle unterstützt) in diesem Eigenschaftensatzspeicherobjekt. Der Eigenschaftensatz enthält automatisch Codepage- und Gebietsschema-ID-Eigenschaften. Diese sind auf den Unicode- bzw. den aktuellen Benutzerstandard festgelegt.
Der grfFlags-Parameter ist eine Kombination von Werten aus PROPSETFLAG-Konstanten. Wenn der PROPSETFLAG_ANSI Wert aus dieser Enumeration verwendet wird, wird die Codepage auf den aktuellen Systemstandard und nicht auf Unicode festgelegt.
Der GrfMode-Parameter gibt den Zugriffsmodus an, in dem die neu erstellte Gruppe geöffnet werden soll. Die Werte für diesen Parameter sind wie im grfMode-Parameter zu IPropertySetStorage::Open, wobei die in der folgenden Tabelle aufgeführten Werte hinzugefügt werden.
Wert | Bedeutung |
---|---|
STGM_FAILIFTHERE | Wenn eine andere Eigenschaft, die mit dem angegebenen fmtid-Parameter festgelegt ist, vorhanden ist, schlägt der Aufruf fehl. Dies ist die Standardaktion. d. h., sofern nicht STGM_CREATE angegeben ist, ist STGM_FAILIFTHERE impliziert. |
STGM_CREATE | Wenn bereits eine andere Eigenschaft mit dem angegebenen fmtid-Parameter vorhanden ist, wird sie entfernt und durch diesen neuen ersetzt. |
Der erstellte Eigenschaftssatz ist standardmäßig einfach, aber der Aufrufer kann eine nicht einfache Eigenschaft anfordern, die festgelegt wird, indem er den PROPSETFLAG_NONSIMPLE Wert im grfFlags-Parameter angibt. Weitere Informationen zu einfachen und nicht einfachen Eigenschaftensätzen finden Sie unter Speicher- und Streamobjekte für einen Eigenschaftensatz.
Diese Methode unterliegt den Einschränkungen des zugrunde liegenden IStorage::CreateStream (für einfache Eigenschaftssätze) oder IStorage::CreateStorage (für nicht einfache Eigenschaftssätze). Wenn Sie z. B. die IPropertySetStorage-Verbunddateiimplementierung verwenden, geben Sie STGM_SHARE_EXCLUSIVE im grfMode-Parameter für IPropertySetStorage::Create an. Umgekehrt unterliegt IPropertySetStorage-Eigenständige ImplementierungIPropertySetStorage::Create Einschränkungen, die für das vom Aufrufer angegebene IStorage gelten.
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) |
Bibliothek | Uuid.lib |
DLL | Ole32.dll |
Weitere Informationen
Feedback
Feedback senden und anzeigen für