Partager via


PCPFNEVENT_HANDLER fonction de rappel (portcls.h)

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

Syntaxe

PCPFNEVENT_HANDLER PcpfneventHandler;

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

Paramètres

[in] EventRequest

Pointeur vers une structure PCEVENT_REQUEST initialisée

Valeur retournée

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 provenant 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 l’objet de flux (pour un code pin).
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 à son tour contient 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 EventHandler routine doit résider dans la mémoire non pagée.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête portcls.h (include Portcls.h)

Voir aussi

IMiniport ::GetDescription

IPortEvents ::AddEventToEventList

IPortEvents ::GenerateEventList

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR