Condividi tramite


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

Vedi anche

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY