SetThreadIdealProcessorEx

指定したスレッドの理想プロセッサを設定し、必要に応じて直前の理想プロセッサを取得する。

SetThreadIdealProcessorEx hThread, lpIdealProcessor, lpPreviousIdealProcessor

hThread : [intptr] 理想プロセッサを設定するスレッドのハンドル。THREAD_SET_INFORMATION アクセス権で作成されている必要がある。詳細は Thread Security and Access Rights を参照。
lpIdealProcessor : [var] 希望する理想プロセッサのプロセッサ番号を指定する PROCESSOR_NUMBER 構造体へのポインタ。
lpPreviousIdealProcessor : [var] 直前の理想プロセッサを受け取る PROCESSOR_NUMBER 構造体へのポインタ。lpIdealProcessor と同じメモリ位置を指してもよい。直前の理想プロセッサが不要な場合は NULL を指定できる。

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

解説

指定したスレッドの理想プロセッサを設定し、必要に応じて直前の理想プロセッサを取得する。

[戻り値]
関数が成功した場合、0 以外を返す。関数が失敗した場合、0 を返す。拡張エラー情報を取得するには GetLastError を使う。

[備考]

スレッドの理想プロセッサを指定すると、スケジューラに対して優先プロセッサのヒントとなる。可能な限りスケジューラはそのスレッドを理想プロセッサ上で実行する。Windows
11 と Windows Server 2022 以降、64
を超えるプロセッサを持つシステムでは、プロセスとスレッドのアフィニティは既定で全プロセッサグループにまたがる。SetThreadIdealProcessorEx
は優先プロセッサ設定時にスレッドのプライマリグループも優先プロセッサのグループに変更する。本関数を使うアプリケーションをコンパイルするには
_WIN32_WINNT を 0x0601 以上に設定する。Windows Phone 8.1: 本関数は Windows Phone
8.1 以降の Windows Phone ストアアプリでサポートされる。Windows 8.1 と Windows Server
2012 R2: 本関数は Windows 8.1、Windows Server 2012 R2 以降の Windows
ストアアプリでサポートされる。

情報

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