KSDATAFORMAT 联合 (ks.h)
本主题介绍 KSDATAFORMAT 联合。
语法
typedef union {
struct {
ULONG FormatSize;
ULONG Flags;
ULONG SampleSize;
ULONG Reserved;
GUID MajorFormat;
GUID SubFormat;
GUID Specifier;
};
LONGLONG Alignment;
} KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;
成员
FormatSize
指定 KSDATAFORMAT 结构的大小(以字节为单位)。 这必须至少 大小(KSDATAFORMAT),但对于 MajorFormat、SubFormat和 说明符的特定设置,这必须更大。 有关详细信息,请参阅这些成员的说明。
Flags
将标志设置为KSDATAFORMAT_ATTRIBUTES(0x2),以指示 KSDATAFORMAT 在内存中后跟 KSATTRIBUTE 结构的 KSMULTIPLE_ITEM。
SampleSize
如果格式具有可变样本大小,则指定数据的样本大小(对于固定样本大小)或零。
Reserved
保留供系统使用。 驱动程序必须将此成员设置为零。
MajorFormat
指定常规格式类型。 当前支持的数据格式可以在 windows 驱动程序工具包(WDK)中包含的 ksmedia.h 头文件中的KSDATAFORMAT_TYPE_XXX符号常量中找到。 没有特定格式的数据流应使用KSDATAFORMAT_TYPE_STREAM(在 ks.h中定义)作为其 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 之后。
Alignment
定义 LONGLONG 成员 对齐。
言论
数据格式至少由 MajorFormat、SubFormat和 说明符 成员指定。 一系列类似的数据格式可以为 MajorFormat、SubFormat和 说明符共享相同的值。 在这种情况下,特定数据格式由内存中 说明符 成员后面的其他数据进行区分。
有关 MajorFormat、SubFormat和 说明符 组合的列表,请参阅 流类别 及其子主题。
要求
要求 | 价值 |
---|---|
标头 | ks.h (包括 Ks.h) |