Compartilhar via


União KSDATAFORMAT (ks.h)

Este tópico descreve a união KSDATAFORMAT .

Sintaxe

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

Membros

FormatSize

Especifica o tamanho, em bytes, da estrutura KSDATAFORMAT. Isso deve ser pelo menos sizeof(KSDATAFORMAT), mas pode ser maior para configurações específicas de MajorFormat, SubFormat e Specifier. Confira as descrições desses membros para obter mais informações.

Flags

Defina Sinalizadores como KSDATAFORMAT_ATTRIBUTES (0x2) para indicar que o KSDATAFORMAT é seguido na memória por um KSMULTIPLE_ITEM de estruturas KSATTRIBUTE .

SampleSize

Especifica o tamanho de exemplo dos dados, para tamanhos de exemplo fixos ou zero, se o formato tiver um tamanho de exemplo variável.

Reserved

Reservado para uso do sistema. Os drivers devem definir esse membro como zero.

MajorFormat

Especifica o tipo de formato geral. Os formatos de dados com suporte no momento podem ser encontrados no KSDATAFORMAT_TYPE_XXX constantes simbólicas no arquivo de cabeçalho ksmedia.h incluído no WDK (Kit de Driver do Windows). Um fluxo de dados que não tem um formato específico deve usar KSDATAFORMAT_TYPE_STREAM (definido em ks.h) como o valor de seu MajorFormat. Para obter mais informações sobre esse membro, consulte Comentários.

SubFormat

Especifica a subformatação de um tipo de formato geral. As subformatações de dados com suporte no momento podem ser encontradas no KSDATAFORMAT_SUBTYPE_XXX constantes simbólicas no arquivo de cabeçalho ksmedia.h incluído no WDK. Os formatos principais que não dão suporte a subformatações devem usar o valor KSDATAFORMAT_SUBTYPE_NONE para esse membro. Para obter mais informações sobre esse membro, consulte Comentários.

Specifier

Especifica informações adicionais de tipo de formato de dados para uma configuração específica de MajorFormat e SubFormat. A significância desse campo é determinada pelo formato principal (e pelo subformulário, se o formato principal der suporte a subformatações). Por exemplo, o Especificador pode representar uma codificação específica de um subformulário ou pode ser usado para especificar que tipo de estrutura de dados segue KSDATAFORMAT na memória.

Os seguintes especificadores ( definidos em ks.h) são de uso geral:

KSDATAFORMAT_SPECIFIER_NONE

Significa nenhum especificador. Usado para formatos que não dão suporte a especificadores.

KSDATAFORMAT_SPECIFIER_FILENAME

Indica que uma cadeia de caracteres Unicode terminada em nulo segue imediatamente a estrutura KSDATAFORMAT na memória.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Indica que um identificador de arquivo segue imediatamente KSDATAFORMAT na memória.

Alignment

Define o alinhamentode membro LONGLONG.

Comentários

No mínimo, um formato de dados é especificado pelos membros MajorFormat, SubFormat e Specifier . Uma família de formatos de dados semelhantes pode compartilhar os mesmos valores para MajorFormat, SubFormat e Specifier. Nesse caso, o formato de dados específico é diferenciado por dados adicionais que seguem o membro Especificador na memória.

Para obter uma lista das combinações MajorFormat, SubFormat e Specifier, consulte Stream categorias e seus subtópicos.

Requisitos

Requisito Valor
Cabeçalho ks.h (inclua Ks.h)

Confira também

Stream categorias