LockResource

メモリ内の指定リソースへのポインタを取得する。

LockResource hResData

hResData : [int] 型: **HGLOBAL** アクセスするリソースのハンドル。[LoadResource 関数](nf-libloaderapi-loadresource.md) がこのハンドルを返す。なお、この引数が **HGLOBAL** 変数として記述されているのは下位互換性のためである。引数としては **LoadResource** 関数の成功時の戻り値以外の値を渡してはならない。

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

解説

メモリ内の指定リソースへのポインタを取得する。

[戻り値]
型: LPVOID 読み込まれたリソースが利用可能な場合、戻り値はリソースの先頭バイトへのポインタである。そうでなければ **NULL**
である。

[備考]
**LockResource**
が返すポインタは、リソースを含むモジュールがアンロードされるまで有効である。リソースを作成したプロセスが終了するとシステムが自動的にそれらを削除するため、リソースをアンロックする必要はない。[FindResourceA
関数](../winbase/nf-winbase-findresourcea.md) や [FindResourceExA
関数](../winbase/nf-winbase-findresourceexa.md)
が返すハンドルでリソースをロックしようとしてはならない。そうしたハンドルはランダムなデータを指す。> [!Note] >
**LockResource**
は実際にはメモリをロックしない。リソースデータを含むメモリへのポインタを得るために使われるだけである。関数名は Windows XP
より前のバージョンに由来し、そのバージョンでは
[LoadResource](nf-libloaderapi-loadresource.md)
で確保されたグローバルメモリブロックをロックするために使われていた。

情報

プラグイン / モジュール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