KsPinGenerateEvents, fonction (ks.h)
La fonction KsPinGenerateEvents génère des événements d’un type indiqué qui sont présents dans Épinglerliste d’événements.
Syntaxe
void KsPinGenerateEvents(
[in] PKSPIN Pin,
[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] Pin
Pointeur vers la structure KSPIN sur laquelle générer des événements.
[in, optional] EventSet
Pointeur vers le 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. Spécifiez si vous générez un événement de données.
[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é. Si 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). Prototype comme suit :
BOOLEAN CallBack
(IN PVOID Context,
IN PKSEVENT_ENTRY EventEntry);
KsPinGenerateEvents passe le paramètre CallBackContext inchangé en tant que paramètre Context pour le rappel. La fonction de rappel retourne TRUE si EventEntry doit être généré. Sinon, elle retourne FALSE.
[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. Le de rappel 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é.
Il s’agit d’un appel de fonction inline à KsGenerateEvents, qui effectue la diffusion de type nécessaire. Les minidrivers doivent généralement appeler cette version au lieu d’appeler directement KsGenerateEvents.
Un événement est généré si les trois conditions suivantes sont conservées :
L’événement est présent dans *Pin’s *event list et *EventId *correspond à l’ID de l’événement.
EventSet correspond au GUID défini de l’événement ou est NULL.
*CallBack *est NULL ou autorise la correspondance.
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 | Bureau |
d’en-tête | ks.h (include Ks.h) |
bibliothèque | Ks.lib |
IRQL | <=DISPATCH_LEVEL (voir remarques) |