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規範的特定設定而較大。 如需詳細資訊,請參閱這些成員的描述。

Flags

將旗標設定為 KSDATAFORMAT_ATTRIBUTES (0x2) ,以指出 KSDATAFORMAT 後面接著 KSATTRIBUTE 結構的KSMULTIPLE_ITEM

SampleSize

如果格式具有可變樣本大小,則指定數據的樣本大小、固定樣本大小或零。

Reserved

保留供系統使用。 驅動程式必須將這個成員設定為零。

MajorFormat

指定一般格式類型。 目前支持的數據格式可以在 Windows Driver Kit (WDK) 隨附的 ksmedia.h 頭檔中KSDATAFORMAT_TYPE_XXX符號常數中找到。 沒有特定格式的數據流應該使用 ks.h) 中定義的KSDATAFORMAT_TYPE_STREAM (做为其 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 後面。

備註

數據格式至少是由 MajorFormatSubFormatSpecifier成員指定 。 一系列類似的數據格式可以共用 MajorFormatSubFormatSpecifier的相同值。 在此情況下,特定數據格式會以記憶體中 指定 成員後面的其他數據來區別。

如需MajorFormatSubFormat規範組合的清單,請參閱 Stream 類別及其子主題。

規格需求

需求
標頭 ks.h (包含 Ks.h)

另請參閱

Stream 類別