Freigeben über


PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER Rückruffunktion (ntddk.h)

Die PPHYSICAL_COUNTER_OVERFLOW_HANDLER wird vom Clienttreiber implementiert, um Ereignispufferüberläufe von den Leistungsindikatorenressourcen zu verarbeiten, die über die HalAllocateHardwareCounters Routine abgerufen werden.

Syntax

PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER PphysicalCounterEventBufferOverflowHandler;

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

Parameter

EventBuffer

Stellt einen Zeiger auf den Ereignispuffer bereit, der die Ereigniseinträge enthält.

EntrySize

Stellt die Größe eines einzelnen Ereigniseintrags bereit.

NumberOfEntries

Stellt die Anzahl der verfügbaren Einträge bereit.

OwningHandle

Stellt die HANDLE- bereit, die dem Ressourcensatz entspricht, zu dem der Ereignispuffer gehört.

Rückgabewert

Nichts

Bemerkungen

Registrieren Sie ihre Implementierung dieser Rückruffunktion, indem Sie HalAllocateHardwareCounters mit einer Struktur vom Typ PHYSICAL_COUNTER_RESOURCE_LISTaufrufen. Geben Sie in der PHYSICAL_COUNTER_RESOURCE_LISTeine Struktur vom Typ PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR an, die einen PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE von ResourceTypeEventBuffer-angibt.

Dieser Rückruf wird bei IRQL = PROFILE_LEVEL aufgerufen. Dies bedeutet, dass es immer speicherresident sein muss. Der Rückruf sollte so schnell wie möglich zurückgegeben werden und sollte nicht versuchen, eine der folgenden Aktionen auszuführen.

  • Erwerben oder Freigeben von Drehsperren.

  • Zugriff auf seitenseitigen Pool, der nicht im Arbeitsspeicher gesperrt ist

  • Rufen Sie eine seitenfähige Routine auf.

Der Rückruf muss das Löschen von Überlaufregistern nicht verarbeiten, da er von der HAL behandelt wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1903
Header- ntddk.h
IRQL- PROFILE_LEVEL