IInitializeWithStream::Initialize-Methode (propsys.h)

Initialisiert einen Handler mit einem Stream.

Syntax

HRESULT Initialize(
  [in] IStream *pstream,
  [in] DWORD   grfMode
);

Parameter

[in] pstream

Typ: IStream*

Ein Zeiger auf eine IStream-Schnittstelle , die die Streamquelle darstellt.

[in] grfMode

Art: DWORD

Einer der folgenden STGM-Werte , der den Zugriffsmodus für pstream angibt.

STGM_READ

Der durch pstream angegebene Stream ist schreibgeschützt.

STGM_READWRITE

Der durch pstream angegebene Stream kann auf Lese-/Schreibzugriff zugreifen.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Methode wird der Initialisierung vorgezogen, da sie Datenströme verwenden kann, auf die nicht über einen Win32-Pfad zugegriffen werden kann, z. B. der Inhalt einer komprimierten Datei mit einer .zip Dateinamenerweiterung.

Der Stream, auf den pstream verweist, muss für die Lebensdauer des Handlers oder bis zum Aufruf von IPropertyStore::Commit geöffnet bleiben.

Beim ersten Öffnen verweist der Quelldatenstromverweis auf den Anfang des Datenstroms. Der Handler kann den Stream jederzeit suchen und aus diesem lesen. Ein Handler kann implementiert werden, um während der Initialisierung alle Eigenschaften aus dem Stream zu lesen, oder er kann warten, bis der aufrufende Prozess versucht, Eigenschaften aufzuzählen oder zu lesen, bevor er sie aus dem Stream abruft.

Ein Handler instance sollte nur einmal in seiner Lebensdauer initialisiert werden. Versuche des Aufrufers, den Handler erneut zu initialisieren, sollten zu dem Fehler HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)führen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile propsys.h