KSDATAFORMAT-Union (ks.h)
In diesem Thema wird die KSDATAFORMAT-Union beschrieben.
Syntax
typedef union {
struct {
ULONG FormatSize;
ULONG Flags;
ULONG SampleSize;
ULONG Reserved;
GUID MajorFormat;
GUID SubFormat;
GUID Specifier;
};
LONGLONG Alignment;
} 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.
Alignment
Definiert die LONGLONG-Memberausrichtung.
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) |