KSDATAFORMAT union (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 符号常量中找到当前支持的数据格式。 没有特定格式的数据流应使用 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 后面。
Alignment
定义 LONGLONG 成员 对齐方式。
注解
数据格式至少由 MajorFormat、 SubFormat 和 说明符 成员指定。 一系列类似的数据格式可以为 MajorFormat、 SubFormat 和 说明符共享相同的值。 在这种情况下,特定数据格式由内存中 说明符 成员后面的其他数据进行区分。
有关 MajorFormat、SubFormat 和说明符组合的列表,请参阅Stream类别及其子主题。
要求
要求 | 值 |
---|---|
Header | ks.h (包括 Ks.h) |