IStream::Seek-Methode (objidl.h)
Die Seek-Methode ändert den Suchzeiger auf einen neuen Speicherort. Der neue Speicherort ist entweder relativ zum Anfang des Datenstroms, zum Ende des Datenstroms oder zum aktuellen Suchzeiger.
Syntax
HRESULT Seek(
[in] LARGE_INTEGER dlibMove,
[in] DWORD dwOrigin,
[out] ULARGE_INTEGER *plibNewPosition
);
Parameter
[in] dlibMove
Die Verschiebung, die der durch den dwOrigin-Parameter angegebenen Position hinzugefügt werden soll. Wenn dwOriginSTREAM_SEEK_SET ist, wird dies als nicht signierter Wert interpretiert.
[in] dwOrigin
Der Ursprung für die in dlibMove angegebene Verschiebung. Der Ursprung kann der Anfang der Datei (STREAM_SEEK_SET), der aktuelle Suchzeiger (STREAM_SEEK_CUR) oder das Ende der Datei (STREAM_SEEK_END) sein. Weitere Informationen zu Werten finden Sie in der STREAM_SEEK-Enumeration .
[out] plibNewPosition
Ein Zeiger auf die Position, an der diese Methode den Wert des neuen Suchzeigers vom Anfang des Datenstroms schreibt.
Sie können diesen Zeiger auf NULL festlegen. In diesem Fall stellt diese Methode den neuen Suchzeiger nicht bereit.
Rückgabewert
Diese Methode kann einen dieser Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Suchzeiger wurde erfolgreich angepasst. |
E_PENDING | Nur asynchroner Speicher: Ein Teil oder alle Datenstromdaten sind derzeit nicht verfügbar. |
STG_E_INVALIDPOINTER | Gibt an, dass plibNewPosition auf ungültigen Arbeitsspeicher verweist, da plibNewPosition nicht gelesen wird. |
STG_E_INVALIDFUNCTION | Der dwOrigin-Parameter enthält einen ungültigen Wert, oder der dlibMove-Parameter enthält einen ungültigen Offsetwert. Das Ergebnis des Suchzeigers ist beispielsweise ein negativer Offsetwert. |
STG_E_REVERTED | Das Objekt wurde durch einen rückgängig machen Vorgang darüber in der Transaktionsstruktur ungültig gemacht. |
Hinweise
IStream::Seek ändert den Suchzeiger, sodass nachfolgende Lese- und Schreibvorgänge an einer anderen Stelle im Streamobjekt ausgeführt werden können. Es handelt sich um einen Fehler, der vor dem Beginn des Streams gesucht werden soll. Es ist jedoch kein Fehler, nach dem Ende des Streams zu suchen. Das Suchen nach dem Ende des Datenstroms ist für nachfolgende Schreibvorgänge nützlich, da der Streambytebereich unmittelbar vor Abschluss des Schreibvorgangs auf die neue Suchposition erweitert wird.
Sie können diese Methode auch verwenden, um den aktuellen Wert des Suchzeigers abzurufen, indem Sie diese Methode aufrufen, wobei der parameter dwOrigin auf STREAM_SEEK_CUR und der dlibMove-Parameter auf 0 festgelegt ist, sodass der Suchzeiger nicht geändert wird. Der aktuelle Suchzeiger wird im plibNewPosition-Parameter zurückgegeben.
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 |