Bagikan melalui


Fungsi LocalReAlloc (winbase.h)

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

Catatan Fungsi lokal 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 lokal harus digunakan. Untuk informasi selengkapnya, lihat Fungsi Global dan Lokal.
 

Sintaks

DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
  [in] _Frees_ptr_opt_ HLOCAL hMem,
  [in] SIZE_T                 uBytes,
  [in] UINT                   uFlags
);

Parameter

[in] hMem

Handel ke objek memori lokal yang akan dialokasikan kembali. Handel ini dikembalikan oleh fungsi LocalAlloc atau LocalReAlloc .

[in] uBytes

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

[in] uFlags

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

Anda dapat secara opsional menggabungkan LMEM_MODIFY dengan nilai berikut.

Nilai Makna
LMEM_MOVEABLE
0x0002
Mengalokasikan memori tetap atau dapat diubah.

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

 

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

Nilai Makna
LMEM_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 LocalReAlloc gagal, memori asli tidak dikosongkan, dan handel dan penunjuk asli masih valid.

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

Persyaratan

   
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

LocalAlloc

LocalFree

LocalLock

Fungsi Manajemen Memori