структура KSDEVICE_DESCRIPTOR (ks.h)
Структура KSDEVICE_DESCRIPTOR описывает характеристики конкретного устройства.
Синтаксис
typedef struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH *Dispatch;
ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
ULONG Version;
ULONG Flags;
PVOID Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
Члены
Dispatch
Указатель на таблицу отправки клиента для этого устройства. Эта таблица диспетчеризации содержит функции диспетчеризации клиента для сообщений PNP, таких как Add, Start, Stop, Remove. Клиенты не обязаны предоставлять таблицу отправки, если они не хотят получать обратные вызовы для сообщений PNP, описанных в таблице диспетчеризации. Любой элемент таблицы отправки может иметь значение NULL , чтобы указать, что клиент не хочет получать уведомления для этого конкретного сообщения. Дополнительные сведения см. в разделе KSDEVICE_DISPATCH.
FilterDescriptorsCount
Этот элемент содержит количество дескрипторов фильтра для этого устройства, которое будет указано в элементе FilterDescriptors . Ноль является допустимым значением для этого элемента; Клиенты могут динамически создавать фабрики фильтров с помощью функции KsCreateFilterFactory , а не статически описывать их в дескрипторове устройства.
FilterDescriptors
Указатель на массив дескрипторов фильтров, описывающих фильтры, которые могут быть созданы этим устройством. Этот элемент может иметь значение NULL , если FilterDescriptorsCount равно нулю. Дополнительные сведения см. в разделе KSFILTER_DESCRIPTOR.
Version
Значение типа ULONG. Это должно быть одно и только одно из значений в следующей таблице или задать значение нулю при написании предварительной версии 0x100 драйвера.
Значение | Описание |
---|---|
KSDEVICE_DESCRIPTOR_VERSION | Указывает на поддержку диспетчеризации AVStrMiniDeviceQueryInterfaceKSDEVICE_DISPATCH. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Указывает поддержку элемента Flags KSDEVICE_DESCRIPTOR. |
Flags
Значение типа ULONG. В настоящее время определен только один флаг.
Flag | Описание |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Указывает, что устройство поддерживает удаленный пробуждение. |
Alignment
Комментарии
Чаще всего эта структура используется в сочетании с KsInitializeDriver в клиентской функции DriverEntry для инициализации устройства. Эта структура также используется для инициализации или создания устройств вручную с помощью функций KsInitializeDevice и KsCreateDevice .
Если задать для версии значение KSDEVICE_DESCRIPTOR_VERSION_2 и запустить драйвер в более ранней версии AVStream, которая не поддерживает флаги, все флаги будут считаться равными нулю.
Аналогичным образом, использование дескриптора более ранней версии в более поздних версиях AVStream не приводит к тому, что флаги не указываются.
Требования
Требование | Значение |
---|---|
Заголовок | ks.h (включая Ks.h) |