Функция KeQueryDpcWatchdogInformation (wdm.h)
Подпрограмма KeQueryDpcWatchdogInformation возвращает значения таймера вызова отложенной процедуры (DPC) для текущего процессора.
Синтаксис
NTSTATUS KeQueryDpcWatchdogInformation(
[out] PKDPC_WATCHDOG_INFORMATION WatchdogInformation
);
Параметры
[out] WatchdogInformation
Указатель на структуру KDPC_WATCHDOG_INFORMATION , предоставляемую вызывающим абонентом. Подпрограмма записывает текущие значения таймера наблюдения DPC в эту структуру.
Возвращаемое значение
KeQueryDpcWatchdogInformation возвращает значение NTSTATUS. Возможные возвращаемые значения включают следующие коды состояния.
Код возврата | Описание |
---|---|
|
KeQueryDpcWatchdogInformation был вызван во время выполнения DPC на текущем процессоре. |
|
Текущий процессор не выполнял DPC при вызове KeQueryDpcWatchdogInformation . |
Комментарии
Подпрограмму KeQueryDpcWatchdogInformation можно вызвать из подпрограммы DPC или в DISPATCH_LEVEL IRQL= для определения времени, остающегося до истечения времени ожидания DPC. Операционная система реализует таймер наблюдения DPC, чтобы определить, когда одна подпрограмма DPC выполняется слишком долго или когда ряд подпрограмм DPC в очереди выполняется слишком долго. Если включены ошибки времени ожидания DPC и если одна из подпрограмм DPC превышает ограничение времени для одной подпрограммы или ряд подпрограмм DPC превышает совокупное время, проверка возникает ошибка DPC_WATCHDOG_VIOLATION (0x133).
KeQueryDpcWatchdogInformation должен вызываться во время выполнения DPC или вызова в irQL= DISPATCH_LEVEL или выше на текущем процессоре. В противном случае вызов завершается сбоем и возвращает STATUS_UNSUCCESSFUL.
Подпрограммы DPC должны выполняться только в течение кратковременных периодов и делегировать как можно больше обработки рабочим потокам. Чтобы избежать снижения скорости отклика системы, типичная подпрограмма DPC должна выполняться не более 100 микросекунд при каждом вызове. Дополнительные сведения см. в разделе Рекомендации по написанию процедур DPC.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |