Estructura KSDEVICE (ks.h)
La estructura KSDEVICE describe un dispositivo funcional WDM administrado por AVStream.
Sintaxis
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;
Miembros
Descriptor
Puntero a una estructura KSDEVICE_DESCRIPTOR que describe las características del dispositivo y los filtros estáticos admitidos por él.
Bag
Este miembro especifica el KSOBJECT_BAG (equivalente al tipo PVOID) asociado al dispositivo. Consulte Bolsas de objetos.
Context
Puntero a una ubicación de memoria que contiene información de contexto para el dispositivo. AVStream almacena un puntero a una extensión de dispositivo en este miembro para minidrivers que asignan una extensión de dispositivo en AVStrMiniDeviceStart. La memoria asignada para el contexto debe colocarse en el contenedor de objetos mediante KsAddItemToObjectBag. El contexto se inicializa en NULL en tiempo de creación.
FunctionalDeviceObject
Puntero a una estructura DEVICE_OBJECT que es el objeto de dispositivo funcional WDM para el dispositivo que se describe.
PhysicalDeviceObject
Puntero a una estructura de DEVICE_OBJECT que es el objeto de dispositivo físico WDM para el dispositivo que se describe.
NextDeviceObject
Puntero a una estructura de DEVICE_OBJECT que es el siguiente dispositivo de la pila de controladores determinada por IoAttachDeviceToDeviceStack.
Started
Este miembro indica si este dispositivo determinado se ha iniciado o no. Si es TRUE, se ha iniciado el dispositivo. Si es FALSE, el dispositivo no se ha iniciado. Esta marca se establece durante el procesamiento de la IRP_MN_START_DEVICE y se restablece durante el procesamiento del IRP_MN_STOP_DEVICE. Un dispositivo que no se inicia devuelve STATUS_DEVICE_NOT_READY en respuesta a todas las solicitudes para crear un filtro.
SystemPowerState
Valor de tipo SYSTEM_POWER_STATE que indica el estado de energía actual del sistema. SYSTEM_POWER_STATE valores se definen en wdm.h.
DevicePowerState
Valor con tipo DEVICE_POWER_STATE que indica el estado de alimentación actual del dispositivo. DEVICE_POWER_STATE valores se definen en wdm.h.
Comentarios
Normalmente, los clientes usan esta estructura si deben implementar un comportamiento específico de PnP o administración de energía que no proporciona AVStream. Un puntero a una estructura KSDEVICE es el primer parámetro para todas las rutinas de envío especificadas en KSDEVICE_DISPATCH, y el cliente puede usar la información de contexto para adjuntar su propio contexto para estas rutinas. Además, los clientes pueden obtener un puntero a la estructura KSDEVICE desde un puntero de objeto de dispositivo WDM llamando a KsGetDeviceForDeviceObject.
Como se mencionó anteriormente, Context se inicializa en NULL en tiempo de creación. Sin embargo, los descendientes de esta estructura KSDEVICE tienen sus miembros Context correspondientes establecidos en el valor del miembro Context del objeto primario. Esto sucede cuando se crea el nuevo objeto. Para obtener más información, vea AvStream Object Hierarchy and Object Bags (Jerarquía de objetos avStream y bolsas de objetos). Consulte también las páginas de referencia de los posibles objetos descendientes de AVStream: KSFILTERFACTORY, KSFILTER y KSPIN.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y en sistemas operativos posteriores y en Microsoft DirectX 8.0 y versiones posteriores. |
Encabezado | ks.h (incluye Ks.h) |