Condividi tramite


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

Vedere anche

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT