IExecutionResource::Remove, méthode
Retourne cette ressource d'exécution au Gestionnaire de ressources.
virtual void Remove(
_Inout_ IScheduler * pScheduler
) =0;
Paramètres
- pScheduler
Interface au planificateur qui fait la demande de suppression de cette ressource d'exécution.
Notes
Utilisez cette méthode pour retourner des ressources d'exécution autonomes ainsi que les ressources d'exécution associées aux racines de processeur virtuel au Gestionnaire des ressources.
S'il s'agit d'une ressource d'exécution autonome que vous avez obtenue de l'une ou l'autre des méthodes ISchedulerProxy::SubscribeCurrentThread ou ISchedulerProxy::RequestInitialVirtualProcessors, l'appel de la méthode Remove mettra fin à l'abonnement de thread pour la représentation duquel la ressource a été créée. Vous devez terminer tous les abonnements de thread avant d'arrêter un proxy de planificateur et vous devez appeler Remove à partir du thread qui a créé l'abonnement.
Des racines de processeur virtuel peuvent également être retournées au Gestionnaire de ressources en appelant la méthode Remove, car l'interface IVirtualProcessorRoot hérite de l'interface IExecutionResource. Vous devrez peut-être retourner une racine de processeur virtuel en réponse à un appel à la méthode IScheduler::RemoveVirtualProcessors, ou lorsque vous avez fini avec une racine de processeur virtuel surabonnée obtenue à partir de la méthode ISchedulerProxy::CreateOversubscriber. Pour les racines de processeur virtuel, il n'y a pas de restrictions sur lesquelles le thread peut appeler la méthode Remove.
invalid_argument est levé si le paramètre pScheduler est NULL.
invalid_operation est levé si le paramètre pScheduler est différent du planificateur pour lequel cette ressource d'exécution a été créée, ou, avec une ressource d'exécution autonome, si le thread actuel est différent du thread qui a créé l'abonnement de thread.
Configuration requise
En-tête : concrtrm.h
Espace de noms : concurrency