Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejs usługi Resource Manager środowiska uruchomieniowego współbieżności. Jest to interfejs, za pomocą którego harmonogramy komunikują się z usługą Resource Manager.
Składnia
struct IResourceManager;
Elementy członkowskie
Publiczne wyliczenia
| Nazwa/nazwisko | opis |
|---|---|
| IResourceManager::OSVersion | Typ wyliczany reprezentujący wersję systemu operacyjnego. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| IResourceManager::CreateNodeTopology | Obecny tylko w kompilacjach debugowania środowiska uruchomieniowego, ta metoda jest elementem zaczepienia testowym zaprojektowanym w celu ułatwienia testowania usługi Resource Manager w różnych topologiach sprzętowych bez konieczności rzeczywistego dopasowania sprzętu do konfiguracji. W przypadku kompilacji detalicznych środowiska uruchomieniowego ta metoda zwróci się bez wykonywania żadnej akcji. |
| IResourceManager::GetAvailableNodeCount | Zwraca liczbę węzłów dostępnych dla usługi Resource Manager. |
| IResourceManager::GetFirstNode | Zwraca pierwszy węzeł w kolejności wyliczenia zgodnie z definicją w usłudze Resource Manager. |
| IResourceManager::Reference | Zwiększa liczbę odwołań w wystąpieniu usługi Resource Manager. |
| IResourceManager::RegisterScheduler | Rejestruje harmonogram w usłudze Resource Manager. Po zarejestrowaniu harmonogramu powinien komunikować się z usługą Resource Manager przy użyciu zwróconego interfejsu ISchedulerProxy . |
| IResourceManager::Release | Dekrementuje liczbę odwołań w wystąpieniu usługi Resource Manager. Usługa Resource Manager jest niszczona, gdy jej liczba odwołań przechodzi do 0. |
Uwagi
Użyj funkcji CreateResourceManager, aby uzyskać interfejs do pojedynczego wystąpienia usługi Resource Manager. Metoda zwiększa liczbę odwołań w usłudze Resource Manager i należy wywołać metodę IResourceManager::Release , aby zwolnić odwołanie po zakończeniu pracy z usługą Resource Manager. Zazwyczaj każdy utworzony harmonogram wywołuje tę metodę podczas tworzenia i zwalnia odwołanie do usługi Resource Manager po jego zamknięciu.
Hierarchia dziedziczenia
IResourceManager
Wymagania
Nagłówek: concrtrm.h
Przestrzeń nazw: współbieżność
IResourceManager::CreateNodeTopology — Metoda
Obecny tylko w kompilacjach debugowania środowiska uruchomieniowego, ta metoda jest elementem zaczepienia testowym zaprojektowanym w celu ułatwienia testowania usługi Resource Manager w różnych topologiach sprzętowych bez konieczności rzeczywistego dopasowania sprzętu do konfiguracji. W przypadku kompilacji detalicznych środowiska uruchomieniowego ta metoda zwróci się bez wykonywania żadnej akcji.
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;
Parametry
nodeCount
Liczba symulowanych węzłów procesora.
pCoreCount
Tablica określająca liczbę rdzeni w każdym węźle.
pNodeDistance
Macierz określająca odległość węzła między dowolnymi dwoma węzłami. Ten parametr może mieć wartość NULL.
pProcessorGroups
Tablica określająca grupę procesorów, do których należy każdy węzeł.
Uwagi
invalid_argument jest zgłaszany, jeśli parametr nodeCount ma przekazaną wartość0, lub jeśli parametr pCoreCount ma wartość NULL.
invalid_operation jest zgłaszana, jeśli ta metoda jest wywoływana, podczas gdy w procesie istnieją inne harmonogramy.
IResourceManager::GetAvailableNodeCount — Metoda
Zwraca liczbę węzłów dostępnych dla usługi Resource Manager.
virtual unsigned int GetAvailableNodeCount() const = 0;
Wartość zwracana
Liczba węzłów dostępnych dla usługi Resource Manager.
IResourceManager::GetFirstNode — Metoda
Zwraca pierwszy węzeł w kolejności wyliczenia zgodnie z definicją w usłudze Resource Manager.
virtual ITopologyNode* GetFirstNode() const = 0;
Wartość zwracana
Pierwszy węzeł w kolejności wyliczania zgodnie z definicją w usłudze Resource Manager.
IResourceManager::OSVersion, wyliczenie
Typ wyliczany reprezentujący wersję systemu operacyjnego.
enum OSVersion;
IResourceManager::Reference — Metoda
Zwiększa liczbę odwołań w wystąpieniu usługi Resource Manager.
virtual unsigned int Reference() = 0;
Wartość zwracana
Wynikowa liczba odwołań.
IResourceManager::RegisterScheduler — Metoda
Rejestruje harmonogram w usłudze Resource Manager. Po zarejestrowaniu harmonogramu powinien komunikować się z usługą Resource Manager przy użyciu zwróconego interfejsu ISchedulerProxy .
virtual ISchedulerProxy *RegisterScheduler(
_Inout_ IScheduler* pScheduler,
unsigned int version) = 0;
Parametry
pScheduler
Interfejs IScheduler do harmonogramu do zarejestrowania.
version
Wersja interfejsu komunikacyjnego używanego przez harmonogram do komunikowania się z usługą Resource Manager. Użycie wersji umożliwia usłudze Resource Manager rozwijanie interfejsu komunikacyjnego przy jednoczesnym umożliwieniu harmonogramom uzyskiwania dostępu do starszych funkcji. Harmonogramy, które chcą korzystać z funkcji usługi Resource Manager znajdujących się w programie Visual Studio 2010, powinny używać wersji CONCRT_RM_VERSION_1.
Wartość zwracana
Interfejs ISchedulerProxy , który usługa Resource Manager skojarzyła z harmonogramem. Harmonogram powinien używać tego interfejsu do komunikowania się z usługą Resource Manager od tego momentu.
Uwagi
Użyj tej metody, aby zainicjować komunikację z usługą Resource Manager. Metoda kojarzy IScheduler interfejs harmonogramu z interfejsem ISchedulerProxy i przekazuje go z powrotem do Ciebie. Za pomocą zwróconego interfejsu możesz zażądać zasobów wykonywania do użycia przez harmonogram lub zasubskrybować wątki za pomocą usługi Resource Manager. Usługa Resource Manager użyje elementów zasad z zasad harmonogramu zwróconych przez metodę IScheduler::GetPolicy , aby określić, jakiego typu wątki będzie musiał wykonać harmonogram. SchedulerKind Jeśli klucz zasad ma wartośćUmsThreadDefault, a wartość jest odczytywana z powrotem z zasad jako wartość UmsThreadDefault, IScheduler interfejs przekazany do metody musi być interfejsemIUMSScheduler.
Metoda zgłasza invalid_argument wyjątek, jeśli parametr ma wartość NULL lub jeśli parametr pScheduler version nie jest prawidłową wersją interfejsu komunikacyjnego.
IResourceManager::Release — Metoda
Dekrementuje liczbę odwołań w wystąpieniu usługi Resource Manager. Usługa Resource Manager jest niszczona, gdy jej liczba odwołań przechodzi do 0.
virtual unsigned int Release() = 0;
Wartość zwracana
Wynikowa liczba odwołań.
Zobacz też
Przestrzeń nazw współbieżności
ISchedulerProxy, struktura
IScheduler, struktura