Partager via


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.
Par défaut, les contrôleurs de domaine sont affectés à la file d’attente DPC pour le processeur actuel. Par conséquent, la spécification MediumImportance ou MediumHighImportance pour Importance a le même effet. Toutefois, les pilotes peuvent utiliser KeSetTargetProcessorDpc pour modifier le processeur auquel la DPC sera affectée.

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

Voir aussi

IoRequestDpc

KeInitializeDpc

KeInsertQueueDpc

KeSetTargetProcessorDpc

KeSynchronizeExecution