Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengubah ukuran blok memori tugas yang dialokasikan sebelumnya.
Sintaks
LPVOID CoTaskMemRealloc(
[in, optional] LPVOID pv,
[in] SIZE_T cb
);
Parameter
[in, optional] pv
Penunjuk ke blok memori untuk dialokasikan kembali. Parameter ini bisa NULL, seperti yang dibahas dalam Remarks.
[in] cb
Ukuran blok memori yang akan di-realokasi, dalam byte. Parameter ini bisa 0, seperti yang dibahas dalam Keterangan.
Nilai kembali
Jika fungsi berhasil, fungsi mengembalikan blok memori yang dialokasikan kembali. Jika tidak, ia mengembalikan NULL.
Keterangan
Fungsi ini mengubah ukuran blok memori yang dialokasikan sebelumnya dengan cara yang sama seperti yang dilakukan IMalloc::Realloc . Tidak perlu memanggil fungsi CoGetMalloc untuk mendapatkan pointer ke alokator OLE sebelum memanggil CoTaskMemRealloc.
Parameter pv menunjuk ke awal blok memori. Jika pv adalah NULL, CoTaskMemRealloc mengalokasikan blok memori baru dengan cara yang sama seperti fungsi CoTaskMemAlloc . Jika pv bukan NULL, itu harus menjadi pointer yang dikembalikan oleh panggilan sebelumnya ke CoTaskMemAlloc.
Parameter cb menentukan ukuran blok baru. Isi blok tidak berubah hingga yang lebih pendek dari ukuran baru dan lama, meskipun blok baru dapat berada di lokasi yang berbeda. Karena blok baru dapat berada di lokasi memori yang berbeda, penunjuk yang dikembalikan oleh CoTaskMemRealloc tidak dijamin menjadi penunjuk yang diteruskan melalui argumen pv . Jika pv bukan NULL dan cb adalah 0, maka memori yang diacu oleh pv dibebaskan.
CoTaskMemRealloc mengembalikan pointer ke blok memori yang direalokasikan (dan mungkin dipindahkan). Nilai yang dikembalikan adalah NULL jika ukurannya adalah 0 dan argumen buffer bukan NULL, atau jika tidak ada cukup memori yang tersedia untuk memperluas blok ke ukuran yang ditentukan. Dalam kasus pertama, blok asli dibebaskan; dalam kasus kedua, blok asli tidak berubah.
Ruang penyimpanan yang diarahkan oleh nilai pengembalian dijamin cocok untuk diselaraskan untuk penyimpanan semua jenis objek. Untuk mendapatkan penunjuk ke jenis selain kekosongan, gunakan jenis transmisi pada nilai yang dikembalikan.
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 | combaseapi.h (termasuk Objbase.h) |
| Pustaka | Ole32.lib |
| DLL | Ole32.dll |