システム内の各プロセスオブジェクトのプロセス識別子を取得する。
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 |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の psapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_psapi_gen2.hs |