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)