Metodo IWDFInterrupt::SetExtendedPolicy (wudfddi.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedi Introduzione a UMDF.]
Il metodo SetExtendedPolicy specifica la priorità di interrupt, l'affinità del processore, i criteri di affinità e il gruppo di processori per un interrupt specificato.
Sintassi
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Parametri
[in] PolicyAndGroup
Puntatore a una struttura di WDF_INTERRUPT_EXTENDED_POLICY allocata dal chiamante precedentemente inizializzata dal driver chiamando WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Valore restituito
Nessuno
Osservazioni
Questo metodo equivale a WdfInterruptSetExtendedPolicydi KMDF. Per altre informazioni su questo metodo, vedere la sezione Osservazioni di WdfInterruptSetExtendedPolicy.
Se un driver è in esecuzione in una versione del sistema operativo precedente a Windows 7, il framework ignora il valore specificato dal driver per il numero del gruppo di processori quando chiama SetExtendedPolicy.
Per altre informazioni sulla gestione degli interrupt nei driver UMDF, vedere Accesso all'hardware e alla gestione degli interrupt.
Esempi
Nell'esempio di codice seguente viene chiamato WDF_INTERRUPT_EXTENDED_POLICY_INIT per inizializzare una struttura WDF_INTERRUPT_EXTENDED_POLICY; imposta i valori per i criteri, la priorità e il set di processori di destinazione; e chiama SetExtendedPolicy. Nell'esempio viene impostata la priorità normale per l'interrupt e viene assegnato l'interrupt al processore 0 nel gruppo di processori 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
);
Fabbisogno
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
piattaforma di destinazione | Desktop |
versione minima di UMDF | 1.11 |
intestazione | wudfddi.h |
dll | WUDFx.dll |