다음을 통해 공유


KSDATAFORMAT 공용 구조체(ks.h)

이 항목에서는 KSDATAFORMAT 공용 구조체에 대해 설명합니다.

구문

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

멤버

FormatSize

KSDATAFORMAT 구조체의 크기(바이트)를 지정합니다. 최소 sizeof(KSDATAFORMAT)여야 하지만 MajorFormat, SubFormatSpecifier의 특정 설정에 대해 더 클 수 있습니다. 자세한 내용은 이러한 멤버에 대한 설명을 참조하세요.

Flags

플래그를 KSDATAFORMAT_ATTRIBUTES(0x2)로 설정하여 KSDATAFORMAT가 메모리에서 KSATTRIBUTE 구조체의 KSMULTIPLE_ITEM 뒤따른다는 것을 나타냅니다.

SampleSize

형식에 변수 샘플 크기가 있는 경우 고정된 샘플 크기의 경우 데이터의 샘플 크기 또는 0을 지정합니다.

Reserved

시스템에서 사용하도록 예약되었습니다. 드라이버는 이 멤버를 0으로 설정해야 합니다.

MajorFormat

일반 형식 형식을 지정합니다. 현재 지원되는 데이터 형식은 WDK(Windows 드라이버 키트)에 포함된 ksmedia.h 헤더 파일의 KSDATAFORMAT_TYPE_XXX 기호 상수에서 찾을 수 있습니다. 특정 형식이 없는 데이터 스트림은 KSDATAFORMAT_TYPE_STREAM( ks.h로 정의됨)을 MajorFormat의 값으로 사용해야 합니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

SubFormat

일반 형식 형식의 하위 형식을 지정합니다. 현재 지원되는 데이터 하위 형식은 WDK에 포함된 ksmedia.h 헤더 파일의 KSDATAFORMAT_SUBTYPE_XXX 기호 상수에서 찾을 수 있습니다. 하위 형식을 지원하지 않는 주 형식은 이 멤버에 대한 KSDATAFORMAT_SUBTYPE_NONE 값을 사용해야 합니다. 이 멤버에 대한 자세한 내용은 비고를 참조하세요.

Specifier

MajorFormat 및 SubFormat의 특정 설정에 대한 추가 데이터 형식 형식 정보를 지정합니다. 이 필드의 중요성은 주 형식(및 주 형식이 하위 형식을 지원하는 경우 하위 형식)에 따라 결정됩니다. 예를 들어 지정자는 하위 폼의 특정 인코딩을 나타내거나 메모리에서 KSDATAFORMAT 다음에 나오는 데이터 구조의 형식을 지정하는 데 사용할 수 있습니다.

다음 지정자( ks.h에 정의됨)는 일반적으로 사용됩니다.

KSDATAFORMAT_SPECIFIER_NONE

지정자가 없음을 의미합니다. 지정자를 지원하지 않는 형식에 사용됩니다.

KSDATAFORMAT_SPECIFIER_FILENAME

null로 종료된 유니코드 문자열이 메모리의 KSDATAFORMAT 구조 바로 뒤에 있음을 나타냅니다.

KSDATAFORMAT_SPECIFIER_FILEHANDLE

파일 핸들이 메모리의 KSDATAFORMAT 바로 뒤에 있음을 나타냅니다.

Alignment

LONGLONG 멤버 맞춤을 정의합니다.

설명

최소한 데이터 형식은 MajorFormat, SubFormat지정자 멤버로 지정됩니다. 비슷한 데이터 형식의 제품군은 MajorFormat, SubFormatSpecifier에 대해 동일한 값을 공유할 수 있습니다. 이 경우 특정 데이터 형식은 메모리의 지정자 멤버 뒤에 있는 추가 데이터로 구분됩니다.

MajorFormat, SubFormat지정자 조합 목록은 Stream 범주 및 해당 하위 항목을 참조하세요.

요구 사항

요구 사항
헤더 ks.h(Ks.h 포함)

추가 정보

Stream 범주