IStream::Metode SetSize (objidl.h)
Metode SetSize mengubah ukuran objek stream.
Sintaks
HRESULT SetSize(
[in] ULARGE_INTEGER libNewSize
);
Parameter
[in] libNewSize
Menentukan ukuran baru, dalam byte, aliran.
Menampilkan nilai
Metode ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
S_OK | Ukuran objek stream berhasil diubah. |
E_PENDING | Hanya Penyimpanan Asinkron: Bagian atau semua data aliran saat ini tidak tersedia. |
STG_E_MEDIUMFULL | Ukuran aliran tidak diubah karena tidak ada ruang yang tersisa pada perangkat penyimpanan. |
STG_E_INVALIDFUNCTION | Nilai parameter libNewSize tidak didukung oleh implementasi. Tidak semua aliran mendukung lebih dari 232 byte. Jika aliran tidak mendukung lebih dari 232 byte, jenis data DWORD tinggi libNewSize harus nol. Jika bukan nol, implementasi dapat mengembalikan STG_E_INVALIDFUNCTION. Secara umum, implementasi berbasis COM dari antarmuka IStream tidak mendukung aliran yang lebih besar dari 232 byte. |
STG_E_REVERTED | Objek telah divalidasi oleh operasi kembali di atasnya di pohon transaksi. |
Keterangan
IStream::SetSize mengubah ukuran objek stream. Panggil metode ini untuk melakukan pra-alokasi ruang untuk aliran. Jika parameter libNewSize lebih besar dari ukuran aliran saat ini, aliran diperluas ke ukuran yang ditunjukkan dengan mengisi ruang intervensi dengan byte nilai yang tidak terdefinisi. Operasi ini mirip dengan metode ISequentialStream::Write jika penunjuk pencarian melewati akhir aliran saat ini.
Jika parameter libNewSize lebih kecil dari aliran saat ini, aliran dipotong ke ukuran yang ditunjukkan.
Penunjuk pencarian tidak terpengaruh oleh perubahan ukuran aliran.
Memanggil IStream::SetSize dapat menjadi cara yang efektif untuk mendapatkan sebagian besar ruang yang berdampingan.
Persyaratan
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 |