Функция KsCreateDevice (ks.h)
Функция KsCreateDevice создает устройство AVStream.
Синтаксис
KSDDKAPI NTSTATUS KsCreateDevice(
[in] PDRIVER_OBJECT DriverObject,
[in] PDEVICE_OBJECT PhysicalDeviceObject,
[in, optional] const KSDEVICE_DESCRIPTOR *Descriptor,
[in] ULONG ExtensionSize,
[out, optional] PKSDEVICE *Device
);
Параметры
[in] DriverObject
Указатель на объект драйвера WDM мини-драйвера.
[in] PhysicalDeviceObject
Указатель на объект физического устройства WDM для устройства, которое вы хотите создать в AVStream.
[in, optional] Descriptor
Указатель на дескриптор устройства, описывающий характеристики создаваемого устройства. Если вызывающий объект не указывает этот необязательный параметр, AVStream создает устройство с характеристиками по умолчанию и без связанных фабрик фильтров.
[in] ExtensionSize
Этот параметр содержит размер расширения устройства. Если значение равно нулю, используется размер расширения по умолчанию. В противном случае он должен быть по крайней мере sizeof (KSDEVICE_HEADER).
[out, optional] Device
Указатель на расположение памяти, содержащее адрес созданной структуры KSDEVICE . Необязательный элемент.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если устройство успешно создано. В противном случае возвращается соответствующий код ошибки.
Комментарии
Обычно мини-диск не вызывает эту функцию напрямую. Вместо этого KsCreateDevice вызывается обработчиком AddDevice по умолчанию KsAddDevice. Так как KsAddDevice выполняет внутренний вызов KsCreateDevice, драйверы, вызывающие KsCreateDevice , не должны вызывать KsAddDevice отдельно.
Мини-диск, вызывающий KsCreateDevice напрямую, не должен использовать KsInitializeDriver. Если мини-диск не вызывает KsInitializeDriver, он должен предоставить собственный обратный вызов AddDevice . Затем мини-диск может вызвать KsCreateDevice из этого обратного вызова AddDevice .
Если KSDEVICE_DESCRIPTOR не указан, AVStream создает устройство с характеристиками по умолчанию и без связанных фабрик фильтров. Если предоставляется KSDEVICE_DESCRIPTOR и содержит KSDEVICE_DISPATCH таблицу с диспетчером создания, вызывается диспетчеризация создания.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версий. |
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |
IRQL | PASSIVE_LEVEL |