EnumProcesses

システム内の各プロセスオブジェクトのプロセス識別子を取得する。

EnumProcesses lpidProcess, cb, lpcbNeeded

lpidProcess : [var] プロセス識別子のリストを受け取る配列へのポインタ。
cb : [int] pProcessIds 配列のサイズ(バイト単位)。
lpcbNeeded : [var] pProcessIds 配列に返されたバイト数。

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

解説

システム内の各プロセスオブジェクトのプロセス識別子を取得する。

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

[備考]
EnumProcesses
呼び出し時に存在するプロセス数を事前予測するのは難しいため、大きな配列を使うのが望ましい。列挙されたプロセス数は lpcbNeeded を
sizeof(DWORD) で割って求める。バッファ不足時の通知はないため、lpcbNeeded が cb
と等しい場合は配列を拡大して再試行を検討する。プロセスハンドル取得には OpenProcess を使用する。Windows 7 /
Windows Server 2008 R2 以降、Psapi.h は PSAPI
関数にバージョン番号を設定した。PSAPI_VERSION が 2 以上では本関数は K32EnumProcesses として定義され
Kernel32 からエクスポートされる。1 の場合は従来通り Psapi.dll の EnumProcesses
として呼び出される。古い Windows との互換が必要なら EnumProcesses
として呼び出し、-DPSAPI_VERSION=1 でコンパイルする。

情報

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