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) |