SetUmsThreadInformation 関数 (winbase.h)

指定したユーザー モード スケジューリング (UMS) ワーカー スレッドのアプリケーション固有のコンテキスト情報を設定します。

警告

Windows 11時点では、ユーザー モードのスケジュール設定はサポートされていません。 すべての呼び出しがエラー ERROR_NOT_SUPPORTEDで失敗します。

構文

BOOL SetUmsThreadInformation(
  [in] PUMS_CONTEXT          UmsThread,
  [in] UMS_THREAD_INFO_CLASS UmsThreadInfoClass,
  [in] PVOID                 UmsThreadInformation,
  [in] ULONG                 UmsThreadInformationLength
);

パラメーター

[in] UmsThread

UMS スレッド コンテキストへのポインター。

[in] UmsThreadInfoClass

設定 する 情報の種類を指定するUMS_THREAD_INFO_CLASS値。 このパラメーターは UmsThreadUserContext である必要があります。

[in] UmsThreadInformation

設定する情報を含むバッファーへのポインター。

[in] UmsThreadInformationLength

UmsThreadInformation バッファーのサイズ (バイト単位)。

戻り値

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

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値は次のとおりです。

リターン コード 説明
ERROR_INFO_LENGTH_MISMATCH
バッファー サイズが、指定した情報クラスに必要なサイズと一致しません。
ERROR_INVALID_INFO_CLASS
UmsThreadInfoClass パラメーターは、サポートされていない情報クラスを指定します。
ERROR_NOT_SUPPORTED
UMS はサポートされていません。

解説

SetUmsThreadInformation 関数を使用して、指定した UMS ワーカー スレッドのアプリケーション定義コンテキストを設定できます。 コンテキスト情報は、スケジューラごとやワーカーごとのスレッドの状態など、アプリケーションが追跡に役立つ可能性のあるあらゆるもので構成できます。 UMS ワーカー スレッドの基になる構造体はシステムによって管理されるため、直接変更しないでください。

QueryUmsThreadInformation 関数を使用すると、指定されたスレッドに関する他の公開情報 (スレッド実行ブロック (TEB) やスレッドが中断または終了しているかどうかなど) を取得できます。 QueryUmsThreadInformation を介して公開されない情報は、予約済みと見なす必要があります。

要件

   
サポートされている最小のクライアント Windows 7 (64 ビットのみ) [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll
API セット api-ms-win-core-ums-l1-1-0 (Windows 7 で導入)

こちらもご覧ください

QueryUmsThreadInformation