IStorage::OpenStream-Methode (objidl.h)

Die OpenStream-Methode öffnet ein vorhandenes Streamobjekt in diesem Speicherobjekt im angegebenen Zugriffsmodus.

Syntax

HRESULT OpenStream(
  [in]  const OLECHAR *pwcsName,
  [in]  void          *reserved1,
  [in]  DWORD         grfMode,
  [in]  DWORD         reserved2,
  [out] IStream       **ppstm
);

Parameter

[in] pwcsName

Ein Zeiger auf eine Unicode-Zeichenfolge mit breitem Zeichen mit NULL-Zeichenfolge, die den Namen des zu öffnenden Datenstroms enthält. Die Zeichen 000 bis 01f, welche als erste Zeichen des Namens des Datenstroms/Speichers dienen, sind durch die OLE für die Benutzung reserviert. Dies ist eine Verbunddateieinschränkung, keine strukturierte Speichereinschränkung.

[in] reserved1

Reserviert für zukünftige Verwendung; muss NULL sein.

[in] grfMode

Gibt den Zugriffsmodus an, der dem geöffneten Stream zugewiesen werden soll. Weitere Informationen und Beschreibungen möglicher Werte finden Sie unter STGM-Konstanten. Andere Modi, die Sie auswählen, müssen mindestens STGM_SHARE_EXCLUSIVE angeben, wenn diese Methode in der Zusammengesetzten Dateiimplementierung aufgerufen wird.

[in] reserved2

Für die zukünftige Verwendung reserviert. Muss 0 (null) sein.

[out] ppstm

Ein Zeiger auf die IStream-Zeigervariable, die den Schnittstellenzeiger auf das neu geöffnete Streamobjekt empfängt. Wenn ein Fehler auftritt, muss *ppstm auf NULL festgelegt werden.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK Der Stream wurde erfolgreich geöffnet.
E_PENDING Nur asynchroner Speicher: Ein Teil oder alle Datenstromdaten sind derzeit nicht verfügbar.
STG_E_ACCESSDENIED Nicht genügend Berechtigungen zum Öffnen des Streams.
STG_E_FILENOTFOUND Der Stream mit dem angegebenen Namen ist nicht vorhanden.
STG_E_INSUFFICIENTMEMORY Der Stream wurde aufgrund eines Mangels an Arbeitsspeicher nicht geöffnet.
STG_E_INVALIDFLAG Der für den grfMode-Parameter angegebene Wert ist kein gültiger STGM-Konstantenwert .
STG_E_INVALIDFUNCTION Die angegebene Kombination von Flags im grfMode-Parameter wird nicht unterstützt. Beispielsweise, wenn diese Methode ohne das flag STGM_SHARE_EXCLUSIVE aufgerufen wird.
STG_E_INVALIDNAME Ungültiger Wert für pwcsName.
STG_E_INVALIDPOINTER Der für das Streamobjekt angegebene Zeiger war ungültig.
STG_E_INVALIDPARAMETER Einer der Parameter war ungültig.
STG_E_REVERTED Das Speicherobjekt wurde durch einen rückgängig machen Vorgang darüber in der Transaktionsstruktur ungültig gemacht.
STG_E_TOOMANYOPENFILES Der Stream wurde nicht geöffnet, da zu viele dateien geöffnet sind.

Hinweise

IStorage::OpenStream öffnet ein vorhandenes Streamobjekt in diesem Speicherobjekt im in grfMode angegebenen Zugriffsmodus. Es gibt Einschränkungen für die Berechtigungen, die in grfMode erteilt werden können. Beispielsweise beschränken die Berechtigungen für dieses Speicherobjekt die Berechtigungen für seine Streams. Im Allgemeinen müssen die Zugriffsbeschränkungen für Streams strenger sein als die für die übergeordneten Speicher. Datenströme für zusammengesetzte Dateien müssen mit STGM_SHARE_EXCLUSIVE geöffnet werden.

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 objidl.h
Bibliothek Uuid.lib
DLL Ole32.dll

Weitere Informationen

IStorage – Implementierung zusammengesetzter Dateien

IStorage::CreateStream

IStream