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并包含具有创建调度的 KSDEVICE_DISPATCH 表,则会调用创建调度。

要求

要求 价值
最低支持的客户端 Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib
IRQL PASSIVE_LEVEL

另请参阅

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver