プロセス関数とスレッド関数

このトピックでは、プロセス関数とスレッド関数について説明します。

ディスパッチ キュー関数

次の関数は 、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 スケジューラ スレッドに制御を提供します。

 

廃止された関数