IWDFInterrupt ::SetExtendedPolicy, méthode (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]
La méthode SetExtendedPolicy spécifie la priorité d’interruption, l’affinité du processeur, la stratégie d’affinité et le groupe de processeurs pour une interruption spécifiée.
Syntaxe
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Paramètres
[in] PolicyAndGroup
Pointeur vers une structure WDF_INTERRUPT_EXTENDED_POLICY allouée par l’appelant que le pilote a précédemment initialisée en appelant WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Valeur de retour
Aucun
Remarques
Cette méthode équivaut au WdfInterruptSetExtendedPolicyDE KMDF. Pour plus d’informations sur cette méthode, consultez la section Remarques de WdfInterruptSetExtendedPolicy.
Si un pilote s’exécute sur une version du système d’exploitation antérieure à Windows 7, l’infrastructure ignore la valeur spécifiée par le pilote pour le numéro de groupe de processeur lorsqu’il appelle SetExtendedPolicy.
Pour plus d’informations sur la gestion des interruptions dans les pilotes UMDF, consultez Accès aux interruptions matérielles et de gestion des interruptions.
Exemples
L’exemple de code suivant appelle WDF_INTERRUPT_EXTENDED_POLICY_INIT pour initialiser une structure de WDF_INTERRUPT_EXTENDED_POLICY ; définit des valeurs pour le jeu de processeurs de stratégie, de priorité et de cible ; et appelle SetExtendedPolicy. L’exemple définit la priorité normale pour l’interruption et affecte l’interruption au processeur 0 dans le groupe de processeurs 2.
IWDFInterrupt* pInterrupt;
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;
WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;
pInterrupt->SetExtendedPolicy(
&myExtendedPolicy
);
Exigences
Exigence | Valeur |
---|---|
fin du support | Indisponible dans UMDF 2.0 et versions ultérieures. |
plateforme cible | Bureau |
version minimale de UMDF | 1.11 |
d’en-tête | wudfddi.h |
DLL | WUDFx.dll |