Share via


Struttura IUMSScheduler

Interfaccia a un'astrazione di un'utilità di pianificazione di lavoro che vuole che Gestione risorse del runtime di concorrenza passi thread UMS pianificabili in modalità utente. Gestione risorse usa questa interfaccia per comunicare con le utilità di pianificazione dei thread UMS. L'interfaccia IUMSScheduler eredita dall'interfaccia IScheduler .

Sintassi

struct IUMSScheduler : public IScheduler;

Membri

Metodi pubblici

Nome Descrizione
IUMSScheduler::SetCompletionList Assegna un'interfaccia IUMSCompletionList a un'utilità di pianificazione del thread di messaggistica unificata.

Osservazioni:

Se si implementa un'utilità di pianificazione personalizzata che comunica con Resource Manager e si vuole che i thread di messaggistica unificata vengano passati all'utilità di pianificazione anziché ai normali thread Win32, è necessario fornire un'implementazione dell'interfaccia IUMSScheduler . È inoltre necessario impostare il valore dei criteri per la chiave SchedulerKind dei criteri dell'utilità di pianificazione come UmsThreadDefault. Se il criterio specifica il thread UMS, l'interfaccia IScheduler passata come parametro al metodo IResourceManager::RegisterScheduler deve essere un'interfaccia IUMSScheduler .

Resource Manager è in grado di gestire i thread di messaggistica unificata solo nei sistemi operativi con la funzionalità MESSAGGISTICA unificata. Sistemi operativi a 64 bit con la versione di Windows 7 e versioni successive supportano thread UMS. Se si creano criteri dell'utilità di pianificazione con la SchedulerKind chiave impostata sul valore UmsThreadDefault e la piattaforma sottostante non supporta la messaggistica unificata, il valore della SchedulerKind chiave in tale criterio verrà modificato nel valore ThreadScheduler. È consigliabile leggere sempre questo valore di criterio prima di aspettarsi di ricevere thread UMS.

L'interfaccia IUMSScheduler è un'estremità di un canale bidirezionale di comunicazione tra un'utilità di pianificazione e Resource Manager. L'altra estremità è rappresentata dalle IResourceManager interfacce e ISchedulerProxy , implementate da Resource Manager.

Gerarchia di ereditarietà

IScheduler

IUMSScheduler

Requisiti

Intestazione: concrtrm.h

Spazio dei nomi: Concurrency

Metodo IUMSScheduler::SetCompletionList

Assegna un'interfaccia IUMSCompletionList a un'utilità di pianificazione del thread di messaggistica unificata.

virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;

Parametri

pCompletionList
Interfaccia dell'elenco di completamento per l'utilità di pianificazione. Esiste un singolo elenco per utilità di pianificazione.

Osservazioni:

Resource Manager richiamerà questo metodo in un'utilità di pianificazione che specifica che vuole thread UMS, dopo che l'utilità di pianificazione ha richiesto un'allocazione iniziale delle risorse. L'utilità di pianificazione può usare l'interfaccia IUMSCompletionList per determinare quando i proxy del thread UMS sono sbloccati. È valido solo per accedere a questa interfaccia da un proxy di thread in esecuzione su una radice del processore virtuale assegnata all'utilità di pianificazione di messaggistica unificata.

Vedi anche

Spazio dei nomi concurrency
PolicyElementKey
Struttura IScheduler
Struttura IUMSCompletionList
Struttura IResourceManager