Freigeben über


KSDATAFORMAT-Struktur (ks.h)

Die KSDATAFORMAT-Struktur ist eine Struktur mit variabler Länge, die ein Datenformat beschreibt.

Syntax

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

Member

FormatSize

Gibt die Größe der KSDATAFORMAT-Struktur in Bytes an. Dies muss mindestens sizeof(KSDATAFORMAT) sein, kann jedoch für bestimmte Einstellungen von MajorFormat, SubFormat und Specifier größer sein. Weitere Informationen finden Sie in den Beschreibungen für diese Member.

Flags

Legen Sie Flags auf KSDATAFORMAT_ATTRIBUTES (0x2) fest, um anzugeben, dass auf KSDATAFORMAT im Arbeitsspeicher eine KSMULTIPLE_ITEM von KSATTRIBUTE-Strukturen folgt.

SampleSize

Gibt die Stichprobengröße der Daten für feste Stichprobengrößen (null) an, wenn das Format eine variable Stichprobengröße aufweist.

Reserved

Ist für das System reserviert. Treiber müssen dieses Element auf 0 (null) festlegen.

MajorFormat

Gibt den allgemeinen Formattyp an. Die derzeit unterstützten Datenformate finden Sie im KSDATAFORMAT_TYPE_XXX symbolischen Konstanten in der Headerdatei ksmedia.h , die im Windows Driver Kit (WDK) enthalten ist. Ein Datenstrom, der kein bestimmtes Format aufweist, sollte KSDATAFORMAT_TYPE_STREAM (in ks.h definiert) als Wert für sein MajorFormat verwenden. Weitere Informationen zu diesem Member finden Sie unter Hinweise.

SubFormat

Gibt das Unterformat eines allgemeinen Formattyps an. Die derzeit unterstützten Datenunterformate finden Sie im KSDATAFORMAT_SUBTYPE_XXX symbolischen Konstanten in der Headerdatei ksmedia.h , die im WDK enthalten ist. Hauptformate, die keine Unterformate unterstützen, sollten den KSDATAFORMAT_SUBTYPE_NONE-Wert für diesen Member verwenden. Weitere Informationen zu diesem Member finden Sie unter Hinweise.

Specifier

Gibt zusätzliche Datentypinformationen für eine bestimmte Einstellung von MajorFormat und SubFormat an. Die Bedeutung dieses Felds wird durch das Hauptformat (und das Unterformat, wenn das Hauptformat Unterformate unterstützt) bestimmt. Beispielsweise kann der Bezeichner eine bestimmte Codierung eines Unterformats darstellen, oder er kann verwendet werden, um anzugeben, welche Art von Datenstruktur KSDATAFORMAT im Arbeitsspeicher folgt.

Die folgenden Spezifizierer (definiert in ks.h) sind von allgemeiner Verwendung:

KSDATAFORMAT_SPECIFIER_NONE

Steht für kein Spezifizierer. Wird für Formate verwendet, die keine Spezifizierer unterstützen.

KSDATAFORMAT_SPECIFIER_FILENAME

Gibt an, dass eine mit Null endende Unicode-Zeichenfolge unmittelbar auf die KSDATAFORMAT-Struktur im Arbeitsspeicher folgt.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

Gibt an, dass ein Dateihandle unmittelbar auf KSDATAFORMAT im Arbeitsspeicher folgt.

Hinweise

Mindestens wird ein Datenformat durch die Member MajorFormat, SubFormat und Specifier angegeben. Eine Familie ähnlicher Datenformate kann die gleichen Werte für MajorFormat, SubFormat und Specifier verwenden. In diesem Fall unterscheidet sich das spezifische Datenformat durch zusätzliche Daten, die dem Spezifiziererelement im Arbeitsspeicher folgen.

Eine Liste der Kombinationen MajorFormat, SubFormat und Specifier finden Sie unter Stream Kategorien und deren Unterthemen.

Anforderungen

Anforderung Wert
Header ks.h (ks.h einschließen)

Weitere Informationen

Stream Kategorien