指定したプロセスのプロセスアフィニティマスクと、システムのシステムアフィニティマスクを取得する。
GetProcessAffinityMask hProcess, lpProcessAffinityMask, lpSystemAffinityMask
hProcess : [intptr] アフィニティマスクを取得したいプロセスのハンドル。このハンドルは PROCESS_QUERY_INFORMATION または PROCESS_QUERY_LIMITED_INFORMATION アクセス権を持つ必要がある。詳細は Process Security and Access Rights を参照。Windows Server 2003 および Windows XP: ハンドルは PROCESS_QUERY_INFORMATION アクセス権を持つ必要がある。 lpProcessAffinityMask : [var] 指定したプロセスのアフィニティマスクを受け取る変数へのポインタ。 lpSystemAffinityMask : [var] システムのアフィニティマスクを受け取る変数へのポインタ。
(プラグイン / モジュール : kernel32.dll)
指定したプロセスのプロセスアフィニティマスクと、システムのシステムアフィニティマスクを取得する。 [戻り値] 関数が成功した場合、戻り値は 0 以外で、関数は lpProcessAffinityMask と lpSystemAffinityMask が指す変数を適切なアフィニティマスクに設定する。64 を超えるプロセッサを持つシステムで、呼び出しプロセスのスレッドが単一のプロセッサグループに存在する場合、関数は lpProcessAffinityMask と lpSystemAffinityMask が指す変数を、プロセスアフィニティマスクとそのグループのアクティブな論理プロセッサのプロセッサマスクに設定する。呼び出しプロセスが複数のグループにスレッドを持つ場合、関数は両方のアフィニティマスクに 0 を返す。関数が失敗した場合、戻り値は 0 で、lpProcessAffinityMask と lpSystemAffinityMask が指す変数の値は未定義となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] プロセスアフィニティマスクは、各ビットがプロセスの実行を許可されたプロセッサを表すビットベクタである。システムアフィニティマスクは、各ビットがシステムに構成されているプロセッサを表すビットベクタである。プロセスアフィニティマスクはシステムアフィニティマスクのサブセットである。プロセスはシステムに構成されているプロセッサ上でのみ実行可能である。したがって、システムアフィニティマスクが特定のプロセッサに 0 ビットを指定している場合、プロセスアフィニティマスクはそのプロセッサに 1 ビットを指定できない。Windows 11 および Windows Server 2022 以降では、64 を超えるプロセッサを持つシステムにおいて、プロセスとスレッドのアフィニティは既定でシステム内のすべてのプロセッサ群(すべてのプロセッサグループにまたがる)に及ぶ。GetProcessAffinityMask 関数は、lpProcessAffinityMask と lpSystemAffinityMask をプロセスのプライマリグループ上のプロセスおよびシステムプロセッサマスクに設定する。プロセスがプロセスのプライマリグループ外で 1 つ以上のスレッドのアフィニティを明示的に設定していた場合、関数は両方のアフィニティマスクに 0 を返す。ただし、hHandle が現在のプロセスへのハンドルを指定する場合、関数は常に呼び出しスレッドのプライマリグループ(既定ではプロセスのプライマリグループと同じ)を使用して lpProcessAffinityMask と lpSystemAffinityMask を設定する。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |