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)

Voir aussi

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver