プロセス関数とスレッド関数
このトピックでは、プロセス関数とスレッド関数について説明します。
- ディスパッチ キュー関数
- プロセス関数
- プロセス列挙関数
- ポリシー関数
- スレッド関数
- プロセスおよびスレッド拡張属性関数
- WOW64 関数
- ジョブ オブジェクト関数
- スレッド プール関数
- スレッド順序付けサービス関数
- マルチメディア クラス スケジューラ サービス関数
- ファイバー関数
- NUMA サポート関数
- プロセッサ関数
- ユーザー モード スケジューリング関数
- 古い関数
ディスパッチ キュー関数
次の関数は 、DispatcherQueueController を作成します。
機能 | 説明 |
---|---|
CreateDispatcherQueueController | 別のスレッドでキューに登録されたタスクを優先度順に実行する DispatcherQueue の有効期間を管理する DispatcherQueueController を作成します。 |
プロセス関数
プロセスでは、次の関数が使用されます。
機能 | 説明 |
---|---|
CreateProcess | 新しいプロセスとそのプライマリ スレッドを作成します。 |
CreateProcessAsUser | 新しいプロセスとそのプライマリ スレッドを作成します。 新しいプロセスは、指定されたトークンによって表されるユーザーのセキュリティ コンテキストで実行されます。 |
CreateProcessWithLogonW | 新しいプロセスとそのプライマリ スレッドを作成します。 その後、新しいプロセスでは、指定した資格情報 (ユーザー、ドメイン、パスワード) のセキュリティ コンテキストで、指定された実行可能ファイルが実行されます。 |
CreateProcessWithTokenW | 新しいプロセスとそのプライマリ スレッドを作成します。 新しいプロセスは、指定されたトークンのセキュリティ コンテキストで実行されます。 |
ExitProcess | 呼び出し元プロセスとそのすべてのスレッドを終了します。 |
FlushProcessWriteBuffers | 現在のプロセスのスレッドを実行している各プロセッサの書き込みキューをフラッシュします。 |
FreeEnvironmentStrings | 環境文字列のブロックを解放します。 |
GetCommandLine | 現在のプロセスのコマンド ライン文字列を取得します。 |
GetCurrentProcess | 現在のプロセスの擬似ハンドルを取得します。 |
GetCurrentProcessId | 呼び出し元プロセスのプロセス識別子を取得します。 |
GetCurrentProcessorNumber | この関数の呼び出し中に現在のスレッドが実行されていたプロセッサの数を取得します。 |
GetEnvironmentStrings | 現在のプロセスの環境ブロックを取得します。 |
GetEnvironmentVariable | 呼び出しプロセスの環境ブロックから、指定した変数の値を取得します。 |
GetExitCodeProcess | 指定したプロセスの終了状態を取得します。 |
GetGuiResources | 指定したプロセスで使用されているグラフィカル ユーザー インターフェイス (GUI) オブジェクトへのハンドルの数を取得します。 |
GetLogicalProcessorInformation | 論理プロセッサと関連するハードウェアに関する情報を取得します。 |
GetPriorityClass | 指定したプロセスの優先度クラスを取得します。 |
GetProcessAffinityMask | 指定したプロセスのプロセス アフィニティ マスクと、システムのシステム アフィニティ マスクを取得します。 |
GetProcessGroupAffinity | 指定したプロセスのプロセッサ グループ アフィニティを取得します。 |
GetProcessHandleCount | 指定したプロセスに属する開いているハンドルの数を取得します。 |
GetProcessId | 指定したプロセスのプロセス識別子を取得します。 |
GetProcessIoCounters | 指定したプロセスによって実行されるすべての I/O 操作のアカウンティング情報を取得します。 |
GetProcessMitigationPolicy | 呼び出し元プロセスの軽減ポリシー設定を取得します。 |
GetProcessPriorityBoost | 指定したプロセスの優先度ブースト制御状態を取得します。 |
GetProcessShutdownParameters | 現在呼び出しているプロセスのシャットダウン パラメーターを取得します。 |
GetProcessTimes | 指定したプロセスに関するタイミング情報を取得します。 |
GetProcessVersion | 指定したプロセスの実行が想定されているシステムのメジャー バージョン番号とマイナー バージョン番号を取得します。 |
GetProcessWorkingSetSize | 指定したプロセスのワーキング セットの最小サイズと最大サイズを取得します。 |
GetProcessWorkingSetSizeEx | 指定したプロセスのワーキング セットの最小サイズと最大サイズを取得します。 |
GetProcessorSystemCycleTime | 指定したグループ内の各プロセッサが遅延プロシージャ 呼び出し (DPC) と割り込みサービス ルーチン (ISR) の実行に費やしたサイクル時間を取得します。 |
GetStartupInfo | 呼び出し元プロセスの作成時に指定された STARTUPINFO 構造体の内容を取得します。 |
IsImmersiveProcess | プロセスが Windows ストア アプリに属しているかどうかを判断します。 |
NeedCurrentDirectoryForExePath | 指定した実行可能ファイルの検索パスに現在のディレクトリを含める必要があるかどうかを判断します。 |
OpenProcess | 既存のローカル プロセス オブジェクトを開きます。 |
QueryFullProcessImageName | 指定したプロセスの実行可能イメージの完全な名前を取得します。 |
QueryProcessAffinityUpdateMode | 指定したプロセスのアフィニティ更新モードを取得します。 |
QueryProcessCycleTime | 指定したプロセスのすべてのスレッドのサイクル時間の合計を取得します。 |
SetEnvironmentVariable | 現在のプロセスの環境変数の値を設定します。 |
SetPriorityClass | 指定したプロセスの優先度クラスを設定します。 |
SetProcessAffinityMask | 指定したプロセスのスレッドのプロセッサ アフィニティ マスクを設定します。 |
SetProcessAffinityUpdateMode | 指定したプロセスのアフィニティ更新モードを設定します。 |
SetProcessInformation | 指定したプロセスの情報を設定します。 |
SetProcessMitigationPolicy | 呼び出し元プロセスの軽減ポリシーを設定します。 |
SetProcessPriorityBoost | 指定したプロセスのスレッドの優先度を一時的に高めるシステムの機能を無効にします。 |
SetProcessRestrictionExemption | 呼び出しプロセスを制限から除外し、デスクトップ プロセスが Windows ストア アプリ環境と対話できないようにします。 この関数は、開発およびデバッグ ツールで使用されます。 |
SetProcessShutdownParameters | 現在呼び出しているプロセスのシャットダウン パラメーターを設定します。 |
SetProcessWorkingSetSize | 指定したプロセスのワーキング セットの最小サイズと最大サイズを設定します。 |
SetProcessWorkingSetSizeEx | 指定したプロセスのワーキング セットの最小サイズと最大サイズを設定します。 |
TerminateProcess | 指定したプロセスとそのすべてのスレッドを終了します。 |
プロセス列挙関数
プロセスを列挙するには、次の関数を使用します。
機能 | 説明 |
---|---|
EnumProcesses | システム内の各プロセス オブジェクトのプロセス識別子を取得します。 |
Process32First | システム スナップショットで最初に検出されたプロセスに関する情報を取得します。 |
Process32Next | システム スナップショットに記録された次のプロセスに関する情報を取得します。 |
WTSEnumerateProcesses | 指定したターミナル サーバー上のアクティブなプロセスに関する情報を取得します。 |
ポリシー関数
プロセス全体のポリシーでは、次の関数が使用されます。
機能 | 説明 |
---|---|
QueryProtectedPolicy | 保護されたポリシーに関連付けられている値を照会します。 |
SetProtectedPolicy | 保護されたポリシーを設定します。 |
スレッド関数
スレッドでは、次の関数が使用されます。
機能 | 説明 |
---|---|
AttachThreadInput | あるスレッドの入力処理メカニズムを別のスレッドの入力処理メカニズムにアタッチします。 |
CreateRemoteThread | 別のプロセスの仮想アドレス空間で実行されるスレッドを作成します。 |
CreateRemoteThreadEx | 別のプロセスの仮想アドレス空間で実行され、必要に応じてプロセッサ グループアフィニティなどの拡張属性を指定するスレッドを作成します。 |
CreateThread | 呼び出し元プロセスの仮想アドレス空間内で実行するスレッドを作成します。 |
ExitThread | 呼び出し元のスレッドを終了します。 |
GetCurrentThread | 現在のスレッドの擬似ハンドルを取得します。 |
GetCurrentThreadId | 呼び出し元スレッドのスレッド識別子を取得します。 |
GetExitCodeThread | 指定したスレッドの終了状態を取得します。 |
GetProcessIdOfThread | 指定したスレッドに関連付けられているプロセスのプロセス識別子を取得します。 |
GetThreadDescription | SetThreadDescription を呼び出して、スレッドに割り当てられた説明を取得します。 |
GetThreadGroupAffinity | 指定したスレッドのプロセッサ グループ アフィニティを取得します。 |
GetThreadId | 指定したスレッドのスレッド識別子を取得します。 |
GetThreadIdealProcessorEx | 指定したスレッドに最適なプロセッサのプロセッサ番号を取得します。 |
GetThreadInformation | 指定したスレッドに関する情報を取得します。 |
GetThreadIOPendingFlag | 指定したスレッドに保留中の I/O 要求があるかどうかを判断します。 |
GetThreadPriority | 指定したスレッドの優先度値を取得します。 |
GetThreadPriorityBoost | 指定したスレッドの優先度ブースト制御状態を取得します。 |
GetThreadTimes | 指定したスレッドのタイミング情報を取得します。 |
OpenThread | 既存のスレッド オブジェクトを開きます。 |
QueryIdleProcessorCycleTime | システム内の各プロセッサのアイドル 状態のスレッドのサイクル時間を取得します。 |
QueryThreadCycleTime | 指定したスレッドのサイクル時間を取得します。 |
ResumeThread | スレッドの中断数をデクリメントします。 |
SetThreadAffinityMask | 指定したスレッドのプロセッサ アフィニティ マスクを設定します。 |
SetThreadDescription | スレッドに説明を割り当てます。 |
SetThreadGroupAffinity | 指定したスレッドのプロセッサ グループ アフィニティを設定します。 |
SetThreadIdealProcessor | スレッドの優先プロセッサを指定します。 |
SetThreadIdealProcessorEx | 指定したスレッドの理想的なプロセッサを設定し、必要に応じて、以前の理想的なプロセッサを取得します。 |
SetThreadInformation | 指定したスレッドの情報を設定します。 |
SetThreadPriority | 指定したスレッドの優先度値を設定します。 |
SetThreadPriorityBoost | システムがスレッドの優先度を一時的に昇格させる機能を無効にします。 |
SetThreadStackGuarantee | 呼び出し元スレッドのスタック保証を設定します。 |
睡眠 | 指定した間隔で現在のスレッドの実行を中断します。 |
SleepEx | 指定した条件が満たされるまで、現在のスレッドを中断します。 |
SuspendThread | 指定したスレッドを中断します。 |
SwitchToThread | 呼び出し元のスレッドから、現在のプロセッサ上で実行する準備が整っている別のスレッドに実行を切り替えます。 |
TerminateThread | スレッドを終了します。 |
ThreadProc | スレッドの開始アドレスとして機能するアプリケーション定義関数。 |
TlsAlloc | スレッド ローカル ストレージ (TLS) インデックスを割り当てます。 |
TlsFree | TLS インデックスを解放します。 |
TlsGetValue | 指定した TLS インデックスの呼び出し元スレッドの TLS スロット内の値を取得します。 |
TlsSetValue | 指定した TLS インデックスの呼び出し元スレッドの TLS スロットに値を格納します。 |
WaitForInputIdle | 指定されたプロセスが、保留中の入力がないユーザー入力を待機するか、タイムアウト間隔が経過するまで待機します。 |
プロセスおよびスレッド拡張属性関数
プロセスとスレッドの作成に拡張属性を設定するには、次の関数を使用します。
機能 | 説明 |
---|---|
DeleteProcThreadAttributeList | プロセスとスレッドの作成に使用する属性の指定したリストを削除します。 |
InitializeProcThreadAttributeList | プロセスとスレッドの作成のために、指定した属性の一覧を初期化します。 |
UpdateProcThreadAttribute | プロセスとスレッドの作成のために、指定した属性の一覧で指定した属性を更新します。 |
WOW64 関数
WOW64 では、次の関数が使用されます。
機能 | 説明 |
---|---|
IsWow64Message | 現在のスレッドのキューから最後に読み取られたメッセージが WOW64 プロセスから送信されたかどうかを判断します。 |
IsWow64Process | 指定したプロセスが WOW64 で実行されているかどうかを判断します。 |
IsWow64Process2 | 指定したプロセスが WOW64 で実行されているかどうかを判断します。は、追加のマシン プロセスとアーキテクチャ情報も返します。 |
Wow64SuspendThread | 指定した WOW64 スレッドを中断します。 |
ジョブ オブジェクト関数
ジョブ オブジェクトでは、次の関数が使用されます。
機能 | 説明 |
---|---|
AssignProcessToJobObject | プロセスを既存のジョブ オブジェクトに関連付けます。 |
CreateJobObject | ジョブ オブジェクトを作成または開きます。 |
IsProcessInJob | 指定したジョブでプロセスが実行されているかどうかを判断します。 |
OpenJobObject | 既存のジョブ オブジェクトを開きます。 |
QueryInformationJobObject | ジョブ オブジェクトから制限とジョブの状態情報を取得します。 |
SetInformationJobObject | ジョブ オブジェクトの制限を設定します。 |
TerminateJobObject | ジョブに現在関連付けられているすべてのプロセスを終了します。 |
UserHandleGrantAccess | ユーザー インターフェイスの制限があるジョブに対する User オブジェクトへのハンドルへのアクセスを許可または拒否します。 |
スレッド プール関数
スレッド プールでは、次の関数が使用されます。
機能 | 説明 |
---|---|
CallbackMayRunLong | コールバックがすぐに戻らない可能性があることを示します。 |
CancelThreadpoolIo | StartThreadpoolIo 関数からの通知を取り消します。 |
CloseThreadpool | 指定したスレッド プールを閉じます。 |
CloseThreadpoolCleanupGroup | 指定したクリーンアップ グループを閉じます。 |
CloseThreadpoolCleanupGroupMembers | 指定したクリーンアップ グループのメンバーを解放し、すべてのコールバック関数が完了するまで待機し、必要に応じて未処理のコールバック関数を取り消します。 |
CloseThreadpoolIo | 指定した I/O 入力候補オブジェクトを解放します。 |
CloseThreadpoolTimer | 指定したタイマー オブジェクトを解放します。 |
CloseThreadpoolWait | 指定した待機オブジェクトを解放します。 |
CloseThreadpoolWork | 指定した作業オブジェクトを解放します。 |
CreateThreadpool | コールバックを実行するスレッドの新しいプールを割り当てます。 |
CreateThreadpoolCleanupGroup | アプリケーションが 1 つ以上のスレッド プール コールバックを追跡するために使用できるクリーンアップ グループを作成します。 |
CreateThreadpoolIo | 新しい I/O 入力候補オブジェクトを作成します。 |
CreateThreadpoolTimer | 新しいタイマー オブジェクトを作成します。 |
CreateThreadpoolWait | 新しい待機オブジェクトを作成します。 |
CreateThreadpoolWork | 新しい作業オブジェクトを作成します。 |
DestroyThreadpoolEnvironment | 指定したコールバック環境を削除します。 新しいスレッド プール オブジェクトを作成するためにコールバック環境が不要になった場合は、この関数を呼び出します。 |
DisassociateCurrentThreadFromCallback | 現在実行中のコールバック関数と、コールバックを開始したオブジェクトとの間の関連付けを削除します。 現在のスレッドは、オブジェクトに代わってコールバックを実行したとカウントされなくなります。 |
FreeLibraryWhenCallbackReturns | 現在のコールバックが完了したときにスレッド プールがアンロードする DLL を指定します。 |
InitializeThreadpoolEnvironment | コールバック環境を初期化します。 |
IsThreadpoolTimerSet | 指定したタイマー オブジェクトが現在設定されているかどうかを判断します。 |
LeaveCriticalSectionWhenCallbackReturns | 現在のコールバックが完了したときにスレッド プールが解放するクリティカル セクションを指定します。 |
QueryThreadpoolStackInformation | 指定したスレッド プール内のスレッドのスタック予約とコミット サイズを取得します。 |
ReleaseMutexWhenCallbackReturns | 現在のコールバックが完了したときにスレッド プールが解放するミューテックスを指定します。 |
ReleaseSemaphoreWhenCallbackReturns | 現在のコールバックが完了したときにスレッド プールが解放するセマフォを指定します。 |
SetEventWhenCallbackReturns | 現在のコールバックが完了したときにスレッド プールが設定するイベントを指定します。 |
SetThreadpoolCallbackCleanupGroup | 指定したクリーンアップ グループを指定したコールバック環境に関連付けます。 |
SetThreadpoolCallbackLibrary | 未処理のコールバックがある限り、指定した DLL が確実に読み込まれたままになります。 |
SetThreadpoolCallbackPersistent | コールバックを永続スレッドで実行することを指定します。 |
SetThreadpoolCallbackPool | コールバックの生成時に使用するスレッド プールを設定します。 |
SetThreadpoolCallbackPriority | 同じスレッド プール内の他の作業項目に対する相対的なコールバック関数の優先度を指定します。 |
SetThreadpoolCallbackRunsLong | このコールバック環境に関連付けられているコールバックがすぐに返されない可能性があることを示します。 |
SetThreadpoolStackInformation | 指定したスレッド プール内の新しいスレッドのスタック予約とコミット サイズを設定します。 |
SetThreadpoolThreadMaximum | 指定したスレッド プールがコールバックを処理するために割り当てることができるスレッドの最大数を設定します。 |
SetThreadpoolThreadMinimum | 指定したスレッド プールがコールバックの処理に使用できるようにする必要があるスレッドの最小数を設定します。 |
SetThreadpoolTimerEx | タイマー オブジェクトを設定します。 ワーカー スレッドは、指定されたタイムアウトの有効期限が切れた後、タイマー オブジェクトのコールバックを呼び出します。 |
SetThreadpoolTimer | タイマー オブジェクトを設定します。 ワーカー スレッドは、指定されたタイムアウトの有効期限が切れた後、タイマー オブジェクトのコールバックを呼び出します。 |
SetThreadpoolWait | 待機オブジェクトを設定します。 ワーカー スレッドは、ハンドルがシグナル化された後、または指定されたタイムアウトの有効期限が切れた後に、待機オブジェクトのコールバック関数を呼び出します。 |
SetThreadpoolWaitEx | 待機オブジェクトを設定します。 ワーカー スレッドは、ハンドルがシグナル化された後、または指定されたタイムアウトの有効期限が切れた後に、待機オブジェクトのコールバック関数を呼び出します。 |
StartThreadpoolIo | 指定した I/O 完了オブジェクトに対して I/O 操作が開始される可能性があることをスレッド プールに通知します。 ワーカー スレッドは、このオブジェクトにバインドされているファイル ハンドルで操作が完了した後、I/O 完了オブジェクトのコールバック関数を呼び出します。 |
SubmitThreadpoolWork | スレッド プールに作業オブジェクトをポストします。 ワーカー スレッドは、作業オブジェクトのコールバック関数を呼び出します。 |
TpInitializeCallbackEnviron | スレッド プールのコールバック環境を初期化します。 |
TpDestroyCallbackEnviron | 指定したコールバック環境を削除します。 新しいスレッド プール オブジェクトを作成するためにコールバック環境が不要になった場合は、この関数を呼び出します。 |
TpSetCallbackActivationContext | アクティブ化コンテキストをコールバック環境に割り当てます。 |
TpSetCallbackCleanupGroup | 指定したクリーンアップ グループを指定したコールバック環境に関連付けます。 |
TpSetCallbackFinalizationCallback | コールバック環境が終了したときに呼び出す関数を示します。 |
TpSetCallbackLongFunction | このコールバック環境に関連付けられているコールバックがすぐに返されない可能性があることを示します。 |
TpSetCallbackNoActivationContext | コールバック環境にアクティブ化コンテキストがないことを示します。 |
TpSetCallbackPersistent | コールバックを永続スレッドで実行することを指定します。 |
TpSetCallbackPriority | 同じスレッド プール内の他の作業項目に対する相対的なコールバック関数の優先度を指定します。 |
TpSetCallbackRaceWithDll | 未処理のコールバックがある限り、指定した DLL が確実に読み込まれたままになります。 |
TpSetCallbackThreadpool | コールバック環境にスレッド プールを割り当てます。 |
TrySubmitThreadpoolCallback | スレッド プール ワーカー スレッドが指定したコールバック関数を呼び出すように要求します。 |
WaitForThreadpoolIoCallbacks | 未処理の I/O 完了コールバックが完了するまで待機し、必要に応じて、まだ実行を開始していない保留中のコールバックを取り消します。 |
WaitForThreadpoolTimerCallbacks | 未処理のタイマー コールバックが完了するまで待機し、必要に応じて、まだ実行を開始していない保留中のコールバックを取り消します。 |
WaitForThreadpoolWaitCallbacks | 未処理の待機コールバックが完了するまで待機し、必要に応じて、まだ実行を開始していない保留中のコールバックを取り消します。 |
WaitForThreadpoolWorkCallbacks | 未処理の作業コールバックが完了するまで待機し、必要に応じて、まだ実行を開始していない保留中のコールバックを取り消します。 |
次の関数は、元の スレッド プール API の一部です。
機能 | 説明 |
---|---|
BindIoCompletionCallback | スレッド プールが所有する I/O 完了ポートを、指定したファイル ハンドルに関連付けます。 このファイルに関連する I/O 要求が完了すると、I/O 以外のワーカー スレッドによって、指定されたコールバック関数が実行されます。 |
QueueUserWorkItem | スレッド プール内のワーカー スレッドに作業項目をキューに入れます。 |
RegisterWaitForSingleObject | オブジェクトで待機するようにスレッド プール内の待機スレッドを指示します。 |
UnregisterWaitEx | 指定したオブジェクトの 1 つまたはすべてをシグナル状態にするか、タイムアウト間隔が経過するまで待機します。 |
スレッド順序付けサービス関数
スレッド順序付けサービスでは、次の関数が使用されます。
機能 | 説明 |
---|---|
AvQuerySystemResponsiveness | マルチメディア クラス スケジューラ サービスによって使用されるシステムの応答性設定を取得します。 |
AvRtCreateThreadOrderingGroup | スレッド順序付けグループを作成します。 |
AvRtCreateThreadOrderingGroupEx | スレッド順序グループを作成し、サーバー スレッドをタスクに関連付けます。 |
AvRtDeleteThreadOrderingGroup | 呼び出し元によって作成された指定されたスレッド順序付けグループを削除します。 |
AvRtJoinThreadOrderingGroup | クライアント スレッドをスレッド順序付けグループに参加させます。 |
AvRtLeaveThreadOrderingGroup | クライアント スレッドがスレッド順序グループから離れることを有効にします。 |
AvRtWaitOnThreadOrderingGroup | スレッド順序グループのクライアント スレッドが実行されるまで待機できるようにします。 |
マルチメディア クラス スケジューラ サービス関数
マルチメディア クラス スケジューラ サービスでは、次の関数が使用されます。
機能 | 説明 |
---|---|
AvRevertMmThreadCharacteristics | スレッドが指定したタスクに関連付けられている作業を実行しなくなったことを示します。 |
AvSetMmMaxThreadCharacteristics | 呼び出し元のスレッドを指定したタスクに関連付けます。 |
AvSetMmThreadCharacteristics | 呼び出し元のスレッドを指定したタスクに関連付けます。 |
AvSetMmThreadPriority | 同じタスクを実行している他のスレッドを基準にして、呼び出し元スレッドのスレッド優先度を調整します。 |
ファイバー関数
繊維には次の機能が使用されます。
機能 | 説明 |
---|---|
ConvertFiberToThread | 現在のファイバーをスレッドに変換します。 |
ConvertThreadToFiber | 現在のスレッドをファイバーに変換します。 |
ConvertThreadToFiberEx | 現在のスレッドをファイバーに変換します。 |
CreateFiber | ファイバー オブジェクトを割り当て、スタックを割り当て、指定した開始アドレスから開始するように実行を設定します。 |
CreateFiberEx | ファイバー オブジェクトを割り当て、スタックを割り当て、指定した開始アドレスから開始するように実行を設定します。 |
DeleteFiber | 既存のファイバーを削除します。 |
FiberProc | CreateFiber 関数で使用されるアプリケーション定義関数。 |
FlsAlloc | ファイバー ローカル ストレージ (FLS) インデックスを割り当てます。 |
FlsFree | FLS インデックスを解放します。 |
FlsGetValue | 指定した FLS インデックスの呼び出し元ファイバーの FLS スロット内の値を取得します。 |
FlsSetValue | 指定した FLS インデックスの呼び出し元ファイバーの FLS スロットに値を格納します。 |
IsThreadAFiber | 現在のスレッドがファイバーであるかどうかを判断します。 |
SwitchToFiber | ファイバーをスケジュールします。 |
NUMA サポート関数
次の関数は 、NUMA のサポートを提供します。
機能 | 説明 |
---|---|
AllocateUserPhysicalPagesNuma | 指定したプロセスの仮想アドレス空間内のメモリ領域を予約またはコミットし、物理メモリの NUMA ノードを指定します。 |
GetLogicalProcessorInformation | 論理プロセッサと関連ハードウェアに関する情報を取得します。 |
GetNumaAvailableMemoryNode | 指定したノードで使用可能なメモリの量を取得します。 |
GetNumaAvailableMemoryNodeEx | 指定したノードで使用可能なメモリの量を USHORT 値として取得します。 |
GetNumaHighestNodeNumber | 現在最も大きい数値を持つノードを取得します。 |
GetNumaNodeNumberFromHandle | ファイル ハンドルの基になるデバイスに関連付けられている NUMA ノードを取得します。 |
GetNumaNodeProcessorMask | 指定したノードのプロセッサ マスクを取得します。 |
GetNumaNodeProcessorMaskEx | 指定した NUMA ノードのプロセッサ マスクを USHORT 値として取得します。 |
GetNumaProcessorNode | 指定したプロセッサのノード番号を取得します。 |
GetNumaProcessorNodeEx | 指定した論理プロセッサのノード番号を USHORT 値として取得します。 |
GetNumaProximityNode | 指定した近接識別子のノード番号を取得します。 |
GetNumaProximityNodeEx | 指定した近接識別子の USHORT 値としてノード番号を取得します。 |
VirtualAllocExNuma | 指定したプロセスの仮想アドレス空間内のメモリ領域を予約またはコミットし、物理メモリの NUMA ノードを指定します。 |
プロセッサ関数
論理プロセッサと プロセッサ グループでは、次の関数が使用されます。
機能 | 説明 |
---|---|
GetActiveProcessorCount | プロセッサ グループまたはシステム内のアクティブなプロセッサの数を返します。 |
GetActiveProcessorGroupCount | システム内のアクティブなプロセッサ グループの数を返します。 |
GetCurrentProcessorNumber | この関数の呼び出し中に現在のスレッドが実行されていたプロセッサの数を取得します。 |
GetCurrentProcessorNumberEx | 呼び出し元スレッドが実行されている論理プロセッサのプロセッサ グループと数を取得します。 |
GetLogicalProcessorInformation | 論理プロセッサと関連ハードウェアに関する情報を取得します。 |
GetLogicalProcessorInformationEx | 論理プロセッサと関連ハードウェアの関係に関する情報を取得します。 |
GetMaximumProcessorCount | プロセッサ グループまたはシステムで使用できる論理プロセッサの最大数を返します。 |
GetMaximumProcessorGroupCount | システムで使用できるプロセッサ グループの最大数を返します。 |
QueryIdleProcessorCycleTime | システム内の各プロセッサのアイドル 状態のスレッドのサイクル時間を取得します。 |
QueryIdleProcessorCycleTimeEx | 指定したプロセッサ グループ内の各論理プロセッサでアイドル状態のスレッドの累積サイクル時間を取得します。 |
User-Modeスケジュール機能
次の関数は、ユーザー モード スケジューリング (UMS) で使用されます。
機能 | 説明 |
---|---|
CreateUmsCompletionList | UMS 入力候補リストを作成します。 |
CreateUmsThreadContext | UMS ワーカー スレッドを表す UMS スレッド コンテキストを作成します。 |
DeleteUmsCompletionList | 指定した UMS 入力候補リストを削除します。 リストは空である必要があります。 |
DeleteUmsThreadContext | 指定した UMS スレッド コンテキストを削除します。 スレッドは終了する必要があります。 |
DequeueUmsCompletionListItems | 指定した UMS 完了リストから UMS ワーカー スレッドを取得します。 |
EnterUmsSchedulingMode | 呼び出し元のスレッドを UMS スケジューラ スレッドに変換します。 |
ExecuteUmsThread | 指定した UMS ワーカー スレッドを実行します。 |
GetCurrentUmsThread | 呼び出し元の UMS スレッドの UMS スレッド コンテキストを返します。 |
GetNextUmsListItem | UMS スレッド コンテキストの一覧で次の UMS スレッド コンテキストを返します。 |
GetUmsCompletionListEvent | 指定した UMS 完了リストに関連付けられているイベントへのハンドルを取得します。 |
GetUmsSystemThreadInformation | 指定したスレッドが UMS スケジューラ スレッドか、UMS ワーカー スレッドか、UMS 以外のスレッドかを照会します。 |
QueryUmsThreadInformation | 指定した UMS ワーカー スレッドに関する情報を取得します。 |
SetUmsThreadInformation | 指定した UMS ワーカー スレッドのアプリケーション固有のコンテキスト情報を設定します。 |
UmsSchedulerProc | UMS 完了リストに関連付けられているアプリケーション定義の UMS スケジューラ エントリ ポイント関数。 |
UmsThreadYield | 呼び出し元の UMS ワーカー スレッドが実行されている UMS スケジューラ スレッドに制御を提供します。 |
廃止された関数
- NtGetCurrentProcessorNumber
- NtQueryInformationProcess
- NtQueryInformationThread
- WinExec
- ZwQueryInformationProcess