共用方式為


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 結構的大小,以位元組為單位。 這至少必須是 sizeof(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 之後。

言論

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

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

要求

要求 價值
標頭 ks.h (包括 Ks.h)

另請參閱

串流類別目錄