structure KSDEVICE_DESCRIPTOR (ks.h)
La structure KSDEVICE_DESCRIPTOR décrit les caractéristiques d’un appareil particulier.
Syntaxe
typedef struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH *Dispatch;
ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
ULONG Version;
ULONG Flags;
PVOID Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
Membres
Dispatch
Pointeur vers la table de répartition du client pour cet appareil. Cette table de répartition contient des fonctions de distribution client pour les messages PNP tels que Ajouter, Démarrer, Arrêter, Supprimer. Les clients ne sont pas tenus de fournir une table de répartition, sauf s’ils souhaitent recevoir des rappels pour les messages PNP décrits dans la table de répartition. Tout membre de la table de répartition peut avoir la valeur NULL pour indiquer que le client ne souhaite pas recevoir de notification pour ce message particulier. Pour plus d’informations, consultez KSDEVICE_DISPATCH.
FilterDescriptorsCount
Ce membre contient le nombre de descripteurs de filtre pour cet appareil qui seront fournis dans le membre FilterDescriptors . Zéro est une valeur légale pour ce membre ; les clients peuvent créer des fabriques de filtres dynamiquement avec la fonction KsCreateFilterFactory au lieu de les décrire statiquement dans le descripteur d’appareil.
FilterDescriptors
Pointeur vers un tableau de descripteurs de filtre qui décrivent des filtres qui peuvent être créés par cet appareil. Ce membre peut avoir la valeur NULL si FilterDescriptorsCount est égal à zéro. Pour plus d’informations, consultez KSFILTER_DESCRIPTOR.
Version
Valeur de type ULONG. Il doit s’agir d’une seule des valeurs du tableau suivant, ou de zéro si vous écrivez une préversion 0x100 pilote.
Valeur | Description |
---|---|
KSDEVICE_DESCRIPTOR_VERSION | Indique la prise en charge de la distribution AVStrMiniDeviceQueryInterface de KSDEVICE_DISPATCH. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Indique la prise en charge du membre Flags de KSDEVICE_DESCRIPTOR. |
Flags
Valeur de type ULONG. Il n’y a qu’un seul indicateur actuellement défini.
Indicateur | Description |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Indique que l’appareil prend en charge la mise en éveil à distance. |
Alignment
Remarques
Le plus souvent, cette structure est utilisée conjointement avec KsInitializeDriver dans la fonction DriverEntry du client pour initialiser l’appareil. Cette structure est également utilisée pour initialiser ou créer manuellement des appareils avec les fonctions KsInitializeDevice et KsCreateDevice .
Si vous définissez Version sur KSDEVICE_DESCRIPTOR_VERSION_2 et exécutez votre pilote sur une version antérieure d’AVStream qui ne prend pas en charge les indicateurs, tous les indicateurs seront considérés comme zéro.
De même, l’utilisation d’un descripteur de version antérieure sur les versions ultérieures d’AVStream n’entraîne aucune spécification d’indicateur.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ks.h (inclure Ks.h) |