Fonction KeSetTargetProcessorDpc (ntddk.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 numéro 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 DCP threads.
Un appel à KeSetTargetProcessorDpc qui se produit après qu’un objet DPC a été mis en file d’attente n’a aucun effet sur la sélection d’un processeur sur lequel la routine DPC doit 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 des 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 les versions antérieures de Windows, qui ne prennent pas en charge les groupes de processeurs. Dans cette implémentation, si Number est inférieur au nombre de processeurs logiques actifs dans le groupe 0, KeSetTargetProcessorDpc définit la cible pour le DPC sur le processeur dans le 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 | ntddk.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |