Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
StorPortQueryDpcWatchdogInformation queries DPC watchdog timer values for the current processor.
Syntax
ULONG StorPortQueryDpcWatchdogInformation(
[in] PVOID HwDeviceExtension,
[out] PSTOR_DPC_WATCHDOG_INFORMATION DpcWatchdogInformation
);
Parameters
[in] HwDeviceExtension
A pointer to the miniport's device extension.
[out] DpcWatchdogInformation
Pointer to a STOR_DPC_WATCHDOG_INFORMATION structure in which the DPC watchdog information will be written.
Return value
This function returns one of the following status codes.
Return code | Description |
---|---|
STOR_STATUS_SUCCESS | The DPC watchdog information was successfully queried. |
STOR_STATUS_INVALID_PARAMETER | A parameter is invalid; for example, DpcWatchdogInformation is NULL. |
STOR_STATUS_UNSUCCESSFUL | Returned for other internal system reasons. |
Remarks
A miniport can call StorPortQueryDpcWatchdogInformation at IRQL=DISPATCH_LEVEL to determine the amount of time that remains before a deferred procedure call (DPC) time-out occurs. The operating system implements a DPC watchdog timer to detect when a single DPC routine runs for too long, or when a series of queued DPC routines runs back-to-back for too long. If DPC time-out errors are enabled, and if either a DPC routine exceeds the time limit for a single routine, or a series of DPC routines exceeds the aggregate time limit, a DPC_WATCHDOG_VIOLATION (0x133) bug check occurs.
StorPortQueryDpcWatchdogInformation must be called while a DPC is running or invoked at IRQL= DISPATCH_LEVEL or higher on the current processor. Otherwise, the call fails and returns STOR_STATUS_UNSUCCESSFUL.
DPC routines should run only for brief periods, and should delegate as much processing as possible to worker threads. To avoid degrading system responsiveness, a typical DPC routine should run for no more than 100 microseconds each time it is called. For general information, see Guidelines for Writing DPC Routines.
Requirements
Requirement | Value |
---|---|
Minimum supported server | Windows Server 2022 |
Header | storport.h |
IRQL | DISPATCH_LEVEL |