Condividi tramite


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)

Vedi anche

categorie Stream