Partager via


PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER fonction de rappel (ntddk.h)

Le PPHYSICAL_COUNTER_OVERFLOW_HANDLER est implémenté par le pilote client pour gérer les dépassements de mémoire tampon d’événements à partir des ressources de compteurs acquises via la routine HalAllocateHardwareCounters.

Syntaxe

PPHYSICAL_COUNTER_EVENT_BUFFER_OVERFLOW_HANDLER PphysicalCounterEventBufferOverflowHandler;

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

Paramètres

EventBuffer

Fournit un pointeur vers la mémoire tampon d’événements contenant les entrées d’événement.

EntrySize

Fournit la taille d’une entrée d’événement individuelle.

NumberOfEntries

Fournit le nombre d’entrées disponibles.

OwningHandle

Fournit la HANDLE correspondant au jeu de ressources auquel appartient la mémoire tampon d’événements.

Valeur de retour

Aucun

Remarques

Inscrivez votre implémentation de cette fonction de rappel en appelant HalAllocateHardwareCounters avec une structure de type PHYSICAL_COUNTER_RESOURCE_LIST. Dans le PHYSICAL_COUNTER_RESOURCE_LIST, fournissez une structure de type PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR qui spécifie un PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE de ResourceTypeEventBuffer.

Ce rappel est appelé à IRQL = PROFILE_LEVEL. Cela signifie qu’il doit toujours être résident en mémoire. Le rappel doit retourner le plus rapidement possible et ne doit pas tenter d’effectuer l’une des opérations suivantes.

  • Acquérir ou libérer des verrous de rotation.

  • Accéder au pool paginé qui n’est pas verrouillé en mémoire

  • Appelez une routine paginable.

Le rappel n’a pas besoin de gérer l’effacement des registres de dépassement de capacité, car il sera géré par la hal.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1903
d’en-tête ntddk.h
IRQL PROFILE_LEVEL