Fungsi GlobalLock (winbase.h)
Mengunci objek memori global dan mengembalikan penunjuk ke byte pertama blok memori objek.
Sintaks
LPVOID GlobalLock(
[in] HGLOBAL hMem
);
Parameter
[in] hMem
Handel ke objek memori global. Handel ini dikembalikan oleh fungsi GlobalAlloc atau GlobalReAlloc .
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke byte pertama dari blok memori.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Struktur data internal untuk setiap objek memori menyertakan jumlah kunci yang awalnya nol. Untuk objek memori yang dapat dipangkas, GlobalLock menaikkan hitungan satu per satu, dan fungsi GlobalUnlock mengurangi hitungan satu per satu. Setiap panggilan yang berhasil yang dilakukan proses ke GlobalLock untuk objek harus dicocokkan dengan panggilan yang sesuai ke GlobalUnlock. Memori terkunci tidak akan dipindahkan atau dibuang, kecuali objek memori direalokasikan dengan menggunakan fungsi GlobalReAlloc . Blok memori objek memori terkunci tetap terkunci sampai jumlah kuncinya dikurangi menjadi nol, pada saat itu dapat dipindahkan atau dibuang.
Objek memori yang dialokasikan dengan GMEM_FIXED selalu memiliki jumlah kunci nol. Untuk objek ini, nilai pointer yang dikembalikan sama dengan nilai handel yang ditentukan.
Jika blok memori yang ditentukan telah dibuang atau jika blok memori memiliki ukuran nol byte, fungsi ini mengembalikan NULL.
Objek yang dibuang selalu memiliki jumlah kunci nol.
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 |