呼び出し側スレッドをユーザーモードスケジューリング (UMS) スケジューラスレッドに変換する。
EnterUmsSchedulingMode SchedulerStartupInfo
SchedulerStartupInfo : [var] スレッドの UMS 属性を指定する UMS_SCHEDULER_STARTUP_INFO 構造体へのポインタ。完了リストや UmsSchedulerProc エントリポイント関数を含む。
(プラグイン / モジュール : kernel32.dll)
呼び出し側スレッドをユーザーモードスケジューリング (UMS) スケジューラスレッドに変換する。 [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] アプリケーションの UMS スケジューラは、UMS スレッドを実行するために使用される各プロセッサごとに 1 つの UMS スケジューラスレッドを作成する。スケジューラは通常、スケジューラスレッドのアフィニティを単一プロセッサに設定し、そのプロセッサをそのスケジューラスレッドの使用のために実質的に予約する。スレッドアフィニティの詳細は Multiple Processors を参照。UMS スケジューラスレッドが作成されたとき、システムは EnterUmsSchedulingMode 関数の呼び出しで指定された UmsSchedulerProc エントリポイント関数を呼ぶ。アプリケーションのスケジューラはスケジューラスレッドのアプリケーション固有の初期化を完了し、実行する UMS ワーカースレッドを選択する責任がある。アプリケーションのスケジューラは、ワーカースレッドの UMS スレッドコンテキストで ExecuteUmsThread を呼び出して実行する UMS ワーカースレッドを選択する。ワーカースレッドは UmsThreadYield を呼び出して制御を譲るか、ブロックするか、終了するまで実行される。その後、スケジューラスレッドは別のワーカースレッドを実行できる。スケジューラスレッドは、すべてのワーカースレッドが自然な停止点に到達するまで(つまり、すべてのワーカースレッドが譲歩、ブロック、または終了するまで)実行を続けるべきである。
| プラグイン / モジュール | 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 |