Структура KSDEVICE (ks.h)
Структура KSDEVICE описывает функциональное устройство WDM, управляемое AVStream.
Синтаксис
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;
Члены
Descriptor
Указатель на структуру KSDEVICE_DESCRIPTOR, которая описывает характеристики устройства и статические фильтры, поддерживаемые им.
Bag
Этот элемент задает KSOBJECT_BAG (эквивалентный типу PVOID), связанному с устройством. См. сумки объектов.
Context
Указатель на расположение памяти, содержащее сведения о контексте для устройства. AVStream сохраняет указатель на расширение устройства в этом элементе для мини-drivers, которые выделяют расширение устройства в AVStrMiniDeviceStart. Память, выделенная для контекста, должна быть помещена в контейнер объектов с помощью KsAddItemToObjectBag. контекст контекста инициализирован для null во время создания.
FunctionalDeviceObject
Указатель на структуру DEVICE_OBJECT, которая является объектом функционального устройства WDM для описываемого устройства.
PhysicalDeviceObject
Указатель на структуру DEVICE_OBJECT, которая является объектом физического устройства WDM для описываемого устройства.
NextDeviceObject
Указатель на структуру DEVICE_OBJECT, которая является следующим устройством в стеке драйверов, как определено IoAttachDeviceToDeviceStack.
Started
Этот элемент указывает, запущено ли конкретное устройство. Если TRUE, устройство запущено. Если FALSE, устройство не запущено. Этот флаг задается во время обработки IRP_MN_START_DEVICE и сбрасывается во время обработки IRP_MN_STOP_DEVICE. Устройство, которое не запущено, возвращает STATUS_DEVICE_NOT_READY в ответ на все запросы на создание фильтра.
SystemPowerState
Значение SYSTEM_POWER_STATE типа, указывающее текущее состояние питания системы. SYSTEM_POWER_STATE значения определяются в wdm.h.
DevicePowerState
Значение DEVICE_POWER_STATE типа, указывающее текущее состояние питания устройства. DEVICE_POWER_STATE значения определяются в wdm.h.
Замечания
Клиенты обычно используют эту структуру, если они должны реализовать определенное поведение PnP или Power Management, которое не предоставляется AVStream. Указатель на структуру KSDEVICE является первым параметром для всех подпрограмм отправки, указанных в KSDEVICE_DISPATCH, и клиент может использовать сведения о контексте для присоединения собственного контекста к этим подпрограммам. Кроме того, клиенты могут получить указатель на структуру KSDEVICE из указателя объекта устройства WDM, вызвав KsGetDeviceForDeviceObject.
Как упоминалось выше, контекст инициализируется для null во время создания. Однако потомки этой структуры KSDEVICE имеют соответствующие элементы контекста контекста, заданные для значения элемента контекста родительского объекта. Это происходит при создании нового объекта. Дополнительные сведения см. в иерархии объектов AVStream и пакетах объектов. Также см. справочные страницы для возможных объектов потомков AVStream: KSFILTERFACTORY, KSFILTER и KSPIN.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Операционных системах Microsoft Windows XP и более поздних версиях, а также в Microsoft DirectX 8.0 и более поздних версиях. |
заголовка | ks.h (include Ks.h) |