Bagikan melalui


Fungsi GlobalReAlloc (winbase.h)

Mengubah ukuran atau atribut objek memori global tertentu. Ukurannya bisa bertambah atau berkurang.

Catatan Fungsi global memiliki overhead yang lebih besar dan menyediakan lebih sedikit fitur daripada fungsi manajemen memori lainnya. Aplikasi baru harus menggunakan fungsi heap kecuali dokumentasi menyatakan bahwa fungsi global harus digunakan. Untuk informasi selengkapnya, lihat Fungsi Global dan Lokal.
 

Sintaks

DECLSPEC_ALLOCATOR HGLOBAL GlobalReAlloc(
  [in] _Frees_ptr_ HGLOBAL hMem,
  [in] SIZE_T              dwBytes,
  [in] UINT                uFlags
);

Parameter

[in] hMem

Handel ke objek memori global yang akan dialokasikan kembali. Handel ini dikembalikan oleh fungsi GlobalAlloc atau GlobalReAlloc .

[in] dwBytes

Ukuran baru blok memori, dalam byte. Jika uFlags menentukan GMEM_MODIFY, parameter ini diabaikan.

[in] uFlags

Opsi realokasi. Jika GMEM_MODIFY ditentukan, fungsi memodifikasi atribut objek memori saja (parameter dwBytes diabaikan.) Jika tidak, fungsi merealokasi objek memori.

Anda dapat secara opsional menggabungkan GMEM_MODIFY dengan nilai berikut.

Nilai Makna
GMEM_MOVEABLE
0x0002
Mengalokasikan memori movable.

Jika memori adalah blok memori GMEM_MOVEABLE terkunci atau blok memori GMEM_FIXED dan bendera ini tidak ditentukan, memori hanya dapat direalokasikan di tempatnya.

 

Jika parameter ini tidak menentukan GMEM_MODIFY, Anda dapat menggunakan nilai berikut.

Nilai Makna
GMEM_ZEROINIT
0x0040
Menyebabkan konten memori tambahan diinisialisasi ke nol jika objek memori tumbuh dalam ukuran.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke objek memori yang dialokasikan kembali.

Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika GlobalReAlloc mengalokasikan objek yang dapat di-movable, nilai yang dikembalikan adalah handel ke objek memori. Untuk mengonversi handel menjadi penunjuk, gunakan fungsi GlobalLock .

Jika GlobalReAlloc merealokasi objek tetap, nilai handel yang dikembalikan adalah alamat byte pertama blok memori. Untuk mengakses memori, proses cukup melemparkan nilai kembali ke penunjuk.

Jika GlobalReAlloc gagal, memori asli tidak dikosongkan, dan handel dan pointer asli masih valid.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Fungsi Global dan Lokal

GlobalAlloc

Kartu GlobalDiscard

GlobalLock

Fungsi Manajemen Memori