Bagikan melalui


Metode IByteBuffer::Seek

[Metode Pencarian tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini tidak tersedia untuk digunakan di Windows Server 2003 dengan Paket Layanan 1 (SP1) dan yang lebih baru, Windows Vista, Windows Server 2008, dan versi sistem operasi berikutnya. Antarmuka IStream menyediakan fungsionalitas serupa.]

Metode Pencarian mengubah penunjuk pencarian ke lokasi baru yang relatif terhadap awal buffer, ke akhir buffer, atau ke penunjuk pencarian saat ini.

Sintaks

HRESULT Seek(
  [in]  LONG dlibMove,
  [in]  LONG dwOrigin,
  [out] LONG *plibNewPosition
);

Parameter

dlibMove [in]

Perpindahan untuk ditambahkan ke lokasi yang ditunjukkan oleh dwOrigin. Jika dwOrigin STREAM_SEEK_SET, ini ditafsirkan sebagai nilai yang tidak ditandatangani daripada ditandatangani.

dwOrigin [in]

Menentukan asal untuk perpindahan yang ditentukan dalam dlibMove. Asalnya bisa menjadi salah satu nilai dalam tabel berikut.

Nilai Makna
STREAM_SEEK_SET
Penunjuk pencarian baru adalah offset yang relatif terhadap awal aliran. Dalam hal ini, parameter dlibMove adalah posisi pencarian baru yang relatif terhadap awal aliran.
STREAM_SEEK_CUR
Penunjuk pencarian baru adalah offset yang relatif terhadap lokasi penunjuk pencarian saat ini. Dalam hal ini, parameter dlibMove adalah perpindahan yang ditandatangani dari posisi pencarian saat ini.
STREAM_SEEK_END
Penunjuk pencarian baru adalah offset yang relatif terhadap akhir aliran. Dalam hal ini, parameter dlibMove adalah posisi pencarian baru relatif terhadap akhir aliran.

plibNewPosition [out]

Arahkan ke lokasi tempat metode ini menulis nilai penunjuk pencarian baru dari awal aliran. Anda dapat mengatur penunjuk ini ke NULL untuk menunjukkan bahwa Anda tidak tertarik dengan nilai ini. Dalam hal ini, metode ini tidak menyediakan penunjuk pencarian baru.

Nilai kembali

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan bahwa panggilan berhasil.

Keterangan

Metode Pencarian mengubah penunjuk pencarian sehingga operasi baca dan tulis berikutnya dapat berlangsung di lokasi yang berbeda di objek stream. Ini adalah kesalahan untuk mencari sebelum awal aliran. Namun, tidak, kesalahan untuk mencari melewati akhir aliran. Mencari melewati akhir aliran berguna untuk operasi tulis berikutnya, karena aliran pada saat itu akan diperluas ke posisi pencarian segera sebelum operasi tulis selesai.

Anda juga dapat menggunakan metode ini untuk mendapatkan nilai pointer pencarian saat ini dengan memanggil metode ini dengan parameter dwOrigin yang diatur ke STREAM_SEEK_CUR dan parameter dlibMove diatur ke nol sehingga penunjuk pencarian tidak diubah. Penunjuk pencarian saat ini dikembalikan dalam parameter plibNewPosition .

Contoh

Contoh berikut menunjukkan penempatan penunjuk pencarian ke lokasi baru.

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);

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Akhir dukungan klien
Windows XP
Akhir dukungan server
Windows Server 2003
Header
Scardssp.h
Pustaka jenis
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer didefinisikan sebagai E126F8FE-A7AF-11D0-B88A-00C04FD424B9