Funzione KeSetImportanceDpc (ntddk.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 ha 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.
MediumImportance
Posizionare il DPC alla fine della coda DPC. Se il DPC viene assegnato alla coda DPC del processore corrente, iniziare immediatamente a elaborare la coda. MediumImportance è il valore predefinito per Importance.
MediumHighImportance
Posizionare il DPC alla fine della coda DPC e iniziare immediatamente a elaborare la 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 influisce sulla frequenza 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 inserisce 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 Importance 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 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 DPC in thread vengono sempre elaborati da un thread dedicato in IRQL = PASSIVE_LEVEL. Per altre informazioni sui DPC thread, vedere Introduzione ai DPC 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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | ntddk.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualsiasi livello |