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;

Angehörige

FormatSize

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

Flags

Legen Sie Flags auf KSDATAFORMAT_ATTRIBUTES (0x2) fest, um anzugeben, dass das KSDATAFORMAT im Arbeitsspeicher von einer KSMULTIPLE_ITEM von KSATTRIBUTE- Strukturen gefolgt wird.

SampleSize

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

Reserved

Reserviert für die Systemverwendung. Treiber müssen dieses Element auf Null festlegen.

MajorFormat

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

SubFormat

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

Specifier

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

Die folgenden Bezeichner (definiert in ks.h) sind allgemein zu verwenden:

KSDATAFORMAT_SPECIFIER_NONE

Steht für keinen Bezeichner. Wird für Formate verwendet, die Bezeichner nicht unterstützen.

KSDATAFORMAT_SPECIFIER_FILENAME

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

KSDATAFORMAT_SPECIFIER_FILEHANDLE

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

Bemerkungen

Mindestens wird ein Datenformat durch die MajorFormat-, das SubFormat-und die Bezeichner--Elemente angegeben. Eine Familie ähnlicher Datenformate kann dieselben Werte für MajorFormat-, SubFormat-und Bezeichner-gemeinsam nutzen. In diesem Fall wird das spezifische Datenformat durch zusätzliche Daten unterschieden, die dem Specifier Member im Arbeitsspeicher folgen.

Eine Liste der kombinationen MajorFormat-, SubFormat-und Be zeichnerkombinationen finden Sie unter Stream Categories und deren Unterthemen.

Anforderungen

Anforderung Wert
Header- ks.h (enthalten Ks.h)

Siehe auch

Streamkategorien