Freigeben über


IPropertySetStorage::Open-Methode (propidl.h)

Die Open-Methode öffnet einen Im Eigenschaftensatz-Speicherobjekt enthaltenen Eigenschaftensatz.

Syntax

HRESULT Open(
  [in]  REFFMTID         rfmtid,
  [in]  DWORD            grfMode,
  [out] IPropertyStorage **ppprstg
);

Parameter

[in] rfmtid

Der Formatbezeichner (FMTID) des zu öffnenden Eigenschaftensatzes. Weitere Informationen zu bekannten und vordefinierten FMTIDs im Platform SDK finden Sie unter Vordefinierte Eigenschaftensatz-Formatbezeichner.

[in] grfMode

Der Zugriffsmodus, in dem der neu erstellte Eigenschaftensatz geöffnet werden soll. Diese Flags stammen aus STGM-Konstanten. Flags, die im Kontext dieser Methode verwendet werden können, und deren Bedeutungen werden im folgenden Abschnitt "Hinweise" beschrieben.

[out] ppprstg

Ein Zeiger auf die IPropertyStorage Zeigervariable, die den Schnittstellenzeiger auf das angeforderte Unterobjekt des Eigenschaftenspeichers empfängt.

Rückgabewert

Diese Methode unterstützt den standardmäßigen Rückgabewert E_UNEXPECTED zusätzlich zu den folgenden:

Bemerkungen

Der Modus, in dem der Eigenschaftensatz geöffnet werden soll, wird im Parameter grfModeangegeben. Diese Kennzeichen stammen aus STGM-Konstanten, aber für diese Methode sind rechtliche Werte und ihre Bedeutungen wie folgt (nur bestimmte Kombinationen dieser Kennzeichenwerte sind zulässig).

Wert Bedeutung
STGM_DIRECT Öffnet den Eigenschaftensatz ohne zusätzliche Transaktionsschachtelungsebene. Dies ist der Standardwert (das Verhalten, wenn weder STGM_DIRECT noch STGM_TRANSACTED angegeben wird).
STGM_TRANSACTED Öffnet den Eigenschaftensatz mit einer zusätzlichen Transaktionsschachtelungsebene (sofern vorhanden) für dieses Eigenschaftssatzspeicherobjekt. Der Transacted-Modus ist nur für Nichtimple-Eigenschaftensätze verfügbar. Änderungen im Eigenschaftensatz müssen mit einem Aufruf von IPropertyStorage::Commit ausgeführt werden, bevor sie für die Transaktion für diesen Eigenschaftensatzspeicher sichtbar sind.
STGM_READ Öffnet den Eigenschaftensatz mit Lesezugriff. Lesen-Berechtigung ist für den Eigenschaftensatzspeicher erforderlich.
STGM_WRITE Öffnet den Eigenschaftensatz mit Schreibzugriff. Nicht alle Implementierungen von IPropertyStorage diesen Modus unterstützen.
STGM_READWRITE Öffnet den Eigenschaftensatz mit Lese- und Schreibzugriff. Beachten Sie, dass dieses Flag nicht die binäre ODER der Werte STGM_READ und STGM_WRITE ist.
STGM_SHARE_DENY_NONE Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher werden nicht lese- oder schreibzugriff verweigert. (In allen Implementierungen nicht verfügbar.)
STGM_SHARE_DENY_READ Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher werden dem Lesezugriff verweigert. Nicht in allen Implementierungen verfügbar.
STGM_SHARE_DENY_WRITE Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher werden schreibgeschützt. Dieser Wert wird in der Regel im Transaktionsmodus verwendet, um unnötige Kopien eines Objekts zu verhindern, das von mehreren Benutzern geöffnet wurde. Wenn STGM_TRANSACTED angegeben ist, aber dieser Wert nicht angegeben wird, wird eine Momentaufnahme erstellt, unabhängig davon, ob nachfolgende Öffnungen vorhanden sind oder nicht. So können Sie die Leistung verbessern, indem Sie diesen Wert angeben. Nicht in allen Implementierungen verfügbar.
STGM_SHARE_EXCLUSIVE Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher sind nicht möglich. Beachten Sie, dass dieser Wert keine einfache binäre ODER der STGM_SHARE_DENY_READ und STGM_SHARE_DENY_WRITE Elemente ist.
 

Diese Methode unterliegt den Einschränkungen der zugrunde liegenden IStorage::OpenStream (für einfache Eigenschaftensätze) oder IStorage::OpenStorage (für Nichtimple-Eigenschaftssätze). Weitere Informationen zu einfachen und nicht unimplenten Eigenschaftensätzen finden Sie unter Storage- und Stream Objects for a Property Set. Wenn Sie z. B. die IPropertySetStorage-Compound File Implementationverwenden, müssen Sie STGM_SHARE_EXCLUSIVE im parameter grfMode angeben, um IPropertySetStorage::Open. Umgekehrt unterliegt die Verwendung der IPropertySetStorage-Eigenständige Implementierung, IPropertySetStorage::Open Einschränkungen, die für die vom Aufrufer angegebene IStoragegelten.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- propidl.h (include Objbase.h)
Library Uuid.lib
DLL- Ole32.dll

Siehe auch

EnumAll-Beispiel-

IPropertySetStorage-

IPropertySetStorage::Create

PROPVARIANT-

Beispiele

WriteRead-Beispiel-