PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER Rückruffunktion (ntddk.h)
Die PPHYSICAL_COUNTER_OVERFLOW_HANDLER wird vom Clienttreiber implementiert, um Ereignispufferüberläufe aus den Leistungsindikatorenressourcen zu verarbeiten, die über die HalAllocateHardwareCounters-Routine abgerufen wurden.
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
Gibt die Größe eines einzelnen Ereigniseintrags an.
NumberOfEntries
Gibt die Anzahl der verfügbaren Einträge an.
OwningHandle
Stellt den HANDLE bereit, der dem Ressourcensatz entspricht, zu dem der Ereignispuffer gehört.
Rückgabewert
Keine
Bemerkungen
Registrieren Sie Ihre Implementierung dieser Rückruffunktion, indem Sie HalAllocateHardwareCounters mit einer Struktur vom Typ PHYSICAL_COUNTER_RESOURCE_LIST aufrufen. Geben Sie im PHYSICAL_COUNTER_RESOURCE_LIST eine Struktur vom Typ PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR an, die eine PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPEresourceTypeEventBuffer angibt.
Dieser Rückruf wird unter 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 es sollte nicht versucht werden, eine der folgenden Aktionen auszuführen.
Erwerben oder Freigeben von Spinsperren.
Zugriff auf ausgelagerten Pool, der nicht im Arbeitsspeicher gesperrt ist
Aufrufen einer ausgelagerten Routine.
Der Rückruf muss das Löschen von Überlaufregistern nicht verarbeiten, da er von der HAL behandelt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1903 |
Kopfzeile | ntddk.h |
IRQL | PROFILE_LEVEL |