KeSetImportanceDpc, fonction (wdm.h)
La routine KeSetImportanceDpc spécifie la date d’exécution de la routine DPC.
Syntaxe
void KeSetImportanceDpc(
[in, out] PRKDPC Dpc,
[in] KDPC_IMPORTANCE Importance
);
Paramètres
[in, out] Dpc
Pointeur vers l’objet DPC de l’appelant, qui KeInitializeDpc déjà initialisé.
[in] Importance
Spécifie l’une des valeurs définies par le système suivantes pour déterminer le comportement de KeInsertQueueDpc et IoRequestDpc lorsque l’une ou l’autre routine est utilisée pour mettre en file d’attente le DPC.
LowImportance
Placez le DPC à la fin de la file d’attente DPC et ne commencez pas le traitement de la file d’attente.
MediumImportance
Placez la DPC à la fin de la file d’attente DPC. Si la DPC est affectée à la file d’attente DPC du processeur actuel, commencez à traiter la file d’attente immédiatement. MediumImportance est la valeur par défaut de Importance.
MediumHighImportance
Placez le DPC à la fin de la file d’attente DPC et commencez à traiter la file d’attente immédiatement. MediumHighImportance est disponible uniquement sur Windows Vista et les versions ultérieures de Windows.
HighImportance
Placez le DPC au début de la file d’attente DPC et commencez à traiter la file d’attente immédiatement.
Valeur de retour
Aucun
Remarques
La routine KeSetImportanceDpc influence la date à laquelle une DPC est exécutée après qu’elle est mise en file d’attente en déterminant :
- Emplacement du DPC dans la file d’attente DPC. En règle générale, les routines KeInsertQueueDpc et IoRequestDpc placent une DPC à la fin de la file d’attente. Si un pilote appelle d’abord KeSetImportanceDpc avec Importance = HighImportance, KeInsertQueueDpc et IoRequestDpc place le DPC au début de la file d’attente.
- Lorsque le système commence à traiter la file d’attente DPC. En règle générale, KeInsertQueueDpc et IoRequestDpc commencent immédiatement à traiter la file d’attente DPC pour le processeur actuel. Les pilotes peuvent spécifier différentes valeurs pour 'importance pour modifier ce comportement.
Pour Windows Vista et les versions ultérieures du système d’exploitation Windows, vous pouvez utiliser KeSetImportanceDpc pour les contrôleurs de domaine thread. Si l’appelant définit Importance sur HighImportance, le DPC est placé au début de la file d’attente ; sinon, elle est placée à la fin. La routine n’affecte pas le traitement de la file d’attente DPC threadée. Les contrôleurs de domaine thread sont toujours traités par un thread dédié à IRQL = PASSIVE_LEVEL. Pour plus d’informations sur les DPCs threadés, consultez Présentation des DPCs threaded.
Notez qu’un pilote doit appeler KeSetImportanceDpc avant d’appeler KeInsertQueueDpc et IoRequestDpc pour avoir un effet.
Pour plus d’informations sur la façon dont le système traite la file d’attente DPC, consultez Organisation des files d’attente DPC.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |