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 ,以确定在发生超时 (D) PC 延迟过程调用之前剩余的时间量。 操作系统实现 DPC 监视程序计时器,以检测单个 DPC 例程运行时间过长,或一系列排队的 DPC 例程运行时间过长。 如果启用了 DPC 超时错误,并且 DPC 例程超过单个例程的时间限制,或者一系列 DPC 例程超出聚合时间限制,则会发生DPC_WATCHDOG_VIOLATION (0x133) bug 检查。
当 DPC 在当前处理器上以 IRQL= DISPATCH_LEVEL 或更高版本运行或调用时,必须调用 StorPortQueryDpcWatchdogInformation。 否则,调用将失败并返回STOR_STATUS_UNSUCCESSFUL。
DPC 例程应仅在短时间内运行,并应将尽可能多的处理委托给工作线程。 为了避免降低系统响应能力,典型的 DPC 例程每次调用时应运行不超过 100 微秒。 有关常规信息,请参阅 编写 DPC 例程的指南。
要求
要求 | 值 |
---|---|
最低受支持的服务器 | Windows Server 2022 |
标头 | storport.h |
IRQL | DISPATCH_LEVEL |