Metodo IWDFInterrupt::SetPolicy (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 SetPolicy specifica la priorità di interrupt, l'affinità del processore e i criteri di affinità per un interrupt specificato.
Sintassi
void SetPolicy(
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Parametri
[in] Policy
Enumeratore WDF_INTERRUPT_POLICYtipizzato che specifica un criterio di affinità del processore per l'interrupt.
[in] Priority
Enumeratore WDF_INTERRUPT_PRIORITYtipizzato che specifica una priorità per l'interrupt.
[in] TargetProcessorSet
Valore KAFFINITY-typed che specifica un'affinità del processore per l'interrupt, se il parametro policy è impostato su WdfIrqPolicySpecifiedProcessors.
Valore restituito
Nessuno
Osservazioni
A partire da Windows Vista, i driver possono specificare la priorità di un interrupt, l'affinità del processore e i criteri di affinità. Per altre informazioni su come usare il Registro di sistema per eseguire l'override dei valori impostati SetPolicy, vedere Interrupt Affinity and Priority.
Se un driver è in esecuzione in una versione del sistema operativo precedente a Windows Vista, il framework ignora i valori specificati dal driver quando chiama SetPolicy.
Per altre informazioni sui valori del Registro di sistema e le sezioni INF che specificano la priorità di un interrupt, l'affinità del processore e i criteri di affinità, vedere l'affinità di interruzione e la priorità.
Se un driver chiama SetPolicy, deve farlo nel relativo IDriverEntry::OnDeviceAdd funzione di callback, dopo aver chiamato il metodo IWDFDevice3::CreateInterrupt.
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 assegnato un interrupt di dispositivo al processore 0, con priorità normale.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
pIWdfInterrupt->SetPolicy(
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
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 |