SetThreadIdealProcessorEx 関数 (processthreadsapi.h)

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

構文

BOOL SetThreadIdealProcessorEx(
  [in]            HANDLE            hThread,
  [in]            PPROCESSOR_NUMBER lpIdealProcessor,
  [out, optional] PPROCESSOR_NUMBER lpPreviousIdealProcessor
);

パラメーター

[in] hThread

理想的なプロセッサを設定するスレッドへのハンドル。 このハンドルは、THREAD_SET_INFORMATIONアクセス権を使用して作成されている必要があります。 詳細については、「 スレッド セキュリティとアクセス権」を参照してください。

[in] lpIdealProcessor

目的の 理想的なプロセッサ のプロセッサ番号を指定するPROCESSOR_NUMBER構造体へのポインター。

[out, optional] lpPreviousIdealProcessor

以前の理想的なプロセッサを受け取る PROCESSOR_NUMBER 構造体へのポインター。 このパラメーターは、 lpIdealProcessor パラメーターと同じメモリ位置を指すことができます。 以前の理想的なプロセッサが必要ない場合、このパラメーターは NULL にすることができます。

戻り値

関数が成功すると、0 以外の値が返されます。

関数が失敗すると、0 が返されます。 拡張エラー情報を取得するには、 GetLastError を使用します

注釈

スレッドの理想的なプロセッサを指定すると、スレッドの優先プロセッサに関するヒントがスケジューラに提供されます。 スケジューラは、可能な場合はスレッドの理想的なプロセッサでスレッドを実行します。

Windows 11 および Windows Server 2022 以降では、プロセッサ数が 64 を超えるシステムでは、プロセスとスレッドのアフィニティは、既定ですべてのプロセッサ グループにわたって、システム内のすべてのプロセッサにまたがっています。 SetThreadIdealProcessorEx は、優先プロセッサを設定する場合にも、スレッドのプライマリ グループを優先プロセッサのグループに設定します。

この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT >= 0x0601を設定します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

Windows Phone 8.1: この関数は、Windows Phone 8.1 以降のWindows Phone ストア アプリでサポートされています。

Windows 8.1Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストア アプリでサポートされています。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー processthreadsapi.h (Windows.h を含む)
Library Kernel32.lib;Windows Phone 8.1 の WindowsPhoneCore.lib
[DLL] Kernel32.dll;Windows Phone 8.1 での KernelBase.dll

こちらもご覧ください

GetThreadIdealProcessorEx

SetThreadIdealProcessor