Функция 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 |