Aracılığıyla paylaş


IResourceManager Yapısı

Eşzamanlılık Çalışma Zamanı'nın Resource Manager arabirimi. Bu, zamanlayıcıların Resource Manager ile iletişim kurdığı arabirimdir.

Sözdizimi

struct IResourceManager;

Üyeler

Genel Sabit Listeleri

Veri Akışı Adı Açıklama
IResourceManager::OSVersion İşletim sistemi sürümünü temsil eden numaralandırılmış tür.

Genel Yöntemler

Veri Akışı Adı Açıklama
IResourceManager::CreateNodeTopology Yalnızca çalışma zamanının hata ayıklama derlemelerinde mevcut olan bu yöntem, Resource Manager'ın yapılandırmayla eşleşen gerçek donanım gerektirmeden değişen donanım topolojileri üzerinde testini kolaylaştırmak için tasarlanmış bir test kancasıdır. Çalışma zamanının perakende derlemeleriyle bu yöntem herhangi bir eylem gerçekleştirmeden döndürülecektir.
IResourceManager::GetAvailableNodeCount Resource Manager'ın kullanabileceği düğüm sayısını döndürür.
IResourceManager::GetFirstNode Resource Manager tarafından tanımlanan numaralandırma sırasına göre ilk düğümü döndürür.
IResourceManager::Reference Resource Manager örneğindeki başvuru sayısını artırır.
IResourceManager::RegisterScheduler Resource Manager'a bir zamanlayıcı kaydeder. Zamanlayıcı kaydedildikten sonra döndürülen arabirimi kullanarak ISchedulerProxy Resource Manager ile iletişim kurmalıdır.
IResourceManager::Release Resource Manager örneğindeki başvuru sayısını azaltma. Kaynak Yöneticisi, başvuru sayısı öğesine gittiğinde 0yok edilir.

Açıklamalar

Tek bir Resource Manager örneğine arabirim elde etmek için CreateResourceManager işlevini kullanın. yöntemi Resource Manager'da bir başvuru sayısını artırır ve Resource Manager ile işiniz bittiğinde başvuruyu serbest bırakmak için IResourceManager::Release yöntemini çağırmanız gerekir. Genellikle, oluşturduğunuz her zamanlayıcı oluşturma sırasında bu yöntemi çağırır ve resource manager kapatıldıktan sonra başvuruyu serbest bırakır.

Devralma Hiyerarşisi

IResourceManager

Gereksinimler

Üst bilgi: concrtrm.h

Ad alanı: eşzamanlılık

IResourceManager::CreateNodeTopology Yöntemi

Yalnızca çalışma zamanının hata ayıklama derlemelerinde mevcut olan bu yöntem, Resource Manager'ın yapılandırmayla eşleşen gerçek donanım gerektirmeden değişen donanım topolojileri üzerinde testini kolaylaştırmak için tasarlanmış bir test kancasıdır. Çalışma zamanının perakende derlemeleriyle bu yöntem herhangi bir eylem gerçekleştirmeden döndürülecektir.

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;

Parametreler

nodeCount
Simülasyonu yapılan işlemci düğümlerinin sayısı.

pCoreCount
Her düğümdeki çekirdek sayısını belirten bir dizi.

pNodeDistance
İki düğüm arasındaki düğüm uzaklığı belirten matris. Bu parametre değerine NULLsahip olabilir.

pProcessorGroups
Her düğümün ait olduğu işlemci grubunu belirten bir dizi.

Açıklamalar

invalid_argument, parametrenin nodeCount değeri 0 geçirildiyse veya parametresinde pCoreCount değeri NULLvarsa oluşturulur.

invalid_operation, işlemde başka zamanlayıcılar varken bu yöntem çağrılırsa oluşturulur.

IResourceManager::GetAvailableNodeCount Yöntemi

Resource Manager'ın kullanabileceği düğüm sayısını döndürür.

virtual unsigned int GetAvailableNodeCount() const = 0;

Dönüş Değeri

Resource Manager'ın kullanabileceği düğüm sayısı.

IResourceManager::GetFirstNode Yöntemi

Resource Manager tarafından tanımlanan numaralandırma sırasına göre ilk düğümü döndürür.

virtual ITopologyNode* GetFirstNode() const = 0;

Dönüş Değeri

Resource Manager tarafından tanımlanan numaralandırma sırasına göre ilk düğüm.

IResourceManager::OSVersion Numaralandırması

İşletim sistemi sürümünü temsil eden numaralandırılmış tür.

enum OSVersion;

IResourceManager::Reference Yöntemi

Resource Manager örneğindeki başvuru sayısını artırır.

virtual unsigned int Reference() = 0;

Dönüş Değeri

Elde edilen başvuru sayısı.

IResourceManager::RegisterScheduler Yöntemi

Resource Manager'a bir zamanlayıcı kaydeder. Zamanlayıcı kaydedildikten sonra döndürülen arabirimi kullanarak ISchedulerProxy Resource Manager ile iletişim kurmalıdır.

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

Parametreler

pScheduler
IScheduler Kaydedilecek zamanlayıcı arabirimi.

version
Zamanlayıcının Resource Manager ile iletişim kurmak için kullandığı iletişim arabiriminin sürümü. Sürüm kullanmak, Resource Manager'ın iletişim arabirimini geliştirmesine ve zamanlayıcıların eski özelliklere erişim elde etmesine olanak tanır. Visual Studio 2010'da bulunan Resource Manager özelliklerini kullanmak isteyen zamanlayıcılar sürümünü CONCRT_RM_VERSION_1kullanmalıdır.

Dönüş Değeri

Resource Manager'ın ISchedulerProxy zamanlayıcınızla ilişkilendirdiği arabirim. Zamanlayıcınız bu noktadan sonra Resource Manager ile iletişim kurmak için bu arabirimi kullanmalıdır.

Açıklamalar

Resource Manager ile iletişim başlatmak için bu yöntemi kullanın. yöntemi zamanlayıcınızın arabirimini bir ISchedulerProxy arabirimle ilişkilendirir IScheduler ve size geri gönderir. Zamanlayıcınız tarafından kullanılmak üzere yürütme kaynakları istemek veya Resource Manager ile iş parçacıklarına abone olmak için döndürülen arabirimi kullanabilirsiniz. Resource Manager, zamanlayıcının çalışmayı yürütmek için ne tür iş parçacıklarına ihtiyaç duyacağını belirlemek için IScheduler::GetPolicy yöntemi tarafından döndürülen zamanlayıcı ilkesindeki ilke öğelerini kullanır. İlke anahtarınızın SchedulerKind değeri UmsThreadDefault varsa ve değer ilkenin değeri UmsThreadDefaultolarak yeniden okunursa, IScheduler yöntemine geçirilen arabirim bir IUMSScheduler arabirim olmalıdır.

yöntemi, parametrenin değeri NULL varsa veya parametre pScheduler iletişim arabirimi için geçerli bir sürüm değilse version bir invalid_argument özel durum oluşturur.

IResourceManager::Release Yöntemi

Resource Manager örneğindeki başvuru sayısını azaltma. Kaynak Yöneticisi, başvuru sayısı öğesine gittiğinde 0yok edilir.

virtual unsigned int Release() = 0;

Dönüş Değeri

Elde edilen başvuru sayısı.

Ayrıca bkz.

Eşzamanlılık Ad Alanı
ISchedulerProxy Yapısı
IScheduler Yapısı