Функция 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

См. также раздел

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver