IPropertySetStorage::Create-Methode (propidl.h)
Die Create-Methode erstellt und öffnet eine neue Eigenschaft, die im Eigenschaftensatzspeicherobjekt festgelegt ist.
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 Plattform-SDK bekannt und vordefinierte sind, finden Sie unter Vordefinierte Eigenschaftssatzformatbezeichner.
[in] pclsid
Ein Zeiger auf den anfänglichen Klassenbezeichner CLSID für diesen Eigenschaftssatz. Kann NULL sein, in diesem Fall ist es 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 Eigenschaftssatz geöffnet werden soll, der aus bestimmten Werten von STGM_Constants abgeleitet wird, 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 Eigenschaftensatzunterobjekt (unterstützt die IPropertyStorage-Schnittstelle ), das in diesem Eigenschaftensatzspeicherobjekt enthalten ist. 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 der neu erstellte Satz geöffnet werden soll. Werte für diesen Parameter sind wie im grfMode-Parameter in IPropertySetStorage::Open, wobei die Werte in der folgenden Tabelle hinzugefügt werden.
Wert | Bedeutung |
---|---|
STGM_FAILIFTHERE | Wenn eine andere Eigenschaft mit dem angegebenen fmtid-Parameter vorhanden ist, schlägt der Aufruf fehl. Dies ist die Standardaktion. d. h. sofern nicht STGM_CREATE angegeben ist, wird 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 Eigenschaftensatz ist standardmäßig einfach, aber der Aufrufer kann eine nicht einfache Eigenschaft anfordern, indem er den PROPSETFLAG_NONSIMPLE-Wert im grfFlags-Parameter angibt. Weitere Informationen zu einfachen und nicht einfachen Eigenschaftensätzen finden Sie unter Storage and Stream Objects for a Property Set.
Diese Methode unterliegt den Einschränkungen der zugrunde liegenden IStorage::CreateStream (für einfache Eigenschaftssätze) oder IStorage::CreateStorage (für nicht einfache Eigenschaftssätze). Wenn Sie beispielsweise die IPropertySetStorage-Compound File Implementation verwenden, geben Sie STGM_SHARE_EXCLUSIVE im grfMode-Parameter zu IPropertySetStorage::Create an. Bei Verwendung der IPropertySetStorage-Eigenständigen Implementierung unterliegt IPropertySetStorage::Create hingegen Einschränkungen, die für die vom Aufrufer angegebene IStorage gelten.
Anforderungen
Anforderung | Wert |
---|---|
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 |