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

指向要在 AVStream 下创建的设备的 WDM 物理设备对象的指针。

[in, optional] Descriptor

指向描述所创建设备特征的设备描述符的指针。 如果调用方未指定此可选参数,AVStream 将创建具有默认特征且没有关联的筛选器工厂的设备。

[in] ExtensionSize

此参数包含设备扩展的大小。 如果为零,则使用默认扩展大小。 如果没有,则其大小必须至少为 (KSDEVICE_HEADER) 。

[out, optional] Device

指向包含所创建 KSDEVICE 结构的地址的内存位置的指针。 可选。

返回值

如果成功创建设备,则返回STATUS_SUCCESS。 否则,它将返回相应的错误代码。

注解

通常,微型驱动程序不会直接调用此函数。 相反, KsCreateDevice 由默认 的 AddDevice 处理程序 KsAddDevice 调用。 由于 KsAddDeviceKsCreateDevice 进行内部调用,因此调用 KsCreateDevice 的驱动程序不应单独调用 KsAddDevice

直接调用 KsCreateDevice 的微型驱动程序不应使用 KsInitializeDriver。 如果微型驱动程序未调用 KsInitializeDriver,则应改为提供自己的 AddDevice 回调。 然后,微型驱动程序可以从该 AddDevice 回调调用 KsCreateDevice

如果未提供 KSDEVICE_DESCRIPTOR,AVStream 将创建具有默认特征且没有关联的筛选器工厂的设备。 如果提供了KSDEVICE_DESCRIPTOR,并且包含具有 create 调度 的KSDEVICE_DISPATCH 表,则调用 create dispatch。

要求

要求
最低受支持的客户端 在 Microsoft Windows XP 及更高版本的操作系统以及 DirectX 8.0 及更高版本的 DirectX 中可用。
目标平台 通用
标头 ks.h (包括 Ks.h)
Library Ks.lib
IRQL PASSIVE_LEVEL

另请参阅

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver