LocalLock

ローカルメモリオブジェクトをロックし、オブジェクトのメモリブロックの先頭バイトへのポインタを返す。

LocalLock hMem

hMem : [int] ローカルメモリオブジェクトのハンドル。このハンドルは LocalAlloc または LocalReAlloc 関数によって返される。

(プラグイン / モジュール : kernel32.dll)

解説

ローカルメモリオブジェクトをロックし、オブジェクトのメモリブロックの先頭バイトへのポインタを返す。

[戻り値]
関数が成功した場合、戻り値はメモリブロックの先頭バイトへのポインタである。関数が失敗した場合、戻り値は NULL
である。拡張エラー情報を取得するには GetLastError を呼ぶ。

[備考]
各メモリオブジェクトの内部データ構造には、初期値 0 のロックカウントが含まれる。可動メモリオブジェクトに対して LocalLock
はカウントを 1 増やし、LocalUnlock 関数はカウントを 1 減らす。プロセスがオブジェクトに対して行った LocalLock
の成功呼び出しには、対応する LocalUnlock 呼び出しが必要である。LocalReAlloc
関数で再確保されない限り、ロックされたメモリは移動も破棄もされない。ロックされたメモリオブジェクトのメモリブロックは、ロックカウントが 0
まで減らされるまでメモリにロックされ続け、その時点で移動や破棄が可能となる。LMEM_FIXED
で確保されたメモリオブジェクトのロックカウントは常に 0
である。これらのオブジェクトでは返されるポインタの値は指定したハンドルの値と等しい。指定したメモリブロックが破棄されているか、サイズが 0
バイトである場合、この関数は NULL を返す。破棄されたオブジェクトのロックカウントは常に 0 である。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs