Compartilhar via


Estrutura KSDATAFORMAT (ks.h)

A estrutura KSDATAFORMAT é uma estrutura de comprimento variável que descreve um formato de dados.

Sintaxe

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

Membros

FormatSize

Especifica o tamanho, em bytes, da estrutura KSDATAFORMAT. Isso deve ser pelo menos tamanho de(KSDATAFORMAT), mas pode ser maior para configurações específicas de MajorFormat, subformataçãoe especificador. 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 de 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 na KSDATAFORMAT_TYPE_XXX constantes simbólicas no arquivo de cabeçalho ksmedia.h incluído no WDK (Windows Driver Kit). 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 o subformato de um tipo de formato geral. Os subformatações de dados com suporte no momento podem ser encontrados nas constantes simbólicas KSDATAFORMAT_SUBTYPE_XXX 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. O significado desse campo é determinado pelo formato principal (e subformatação, se o formato principal dá suporte a subformatações). Por exemplo, especificador pode representar uma codificação específica de um subformato 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 imediatamente segue a estrutura KSDATAFORMAT na memória.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

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

Observações

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

Para obter uma lista das combinações MajorFormat, SubFormate Specifier, consulte de Categorias de Fluxo e seus subtópicos.

Requisitos

Requisito Valor
cabeçalho ks.h (incluir Ks.h)

Consulte também

de categorias de fluxo de