Freigeben über


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
Scardssp.h
Typbibliothek
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer ist definiert als E126F8FE-A7AF-11D0-B88A-00C04FD424B9