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) |