IResourceManager::RegisterScheduler-Methode

Registriert einen Planer beim Ressourcen-Manager. Sobald der Planer registriert wurde, sollte er mit dem Ressourcen-Manager über die zurückgegebene ISchedulerProxy-Schnittstelle kommunizieren.

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

Parameter

  • pScheduler
    Eine IScheduler-Schnittstelle zum Planer, der registriert werden soll.

  • version
    Die Version der Kommunikationsschnittstelle, mit der der Planer mit dem Ressourcen-Manager kommuniziert. Eine Version zu verwenden ermöglicht es dem Ressourcen-Manager, die Kommunikationsschnittstelle zu entwickeln, während Planer Zugriff auf ältere Funktionen erhalten können. Planer, die Ressourcen-Manager-Funktionen aus Visual Studio 2010 verwenden möchten, sollten die Version CONCRT_RM_VERSION_1 verwenden.

Rückgabewert

Die ISchedulerProxy-Schnittstelle, die der Ressourcen-Manager dem Planer zugeordnet hat. Der Planer sollte von diesem Punkt mithilfe dieser Schnittstelle mit dem Ressourcen-Manager kommunizieren.

Hinweise

Verwenden Sie diese Methode, um die Kommunikation mit dem Ressourcen-Manager zu initiieren. Die Methode ordnet die IScheduler-Schnittstelle für den Planer einer ISchedulerProxy-Schnittstelle zu und gibt sie zurück. Sie können mithilfe der zurückgegebenen Schnittstelle Ausführungsressourcen für die Verwendung durch den Planer anfordern oder Threads mit dem Ressourcen-Manager abonnieren. Der Ressourcen-Manager verwendet Richtlinienelemente der Planerrichtlinie, die von der IScheduler::GetPolicy-Methode zurückgegeben wurde, um zu bestimmen, welcher Typ von Thread vom Planer für die Arbeit benötigt wird. Wenn der SchedulerKind-Richtlinienschlüssel auf den Wert UmsThreadDefault festgelegt ist und der Wert als UmsThreadDefault aus der Richtlinie gelesen wird, muss die an die Methode übergebene IScheduler-Schnittstelle eine IUMSScheduler-Schnittstelle sein.

Die Methode löst eine invalid_argument-Ausnahme aus, wenn der Parameter pScheduler über den Wert NULL verfügt oder wenn der Parameter version keine gültige Version für die Kommunikationsschnittstelle ist.

Anforderungen

Header: concrtrm.h

Namespace: Concurrency

Siehe auch

Referenz

IResourceManager-Struktur

IScheduler-Struktur

ISchedulerProxy-Struktur

SchedulerPolicy-Klasse

PolicyElementKey-Enumeration