Funzione ExecuteUmsThread (winbase.h)
Esegue il thread di lavoro UMS specificato.
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 ExecuteUmsThread(
[in, out] PUMS_CONTEXT UmsThread
);
Parametri
[in, out] UmsThread
Puntatore al contesto del thread UMS del thread di lavoro da eseguire.
Valore restituito
Se la funzione ha esito positivo, non restituisce un valore.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. I codici di errore possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Il thread di lavoro UMS specificato è temporaneamente bloccato dal sistema. Il chiamante può ripetere l'operazione. |
|
UMS non è supportato. |
Commenti
La funzione ExecuteUmsThread carica lo stato del thread di lavoro UMS specificato sullo stato del thread dell'utilità di pianificazione UMS chiamante in modo che il thread di lavoro possa essere eseguito. Il thread di lavoro viene eseguito fino a quando non restituisce chiamando la funzione UmsThreadYield , i blocchi o termina.
Quando un thread di lavoro restituisce o blocca, il sistema chiama la funzione di ingresso UmsSchedulerProc del thread di pianificazione. Quando un thread di lavoro bloccato in precedenza viene sbloccato, il thread di sistema accoda il thread di lavoro all'elenco di completamento specificato con la funzione UpdateProcThreadAttribute quando è stato creato il thread di lavoro.
La funzione ExecuteUmsThread non restituisce a meno che non si verifichi un errore. Se la funzione restituisce ERROR_RETRY, l'errore è transitorio e l'operazione può essere riprovata.
Se la funzione restituisce un errore diverso da ERROR_RETRY, l'utilità di pianificazione dell'applicazione deve verificare se il thread viene sospeso o terminato chiamando rispettivamente QueryUmsThreadInformation con UmsThreadIsSuspended o UmsThreadIsTerminated. Altri possibili errori includono la chiamata alla funzione in un thread che non è un thread dell'utilità di pianificazione UMS, passando un contesto di thread di lavoro UMS non valido o specificando un thread di lavoro già in esecuzione in un altro thread dell'utilità di pianificazione.
Requisiti
Requisito | Valore |
---|---|
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 (introdotta in Windows 7) |