Partager via


WdfInterruptSetPolicy, fonction (wdfinterrupt.h)

[S’applique à KMDF et UMDF]

La méthode WdfInterruptSetPolicy spécifie la priorité d’interruption, l’affinité du processeur et la stratégie d’affinité pour une interruption spécifiée.

Syntaxe

VOID WdfInterruptSetPolicy(
  [in] WDFINTERRUPT           Interrupt,
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

Paramètres

[in] Interrupt

Handle vers un objet d’interruption de framework.

[in] Policy

Énumérateur WDF_INTERRUPT_POLICY-typé qui spécifie une stratégie d’affinité du processeur pour l’interruption.

[in] Priority

Énumérateur WDF_INTERRUPT_PRIORITY-typé qui spécifie une priorité pour l’interruption.

[in] TargetProcessorSet

Valeur KAFFINITY-typée qui spécifie une affinité de processeur pour l’interruption, si le paramètre Policy est défini sur WdfIrqPolicySpecifiedProcessors.

Valeur de retour

Aucun

Remarques

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Windows Vista et versions ultérieures du système d’exploitation permettent aux pilotes de spécifier la priorité, l’affinité du processeur et la stratégie d’affinité d’une interruption. Pour plus d’informations sur l’utilisation du Registre pour remplacer les valeurs qui ensembles WdfInterruptSetPolicy, consultez Affinité d’interruption etde priorité.

Si un pilote s’exécute sur une version du système d’exploitation antérieure à Windows Vista, l’infrastructure ignore les valeurs spécifiées par le pilote lorsqu’il appelle WdfInterruptSetPolicy.

Pour plus d’informations sur les valeurs de Registre et les sections INF qui spécifient la priorité, l’affinité processeur et la stratégie d’affinité d’interruption, consultez Affinité d’interruption et.

Si un pilote appelle WdfInterruptSetPolicy, il le fait généralement dans sa fonction de rappel EvtDriverDeviceAdd, après avoir appelé WdfInterruptCreate.

Si votre pilote crée des interruptions dans EvtDevicePrepareHardware, n’utilisez pas WdfInterruptSetPolicy ou WdfInterruptSetExtendedPolicy. Au lieu de cela, appliquez une stratégie dans EvtDeviceFilterAddResourceRequirements, en manipulant directement l’exigence de ressource d’interruption que cette fonction de rappel reçoit dans son paramètre IoResourceRequirementsList.

Pour plus d’informations sur la gestion des interruptions dans les pilotes basés sur l’infrastructure, consultez Gestion des interruptions matérielles.

Exemples

L’exemple de code suivant affecte une interruption d’appareil au processeur 0, avec une priorité normale.

#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))

WdfInterruptSetPolicy(
                      Interrupt,
                      WdfIrqPolicySpecifiedProcessors,
                      WdfIrqPriorityNormal,
                      AFFINITY_MASK(0)
                      );

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdfinterrupt.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
règles de conformité DDI DriverCreate(kmdf)

Voir aussi

EvtDriverDeviceAdd

WdfInterruptCreate

WdfInterruptSetExtendedPolicy