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) ,但对于 MajorFormat、SubFormat 和 Specifier 的特定设置,其大小可能更大。 有关详细信息,请参阅这些成员的说明。
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 后面。
注解
数据格式至少由 MajorFormat、 SubFormat 和 说明符 成员指定。 一系列类似的数据格式可以共享 MajorFormat、 SubFormat 和 说明符的相同值。 在这种情况下,特定数据格式由内存中 说明符 成员后面的附加数据进行区分。
有关 MajorFormat、SubFormat 和说明符组合的列表,请参阅Stream Categories 及其子主题。
要求
要求 | 值 |
---|---|
Header | ks.h (包括 Ks.h) |