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
指定 MajorFormat 和 SubFormat 特定設定的其他資料格式類型資訊。 此欄位的重要性取決於主要格式 (和子格式,如果主要格式支援子格式) 。 例如, 規範 可以代表子格式的特定編碼方式,或者可用來指定記憶體中 KSDATAFORMAT 後面的數據類型。
ks.h) 中定義的下列規範 (是一般用途:
KSDATAFORMAT_SPECIFIER_NONE
代表沒有規範。 用於不支持規範的格式。
KSDATAFORMAT_SPECIFIER_FILENAME
表示以 Null 結尾的 Unicode 字串緊接在記憶體中的 KSDATAFORMAT 結構之後。
KSDATAFORMAT_SPECIFIER_FILEHANDLE
表示檔案句柄緊接在記憶體中的 KSDATAFORMAT 後面。
備註
數據格式至少是由 MajorFormat、 SubFormat和 Specifier成員指定 。 一系列類似的數據格式可以共用 MajorFormat、 SubFormat和 Specifier的相同值。 在此情況下,特定數據格式會以記憶體中 指定 成員後面的其他數據來區別。
如需MajorFormat、SubFormat和規範組合的清單,請參閱 Stream 類別及其子主題。
規格需求
需求 | 值 |
---|---|
標頭 | ks.h (包含 Ks.h) |