Partager via


PCPFNEVENT_HANDLER fonction de rappel (portcls.h)

Une routine EventHandler traite les demandes d’événements.

Syntaxe

PCPFNEVENT_HANDLER PcpfneventHandler;

NTSTATUS PcpfneventHandler(
  [in] PPCEVENT_REQUEST EventRequest
)
{...}

Paramètres

[in] EventRequest

Pointeur vers une structure de PCEVENT_REQUEST initialisée

Valeur de retour

Le gestionnaire d’événements retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.

Remarques

Chaque événement exposé par un pilote miniport est associé à un gestionnaire d’événements. L’objectif du gestionnaire d’événements est de traiter les demandes d’événements du pilote de port et de ses clients. EventRequest est un paramètre d’entrée du gestionnaire qui contient les informations suivantes sur l’événement :

  • GUID et ID d’événement du jeu d’événements.
  • Comment l’événement doit être déclenché.
  • Pointeurs vers l’objet miniport cible et (pour un objet pin) de flux.
Cela est similaire au type d’informations fournies avec les demandes de propriété.

Le pilote miniport expose ses gestionnaires d’événements via sa méthode IMiniport ::GetDescription. Cette méthode génère une structure de descripteur (voir PCFILTER_DESCRIPTOR) qui définit le filtre que le pilote miniport et son pilote de port associé implémentent ensemble. Cette structure contient un pointeur vers la table d’automatisation du pilote miniport (voir PCAUTOMATION_TABLE), qui contient à son tour un pointeur vers un tableau des événements du pilote miniport. Chaque élément de tableau est une structure PCEVENT_ITEM et contient un pointeur de fonction PCPFNEVENT_HANDLER vers le gestionnaire de l’événement.

La routine EventHandler doit résider dans la mémoire non paginé.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête portcls.h (include Portcls.h)

Voir aussi

IMiniport ::GetDescription

IPortEvents ::AddEventToEventList

IPortEvents ::GenerateEventList

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR