PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER função de retorno de chamada (ntddk.h)

O PPHYSICAL_COUNTER_OVERFLOW_HANDLER é implementado pelo driver do cliente para lidar com estouros de buffer de eventos dos recursos de contadores adquiridos por meio da rotina HalAllocateHardwareCounters .

Sintaxe

PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER PphysicalCounterEventBufferOverflowHandler;

void PphysicalCounterEventBufferOverflowHandler(
  PVOID EventBuffer,
  SIZE_T EntrySize,
  SIZE_T NumberOfEntries,
  HANDLE OwningHandle
)
{...}

Parâmetros

EventBuffer

Fornece um ponteiro para o buffer de eventos que contém as entradas de evento.

EntrySize

Fornece o tamanho de uma entrada de evento individual.

NumberOfEntries

Fornece o número de entradas disponíveis.

OwningHandle

Fornece o HANDLE correspondente ao conjunto de recursos ao qual o buffer de eventos pertence.

Retornar valor

Nenhum

Comentários

Registre sua implementação dessa função de retorno de chamada chamando HalAllocateHardwareCounters com uma estrutura do tipo PHYSICAL_COUNTER_RESOURCE_LIST. No PHYSICAL_COUNTER_RESOURCE_LIST, forneça uma estrutura do tipo PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR que especifica um PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE de ResourceTypeEventBuffer.

Esse retorno de chamada é chamado em IRQL = PROFILE_LEVEL. Isso significa que ele deve sempre ser residente em memória. O retorno de chamada deve retornar o mais rápido possível e não deve tentar fazer nada do seguinte.

  • Adquirir ou liberar bloqueios de rotação.

  • Acessar o pool paginado que não está bloqueado na memória

  • Chame uma rotina paginável.

O retorno de chamada não precisa lidar com a limpeza de nenhum registro de estouro, pois ele será tratado pelo HAL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1903
Cabeçalho ntddk.h
IRQL PROFILE_LEVEL