Funzione KeSetImportanceDpc (wdm.h)
La routine KeSetImportanceDpc specifica quanto presto viene eseguita la 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 a elaborare immediatamente la coda. MediumImportance è il valore predefinito per l'importanza.
MediumHighImportance
Posizionare il DPC alla fine della coda DPC e iniziare a elaborare immediatamente la coda. MediumHighImportance è disponibile solo in Windows Vista e versioni successive di Windows.
HighImportance
Posizionare il DPC all'inizio della coda DPC e iniziare a elaborare immediatamente la coda.
Valore restituito
nessuno
Osservazioni
La routine KeSetImportanceDpc influisce sul modo in cui viene eseguito un DPC dopo la coda determinando:
- Posizione del DPC all'interno della coda DPC. In genere, le routine KeInsertQueueDpc e IoRequestDpc inserisce un DPC alla fine della coda. Se un driver chiama prima KeSetImportanceDpc con Importanza = HighImportance, KeInsertQueueDpc e IoRequestDpc posiziona il DPC all'inizio della coda.
- Quando il sistema inizia a elaborare la coda DPC. In genere, KeInsertQueueDpc e IoRequestDpc iniziano 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, è possibile usare KeSetImportanceDpc per i controller di dominio thread. Se il chiamante imposta Importanza su HighImportance, il DPC viene posizionato all'inizio della coda; in caso contrario, viene posizionato alla fine. La routine non influisce quando viene elaborata la coda DPC threaded. I DPC threadati vengono sempre elaborati da un thread dedicato in IRQL = PASSIVE_LEVEL. Per altre informazioni sui controller di dominio con thread, vedere Introduzione ai DPC thread.
Si noti che un driver deve chiamare KeSetImportanceDpc prima di chiamare KeInsertQueueDpc e IoRequestDpc per avere alcun effetto.
Per altre informazioni su come il sistema elabora la coda DPC, vedere Organizzazione delle code DPC.
Requisiti
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 |