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 conteneur d’objets à l’aide de KsAddItemToObjectBag. contexte est initialisé pour 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 DEVICE_OBJECT qui est l’appareil suivant dans la pile des pilotes, tel que déterminé par IoAttachDeviceToDeviceStack.
Started
Ce membre indique si cet appareil particulier a été démarré ou non. Si TRUE, l’appareil a été démarré. Si FAUX, 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 du 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 SYSTEM_POWER_STATE typée qui indique l’état actuel de l’alimentation du système. SYSTEM_POWER_STATE valeurs sont définies dans wdm.h.
DevicePowerState
Valeur DEVICE_POWER_STATE typée qui indique l’état actuel de l’alimentation 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 Power Management 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, de contexte est initialisé pour NULL au moment de la création. Toutefois, les descendants de cette structure KSDEVICE ont leur Context correspondant membres 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.
Exigences
Exigence | Valeur |
---|---|
client minimum 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. |
d’en-tête | ks.h (include Ks.h) |