IStream::Metode pencarian (objidl.h)

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

Sintaks

HRESULT Seek(
  [in]  LARGE_INTEGER  dlibMove,
  [in]  DWORD          dwOrigin,
  [out] ULARGE_INTEGER *plibNewPosition
);

Parameter

[in] dlibMove

Perpindahan yang akan ditambahkan ke lokasi yang ditunjukkan oleh parameter dwOrigin . Jika dwOriginSTREAM_SEEK_SET, ini ditafsirkan sebagai nilai yang tidak ditandatangani daripada nilai yang ditandatangani.

[in] dwOrigin

Asal untuk perpindahan yang ditentukan dalam dlibMove. Asalnya dapat menjadi awal file (STREAM_SEEK_SET), penunjuk pencarian saat ini (STREAM_SEEK_CUR), atau akhir file (STREAM_SEEK_END). Untuk informasi selengkapnya tentang nilai, lihat enumerasi STREAM_SEEK .

[out] plibNewPosition

Penunjuk ke lokasi tempat metode ini menulis nilai penunjuk pencarian baru dari awal aliran.

Anda dapat mengatur penunjuk ini ke NULL. Dalam hal ini, metode ini tidak menyediakan penunjuk pencarian baru.

Nilai kembali

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK Penunjuk pencarian berhasil disesuaikan.
E_PENDING Hanya Penyimpanan Asinkron: Bagian atau semua data aliran saat ini tidak tersedia.
STG_E_INVALIDPOINTER Menunjukkan bahwa plibNewPosition menunjuk ke memori yang tidak valid, karena plibNewPosition tidak dibaca.
STG_E_INVALIDFUNCTION Parameter dwOrigin berisi nilai yang tidak valid, atau parameter dlibMove berisi nilai offset yang buruk. Misalnya, hasil penunjuk pencarian adalah nilai offset negatif.
STG_E_REVERTED Objek tidak valid oleh operasi kembali di atasnya di pohon transaksi.

Keterangan

IStream::Seek mengubah penunjuk pencarian sehingga operasi baca dan tulis berikutnya dapat dilakukan di lokasi yang berbeda di objek aliran. Ini adalah kesalahan untuk mencari sebelum awal aliran. Namun, bukan kesalahan untuk mencari melewati akhir aliran. Mencari melewati akhir aliran berguna untuk operasi tulis berikutnya, karena rentang byte aliran akan diperluas ke posisi pencarian baru segera sebelum penulisan selesai.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header objidl.h
Pustaka Uuid.lib
DLL Ole32.dll

Lihat juga

ISequentialStream::Read

ISequentialStream::Write

IStream - Implementasi File Gabungan

STREAM_SEEK