Metode IStream::CopyTo (objidl.h)
Metode CopyTo menyalin jumlah byte tertentu dari penunjuk pencarian saat ini di aliran ke penunjuk pencarian saat ini di aliran lain.
Sintaks
HRESULT CopyTo(
[in] IStream *pstm,
[in] ULARGE_INTEGER cb,
[out] ULARGE_INTEGER *pcbRead,
[out] ULARGE_INTEGER *pcbWritten
);
Parameter
[in] pstm
Penunjuk ke aliran tujuan. Aliran yang ditujukkan oleh pstm dapat menjadi aliran baru atau kloning aliran sumber.
[in] cb
Jumlah byte yang akan disalin dari aliran sumber.
[out] pcbRead
Penunjuk ke lokasi di mana metode ini menulis jumlah byte aktual yang dibaca dari sumbernya. Anda dapat mengatur penunjuk ini ke NULL. Dalam hal ini, metode ini tidak menyediakan jumlah byte aktual yang dibaca.
[out] pcbWritten
Penunjuk ke lokasi di mana metode ini menulis jumlah byte aktual yang ditulis ke tujuan. Anda dapat mengatur penunjuk ini ke NULL. Dalam hal ini, metode ini tidak memberikan jumlah byte aktual yang ditulis.
Nilai kembali
Metode ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
S_OK | Objek stream berhasil disalin. |
E_PENDING | Hanya Penyimpanan Asinkron: Bagian atau semua data yang akan disalin saat ini tidak tersedia. |
STG_E_INVALIDPOINTER | Nilai salah satu parameter penunjuk tidak valid. |
STG_E_MEDIUMFULL | Aliran tidak disalin karena tidak ada ruang yang tersisa pada perangkat penyimpanan. |
STG_E_REVERTED | Objek telah divalidasi oleh operasi kembali di atasnya di pohon transaksi. |
Keterangan
Metode CopyTo menyalin byte yang ditentukan dari satu aliran ke aliran lainnya. Ini juga dapat digunakan untuk menyalin aliran ke dirinya sendiri. Penunjuk pencarian di setiap instans aliran disesuaikan untuk jumlah byte yang dibaca atau ditulis. Metode ini setara dengan membaca byte cb ke dalam memori menggunakan ISequentialStream::Read dan kemudian segera menulisnya ke aliran tujuan menggunakan ISequentialStream::Write, meskipun IStream::CopyTo akan lebih efisien.
Aliran tujuan dapat menjadi klon aliran sumber yang dibuat dengan memanggil metode IStream::Clone .
Jika IStream::CopyTo mengembalikan kesalahan, Anda tidak dapat berasumsi bahwa penunjuk pencarian valid untuk sumber atau tujuan. Selain itu, nilai pcbRead dan pcbWritten tidak bermakna meskipun dikembalikan.
Jika IStream::CopyTo berhasil dikembalikan, jumlah aktual byte yang dibaca dan ditulis sama.
Untuk menyalin sisa sumber dari penunjuk pencarian saat ini, tentukan nilai bilangan bulat besar maksimum untuk parameter cb . Jika penunjuk pencarian adalah awal aliran, operasi ini menyalin seluruh aliran.
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 |