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 |