Funzione KeSetImportanceDpc (wdm.h)
La routine KeSetImportanceDpc specifica il tempo di esecuzione della routine DPC.
Sintassi
void KeSetImportanceDpc(
[in, out] PRKDPC Dpc,
[in] KDPC_IMPORTANCE Importance
);
Parametri
[in, out] Dpc
Puntatore all'oggetto DPC del chiamante, che KeInitializeDpc già inizializzato.
[in] Importance
Specifica uno dei valori definiti dal sistema seguenti per determinare il comportamento di KeInsertQueueDpc e IoRequestDpc quando una delle routine viene usata per accodare il DPC.
LowImportance
Posizionare il DPC alla fine della coda DPC e non iniziare l'elaborazione della coda.
MediaImportanza
Posizionare il DPC alla fine della coda DPC. Se il DPC viene assegnato alla coda DPC del processore corrente, iniziare immediatamente l'elaborazione della coda. MediumImportance è il valore predefinito per Importance.
MediumHighImportance
Posizionare il DPC alla fine della coda DPC e iniziare immediatamente l'elaborazione della coda. MediumHighImportance è disponibile solo in Windows Vista e versioni successive di Windows.
HighImportance
Posizionare il DPC all'inizio della coda DPC e iniziare immediatamente a elaborare la coda.
Valore restituito
Nessuno
Osservazioni
La routine KeSetImportanceDpc influenza il tempo di esecuzione di un DPC dopo la coda determinando:
- Posizione del DPC all'interno della coda DPC. In genere, le routine KeInsertQueueDpc e IoRequestDpc posizionano un DPC alla fine della coda. Se un driver chiama prima KeSetImportanceDpc con Importance = HighImportance, KeInsertQueueDpc e IoRequestDpc inserirà il DPC all'inizio della coda.
- Quando il sistema inizia a elaborare la coda DPC. In genere, KeInsertQueueDpc e IoRequestDpc iniziare immediatamente a elaborare la coda DPC per il processore corrente. I driver possono specificare valori diversi per importanza per modificare questo comportamento.
Per Windows Vista e versioni successive del sistema operativo Windows, puoi usare KeSetImportanceDpc per i CONTROLLER di dominio thread. Se il chiamante imposta Importance su HighImportance, il DPC viene posizionato all'inizio della coda; in caso contrario, viene posizionato alla fine. La routine non influisce sull'elaborazione della coda DPC threaded. I CONTROLLER di dominio threadati vengono sempre elaborati da un thread dedicato in IRQL = PASSIVE_LEVEL. Per altre informazioni sui controller di dominio threadati, vedere Introduzione ai CONTROLLER di dominio con thread.
Si noti che un driver deve chiamare KeSetImportanceDpc prima di chiamare KeInsertQueueDpc e IoRequestDpc per avere alcun effetto.
Per altre informazioni sull'elaborazione della coda DPC da parte del sistema, vedere 'organizzazione delle code DPC.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | Qualsiasi livello |