IByteBuffer::Seek-Methode

[Die Seek-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. 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 an 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 auf STREAM SEEK SET festgelegt ist, wird dies als Wert _ ohne _ Vorzeichen und nicht als mit Vorzeichen 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 Streams. In diesem Fall ist der dlibMove-Parameter die neue Suchposition relativ zum Anfang des Streams.
STREAM _ SEEK _ CUR
Der neue Suchzeiger ist ein Offset relativ zur aktuellen Position des Suchzeigers. 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 Streams. In diesem Fall ist der dlibMove-Parameter die neue Suchposition relativ zum Ende des Streams.

plibNewPosition [ out]

Zeiger auf die Position, an der diese Methode den Wert des neuen Suchzeigers vom Anfang des Streams 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 zur Verfügung.

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 Position im Streamobjekt stattfinden können. Es ist ein Fehler, der vor dem Anfang des Streams zu suchen ist. Es ist jedoch kein Fehler, nach dem Ende des Streams zu suchen. Das Suchen nach dem Ende des Streams ist für nachfolgende Schreibvorgänge nützlich, da der Stream zu diesem Zeitpunkt auf die Suchposition erweitert wird, unmittelbar bevor der Schreibvorgang durchgeführt wird.

Sie können diese Methode auch verwenden, um den aktuellen Wert des Suchzeigers zu erhalten, indem Sie diese Methode aufrufen, bei der der dwOrigin-Parameter auf STREAM SEEK CUR und der _ _ dlibMove-Parameter auf 0 (null) festgelegt ist, damit der Suchzeiger nicht geändert wird. Der aktuelle Suchzeiger wird im plibNewPosition-Parameter zurückgegeben.

Beispiele

Das folgende Beispiel zeigt die Positionierung des Suchzeigers auf eine neue 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);

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur [ XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-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 als E126F8FE-A7AF-11D0-B88A-00C04FD424B9 definiert.