Structure KSDATAFORMAT (ks.h)

La structure KSDATAFORMAT est une structure de longueur variable qui décrit un format de données.

Syntaxe

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

Membres

FormatSize

Spécifie la taille, en octets, de la structure KSDATAFORMAT. Il doit s’agir d’au moins sizeof(KSDATAFORMAT), mais peut être plus grand pour des paramètres spécifiques de MajorFormat, SubFormat et Specifier. Pour plus d’informations, consultez les descriptions de ces membres.

Flags

Définissez Indicateurs sur KSDATAFORMAT_ATTRIBUTES (0x2) pour indiquer que KSDATAFORMAT est suivi en mémoire d’un KSMULTIPLE_ITEM de structures KSATTRIBUTE .

SampleSize

Spécifie la taille de l’échantillon des données, pour les tailles d’échantillon fixes, ou zéro, si le format a une taille d’échantillon variable.

Reserved

Réservé pour le système. Les pilotes doivent définir ce membre sur zéro.

MajorFormat

Spécifie le type de format général. Les formats de données actuellement pris en charge se trouvent dans les constantes symboliques KSDATAFORMAT_TYPE_XXX dans le fichier d’en-tête ksmedia.h inclus dans le Kit de pilotes Windows (WDK). Un flux de données qui n’a pas de format particulier doit utiliser KSDATAFORMAT_TYPE_STREAM (défini dans ks.h) comme valeur pour son MajorFormat. Pour plus d’informations sur ce membre, consultez Remarques.

SubFormat

Spécifie le sous-format d’un type de format général. Les sous-formats de données actuellement pris en charge se trouvent dans les constantes symboliques KSDATAFORMAT_SUBTYPE_XXX dans le fichier d’en-tête ksmedia.h inclus dans le WDK. Les formats principaux qui ne prennent pas en charge les sous-formats doivent utiliser la valeur KSDATAFORMAT_SUBTYPE_NONE pour ce membre. Pour plus d’informations sur ce membre, consultez Remarques.

Specifier

Spécifie des informations de type de format de données supplémentaires pour un paramètre spécifique de MajorFormat et SubFormat. L’importance de ce champ est déterminée par le format principal (et le sous-format, si le format principal prend en charge les sous-formats). Par exemple, le spécificateur peut représenter un encodage particulier d’un sous-format, ou il peut être utilisé pour spécifier le type de structure de données suivant KSDATAFORMAT en mémoire.

Les spécificateurs suivants (définis dans ks.h) sont d’usage général :

KSDATAFORMAT_SPECIFIER_NONE

Signifie aucun spécificateur. Utilisé pour les formats qui ne prennent pas en charge les spécificateurs.

KSDATAFORMAT_SPECIFIER_FILENAME

Indique qu’une chaîne Unicode terminée par un caractère Null suit immédiatement la structure KSDATAFORMAT en mémoire.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Indique qu’un handle de fichier suit immédiatement KSDATAFORMAT en mémoire.

Remarques

Au minimum, un format de données est spécifié par les membres MajorFormat, SubFormat et Spécificateur . Une famille de formats de données similaires peut partager les mêmes valeurs pour MajorFormat, SubFormat et Specifier. Dans ce cas, le format de données spécifique se distingue par des données supplémentaires qui suivent le membre Spécificateur en mémoire.

Pour obtenir la liste des combinaisons MajorFormat, SubFormat et Spécificateur, consultez Stream Catégories et ses sous-rubriques.

Configuration requise

Condition requise Valeur
En-tête ks.h (inclure Ks.h)

Voir aussi

Stream Catégories