Unione KSDATAFORMAT (ks.h)
In questo argomento viene descritta l'unione KSDATAFORMAT .
Sintassi
typedef union {
struct {
ULONG FormatSize;
ULONG Flags;
ULONG SampleSize;
ULONG Reserved;
GUID MajorFormat;
GUID SubFormat;
GUID Specifier;
};
LONGLONG Alignment;
} 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 impostazioni specifiche di MajorFormat, SubFormat e Identificatore. Per altre informazioni, vedere le descrizioni di 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 del campione dei dati, per le dimensioni fisse del campione o zero, se il formato ha una dimensione del campione 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 KSDATAFORMAT_TYPE_XXX nel file di intestazione ksmedia.h incluso in Windows Driver Kit (WDK). Un flusso di dati che non ha un formato specifico deve usare KSDATAFORMAT_TYPE_STREAM (definito in ks.h) come valore per MajorFormat. Per altre informazioni su questo membro, vedere Osservazioni.
SubFormat
Specifica il sottoformatto di un tipo di formato generale. I sottoformatti di dati attualmente supportati sono disponibili nelle costanti simboliche KSDATAFORMAT_SUBTYPE_XXX nel file di intestazione ksmedia.h incluso in WDK. I formati principali che non supportano i formati secondari 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 dal formato secondario, se il formato principale supporta i sottoformatti). Ad esempio, l'identificatore può rappresentare una codifica specifica di un sottoformatto oppure può essere usato per specificare il tipo di struttura di dati che segue KSDATAFORMAT in memoria.
Gli identificatori seguenti (definiti in ks.h) sono di uso generale:
KSDATAFORMAT_SPECIFIER_NONE
Indica nessun 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.
Alignment
Definisce l'allineamento dei membri LONGLONG.
Commenti
Come minimo, viene specificato un formato di dati dai membri MajorFormat, SubFormat e Identificatore . Una famiglia di formati di dati simili può condividere gli stessi valori per MajorFormat, SubFormat e Identificatore. In tal caso, il formato dati specifico è distinto da dati aggiuntivi che seguono il membro Identificatore in memoria.
Per un elenco delle combinazioni MajorFormat, SubFormat e Specifier, vedere Stream categorie e i relativi argomenti secondari.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ks.h (include Ks.h) |