Funzione EnterUmsSchedulingMode (winbase.h)

Converte il thread chiamante in un thread dell'utilità di pianificazione in modalità utente.

Avviso

A partire da Windows 11, la pianificazione in modalità utente non è supportata. Tutte le chiamate hanno esito negativo con l'errore ERROR_NOT_SUPPORTED.

Sintassi

BOOL EnterUmsSchedulingMode(
  [in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);

Parametri

[in] SchedulerStartupInfo

Puntatore a una struttura UMS_SCHEDULER_STARTUP_INFO che specifica gli attributi UMS per il thread, inclusi un elenco di completamento e una funzione punto di ingresso UmsSchedulerProc .

Valore restituito

Se la funzione ha esito positivo, restituisce un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

L'utilità di pianificazione UMS di un'applicazione crea un thread dell'utilità di pianificazione UMS per ogni processore che verrà usato per eseguire thread UMS. L'utilità di pianificazione imposta in genere l'affinità del thread dell'utilità di pianificazione per un singolo processore, riservando in modo efficace il processore per l'uso di tale thread dell'utilità di pianificazione. Per altre informazioni sull'affinità di thread, vedere Più processori.

Quando viene creato un thread dell'utilità di pianificazione UMS, il sistema chiama la funzione del punto di ingresso UmsSchedulerProc specificata con la chiamata di funzione EnterUmsSchedulingMode . L'utilità di pianificazione dell'applicazione è responsabile del completamento di qualsiasi inizializzazione specifica dell'applicazione del thread dell'utilità di pianificazione e della selezione di un thread di lavoro UMS da eseguire.

L'utilità di pianificazione dell'applicazione seleziona un thread di lavoro UMS da eseguire chiamando ExecuteUmsThread con il contesto del thread UMS del thread di lavoro. Il thread di lavoro viene eseguito fino a quando non restituisce il controllo chiamando UmsThreadYield, blocchi o termina. Il thread dell'utilità di pianificazione è quindi disponibile per eseguire un altro thread di lavoro.

Un thread dell'utilità di pianificazione deve continuare a essere eseguito fino a quando tutti i thread di lavoro non raggiungono un punto di arresto naturale, ovvero tutti i thread di lavoro hanno restituito, bloccato o terminato.

Requisiti

   
Client minimo supportato Windows 7 (solo a 64 bit) [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll
Set di API api-ms-win-core-ums-l1-1-0 (introdotto in Windows 7)

Vedi anche

ExecuteUmsThread

Processori multipli

UMS_SCHEDULER_STARTUP_INFO

UmsSchedulerProc

Pianificazione in modalità utente