IByteBuffer::Seek-Methode
[Die Seek-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die IStream-Schnittstelle bietet ähnliche Funktionen.]
Die Seek-Methode ändert den Suchzeiger auf eine neue Position relativ zum Anfang des Puffers, zum Ende des Puffers oder zum aktuellen Suchzeiger.
Syntax
HRESULT Seek(
[in] LONG dlibMove,
[in] LONG dwOrigin,
[out] LONG *plibNewPosition
);
Parameter
-
dlibMove [in]
-
Verschiebung, die der durch dwOrigin angegebenen Position hinzugefügt werden soll. Wenn dwOrigin STREAM_SEEK_SET ist, wird dies als nicht signierter Wert interpretiert.
-
dwOrigin [in]
-
Gibt den Ursprung für die in dlibMove angegebene Verschiebung an. Der Ursprung kann einer der Werte in der folgenden Tabelle sein.
Wert Bedeutung - STREAM_SEEK_SET
Der neue Suchzeiger ist ein Offset relativ zum Anfang des Datenstroms. In diesem Fall ist der dlibMove-Parameter die neue Suchposition relativ zum Anfang des Datenstroms. - STREAM_SEEK_CUR
Der neue Suchzeiger ist ein Offset relativ zur aktuellen Suchzeigerposition. In diesem Fall ist der dlibMove-Parameter die signierte Verschiebung von der aktuellen Suchposition. - STREAM_SEEK_END
Der neue Suchzeiger ist ein Offset relativ zum Ende des Datenstroms. In diesem Fall ist der dlibMove-Parameter die neue Suchposition relativ zum Ende des Streams. -
plibNewPosition [out]
-
Zeiger auf den Speicherort, an dem diese Methode den Wert des neuen Suchzeigers vom Anfang des Datenstroms schreibt. Sie können diesen Zeiger auf NULL festlegen, um anzugeben, dass Sie an diesem Wert nicht interessiert sind. In diesem Fall stellt diese Methode den neuen Suchzeiger nicht bereit.
Rückgabewert
Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt an, dass der Aufruf erfolgreich war.
Bemerkungen
Die Seek-Methode ändert den Suchzeiger, sodass nachfolgende Lese- und Schreibvorgänge an einer anderen Stelle im Streamobjekt erfolgen 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. Die Suche nach dem Ende des Datenstroms ist für nachfolgende Schreibvorgänge nützlich, da der Stream zu diesem Zeitpunkt auf die Suchposition erweitert wird, unmittelbar bevor der Schreibvorgang abgeschlossen ist.
Sie können diese Methode auch verwenden, um den aktuellen Wert des Suchzeigers abzurufen, indem Sie diese Methode aufrufen, wobei der dwOrigin-Parameter auf STREAM_SEEK_CUR und der dlibMove-Parameter auf Null festgelegt ist, sodass der Suchzeiger nicht geändert wird. Der aktuelle Suchzeiger wird im plibNewPosition-Parameter zurückgegeben.
Beispiele
Das folgende Beispiel zeigt das Positionieren des Suchzeigers an einer neuen Position.
LONG lNewPos;
HRESULT hr;
// Change the seek pointer.
hr = pIByteBuff->Seek(5, STREAM_SEEK_SET, &lNewPos);
if (FAILED(hr))
printf("Failed IByteBuffer::Seek\n");
else
printf("New position is %x\n", lNewPos);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Ende des Supports (Client) |
Windows XP |
Ende des Supports (Server) |
Windows Server 2003 |
Header |
|
Typbibliothek |
|
DLL |
|
IID |
IID_IByteBuffer ist definiert als E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |