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

返回值

备注

通过使用 PHYSICAL_COUNTER_RESOURCE_LIST 类型的结构调用 HalAllocateHardwareCounters 来注册此回调函数的实现。 在PHYSICAL_COUNTER_RESOURCE_LIST中,提供类型为 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR 的结构,该结构指定 ResourceTypeEventBuffer的PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE

此回调在 IRQL = PROFILE_LEVEL 调用。 这意味着它必须始终驻留在内存中。 回调应尽快返回,不应尝试执行以下任何操作。

  • 获取或释放旋转锁。

  • 访问未在内存中锁定的分页池

  • 调用可分页例程。

回调不需要处理清除任何溢出寄存器,因为它将由 HAL 处理。

要求

要求
最低受支持的客户端 Windows 10 版本 1903
标头 ntddk.h
IRQL PROFILE_LEVEL