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 結構的大小,以位元組為單位。 這至少必須是 sizeof(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和 規範 組合的清單,請參閱 及其子主題 Stream 類別。
要求
要求 | 價值 |
---|---|
標頭 | ks.h (包括 Ks.h) |