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 |