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 tamaño de(KSDATAFORMAT), pero puede ser mayor para configuraciones específicas de MajorFormat, SubFormaty Especificador. 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 de la memoria por un KSMULTIPLE_ITEM de estructuras de 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 las constantes simbólicas KSDATAFORMAT_TYPE_XXX en el ksmedia.h archivo de encabezado 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 de 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 de la ksmedia.h archivo de encabezado que se incluye en 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 de 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 subformato, si el formato principal admite subformatos). Por ejemplo, especificador puede representar una codificación determinada de un subformato o puede usarse para especificar qué tipo de estructura de datos sigue KSDATAFORMAT en memoria.
Los siguientes especificadores (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 la estructura KSDATAFORMAT en memoria.
KSDATAFORMAT_SPECIFIER_FILEHANDLE
Indica que un identificador de archivo sigue inmediatamente A KSDATAFORMAT en la memoria.
Observaciones
Como mínimo, el MajorFormatespecifica un formato de datos , el subformato dey los miembros del especificador de . Una familia de formatos de datos similares puede compartir los mismos valores para MajorFormat, SubFormaty Especificador. En ese caso, el formato de datos específico se distingue por datos adicionales que siguen al especificador de miembro en memoria.
Para obtener una lista de majorFormat, subformatoy combinaciones de especificador, vea categorías de flujo y sus subtemas.
Requisitos
Requisito | Valor |
---|---|
encabezado de | ks.h (incluya Ks.h) |