Funzione WdfInterruptSetPolicy (wdfinterrupt.h)
[Si applica a KMDF e UMDF]
Il metodo WdfInterruptSetPolicy specifica la priorità di interruzione, l'affinità del processore e i criteri di affinità per un interruzione specificato.
Sintassi
void WdfInterruptSetPolicy(
[in] WDFINTERRUPT Interrupt,
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Parametri
[in] Interrupt
Handle per un oggetto di interruzione del framework.
[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
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Windows Vista e versioni successive del sistema operativo consentono ai driver di specificare la priorità, l'affinità del processore e i criteri di affinità. Per informazioni su come usare il Registro di sistema per eseguire l'override dei valori impostati da WdfInterruptSetPolicy , vedere Interruzione affinità e 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 WdfInterruptSetPolicy.
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 WdfInterruptSetPolicy, in genere lo fa nella sua funzione EvtDriverDeviceAdd callback, dopo aver chiamato WdfInterruptCreate.
Se il driver crea interruzioni in EvtDevicePrepareHardware, non usare WdfInterruptSetPolicy o WdfInterruptSetExtendedPolicy. Applicare invece criteri in EvtDeviceFilterAddResourceRequirements, modificando direttamente il requisito di risorsa di interruzione che questa funzione di callback riceve nel relativo parametro IoResourceRequirementsList .
Per altre informazioni sulla gestione degli interruzioni nei driver basati su framework, vedere Gestione degli interruzioni hardware.
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))
WdfInterruptSetPolicy(
Interrupt,
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfinterrupt.h (include Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf) |