Estructura KSDATAFORMAT (ks.h)

La estructura KSDATAFORMAT es una estructura de longitud variable que describe un formato de datos.

Sintaxis

typedef struct {
  ULONG FormatSize;
  ULONG Flags;
  ULONG SampleSize;
  ULONG Reserved;
  GUID  MajorFormat;
  GUID  SubFormat;
  GUID  Specifier;
} KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;

Miembros

FormatSize

Especifica el tamaño, en bytes, de la estructura KSDATAFORMAT. Debe ser al menos sizeof(KSDATAFORMAT), pero puede ser mayor para una configuración específica de MajorFormat, SubFormat y Specifier. Consulte las descripciones de estos miembros para obtener más información.

Flags

Establezca Marcas en KSDATAFORMAT_ATTRIBUTES (0x2) para indicar que KSDATAFORMAT va seguido en memoria por una KSMULTIPLE_ITEM de estructuras KSATTRIBUTE .

SampleSize

Especifica el tamaño de muestra de los datos, para tamaños fijos de muestra o cero, si el formato tiene un tamaño de muestra variable.

Reserved

Reservado para uso del sistema. Los controladores deben establecer este miembro en cero.

MajorFormat

Especifica el tipo de formato general. Los formatos de datos que se admiten actualmente se pueden encontrar en la KSDATAFORMAT_TYPE_XXX constantes simbólicas del archivo de encabezado ksmedia.h que se incluye en el Kit de controladores de Windows (WDK). Un flujo de datos que no tenga ningún formato determinado debe usar KSDATAFORMAT_TYPE_STREAM (definido en ks.h) como valor para su MajorFormat. Para obtener más información sobre este miembro, vea Comentarios.

SubFormat

Especifica el subformato de un tipo de formato general. Los subformatos de datos que se admiten actualmente se pueden encontrar en la KSDATAFORMAT_SUBTYPE_XXX constantes simbólicas del archivo de encabezado ksmedia.h que se incluye en el WDK. Los formatos principales que no admiten subformatos deben usar el valor KSDATAFORMAT_SUBTYPE_NONE para este miembro. Para obtener más información sobre este miembro, vea Comentarios.

Specifier

Especifica información adicional del tipo de formato de datos para una configuración específica de MajorFormat y SubFormat. La importancia de este campo viene determinada por el formato principal (y el subformato, si el formato principal admite subformatos). Por ejemplo, El especificador puede representar una codificación determinada de un subformato o se puede usar para especificar qué tipo de estructura de datos sigue KSDATAFORMAT en memoria.

Los especificadores siguientes (definidos en ks.h) son de uso general:

KSDATAFORMAT_SPECIFIER_NONE

Significa que no hay ningún especificador. Se usa para formatos que no admiten especificadores.

KSDATAFORMAT_SPECIFIER_FILENAME

Indica que una cadena Unicode terminada en null sigue inmediatamente a la estructura KSDATAFORMAT en memoria.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Indica que un identificador de archivo sigue inmediatamente a KSDATAFORMAT en la memoria.

Comentarios

Como mínimo, los miembros MajorFormat, SubFormat y Specifier especifican un formato de datos. Una familia de formatos de datos similares puede compartir los mismos valores para MajorFormat, SubFormat y Specifier. En ese caso, el formato de datos específico se distingue por datos adicionales que siguen al miembro Especificador en memoria.

Para obtener una lista de las combinaciones MajorFormat, SubFormat y Specifier, vea Stream Categories y sus subtemas.

Requisitos

Requisito Valor
Header ks.h (incluye Ks.h)

Consulte también

categorías de Stream