Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een interface naar de Resource Manager van de Concurrency Runtime. Dit is de interface waarmee planners communiceren met Resource Manager.
Syntaxis
struct IResourceManager;
Leden
Openbare inventarisaties
| Naam | Description |
|---|---|
| IResourceManager::OSVersion | Een geïnventariseerd type dat de versie van het besturingssysteem vertegenwoordigt. |
Openbare methoden
| Naam | Description |
|---|---|
| IResourceManager::CreateNodeTopology | Deze methode is alleen aanwezig in builds voor foutopsporing van de runtime. Deze methode is ontworpen om het testen van Resource Manager op verschillende hardwaretopologieën te vergemakkelijken, zonder dat er werkelijke hardware nodig is die overeenkomt met de configuratie. Met retailversies van de runtime wordt deze methode geretourneerd zonder actie uit te voeren. |
| IResourceManager::GetAvailableNodeCount | Retourneert het aantal knooppunten dat beschikbaar is voor Resource Manager. |
| IResourceManager::GetFirstNode | Retourneert het eerste knooppunt in de opsommingsvolgorde zoals gedefinieerd door Resource Manager. |
| IResourceManager::Reference | Hiermee wordt het aantal verwijzingen voor het Resource Manager-exemplaar verhoogd. |
| IResourceManager::RegisterScheduler | Registreert een scheduler bij Resource Manager. Zodra de scheduler is geregistreerd, moet deze via de geretourneerde ISchedulerProxy interface communiceren met de Resource Manager. |
| IResourceManager::Release | Hiermee wordt de referentietelling voor het Resource Manager-exemplaar verlaagd. De Resource Manager wordt vernietigd wanneer het aantal verwijzingen naar 0. |
Opmerkingen
Gebruik de functie CreateResourceManager om een interface te verkrijgen voor het Singleton Resource Manager-exemplaar. Met de methode wordt een verwijzingsaantal verhoogd voor Resource Manager en moet u de methode IResourceManager::Release aanroepen om de verwijzing vrij te geven wanneer u klaar bent met Resource Manager. Normaal gesproken roept elke scheduler die u maakt deze methode aan tijdens het maken en geeft u de verwijzing naar Resource Manager vrij nadat deze is afgesloten.
Overnamehiërarchie
IResourceManager
Requirements
Koptekst: concrtrm.h
Naamruimte: concurrentie
Methode IResourceManager::CreateNodeTopology
Deze methode is alleen aanwezig in builds voor foutopsporing van de runtime. Deze methode is ontworpen om het testen van Resource Manager op verschillende hardwaretopologieën te vergemakkelijken, zonder dat er werkelijke hardware nodig is die overeenkomt met de configuratie. Met retailversies van de runtime wordt deze methode geretourneerd zonder actie uit te voeren.
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;
Parameterwaarden
nodeCount
Het aantal processorknooppunten dat wordt gesimuleerd.
pCoreCount
Een matrix die het aantal kernen op elk knooppunt aangeeft.
pNodeDistance
Een matrix die de knooppuntafstand tussen twee knooppunten aangeeft. Deze parameter kan de waarde NULLhebben.
pProcessorGroups
Een matrix die de processorgroep aangeeft waartoe elk knooppunt behoort.
Opmerkingen
invalid_argument wordt gegenereerd als de parameter nodeCount de waarde 0 heeft doorgegeven of als de parameter pCoreCount de waarde NULLheeft.
invalid_operation wordt opgegooid als deze methode wordt aangeroepen terwijl andere planners in het proces aanwezig zijn.
IResourceManager::GetAvailableNodeCount-methode
Retourneert het aantal knooppunten dat beschikbaar is voor Resource Manager.
virtual unsigned int GetAvailableNodeCount() const = 0;
Retourwaarde
Het aantal knooppunten dat beschikbaar is voor Resource Manager.
Methode IResourceManager::GetFirstNode
Retourneert het eerste knooppunt in de opsommingsvolgorde zoals gedefinieerd door Resource Manager.
virtual ITopologyNode* GetFirstNode() const = 0;
Retourwaarde
Het eerste knooppunt in de opsommingsvolgorde zoals gedefinieerd door Resource Manager.
IResourceManager::OSVersion Opsomming
Een geïnventariseerd type dat de versie van het besturingssysteem vertegenwoordigt.
enum OSVersion;
Methode IResourceManager::Reference
Hiermee wordt het aantal verwijzingen voor het Resource Manager-exemplaar verhoogd.
virtual unsigned int Reference() = 0;
Retourwaarde
Het resulterende aantal verwijzingen.
Methode IResourceManager::RegisterScheduler
Registreert een scheduler bij Resource Manager. Zodra de scheduler is geregistreerd, moet deze via de geretourneerde ISchedulerProxy interface communiceren met de Resource Manager.
virtual ISchedulerProxy *RegisterScheduler(
_Inout_ IScheduler* pScheduler,
unsigned int version) = 0;
Parameterwaarden
pScheduler
Een IScheduler interface voor de planner die moet worden geregistreerd.
version
De versie van de communicatie-interface die de planner gebruikt om te communiceren met Resource Manager. Met behulp van een versie kan Resource Manager de communicatie-interface ontwikkelen, terwijl planners toegang kunnen krijgen tot oudere functies. Schedulers die Resource Manager-functies willen gebruiken die aanwezig zijn in Visual Studio 2010, moeten de versie CONCRT_RM_VERSION_1gebruiken.
Retourwaarde
De ISchedulerProxy-interface die de Resource Manager aan uw scheduler heeft gekoppeld. Uw planner moet deze interface gebruiken om vanaf dit punt met Resource Manager te communiceren.
Opmerkingen
Gebruik deze methode om communicatie met Resource Manager te initiëren. De methode koppelt de IScheduler interface voor uw planner aan een ISchedulerProxy interface en geeft deze weer aan u. U kunt de geretourneerde interface gebruiken om uitvoeringsresources aan te vragen voor gebruik door uw planner of om threads te abonneren met Resource Manager. Resource Manager gebruikt beleidselementen van het scheduler-beleid dat wordt geretourneerd door de methode IScheduler::GetPolicy om te bepalen welk type threads de scheduler nodig heeft om werk uit te voeren. Als uw SchedulerKind beleidssleutel de waarde UmsThreadDefault heeft en de waarde wordt teruggelezen uit het beleid als de waarde UmsThreadDefault, moet de IScheduler interface die aan de methode wordt doorgegeven, een IUMSScheduler interface zijn.
De methode genereert een invalid_argument uitzondering als de parameter pScheduler de waarde NULL heeft of als de parameter version geen geldige versie is voor de communicatie-interface.
Methode IResourceManager::Release
Hiermee wordt de referentietelling voor het Resource Manager-exemplaar verlaagd. De Resource Manager wordt vernietigd wanneer het aantal verwijzingen naar 0.
virtual unsigned int Release() = 0;
Retourwaarde
Het resulterende aantal verwijzingen.
Zie ook
concurrentie Namespace
Structuur ISchedulerProxy
IScheduler-structuur