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. 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 SetPolicy specifica la priorità di interruzione, l'affinità del processore e i criteri di affinità per un interruzione specificato.
Sintassi
void SetPolicy(
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Parametri
[in] Policy
Enumeratore WDF_INTERRUPT_POLICY tipizzato che specifica un criterio di affinità del processore per l'interruzione.
[in] Priority
Enumeratore WDF_INTERRUPT_PRIORITY tipizzato che specifica una priorità per l'interruzione.
[in] TargetProcessorSet
Valore tipizzato KAFFINITY che specifica un'affinità del processore per l'interruzione, 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 da SetPolicy , vedere L'affinità di interruzione e la priorità.
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 sulle sezioni INF che specificano la priorità, l'affinità del processore e i criteri di affinità, vedere Interruzione affinità e priorità.
Se un driver chiama SetPolicy, deve farlo nella relativa funzione IDriverEntry::OnDeviceAdd callback, dopo aver chiamato il metodo IWDFDevice3::CreateInterrupt .
Per altre informazioni sulla gestione degli interruzioni nei driver UMDF, vedere Accesso agli interruzioni hardware e gestione.
Esempio
Nell'esempio di codice seguente viene assegnato un interruzione del dispositivo al processore 0, con priorità normale.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
pIWdfInterrupt->SetPolicy(
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
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 |