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 消息的客户端调度函数,例如 添加启动停止Remove。 除非客户端想要接收调度表中所述的 PNP 消息的回调,否则客户端不需要提供调度表。 调度表的任何成员都可以 NULL,以指示客户端不希望接收该特定消息的通知。 有关详细信息,请参阅 KSDEVICE_DISPATCH

FilterDescriptorsCount

此成员包含将在 FilterDescriptors 成员中提供的此设备的筛选器描述符数。 零是此成员的法律值;客户端可以使用 KsCreateFilterFactory 函数动态创建筛选器工厂,而不是在设备描述符中静态描述它们。

FilterDescriptors

指向描述此设备可创建的筛选器的筛选器描述符数组的指针。 如果 FilterDescriptorsCount 为零,则此成员可能会 NULL。 有关详细信息,请参阅 KSFILTER_DESCRIPTOR

Version

ULONG 类型的值。 这应该是下表中的一个值,或者如果编写预版本0x100驱动程序,则设置为零。

价值 描述
KSDEVICE_DESCRIPTOR_VERSION 指示支持 KSDEVICE_DISPATCHAVStrMiniDeviceQueryInterface 调度。
KSDEVICE_DESCRIPTOR_VERSION_2 指示 标志 KSDEVICE_DESCRIPTOR成员的支持。

Flags

ULONG 类型的值。 当前仅定义了一个标志。

描述
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP 指示设备支持远程唤醒。

Alignment

言论

通常,此结构与客户端 DriverEntry 函数中的 KsInitializeDriver 结合使用来初始化设备。 此结构还用于使用 KsInitializeDeviceKsCreateDevice 函数手动初始化或创建设备。

如果将 版本 设置为KSDEVICE_DESCRIPTOR_VERSION_2并在不支持 标志的早期版本的 AVStream 上运行驱动程序,则所有标志都将被视为零。

同样,在更高版本的 AVStream 上使用早期版本描述符不会指定任何标志。

要求

要求 价值
标头 ks.h (包括 Ks.h)

另请参阅

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver