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_LISTResourceTypeEventBufferPHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE 지정하는 형식 PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR 구조를 제공합니다.

이 콜백은 IRQL = PROFILE_LEVEL 호출됩니다. 즉, 항상 메모리 상주해야 합니다. 콜백은 가능한 한 빨리 반환되어야 하며 다음 중 어떤 작업도 시도해서는 안 됩니다.

  • 스핀 잠금을 획득하거나 해제합니다.

  • 메모리에 잠겨 있지 않은 페이징 풀에 액세스

  • 페이지 가능한 루틴을 호출합니다.

콜백은 HAL에서 처리되므로 오버플로 레지스터 지우기를 처리할 필요가 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1903
머리글 ntddk.h
IRQL PROFILE_LEVEL