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 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 da amostra dos dados, para tamanhos de exemplo fixos ou zero, se o formato tiver um tamanho de amostra 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 o 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 subformatação, se o formato principal der suporte a subformatações). Por exemplo, Specifier 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.
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 de combinações de MajorFormat, SubFormat e Specifier, consulte Categorias Stream e seus subtópicos.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ks.h (inclua Ks.h) |