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