KSEVENT_ITEM structure (ks.h)

La structure KSEVENT_ITEM décrivent la prise en charge d’un minidriver pour un événement spécifique au sein d’un jeu d’événements.

Syntaxe

typedef struct {
  ULONG            EventId;
  ULONG            DataInput;
  ULONG            ExtraEntryData;
  PFNKSADDEVENT    AddHandler;
  PFNKSREMOVEEVENT RemoveHandler;
  PFNKSHANDLER     SupportHandler;
} KSEVENT_ITEM, *PKSEVENT_ITEM;

Membres

EventId

Spécifie l’ID unique de l’événement dans le jeu d’événements.

DataInput

Spécifie la taille en octets des données d’événement. Les données d’événement commencent par une structure KSEVENTDATA qui décrit comment le client doit être averti quand l’événement se produit, éventuellement suivi de tous les paramètres supplémentaires qui spécifient quand l’événement se produit. Doit être au moins sizeof(KSEVENTDATA).

ExtraEntryData

Spécifie la taille en octets de toute mémoire supplémentaire que le système doit allouer pour chaque demande d’activation de cet événement. Le pilote utilise cette mémoire pour stocker toutes les données dont il a besoin pour effectuer le suivi de la demande d’événement. La mémoire est allouée directement après la structure KSEVENT_ENTRY de la demande d’activation de l’événement.

AddHandler

Pointeur vers une routine de rappel AVStrMiniAddEvent fournie par minidriver. Non utilisé par le pilote de classe de flux. Pour les minidrivers AVStream uniquement.

RemoveHandler

Pointeur vers une routine de rappel AVStrMiniRemoveEvent fournie par minidriver. Non utilisé par le pilote de classe de flux. Pour les minidrivers AVStream uniquement.

SupportHandler

Non utilisé par le pilote de classe de flux.

Remarques

Un minidriver qui spécifie les membres AddHandler et RemoveHandler et ne propre pas correctement les événements peut entraîner une fuite de ressource (mémoire/handle).

Configuration requise

Condition requise Valeur
En-tête ks.h (inclure Ks.h)

Voir aussi

IOCTL_KS_DISABLE_EVENT

KSEVENTDATA

KSEVENT_ENTRY

KsDefaultAddEventHandler