Funzione KeQueryDpcWatchdogInformation (wdm.h)
La routine KeQueryDpcWatchdogInformation restituisce i valori del timer watchdog DPC (Deferred Procedure Call) per il processore corrente.
Sintassi
NTSTATUS KeQueryDpcWatchdogInformation(
[out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);
Parametri
[out] WatchdogInformation
Puntatore a una struttura di KDPC_WATCHDOG_INFORMATION fornita dal chiamante. La routine scrive i valori timer watchdog DPC correnti in questa struttura.
Valore restituito
KeQueryDpcWatchdogInformation restituisce un valore NTSTATUS. I valori restituiti possibili includono i codici di stato seguenti.
Codice restituito | Descrizione |
---|---|
|
KeQueryDpcWatchdogInformation è stato chiamato mentre un DPC era in esecuzione nel processore corrente. |
|
Il processore corrente non esegue un DPC quando è stato chiamato KeQueryDpcWatchdogInformation . |
Commenti
La routine KeQueryDpcWatchdogInformation può essere chiamata da una routine DPC o in un IRQL= DISPATCH_LEVEL per determinare la quantità di tempo rimanente prima che si verifichi un timeout DPC. Il sistema operativo implementa un timer watchdog DPC per rilevare quando viene eseguita una singola routine DPC per troppo tempo o quando una serie di routine DPC in coda esegue il back-to-back per troppo tempo. Se gli errori di timeout DPC sono abilitati e se una routine DPC supera il limite di tempo per una singola routine o una serie di routine DPC supera il limite di tempo di aggregazione, si verifica un controllo bug DPC_WATCHDOG_VIOLATION (0x133).
KeQueryDpcWatchdogInformation deve essere chiamato mentre un DPC è in esecuzione o richiamato in un IRQL= DISPATCH_LEVEL o superiore nel processore corrente. In caso contrario, la chiamata ha esito negativo e restituisce STATUS_UNSUCCESSFUL.
Le routine DPC devono essere eseguite solo per brevi periodi e devono delegare la maggior parte dell'elaborazione possibile ai thread di lavoro. Per evitare una riduzione della velocità di risposta del sistema, una routine DPC tipica deve essere eseguita per non più di 100 microsecondi ogni volta che viene chiamata. Per altre informazioni, vedere Linee guida per la scrittura di routine DPC.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |