Struttura KSDATAFORMAT (ks.h)

La struttura KSDATAFORMAT è una struttura a lunghezza variabile che descrive un formato di dati.

Sintassi

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

Members

FormatSize

Specifica le dimensioni, in byte, della struttura KSDATAFORMAT. Deve essere almeno sizeof(KSDATAFORMAT), ma può essere più grande per le impostazioni specifiche di MajorFormat, SubFormat e Identificatore. Per altre informazioni, vedere le descrizioni per questi membri.

Flags

Impostare Flag su KSDATAFORMAT_ATTRIBUTES (0x2) per indicare che KSDATAFORMAT è seguito in memoria da una KSMULTIPLE_ITEM di strutture KSATTRIBUTE .

SampleSize

Specifica le dimensioni di esempio dei dati, per le dimensioni fisse di esempio o zero, se il formato ha una dimensione di esempio variabile.

Reserved

Riservato per l'utilizzo nel sistema. I driver devono impostare questo membro su zero.

MajorFormat

Specifica il tipo di formato generale. I formati di dati attualmente supportati sono disponibili nelle costanti simboliche di KSDATAFORMAT_TYPE_XXX nel file di intestazione ksmedia.h incluso nel Driver Kit di Windows (WDK). Un flusso di dati che non ha un formato specifico deve usare KSDATAFORMAT_TYPE_STREAM (definito in ks.h) come valore per Il formato MajorFormat. Per altre informazioni su questo membro, vedere Osservazioni.

SubFormat

Specifica il formato secondario di un tipo di formato generale. I sottoformati di dati attualmente supportati sono disponibili nelle costanti simboliche KSDATAFORMAT_SUBTYPE_XXX nel file di intestazione ksmedia.h incluso nel WDK. I formati principali che non supportano i sottoformati devono usare il valore KSDATAFORMAT_SUBTYPE_NONE per questo membro. Per altre informazioni su questo membro, vedere Osservazioni.

Specifier

Specifica informazioni aggiuntive sul tipo di formato dati per un'impostazione specifica di MajorFormat e SubFormat. Il significato di questo campo è determinato dal formato principale (e sottoformato, se il formato principale supporta i sottoformati). Ad esempio, l'identificatore può rappresentare una determinata codifica di un sottoformato oppure può essere usato per specificare il tipo di struttura di dati seguente KSDATAFORMAT in memoria.

Gli identificatori seguenti (definiti in ks.h) sono di uso generale:

KSDATAFORMAT_SPECIFIER_NONE

Non è disponibile alcun identificatore. Usato per i formati che non supportano gli identificatori.

KSDATAFORMAT_SPECIFIER_FILENAME

Indica che una stringa Unicode con terminazione null segue immediatamente la struttura KSDATAFORMAT in memoria.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Indica che un handle di file segue immediatamente KSDATAFORMAT in memoria.

Commenti

Al minimo, un formato di dati viene specificato da MajorFormat, subFormat e i membri dell'identificatore . Una famiglia di formati di dati simili può condividere gli stessi valori per MajorFormat, SubFormat e Identificatore. In tal caso, il formato di dati specifico è distinto da dati aggiuntivi che seguono il membro identificatore in memoria.

Per un elenco di combinazioni MajorFormat, SubFormat e Identificatore, vedere categorie Stream e i relativi sottopici.

Requisiti

Requisito Valore
Intestazione ks.h (include Ks.h)

Vedi anche

categorie Stream