IPropertySetStorage::Open-Methode (propidl.h)
Die Open-Methode öffnet einen Eigenschaftensatz, der im Eigenschaftensatzspeicherobjekt enthalten ist.
Syntax
HRESULT Open(
[in] REFFMTID rfmtid,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Parameter
[in] rfmtid
Der Formatbezeichner (FMTID) der zu öffnenden Eigenschaft. Weitere Informationen zu bekannten und vordefinierten FMTIDs im Platform SDK finden Sie unter Vordefinierte Eigenschaftensatzformatbezeichner.
[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 ihre Bedeutungen werden im folgenden Abschnitt hinweise beschrieben.
[out] ppprstg
Ein Zeiger auf die Zeigervariable IPropertyStorage , die den Schnittstellenzeiger auf das angeforderte Eigenschaftenspeicherunterobjekt empfängt.
Rückgabewert
Diese Methode unterstützt zusätzlich zu Folgendem den Standardrückgabewert E_UNEXPECTED:
Hinweise
Der Modus, in dem der Eigenschaftensatz geöffnet werden soll, wird im Parameter grfMode angegeben. Diese Flags stammen aus STGM-Konstanten, aber für diese Methode sind die rechtlichen Werte und ihre Bedeutung wie folgt (nur bestimmte Kombinationen dieser Flagwerte sind zulässig).
Wert | Bedeutung |
---|---|
STGM_DIRECT | Öffnet den Eigenschaftensatz ohne zusätzliche Transaktionsschachtelungsebene. Dies ist die Standardeinstellung (das Verhalten, wenn weder STGM_DIRECT noch STGM_TRANSACTED angegeben wird). |
STGM_TRANSACTED | Öffnet den Eigenschaftssatz mit einer zusätzlichen Transaktionsschachtelungsebene (über die Transaktion hinaus, falls vorhanden, für dieses Eigenschaftssatzspeicherobjekt). Der Transacted-Modus ist nur für nicht einfache Eigenschaftssätze verfügbar. Änderungen im Eigenschaftensatz müssen mit einem Aufruf von IPropertyStorage::Commit committet werden, bevor sie für die Transaktion in diesem Eigenschaftensatzspeicher sichtbar sind. |
STGM_READ | Öffnet den Eigenschaftensatz mit Lesezugriff. Leseberechtigung ist für den Eigenschaftensatzspeicher erforderlich. |
STGM_WRITE | Öffnet den Eigenschaftensatz mit Schreibzugriff. Nicht alle Implementierungen von IPropertyStorage unterstützen diesen Modus. |
STGM_READWRITE | Öffnet den Eigenschaftensatz mit Lese- und Schreibzugriff. Beachten Sie, dass dieses Flag nicht das binäre OR der Werte STGM_READ und STGM_WRITE ist. |
STGM_SHARE_DENY_NONE | Nachfolgende Öffnungen des Eigenschaftssatzes aus diesem Eigenschaftensatzspeicher werden nicht lese- oder schreibzugriff verweigert. (Nicht in allen Implementierungen verfügbar.) |
STGM_SHARE_DENY_READ | Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher werden lesezugriff verweigert. Nicht in allen Implementierungen verfügbar. |
STGM_SHARE_DENY_WRITE | Nachfolgende Öffnungen des Eigenschaftensatzes aus diesem Eigenschaftensatzspeicher werden schreibzugriff verweigert. Dieser Wert wird in der Regel im Transaktionsmodus verwendet, um zu verhindern, dass unnötige Kopien eines Objekts erstellt werden, das von mehreren Benutzern geöffnet wird. Das heißt, 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. Daher 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 es sich bei diesem Wert nicht um ein einfaches binäres OR der elemente STGM_SHARE_DENY_READ und STGM_SHARE_DENY_WRITE handelt. |
Diese Methode unterliegt den Einschränkungen des zugrunde liegenden IStorage::OpenStream (für einfache Eigenschaftssätze) oder IStorage::OpenStorage (für nicht einfache Eigenschaftssätze). Weitere Informationen zu einfachen und nicht einfachen Eigenschaftensätzen finden Sie unter Storage and Stream Objects for a Property Set. Wenn Sie beispielsweise die IPropertySetStorage-Verbunddateiimplementierung verwenden, müssen Sie STGM_SHARE_EXCLUSIVE im grfMode-Parameter für IPropertySetStorage::Open angeben. Umgekehrt unterliegt IPropertySetStorage-Eigenständige ImplementierungIPropertySetStorage::Open Einschränkungen, die für das 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 |