Condividi tramite


Funzione StorPortQueryDpcWatchdogInformation (storport.h)

StorPortQueryDpcWatchdogInformation esegue una query sui valori timer del watchdog DPC per il processore corrente.

Sintassi

ULONG StorPortQueryDpcWatchdogInformation(
  [in]  PVOID                          HwDeviceExtension,
  [out] PSTOR_DPC_WATCHDOG_INFORMATION DpcWatchdogInformation
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo del miniport.

[out] DpcWatchdogInformation

Puntatore a una struttura STOR_DPC_WATCHDOG_INFORMATION in cui verranno scritte le informazioni del watchdog DPC.

Valore restituito

Questa funzione restituisce uno dei codici di stato seguenti.

Codice restituito Descrizione
STOR_STATUS_SUCCESS Query sulle informazioni del watchdog DPC.
STOR_STATUS_INVALID_PARAMETER Un parametro non è valido; Ad esempio, DpcWatchdogInformation è NULL.
STOR_STATUS_UNSUCCESSFUL Restituito per altri motivi di sistema interni.

Commenti

Un miniport può chiamare StorPortQueryDpcWatchdogInformation in IRQL=DISPATCH_LEVEL per determinare la quantità di tempo rimanente prima che si verifichi un timeout di chiamata di procedura posticipata (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).

StorPortQueryDpcWatchdogInformation deve essere chiamato mentre un DPC è in esecuzione o richiamato in IRQL= DISPATCH_LEVEL o versione successiva nel processore corrente. In caso contrario, la chiamata ha esito negativo e restituisce STOR_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 informazioni generali, vedere Linee guida per la scrittura di routine DPC.

Requisiti

Requisito Valore
Server minimo supportato Windows Server 2022
Intestazione storport.h
IRQL DISPATCH_LEVEL

Vedi anche

STOR_DPC_WATCHDOG_INFORMATION