Condividi tramite


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
STATUS_SUCCESS
KeQueryDpcWatchdogInformation è stato chiamato mentre un DPC era in esecuzione nel processore corrente.
STATUS_UNSUCCESSFUL
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

Vedi anche

KDPC_WATCHDOG_INFORMATION