функция обратного вызова PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER (ntddk.h)
Драйвер клиента реализует PPHYSICAL_COUNTER_OVERFLOW_HANDLER для обработки переполнения буфера событий из ресурсов счетчиков, полученных с помощью процедуры HalAllocateHardwareCounters .
Синтаксис
PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER PphysicalCounterEventBufferOverflowHandler;
void PphysicalCounterEventBufferOverflowHandler(
PVOID EventBuffer,
SIZE_T EntrySize,
SIZE_T NumberOfEntries,
HANDLE OwningHandle
)
{...}
Параметры
EventBuffer
Предоставляет указатель на буфер событий, содержащий записи событий.
EntrySize
Предоставляет размер отдельной записи события.
NumberOfEntries
Предоставляет количество доступных записей.
OwningHandle
Предоставляет handle , соответствующий набору ресурсов, к которому принадлежит буфер событий.
Возвращаемое значение
None
Remarks
Зарегистрируйте реализацию этой функции обратного вызова, вызвав HalAllocateHardwareCounters со структурой типа PHYSICAL_COUNTER_RESOURCE_LIST. В PHYSICAL_COUNTER_RESOURCE_LIST укажите структуру типа PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR , указывающую PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPEResourceTypeEventBuffer.
Этот обратный вызов вызывается в IRQL = PROFILE_LEVEL. Это означает, что он всегда должен быть резидентом памяти. Обратный вызов должен возвращаться как можно быстрее и не должен пытаться выполнить какие-либо из следующих действий.
Получение или освобождение спин-блокировок.
Доступ к постраничного пула, который не заблокирован в памяти
Вызов подпрограммы для страничных страниц.
Обратный вызов не требует очистки каких-либо регистров переполнения, так как он будет обрабатываться HAL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1903 |
Верхняя часть | ntddk.h |
IRQL | PROFILE_LEVEL |