EnterUmsSchedulingMode 函式 (winbase.h)

將呼叫執行緒轉換成使用者模式排程, (UMS) 排程器執行緒。

警告

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

語法

BOOL EnterUmsSchedulingMode(
  [in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);

參數

[in] SchedulerStartupInfo

UMS_SCHEDULER_STARTUP_INFO結構的指標,指定執行緒的 UMS 屬性,包括完成清單和UmsSchedulerProc進入點函式。

傳回值

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

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

應用程式的 UMS 排程器會為每個將用來執行 UMS 執行緒的處理器建立一個 UMS 排程器執行緒。 排程器通常會為單一處理器設定排程器執行緒的親和性,有效地保留處理器以使用該排程器執行緒。 如需執行緒親和性的詳細資訊,請參閱 多個處理器

建立 UMS 排程器執行緒時,系統會呼叫使用EnterUmsSchedulingMode函數呼叫所指定的UmsSchedulerProc進入點函式。 應用程式的排程器負責完成排程器執行緒的任何應用程式特定初始化,並選取要執行的 UMS 背景工作執行緒。

應用程式的排程器會呼叫 ExecuteUmsThread 與背景工作執行緒的 UMS 執行緒內容,以選取要執行的 UMS 背景工作執行緒。 背景工作執行緒會執行,直到它藉由呼叫 UmsThreadYield、區塊或終止來產生控制權為止。 排程器執行緒接著可供執行另一個背景工作執行緒。

排程器執行緒應該會繼續執行,直到其所有背景工作執行緒到達自然停止點為止:也就是說,所有背景工作執行緒都已產生、封鎖或終止。

規格需求

   
最低支援的用戶端 僅限 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)

另請參閱

ExecuteUmsThread

多個處理器

UMS_SCHEDULER_STARTUP_INFO

UmsSchedulerProc

使用者模式排程