structure PCEVENT_ITEM (portcls.h)
La structure PCEVENT_ITEM est utilisée pour décrire un événement pris en charge par un filtre, une broche ou un nœud particulier.
typedef struct {
const GUID *Set;
ULONG Id;
ULONG Flags;
PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;
Set
Spécifie le jeu d’événements. Ce membre est un pointeur vers un GUID qui identifie de manière unique le jeu d’événements. Consultez la liste des GUID d’ensemble d’événements dans jeux d’événements pilotes audio.
Id
Spécifie l’ID d’événement. Ce membre identifie un élément d’événement dans le jeu d’événements. Si le jeu d’événements contient N éléments, les ID d’événement valides sont des entiers compris entre 0 et N-1.
Flags
Spécifie le type d’événement. Ce membre est défini sur l’une des valeurs suivantes :
Indique que la notification d’événement doit être activée pour ce type d’événement. Le pilote doit continuer la notification d’événement jusqu’à ce que le client le désactive explicitement.
Indique que la notification d’événement doit être activée uniquement pour l’occurrence suivante de cet événement. Le client ne désactive pas (et ne doit pas) désactiver l’événement une fois qu’il s’est produit.
Si le client spécifie cet indicateur, le pilote retourne STATUS_SUCCESS s’il prend en charge l’événement et un code d’erreur si ce n’est pas le cas.
Handler
Pointeur vers la routine du gestionnaire d’événements du pilote miniport. Ce membre est un pointeur de fonction de type PCPFNEVENT_HANDLER, qui est défini comme suit :
typedef NTSTATUS (*PCPFNEVENT_HANDLER)
(
IN PPCEVENT_REQUEST EventRequest
);
Lorsque vous appelez le gestionnaire routine, l’appelant passe un paramètre d’appel unique, qui est un pointeur vers une structure PCEVENT_REQUEST allouée par l’appelant.
La structure PCEVENT_ITEM spécifie un élément d’événement particulier dans une table Automation. La structure PCAUTOMATION_TABLE pointe vers un tableau de structures PCEVENT_ITEM.
Dans l’audio WDM, la cible d’une demande d’événement est une instance de broche ou un nœud sur une broche. Une instance de filtre ne peut pas être la cible d’une demande d’événement.
Exigence | Valeur |
---|---|
d’en-tête | portcls.h (include Portcls.h) |