IMalloc::Metode realloc (objidl.h)
Mengubah ukuran blok memori yang dialokasikan sebelumnya.
Sintaks
void * Realloc(
[in] void *pv,
[in] SIZE_T cb
);
Parameter
[in] pv
Penunjuk ke blok memori yang akan dialokasikan kembali. Parameter ini bisa NULL, seperti yang dibahas di bagian Keterangan di bawah ini.
[in] cb
Ukuran blok memori yang akan di-realokasi, dalam byte. Parameter ini bisa 0, seperti yang dibahas di bagian Keterangan di bawah ini.
Mengembalikan nilai
Jika metode berhasil, nilai yang dikembalikan adalah penunjuk ke blok memori yang dialokasikan kembali. Jika tidak, itu NULL.
Keterangan
Metode ini merealokasi blok memori, tetapi tidak menjamin bahwa kontennya diinisialisasi. Oleh karena itu, penelepon bertanggung jawab untuk kemudian menginisialisasi memori. Blok yang dialokasikan mungkin lebih besar dari byte cb karena ruang yang diperlukan untuk penyelarasan dan untuk informasi pemeliharaan.
Argumen pv menunjuk ke awal blok. Jika pvNULL, Realloc mengalokasikan blok memori baru dengan cara yang sama seperti IMalloc::Alloc . Jika pv bukan NULL, itu harus menjadi penunjuk yang dikembalikan oleh panggilan sebelumnya ke Alokasi.
Argumen cb menentukan ukuran blok baru, dalam byte. Isi blok tidak berubah hingga 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 Realloc tidak dijamin menjadi penunjuk yang diteruskan melalui argumen pv . Jika pv bukan NULL dan cb adalah nol, memori yang diacu oleh pv akan dikosongkan.
Realloc mengembalikan pointer kosong ke blok memori yang dialokasikan (dan mungkin dipindahkan). Nilai yang dikembalikan adalah NULL jika ukurannya nol 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 dikosongkan; di blok 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 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | objidl.h (termasuk ObjIdl.h) |