createUmsCompletionList 函式 (winbase.h)

建立使用者模式排程 (UMS) 完成清單。

警告

自 Windows 11 起,不支援使用者模式排程。 所有呼叫都會失敗,並出現錯誤 ERROR_NOT_SUPPORTED

語法

BOOL CreateUmsCompletionList(
  [out] PUMS_COMPLETION_LIST *UmsCompletionList
);

參數

[out] UmsCompletionList

PUMS_COMPLETION_LIST變數。 在輸出時,此參數會收到空白 UMS 完成清單的指標。

傳回值

如果函式成功,則會傳回非零值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 可能的錯誤值包括下列專案。

傳回碼 描述
ERROR_NOT_ENOUGH_MEMORY
記憶體不足,無法建立完成清單。
ERROR_NOT_SUPPORTED
不支援 UMS。

備註

呼叫 EnterUmsSchedulingMode 函式以建立排程器執行緒時,完成清單會與 UMS 排程器執行緒相關聯。 系統會將新建立的 UMS 背景工作執行緒排入完成清單。 當執行緒不再遭到封鎖時,它也會將先前封鎖的 UMS 背景工作執行緒排入完成清單。

呼叫應用程式的 UmsSchedulerProc 進入點函式時,應用程式的排程器應該呼叫 DequeueUmsCompletionListItems,從完成清單中擷取專案。

每個完成清單都有相關聯的完成清單事件,每當系統將專案排入空白清單時,就會發出訊號。 使用 GetUmsCompletionListEvent 取得指定完成清單之事件的控制碼。

不再需要完成清單時,請使用 DeleteUmsCompletionList 來釋放清單。 清單必須空白,才能釋出列表。

規格需求

   
最低支援的用戶端 僅限 Windows 7 (64 位) [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll
API 集合 api-ms-win-core-ums-l1-1-0 (在 Windows 7)

另請參閱

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent