Méthode IWDFInterrupt ::SetPolicy (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

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

Syntaxe

void SetPolicy(
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

Paramètres

[in] Policy

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

[in] Priority

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

[in] TargetProcessorSet

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

Valeur de retour

None

Remarques

À partir de Windows Vista, les pilotes peuvent spécifier la priorité, l’affinité processeur et la stratégie d’affinité d’une interruption. Pour plus d’informations sur l’utilisation du Registre pour remplacer les valeurs définies par SetPolicy , consultez Interrompre l’affinité et la priorité.

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

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

Si un pilote appelle SetPolicy, il doit le faire dans sa fonction de rappel IDriverEntry ::OnDeviceAdd , après avoir appelé la méthode IWDFDevice3 ::CreateInterrupt .

Pour plus d’informations sur la gestion des interruptions dans les pilotes UMDF, consultez Accès au matériel et Gestion des interruptions.

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))

pIWdfInterrupt->SetPolicy(
                          WdfIrqPolicySpecifiedProcessors,
                          WdfIrqPriorityNormal,
                          AFFINITY_MASK(0)
                          );

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.11
En-tête wudfddi.h
DLL WUDFx.dll

Voir aussi

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY