KSDATAFORMAT 结构 (ks.h)

KSDATAFORMAT 结构是描述数据格式的可变长度结构。

语法

typedef struct {
  ULONG FormatSize;
  ULONG Flags;
  ULONG SampleSize;
  ULONG Reserved;
  GUID  MajorFormat;
  GUID  SubFormat;
  GUID  Specifier;
} KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;

成员

FormatSize

指定 KSDATAFORMAT 结构的大小(以字节为单位)。 此大小必须至少为 (KSDATAFORMAT) ,但对于 MajorFormatSubFormatSpecifier 的特定设置,其大小可能更大。 有关详细信息,请参阅这些成员的说明。

Flags

将标志设置为KSDATAFORMAT_ATTRIBUTES (0x2) 以指示 KSDATAFORMAT 在内存中后跟 KSATTRIBUTE 结构的KSMULTIPLE_ITEM

SampleSize

为固定样本大小指定数据的样本大小;如果格式的样本大小可变,则指定零。

Reserved

预留给系统使用。 驱动程序必须将此成员设置为零。

MajorFormat

指定常规格式类型。 当前支持的数据格式可以在 windows 驱动程序工具包 (WDK) 中包含的 ksmedia.h 头文件中的KSDATAFORMAT_TYPE_XXX符号常量中找到。 没有特定格式的数据流应使用 ks.h) 中定义的KSDATAFORMAT_TYPE_STREAM (作为其 MajorFormat 的值。 有关此成员的详细信息,请参阅 备注

SubFormat

指定常规格式类型的子格式。 当前支持的数据子格式可以在 WDK 中包含的 ksmedia.h 头文件中的KSDATAFORMAT_SUBTYPE_XXX符号常量中找到。 不支持子格式的主要格式应为此成员使用KSDATAFORMAT_SUBTYPE_NONE值。 有关此成员的详细信息,请参阅 备注

Specifier

MajorFormat 和 SubFormat 的特定设置指定其他数据 格式类型信息。 如果主要格式支持子格式) ,则此字段的重要性取决于主要格式 (和子格式。 例如, 说明符 可以表示子格式的特定编码,或者可用于指定内存中 KSDATAFORMAT 后面的数据结构类型。

ks.h) 中 (定义的以下说明符是常规用途:

KSDATAFORMAT_SPECIFIER_NONE

代表无说明符。 用于不支持说明符的格式。

KSDATAFORMAT_SPECIFIER_FILENAME

指示以 null 结尾的 Unicode 字符串紧跟内存中的 KSDATAFORMAT 结构。

KSDATAFORMAT_SPECIFIER_FILEHANDLE

指示文件句柄紧跟在内存中的 KSDATAFORMAT 后面。

注解

数据格式至少由 MajorFormatSubFormat说明符 成员指定。 一系列类似的数据格式可以共享 MajorFormatSubFormat说明符的相同值。 在这种情况下,特定数据格式由内存中 说明符 成员后面的附加数据进行区分。

有关 MajorFormatSubFormat说明符组合的列表,请参阅Stream Categories 及其子主题。

要求

要求
Header ks.h (包括 Ks.h)

另请参阅

流类别