Structure KSDEVICE (ks.h)
La structure KSDEVICE décrit un appareil fonctionnel WDM géré par AVStream.
Syntaxe
typedef struct _KSDEVICE {
const KSDEVICE_DESCRIPTOR *Descriptor;
KSOBJECT_BAG Bag;
PVOID Context;
PDEVICE_OBJECT FunctionalDeviceObject;
PDEVICE_OBJECT PhysicalDeviceObject;
PDEVICE_OBJECT NextDeviceObject;
BOOLEAN Started;
SYSTEM_POWER_STATE SystemPowerState;
DEVICE_POWER_STATE DevicePowerState;
} KSDEVICE, *PKSDEVICE;
Membres
Descriptor
Pointeur vers une structure KSDEVICE_DESCRIPTOR qui décrit les caractéristiques de l’appareil et les filtres statiques pris en charge par celui-ci.
Bag
Ce membre spécifie le KSOBJECT_BAG (équivalent au type PVOID) associé à l’appareil. Consultez Sacs d’objets.
Context
Pointeur vers un emplacement de mémoire qui contient des informations de contexte pour l’appareil. AVStream stocke un pointeur vers une extension d’appareil dans ce membre pour les minidrivers qui allouent une extension d’appareil dans AVStrMiniDeviceStart. La mémoire allouée pour le contexte doit être placée dans le sac d’objets à l’aide de KsAddItemToObjectBag. Le contexte est initialisé sur NULL au moment de la création.
FunctionalDeviceObject
Pointeur vers une structure DEVICE_OBJECT qui est l’objet d’appareil fonctionnel WDM pour l’appareil décrit.
PhysicalDeviceObject
Pointeur vers une structure DEVICE_OBJECT qui est l’objet d’appareil physique WDM pour l’appareil décrit.
NextDeviceObject
Pointeur vers une structure de DEVICE_OBJECT qui est le périphérique suivant dans la pile de pilotes, tel que déterminé par IoAttachDeviceToDeviceStack.
Started
Ce membre indique si cet appareil particulier a été démarré ou non. Si la valeur EST TRUE, l’appareil a été démarré. Si la valeur est FALSE, l’appareil n’a pas été démarré. Cet indicateur est défini pendant le traitement de l’IRP_MN_START_DEVICE et est réinitialisé pendant le traitement de l’IRP_MN_STOP_DEVICE. Un appareil qui n’est pas démarré retourne STATUS_DEVICE_NOT_READY en réponse à toutes les demandes de création d’un filtre.
SystemPowerState
Valeur de type SYSTEM_POWER_STATE qui indique l’état d’alimentation actuel du système. SYSTEM_POWER_STATE valeurs sont définies dans wdm.h.
DevicePowerState
Valeur de type DEVICE_POWER_STATE qui indique l’état d’alimentation actuel de l’appareil. DEVICE_POWER_STATE valeurs sont définies dans wdm.h.
Remarques
Les clients utilisent généralement cette structure s’ils doivent implémenter un comportement pnP ou de gestion de l’alimentation spécifique qui n’est pas fourni par AVStream. Un pointeur vers une structure KSDEVICE est le premier paramètre de toutes les routines de distribution spécifiées dans KSDEVICE_DISPATCH, et le client est libre d’utiliser les informations de contexte pour attacher son propre contexte pour ces routines. En outre, les clients peuvent obtenir un pointeur vers la structure KSDEVICE à partir d’un pointeur d’objet d’appareil WDM en appelant KsGetDeviceForDeviceObject.
Comme mentionné ci-dessus, Context est initialisé sur NULL au moment de la création. Toutefois, les descendants de cette structure KSDEVICE ont leurs membres Context correspondants définis sur la valeur du membre Context de l’objet parent. Cela se produit lorsque le nouvel objet est créé. Pour plus d’informations, consultez Hiérarchie d’objets AVStream et sacs d’objets. Consultez également les pages de référence pour les objets descendants AVStream possibles : KSFILTERFACTORY, KSFILTER et KSPIN.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et dans Microsoft DirectX 8.0 et versions ultérieures. |
En-tête | ks.h (inclure Ks.h) |