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