KeSetTargetProcessorDpc, fonction (wdm.h)
La routine KeSetTargetProcessorDpc spécifie le processeur sur lequel une routine DPC sera exécutée.
Syntaxe
void KeSetTargetProcessorDpc(
[in, out] PRKDPC Dpc,
[in] CCHAR Number
);
Paramètres
[in, out] Dpc
Pointeur vers l’objet DPC de l’appelant, que KeInitializeDpc a déjà initialisé.
[in] Number
Spécifie le nombre de base zéro du processeur cible sur lequel la DPC doit être mise en file d’attente et exécutée.
Valeur de retour
None
Remarques
Sur les systèmes multiprocesseurs, chaque processeur a sa propre file d’attente DPC. La routine KeSetTargetProcessorDpc spécifie la file d’attente du processeur que le système doit utiliser lorsque le pilote appelle KeInsertQueueDpc ou IoRequestDpc pour mettre en file d’attente un DPC à exécuter ultérieurement.
À compter de Windows Vista, vous pouvez également utiliser KeSetTargetProcessorDpc pour spécifier le processeur cible pour les contrôleurs de domaine avec threads.
Un appel à KeSetTargetProcessorDpcEx qui se produit après la mise en file d’attente d’un objet DPC n’a aucun effet sur la sélection d’un processeur pour la routine DPC sur laquelle s’exécuter. Pour contrôler la sélection du processeur cible, un appel KeSetTargetProcessorDpc doit se produire avant l’appel à KeInsertQueueDpc ou IoRequestDpc qui met en file d’attente l’objet DPC.
Pour plus d’informations sur les files d’attente DPC, consultez Organisation des files d’attente DPC.
Windows 7 et versions ultérieures de Windows prennent en charge les groupes de processeurs. Les pilotes conçus pour gérer les informations sur les groupes de processeurs doivent utiliser la routine KeSetTargetProcessorDpcEx , qui spécifie un groupe de processeurs, au lieu de KeSetTargetProcessorDpc, ce qui n’est pas le cas. Toutefois, l’implémentation de KeSetTargetProcessorDpc dans Windows 7 et les versions ultérieures de Windows fournit la compatibilité pour les pilotes qui ont été écrits pour des versions antérieures de Windows, qui ne prennent pas en charge les groupes de processeurs. Dans cette implémentation, si Nombre est inférieur au nombre de processeurs logiques actifs dans le groupe 0, KeSetTargetProcessorDpc définit la cible pour la DPC sur le processeur du groupe 0 spécifié par Number. Sinon, la cible DPC ne change pas.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |