StorPortQueryDpcWatchdogInformation 函数 (storport.h)

StorPortQueryDpcWatchdogInformation 查询当前处理器的 DPC 监视器计时器值。

语法

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

参数

[in] HwDeviceExtension

指向微型端口设备扩展的指针。

[out] DpcWatchdogInformation

指向将写入 DPC 监视器信息的 STOR_DPC_WATCHDOG_INFORMATION 结构的指针。

返回值

此函数返回以下状态代码之一。

返回代码 描述
STOR_STATUS_SUCCESS 已成功查询 DPC 监督程序信息。
STOR_STATUS_INVALID_PARAMETER 参数无效;例如,DpcWatchdogInformation 为 NULL。
STOR_STATUS_UNSUCCESSFUL 出于其他内部系统原因返回。

言论

微型端口可以在 IRQL=DISPATCH_LEVEL 调用 StorPortQueryDpcWatchdogInformation 来确定延迟过程调用 (DPC) 超时之前保留的时间量。 作系统实现 DPC 监视器计时器,以检测单个 DPC 例程何时运行太长,或者当一系列排队的 DPC 例程运行时间过长时。 如果启用了 DPC 超时错误,并且 DPC 例程超过单个例程的时间限制,或者一系列 DPC 例程超过聚合时间限制,则会发生 DPC_WATCHDOG_VIOLATION(0x133) bug 检查。

在当前处理器上的 IRQL= DISPATCH_LEVEL 或更高版本上运行或调用 DPC 时,必须调用 StorPortQueryDpcWatchdogInformation。 否则,调用将失败并返回STOR_STATUS_UNSUCCESSFUL。

DPC 例程应仅在短时间内运行,并且应尽可能多地将处理委托给工作线程。 为了避免降低系统响应能力,每次调用系统时,典型的 DPC 例程应运行不超过 100 微秒。 有关常规信息,请参阅 编写 DPC 例程指南。

要求

要求 价值
支持的最低服务器 Windows Server 2022
标头 storport.h
IRQL DISPATCH_LEVEL

另请参阅

STOR_DPC_WATCHDOG_INFORMATION