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. Nessuna nuova funzionalità viene aggiunta 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, vedere Introduzione con UMDF.]

Il metodo SetExtendedPolicy specifica la priorità di interruzione, l'affinità del processore, i criteri di affinità e il gruppo di processori per un interruzione specificato.

Sintassi

void SetExtendedPolicy(
  [in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);

Parametri

[in] PolicyAndGroup

Puntatore a una struttura WDF_INTERRUPT_EXTENDED_POLICY allocata dal chiamante che il driver ha in precedenza inizializzato chiamando WDF_INTERRUPT_EXTENDED_POLICY_INIT.

Valore restituito

nessuno

Osservazioni

Questo metodo equivale a WdfInterruptSetExtendedPolicy di 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 di gruppo del processore quando chiama SetExtendedPolicy.

Per altre informazioni sulla gestione degli interruzioni nei driver UMDF, vedere Accesso agli interruzioni hardware e gestione.

Esempio

L'esempio di codice seguente chiama WDF_INTERRUPT_EXTENDED_POLICY_INIT per inizializzare una struttura WDF_INTERRUPT_EXTENDED_POLICY ; imposta i valori per il set di processori criteri, priorità e destinazione; e chiama SetExtendedPolicy. L'esempio imposta la priorità normale per l'interruzione e assegna l'interruzione al processore 0 nel gruppo di processore 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
 );

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1.11
Intestazione wudfddi.h
DLL WUDFx.dll

Vedi anche

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT