Share via


IResourceManager (Estructura)

Una interfaz al Administrador de recursos del runtime de simultaneidad. Esta es la interfaz que usan los programadores para comunicares con el Administrador de recursos.

Sintaxis

struct IResourceManager;

Miembros

Enumeraciones públicas

Nombre Descripción
IResourceManager::OSVersion Un tipo enumerado que representa la versión del sistema operativo.

Métodos públicos

Nombre Descripción
IResourceManager::CreateNodeTopology Presente solo en compilaciones de depuración del entorno de ejecución, este método es un enlace de prueba diseñado para facilitar las pruebas de Resource Manager en topologías de hardware variables, sin necesidad de que el hardware real coincida con la configuración. Con las compilaciones comerciales del entorno de ejecución, este método se devolverá sin realizar ninguna acción.
IResourceManager::GetAvailableNodeCount Devuelve el número de nodos disponibles para Resource Manager.
IResourceManager::GetFirstNode Devuelve el primer nodo en el orden de enumeración definido por Resource Manager.
IResourceManager::Reference Incrementa el recuento de referencias en la instancia de Resource Manager.
IResourceManager::RegisterScheduler Registra un programador con Resource Manager. Una vez registrado el programador, debe comunicarse con Resource Manager mediante la interfaz ISchedulerProxy que se devuelve.
IResourceManager::Release Reduce el recuento de referencias en la instancia de Resource Manager. La instancia de Resource Manager se destruye cuando su recuento de referencias va a 0.

Comentarios

Use la función CreateResourceManager para obtener una interfaz a la instancia singleton de Resource Manager. El método incrementa un recuento de referencias en Resource Manager y debe invocar el método IResourceManager::Release para liberar la referencia cuando haya terminado con Resource Manager. Normalmente, cada programador que cree invocará este método durante la creación y liberará la referencia a Resource Manager después de que se cierre.

Jerarquía de herencia

IResourceManager

Requisitos

Encabezado: concrtrm.h

Espacio de nombres: simultaneidad

IResourceManager::CreateNodeTopology (Método)

Presente solo en compilaciones de depuración del entorno de ejecución, este método es un enlace de prueba diseñado para facilitar las pruebas de Resource Manager en topologías de hardware variables, sin necesidad de que el hardware real coincida con la configuración. Con las compilaciones comerciales del entorno de ejecución, este método se devolverá sin realizar ninguna acción.

virtual void CreateNodeTopology(
    unsigned int nodeCount,
    _In_reads_(nodeCount) unsigned int* pCoreCount,
    _In_reads_opt_(nodeCount) unsigned int** pNodeDistance,
    _In_reads_(nodeCount) unsigned int* pProcessorGroups) = 0;

Parámetros

nodeCount
Número de nodos de procesador que se simulan.

pCoreCount
Matriz que especifica el número de núcleos de cada nodo.

pNodeDistance
Matriz que especifica la distancia del nodo entre dos nodos. Este parámetro puede tener el valor NULL.

pProcessorGroups
Matriz que especifica el grupo de procesadores al que pertenece cada nodo.

Comentarios

Se produce un error invalid_argument si el parámetro nodeCount tiene el valor 0 pasado, o si el parámetro pCoreCount tiene el valor NULL.

Se produce un error invalid_operation si se llama a este método mientras existen otros programadores en el proceso.

IResourceManager::GetAvailableNodeCount (Método)

Devuelve el número de nodos disponibles para Resource Manager.

virtual unsigned int GetAvailableNodeCount() const = 0;

Valor devuelto

El número de nodos disponibles para Resource Manager.

IResourceManager::GetFirstNode (Método)

Devuelve el primer nodo en el orden de enumeración definido por Resource Manager.

virtual ITopologyNode* GetFirstNode() const = 0;

Valor devuelto

El primer nodo en el orden de enumeración definido por Resource Manager.

IResourceManager::OSVersion (enumeración)

Un tipo enumerado que representa la versión del sistema operativo.

enum OSVersion;

IResourceManager::Reference (Método)

Incrementa el recuento de referencias en la instancia de Resource Manager.

virtual unsigned int Reference() = 0;

Valor devuelto

Recuento de referencias resultante.

IResourceManager::RegisterScheduler (Método)

Registra un programador con Resource Manager. Una vez registrado el programador, debe comunicarse con Resource Manager mediante la interfaz ISchedulerProxy que se devuelve.

virtual ISchedulerProxy *RegisterScheduler(
    _Inout_ IScheduler* pScheduler,
    unsigned int version) = 0;

Parámetros

pScheduler
Interfaz IScheduler del programador que se va a registrar.

version
La versión de la interfaz de comunicación que el programador usa para comunicarse con Resource Manager. El uso de una versión permite que Resource Manager evolucione la interfaz de comunicación, al tiempo que permite a los programadores acceder a características anteriores. Los programadores que quieran usar las características de Resource Manager presentes en Visual Studio 2010 deben usar la versión CONCRT_RM_VERSION_1.

Valor devuelto

Interfaz ISchedulerProxy que Resource Manager ha asociado con el programador. El programador deberá usar esta interfaz para comunicarse con Resource Manager a partir de este momento.

Comentarios

Use este método para iniciar la comunicación con Resource Manager. El método asocia la interfaz IScheduler del programador a una interfaz ISchedulerProxy y se la devuelve. Puede usar la interfaz devuelta para solicitar recursos de ejecución que use el programador o para suscribirse a subprocesos con Resource Manager. Resource Manager usará elementos de directiva de la directiva del programador devuelta por el método IScheduler::GetPolicy para determinar qué tipo de subprocesos necesitará el programador para realizar el trabajo. Si la clave de directiva SchedulerKind tiene el valor UmsThreadDefault y el valor se vuelve a leer en la directiva como valor UmsThreadDefault, la interfaz IScheduler que se pasa al método debe ser una interfaz IUMSScheduler.

El método produce una excepción invalid_argument si el parámetro pScheduler tiene el valor NULL o si el parámetro version no es una versión válida para la interfaz de comunicación.

IResourceManager::Release (Método)

Reduce el recuento de referencias en la instancia de Resource Manager. La instancia de Resource Manager se destruye cuando su recuento de referencias va a 0.

virtual unsigned int Release() = 0;

Valor devuelto

Recuento de referencias resultante.

Consulte también

concurrency (espacio de nombres)
ISchedulerProxy (estructura)
IScheduler (estructura)