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) である必要がありますが、MajorFormat、SubFormatおよび Specifier の特定の設定では大きくすることができます。 詳細については、これらのメンバーの説明を参照してください。

Flags

KSDATAFORMAT の後に KSATTRIBUTE 構造体のKSMULTIPLE_ITEMが続く場合は、フラグを KSDATAFORMAT_ATTRIBUTES (0x2) に設定します。

SampleSize

固定サンプル サイズのデータのサンプル サイズを指定します。形式に可変のサンプル サイズがある場合は 0 を指定します。

Reserved

システムで使用するために予約されています。 ドライバーは、このメンバーを 0 に設定する必要があります。

MajorFormat

一般的な書式の種類を指定します。 現在サポートされているデータ形式は、Windows Driver Kit (WDK) に含まれている ksmedia.h ヘッダー ファイルのKSDATAFORMAT_TYPE_XXXシンボリック定数にあります。 特定の形式を持たないデータ ストリームでは、majorFormat の値として KSDATAFORMAT_TYPE_STREAM (ks.h で定義) を使用する必要があります。 このメンバーの詳細については、「 解説」を参照してください。

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 の直後にファイル ハンドルがあることを示します。

注釈

少なくとも、データ形式は MajorFormatSubFormat、および Specifier メンバーによって指定されます。 同様のデータ形式のファミリは、 MajorFormatSubFormat、および Specifier で同じ値を共有できます。 その場合、特定のデータ形式は、メモリ内の 指定子 メンバーに続く追加のデータによって区別されます。

MajorFormatSubFormat、および Specifier の組み合わせの一覧については、「Stream カテゴリとそのサブトピック」を参照してください。

要件

要件
Header ks.h (Ks.h を含む)

こちらもご覧ください

ストリームのカテゴリ