Partager via


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)

Voir aussi

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KSFILTER

KSFILTERFACTORY

KSPIN

KsAddItemToObjectBag

KsGetDeviceForDeviceObject