Fungsi HeapLock (heapapi.h)

Mencoba memperoleh objek bagian penting, atau kunci, yang terkait dengan tumpukan tertentu.

Sintaks

BOOL HeapLock(
  [in] HANDLE hHeap
);

Parameter

[in] hHeap

Pegangan ke timbunan untuk dikunci. Handel ini dikembalikan oleh fungsi HeapCreate atau GetProcessHeap .

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

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

Keterangan

Jika fungsi berhasil, utas panggilan memiliki kunci tumpukan. Hanya utas panggilan yang dapat mengalokasikan atau melepaskan memori dari tumpukan. Eksekusi utas lain dari proses panggilan akan diblokir jika utas tersebut mencoba mengalokasikan atau melepaskan memori dari tumpukan. Utas tersebut akan tetap diblokir sampai utas yang memiliki kunci tumpukan memanggil fungsi HeapUnlock .

Fungsi HeapLock terutama berguna untuk mencegah alokasi dan pelepasan memori heap oleh utas lain sementara utas panggilan menggunakan fungsi HeapWalk .

Jika fungsi HeapLock dipanggil pada heap yang dibuat dengan bendera HEAP_NO_SERIALIZE , hasilnya tidak ditentukan.

Setiap panggilan yang berhasil ke HeapLock harus dicocokkan dengan panggilan yang sesuai ke HeapUnlock. Kegagalan untuk memanggil HeapUnlock akan memblokir eksekusi utas lain dari proses panggilan yang mencoba mengakses timbunan.

Contoh

Menghitung Heap

Persyaratan

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

Lihat juga

Fungsi Timbunan

HeapUnlock

HeapWalk

Fungsi Manajemen Memori

Api Vertdll tersedia di enklave VBS