Propriétés, événements et méthodes KS
L’architecture de diffusion en continu du noyau prend en charge l’interaction entre les mini-drivers et les clients en mode utilisateur via des propriétés, des événements et des méthodes. À l’aide de ces constructions, les clients d’un objet KS peuvent obtenir et définir l’état de l’objet, inscrire des rappels de notification pour les événements et exécuter des méthodes d’objet.
Les clients demandent les trois classes d’opération de manière standardisée. Le client fournit une structure d’alias de KSIDENTIFIER dans un appel à DeviceIoControl (décrit dans la documentation Microsoft Windows SDK) ou KsSynchronousDeviceControl.
Les structures d’alias sont KSPROPERTY, KSEVENT et KSMETHOD. Les trois incluent les paramètres suivants :
Définir
Les opérations fonctionnellement similaires sont regroupées dans un ensemble. Chaque propriété, événement ou jeu de méthodes est identifié par un GUID. Microsoft définit des GUID pour les opérations spécifiques à la technologie standard. Les mini-disques peuvent définir leurs propres GUID pour les opérations personnalisées.
Identificateur
Chaque opération est spécifiée par un numéro d’ID dans l’ensemble.
Données d’identification spécifiques à l’opération
Certaines demandes de propriété nécessitent des données supplémentaires. Par exemple, les broches sur un périphérique audio prennent en charge l’ensemble de propriétés KSPROPSETID_Audio . Une broche audio peut prendre en charge plusieurs canaux audio différents. Les clients qui obtiennent ou définissent certaines propriétés KSPROPSETID_Audio doivent spécifier le canal audio auquel la demande s’applique. Les demandes d’événements et de méthodes ne nécessitent pas de données supplémentaires.
Les GUID et identificateurs définis par Microsoft pour les opérations à usage général se trouvent dans l’en-tête ks.h. Les GUID et identificateurs standard pour des classes particulières de technologie multimédia se trouvent dans ksmedia.h.
Les minidrivers AVStream prennent en charge les propriétés, les événements et les méthodes en fournissant un pointeur vers une structure de KSAUTOMATION_TABLE dans le KSFILTER_DESCRIPTOR ou le KSPIN_DESCRIPTOR_EX approprié. Un KSAUTOMATION_TABLE contient un pointeur vers un tableau d’objets KSPROPERTY_SET . Pour plus d’informations, consultez Définition de tables Automation.
Ces sections contiennent des informations sur la façon dont les minidrivers prennent en charge les trois classes d’opération :