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. 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

Vedere anche

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY