KsGenerateEvents, fonction (ks.h)
La fonction KsGenerateEvents génère des événements d’un type indiqué présents dans 'objet'liste d’événements'.
Syntaxe
void KsGenerateEvents(
[in] PVOID Object,
[in, optional] const GUID *EventSet,
[in] ULONG EventId,
[in] ULONG DataSize,
[in, optional] PVOID Data,
[in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
[in, optional] PVOID CallBackContext
);
Paramètres
[in] Object
Objet sur lequel générer des événements. Il peut s’agir d’un filtre AVStream ou d’un objet pin.
[in, optional] EventSet
GUID du jeu d’événements à mettre en correspondance pour déterminer les événements à générer. Si ce paramètre est NULL, le GUID défini n’est pas pris en compte pour déterminer les événements correspondants.
[in] EventId
ID d’événement à mettre en correspondance pour déterminer les événements à générer.
[in] DataSize
Taille en octets des données avec lesquelles générer l’événement de données.
[in, optional] Data
Pointeur vers une mémoire tampon de données à inclure dans la notification d’événement. Si le pilote n’a pas besoin de transmettre des informations supplémentaires via la notification, définissez ce paramètre facultatif sur NULL.
[in, optional] CallBack
Pointeur vers une fonction spécifiée par l’appelant qui est appelée pour déterminer si un événement donné doit être généré. S’il s’agit NULL, aucune vérification de rappel n’est effectuée pour déterminer si un événement doit être généré (uniquement *EventSet *et eventId sont utilisés).
[in, optional] CallBackContext
Pointeur vers un contexte spécifié par l’appelant passé à la fonction de rappel callback.
Valeur de retour
Aucun
Remarques
Lors de l’appel de cette fonction, un minidriver doit placer Data et CallBackContext dans un segment de données verrouillé et non modifiable. Notez également que le callback est effectué à DISPATCH_LEVEL. La fonction de rappel doit se trouver dans un segment verrouillé et doit être prête à s’exécuter à IRQL = DISPATCH_LEVEL. Notez qu’il existe un problème supplémentaire dans DX8 uniquement: eventSet doit se trouver dans un segment de données verrouillé.
Les minidrivers n’appellent généralement pas cette fonction directement et utilisent plutôt l’une des versions qui effectuent un cast approprié : KsFilterGenerateEvents ou KsPinGenerateEvents.
Un événement est généré s’il est présent dans la liste d’événements *Object’s *et *EventId *correspond à l’ID de l’événement, EventSet correspond au GUID défini de l’événement ou est NULL et *CallBack *est NULL ou autorise la correspondance.
callback est un rappel spécifié par l’appelant utilisé pour une détermination de correspondance supplémentaire. Il est prototypené comme suit :
BOOLEAN CallBack (IN PVOID Context, IN PKSEVENT_ENTRY EventEntry);
AVStream transmet le contenu du paramètre KsGenerateEvents routine CallBackContext dans le paramètre Context de ce rappel. EventEntry est un pointeur vers une structure KSEVENT_ENTRY qui spécifie l’événement qui serait généré. La fonction de rappel doit retourner TRUE si cet événement doit être généré.
Pour plus d’informations, consultez Gestion des événements dans AVStream et événements KS.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX. |
plateforme cible | Universel |
d’en-tête | ks.h (include Ks.h) |
bibliothèque | Ks.lib |
IRQL | <=DISPATCH_LEVEL |