CreateUmsThreadContext 関数 (winbase.h)

UMS ワーカー スレッドを表すユーザー モード スケジューリング (UMS) スレッド コンテキストを作成します。

警告

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

構文

BOOL CreateUmsThreadContext(
  [out] PUMS_CONTEXT *lpUmsThread
);

パラメーター

[out] lpUmsThread

PUMS_CONTEXT変数。 出力時に、このパラメーターは UMS スレッド コンテキストへのポインターを受け取ります。

戻り値

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

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

リターン コード 説明
ERROR_NOT_ENOUGH_MEMORY
UMS スレッド コンテキストを作成するのに十分なメモリがありません。

注釈

UMS スレッド コンテキストは、UMS ワーカー スレッドの状態を表します。 スレッド コンテキストは、関数呼び出しで UMS ワーカー スレッドを指定するために使用されます。

UMS ワーカー スレッドは、InitializeProcThreadAttributeList と UpdateProcThreadAttribute を使用してスレッドの UMS 属性の一覧を準備した後、CreateRemoteThreadEx 関数を呼び出すことによって作成されます。

UMS スレッド コンテキストの基になる構造体はシステムによって管理されるため、直接変更しないでください。 UMS ワーカー スレッドに関する情報を取得および設定するには、 QueryUmsThreadInformation 関数と SetUmsThreadInformation 関数を 使用します。

UMS ワーカー スレッドが終了した後は、 DeleteUmsThreadContext を呼び出して、そのスレッド コンテキストを解放する必要があります。

要件

要件
サポートされている最小のクライアント 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 で導入)

こちらもご覧ください

CreateRemoteThreadEx

DeleteUmsThreadContext

InitializeProcThreadAttributeList

QueryUmsThreadInformation

SetUmsThreadInformation

UpdateProcThreadAttribute