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