Поделиться через


Объединение 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. Это должно быть по крайней мере размер(KSDATAFORMAT), но может быть больше для определенных параметров MajorFormat, SubFormatи Описатель. Дополнительные сведения см. в описаниях этих участников.

Flags

Задайте флаги KSDATAFORMAT_ATTRIBUTES (0x2), чтобы указать, что KSDATAFORMAT следует в памяти KSMULTIPLE_ITEMструктур KSATTRIBUTE.

SampleSize

Указывает размер выборки данных для фиксированных размеров выборки или нуля, если формат имеет переменный размер выборки.

Reserved

Зарезервировано для использования системы. Драйверы должны задать для этого элемента нулевое значение.

MajorFormat

Указывает общий тип формата. Форматы данных, поддерживаемые в настоящее время, можно найти в символьных константах KSDATAFORMAT_TYPE_XXX в файле заголовка ksmedia.h, который включен в комплект драйверов Windows (WDK). Поток данных, который не имеет определенного формата, должен использовать KSDATAFORMAT_TYPE_STREAM (определенный в ks.h) в качестве значения MajorFormat. Дополнительные сведения об этом члене см. в примечаниях.

SubFormat

Задает подформат общего типа формата. Поддерживаемые в настоящее время подформаты данных можно найти в символьных константах KSDATAFORMAT_SUBTYPE_XXX в файле заголовка ksmedia.h, включенном в WDK. Основные форматы, не поддерживающие подформаты, должны использовать значение KSDATAFORMAT_SUBTYPE_NONE для этого элемента. Дополнительные сведения об этом члене см. в примечаниях.

Specifier

Указывает дополнительные сведения о типе формата данных для определенного параметра MajorFormat и SubFormat. Значение этого поля определяется основным форматом (и подформатом, если основной формат поддерживает подформаты). Например, описатель может представлять определенную кодировку подформата или можно использовать для указания типа структуры данных в памяти KSDATAFORMAT.

Следующие описатели (определенные в ks.h) являются общими:

KSDATAFORMAT_SPECIFIER_NONE

Означает отсутствие описателя. Используется для форматов, которые не поддерживают описатели.

KSDATAFORMAT_SPECIFIER_FILENAME

Указывает, что строка Юникода, завершающаяся значением NULL, немедленно следует структуре KSDATAFORMAT в памяти.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Указывает, что дескриптор файла немедленно следует KSDATAFORMAT в памяти.

Alignment

Определяет элемент LONGLONGВыравнивание.

Замечания

Как минимум, формат данных задается MajorFormat, subFormatи элементами описатель. Семейство аналогичных форматов данных может использовать одинаковые значения для MajorFormat, subFormatи описатель. В этом случае конкретный формат данных отличается дополнительными данными, следующими описатель в памяти.

Список majorFormat, SubFormatи сочетаний описатель см. в категориях потоков и его подтопиках.

Требования

Требование Ценность
заголовка ks.h (include Ks.h)

См. также

категории потоков