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 |