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),但对于 MajorFormatSubFormat说明符的特定设置,这必须更大。 有关详细信息,请参阅这些成员的说明。

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

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

以下说明符(在 ks.h中定义)是一般用途:

KSDATAFORMAT_SPECIFIER_NONE

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

KSDATAFORMAT_SPECIFIER_FILENAME

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

KSDATAFORMAT_SPECIFIER_FILEHANDLE

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

Alignment

定义 LONGLONG 成员 对齐

言论

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

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

要求

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

另请参阅

流类别