Compartir a través de


IUMSScheduler (Estructura)

Una interfaz a una abstracción de un programador de trabajo que desea que el Administrador de recursos del runtime de simultaneidad controle los subprocesos programables de modo de usuario (UMS). El Administrador de recursos usa esta interfaz para comunicarse con los programadores de subprocesos UMS. La interfaz IUMSScheduler hereda de la interfaz IScheduler .

Sintaxis

struct IUMSScheduler : public IScheduler;

Miembros

Métodos públicos

Nombre Descripción
IUMSScheduler::SetCompletionList Asigna una interfaz de IUMSCompletionList a un programador de subprocesos de UMS.

Comentarios

Si implementará un programador personalizado que se comunica con Resource Manager y quiere que los subprocesos de UMS se entreguen al programador en lugar de a subprocesos de Win32 normales, debe proporcionar una implementación de la interfaz de IUMSScheduler. Además, debe establecer el valor de directiva para la clave de directiva del programador SchedulerKind en UmsThreadDefault. Si la directiva especifica el subproceso de UMS, la interfaz de IScheduler que se pasa como parámetro al método IResourceManager::RegisterScheduler debe ser una interfaz de IUMSScheduler.

El Resource Manager puede entregarle subprocesos UMS solo en sistemas operativos que tengan la característica UMS. Los subprocesos UMS se admiten en sistemas operativos de 64 bits con Windows 7 o una versión posterior. Si crea una directiva de programador con la clave de SchedulerKind establecida en el valor UmsThreadDefault y la plataforma subyacente no admite UMS, el valor de la clave de SchedulerKind de esa directiva se cambiará al valor ThreadScheduler. Siempre debe volver a leer este valor de directiva antes de esperar recibir subprocesos UMS.

La interfaz de IUMSScheduler es un extremo de un canal bidireccional de comunicación entre un programador y el Resource Manager. El otro extremo se representa mediante las interfaces IResourceManager y ISchedulerProxy, que implementa el Resource Manager.

Jerarquía de herencia

IScheduler

IUMSScheduler

Requisitos

Encabezado: concrtrm.h

Espacio de nombres: simultaneidad

IUMSScheduler::SetCompletionList (Método)

Asigna una interfaz de IUMSCompletionList a un programador de subprocesos de UMS.

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

Parámetros

pCompletionList
La interfaz de lista de finalización para el programador. Hay una sola lista por programador.

Comentarios

El Resource Manager invocará este método en un programador que especifica que quiere subprocesos de UMS, después de que el programador haya solicitado una asignación inicial de recursos. El programador puede usar la interfaz de IUMSCompletionList para determinar cuándo se han desbloqueado los servidores proxy de subprocesos UMS. Solo es válido acceder a esta interfaz desde un proxy de subproceso que se ejecuta en una raíz del procesador virtual asignada al programador de UMS.

Consulte también

concurrency (espacio de nombres)
PolicyElementKey
IScheduler (estructura)
IUMSCompletionList (estructura)
IResourceManager (estructura)