EnumProcessModules

指定プロセス内の各モジュールのハンドルを取得する。

EnumProcessModules hProcess, lphModule, cb, lpcbNeeded

hProcess : [intptr] プロセスのハンドル。
lphModule : [intptr] モジュールハンドルのリストを受け取る配列。
cb : [int] lphModule 配列のサイズ(バイト単位)。
lpcbNeeded : [var] すべてのモジュールハンドルを格納するのに必要なバイト数。

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

解説

指定プロセス内の各モジュールのハンドルを取得する。

[戻り値]
成功時は 0 以外、失敗時は 0 を返す。拡張エラー情報は GetLastError で取得する。

[備考]

本関数は主にデバッガなど別プロセスのモジュール情報を取得するツール向けに設計されている。対象プロセスのモジュールリストが壊れていたり未初期化、または呼び出し中に
DLL のロード/アンロードで変化した場合は失敗や不正結果を返すことがある。大きな配列を使うのが望ましい。lpcbNeeded > cb
なら配列を拡大して再試行する。32 ビットアプリが WOW64 上で呼び出した場合は 32 ビットプロセスのモジュールしか列挙できず、64
ビットプロセスに対してはエラー (ERROR_PARTIAL_COPY = 299) となる。返されたハンドルに対して
CloseHandle を呼んではならない。PSAPI_VERSION による動作は EnumProcesses と同様。

情報

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