Condividi tramite


PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER funzione di callback (ntddk.h)

Il PPHYSICAL_COUNTER_OVERFLOW_HANDLER viene implementato dal driver client per gestire gli overflow del buffer degli eventi dalle risorse dei contatori acquisite tramite la routine HalAllocateHardwareCounters .

Sintassi

PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER PphysicalCounterEventBufferOverflowHandler;

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

Parametri

EventBuffer

Fornisce un puntatore al buffer eventi contenente le voci dell'evento.

EntrySize

Fornisce le dimensioni di una singola voce di evento.

NumberOfEntries

Fornisce il numero di voci disponibili.

OwningHandle

Fornisce l'handle corrispondente al set di risorse a cui appartiene il buffer eventi.

Valore restituito

nessuno

Osservazioni

Registrare l'implementazione di questa funzione di callback chiamando HalAllocateHardwareCounters con una struttura di tipo PHYSICAL_COUNTER_RESOURCE_LIST. Nella PHYSICAL_COUNTER_RESOURCE_LIST specificare una struttura di tipo PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR che specifica una PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE di ResourceTypeEventBuffer.

Questo callback viene chiamato in IRQL = PROFILE_LEVEL. Ciò significa che deve essere sempre residente in memoria. Il callback deve restituire il più rapidamente possibile e non deve tentare di eseguire una delle operazioni seguenti.

  • Acquisire o rilasciare blocchi di selezione.

  • Pool con paging di accesso non bloccato in memoria

  • Chiamare una routine di paging.

Il callback non deve gestire la cancellazione dei registri di overflow perché verrà gestito da HAL.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1903
Intestazione ntddk.h
IRQL PROFILE_LEVEL