Поделиться через


Функция StorPortQueryDpcWatchdogInformation (storport.h)

StorPortQueryDpcWatchdogInformation запрашивает значения таймера наблюдения DPC для текущего процессора.

Синтаксис

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

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства мини-порта.

[out] DpcWatchdogInformation

Указатель на STOR_DPC_WATCHDOG_INFORMATION структуру, в которой будут записываться сведения о сторожевом элементе DPC.

Возвращаемое значение

Эта функция возвращает один из следующих кодов состояния.

Код возврата Описание
STOR_STATUS_SUCCESS Сведения о сторожевом элементе DPC были успешно запрошены.
STOR_STATUS_INVALID_PARAMETER Недопустимый параметр; например, DpcWatchdogInformation имеет значение NULL.
STOR_STATUS_UNSUCCESSFUL Возвращается по другим внутренним системным причинам.

Комментарии

Мини-порт может вызывать StorPortQueryDpcWatchdogInformation по адресу IRQL=DISPATCH_LEVEL, чтобы определить время, остающееся до истечения времени ожидания отложенного вызова процедуры (DPC). Операционная система реализует сторожевой таймер DPC, чтобы определить, когда одна подпрограмма DPC выполняется слишком долго или когда ряд подпрограмм DPC, помещенных в очередь, выполняется слишком долго. Если включены ошибки времени ожидания DPC и если подпрограмма DPC превышает ограничение времени для одной подпрограммы или ряд подпрограмм DPC превышает совокупный предел времени, DPC_WATCHDOG_VIOLATION (0x133) возникает ошибка проверка.

StorPortQueryDpcWatchdogInformation должен вызываться при выполнении DPC или в irQL= DISPATCH_LEVEL или более поздней версии на текущем процессоре. В противном случае вызов завершается ошибкой и возвращает STOR_STATUS_UNSUCCESSFUL.

Подпрограммы DPC должны выполняться только в течение коротких периодов времени и делегировать как можно больше обработки рабочим потокам. Чтобы избежать снижения скорости отклика системы, при каждом вызове обычной подпрограммы DPC должно выполняться не более 100 микросекунд. Общие сведения см. в статье Руководство по написанию подпрограмм DPC.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть storport.h
IRQL DISPATCH_LEVEL

См. также раздел

STOR_DPC_WATCHDOG_INFORMATION