UMS_SYSTEM_THREAD_INFORMATION structure (winbase.h)

Specifies a UMS scheduler thread, UMS worker thread, or non-UMS thread.

Warning

As of Windows 11, user-mode scheduling is not supported. All calls fail with the error ERROR_NOT_SUPPORTED.

Syntax

typedef struct _UMS_SYSTEM_THREAD_INFORMATION {
  ULONG UmsVersion;
  union {
    struct {
      ULONG IsUmsSchedulerThread : 1;
      ULONG IsUmsWorkerThread : 1;
    } DUMMYSTRUCTNAME;
    ULONG ThreadUmsFlags;
  } DUMMYUNIONNAME;
} UMS_SYSTEM_THREAD_INFORMATION, *PUMS_SYSTEM_THREAD_INFORMATION;

Members

UmsVersion

The UMS version.

You must set this member to UMS_VERSION before calling the GetUmsSystemThreadInformation function.

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.IsUmsSchedulerThread

A bitfield that specifies that the thread is a UMS scheduler thread.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.IsUmsWorkerThread

A bitfield that specifies that the thread is a UMS worker thread.

DUMMYUNIONNAME.ThreadUmsFlags

Remarks

Used by the GetUmsSystemThreadInformation function.

At most one of IsUmsSchedulerThread and IsUmsWorkerThread will be set.

If both IsUmsSchedulerThread and IsUmsWorkerThread are clear then the thread is a non-UMS thread.

Requirements

Requirement Value
Minimum supported client Windows 7 with SP1 [desktop apps only],Windows 7 (64-bit only) and Windows Server 2008 R2 (64-bit only) with KB977165 installed
Minimum supported server Windows Server 2008 R2 with SP1 [desktop apps only]
Header winbase.h (include Windows.h)