Struttura KSDEVICE (ks.h)
La struttura KSDEVICE descrive un dispositivo funzionale WDM gestito da AVStream.
Sintassi
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;
Members
Descriptor
Puntatore a una struttura di KSDEVICE_DESCRIPTOR che descrive le caratteristiche del dispositivo e i filtri statici supportati da esso.
Bag
Questo membro specifica il KSOBJECT_BAG (equivalente al tipo PVOID) associato al dispositivo. Vedere Contenitori di oggetti.
Context
Puntatore a una posizione di memoria che contiene informazioni di contesto per il dispositivo. AVStream archivia un puntatore a un'estensione del dispositivo in questo membro per i minidriver che allocano un'estensione del dispositivo in AVStrMiniDeviceStart. La memoria allocata per il contesto deve essere inserita nel contenitore di oggetti usando KsAddItemToObjectBag. Il contesto viene inizializzato su NULL in fase di creazione.
FunctionalDeviceObject
Puntatore a una struttura DEVICE_OBJECT che rappresenta l'oggetto dispositivo funzionale WDM per il dispositivo descritto.
PhysicalDeviceObject
Puntatore a una struttura DEVICE_OBJECT che rappresenta l'oggetto dispositivo fisico WDM per il dispositivo descritto.
NextDeviceObject
Puntatore a una struttura DEVICE_OBJECT che rappresenta il dispositivo successivo nello stack di driver determinato da IoAttachDeviceToDeviceToDeviceStack.
Started
Questo membro indica se questo particolare dispositivo è stato avviato o meno. Se TRUE, il dispositivo è stato avviato. Se FALSE, il dispositivo non è stato avviato. Questo flag viene impostato durante l'elaborazione del IRP_MN_START_DEVICE e viene reimpostato durante l'elaborazione del IRP_MN_STOP_DEVICE. Un dispositivo non avviato restituisce STATUS_DEVICE_NOT_READY in risposta a tutte le richieste per creare un filtro.
SystemPowerState
Valore tipizzato SYSTEM_POWER_STATE che indica lo stato di alimentazione corrente del sistema. SYSTEM_POWER_STATE valori sono definiti in wdm.h.
DevicePowerState
Valore tipizzato DEVICE_POWER_STATE che indica lo stato di alimentazione corrente del dispositivo. DEVICE_POWER_STATE valori sono definiti in wdm.h.
Commenti
I client usano in genere questa struttura se devono implementare un comportamento specifico di risparmio energia o PnP non fornito da AVStream. Un puntatore a una struttura KSDEVICE è il primo parametro per tutte le routine dispatch specificate in KSDEVICE_DISPATCH e il client è libero di usare le informazioni di contesto per collegare il proprio contesto per queste routine. Inoltre, i client possono ottenere un puntatore alla struttura KSDEVICE da un puntatore a oggetti dispositivo WDM chiamando KsGetDeviceForDeviceObject.
Come indicato in precedenza, Context viene inizializzato su NULL in fase di creazione. Tuttavia, i discendenti di questa struttura KSDEVICE hanno i membri Context corrispondenti impostati sul valore del membro Context dell'oggetto padre. Ciò si verifica quando viene creato il nuovo oggetto. Per altre informazioni, vedere Gerarchia di oggetti AVStream e contenitori di oggetti. Vedere anche le pagine di riferimento per i possibili oggetti discendenti AVStream: KSFILTERFACTORY, KSFILTER e KSPIN.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in Microsoft DirectX 8.0 e versioni successive. |
Intestazione | ks.h (include Ks.h) |