Partager via


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 distribution du client pour cet appareil. Cette table de répartition contient des fonctions de répartition des clients pour les messages PNP tels que Ajouter, Démarrer, Arrêter, Supprimer. Les clients ne sont pas tenus de fournir une table de distribution, sauf s’ils souhaitent recevoir des rappels pour les messages PNP décrits dans la table de distribution. Tout membre de la table de distribution peut être 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 les FilterDescriptors membre. 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 les filtres qui peuvent être créés par cet appareil. Ce membre peut être 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 et d’une seule des valeurs du tableau suivant, ou définie sur zéro si vous écrivez un pilote de préversion 0x100.

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 des indicateurs de membre de KSDEVICE_DESCRIPTOR.

Flags

Valeur de type ULONG. Il n’existe qu’un seul indicateur actuellement défini.

Drapeau Description
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP Indique que l’appareil prend en charge la mise en éveil à distance.

Alignment

Remarques

La plupart du temps, 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 fonctions 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 indicateurs, tous les indicateurs sont 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 la spécification d’aucun indicateur.

Exigences

Exigence Valeur
d’en-tête ks.h (include Ks.h)

Voir aussi

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver