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

Weitere Informationen

IPropertySetStorage

IPropertySetStorage::Open

PROPSETFLAG-Konstanten

Beispiele

StgCreatePropSetStg-Beispiel

WriteRead-Beispiel