CreateUmsCompletionList function (winbase.h)
Creates a user-mode scheduling (UMS) completion list.
As of Windows 11, user-mode scheduling is not supported. All calls fail with the error
BOOL CreateUmsCompletionList( [out] PUMS_COMPLETION_LIST *UmsCompletionList );
A PUMS_COMPLETION_LIST variable. On output, this parameter receives a pointer to an empty UMS completion list.
If the function succeeds, it returns a nonzero value.
If the function fails, the return value is zero. To get extended error information, call GetLastError. Possible error values include the following.
||Not enough memory is available to create the completion list.|
||UMS is not supported.|
A completion list is associated with a UMS scheduler thread when the EnterUmsSchedulingMode function is called to create the scheduler thread. The system queues newly created UMS worker threads to the completion list. It also queues previously blocked UMS worker threads to the completion list when the threads are no longer blocked.
Each completion list has an associated completion list event which is signaled whenever the system queues items to an empty list. Use the GetUmsCompletionListEvent to obtain a handle to the event for a specified completion list.
When a completion list is no longer needed, use the DeleteUmsCompletionList to release the list. The list must be empty before it can be released.
|Minimum supported client||Windows 7 (64-bit only) [desktop apps only]|
|Minimum supported server||Windows Server 2008 R2 [desktop apps only]|
|Header||winbase.h (include Windows.h)|
|API set||api-ms-win-core-ums-l1-1-0 (introduced in Windows 7)|