다음을 통해 공유


KS_FRAMING_ITEM 구조체(ks.h)

KS_FRAMING_ITEM 구조체는 커널 모드 핀에서 할당자 요구 사항을 선언하는 데 사용됩니다.

구문

typedef struct {
  GUID                      MemoryType;
  GUID                      BusType;
  ULONG                     MemoryFlags;
  ULONG                     BusFlags;
  ULONG                     Flags;
  ULONG                     Frames;
  union {
    ULONG FileAlignment;
    LONG  FramePitch;
  };
  ULONG                     MemoryTypeWeight;
  KS_FRAMING_RANGE          PhysicalRange;
  KS_FRAMING_RANGE_WEIGHTED FramingRange;
} KS_FRAMING_ITEM, *PKS_FRAMING_ITEM;

멤버

MemoryType

버퍼 및 데이터 프레임에 사용되는 메모리 유형을 지정합니다. 이 멤버와 PoolType 멤버 사이에는 KSALLOCATOR_FRAMING 구조체에 부분 대응이 있습니다. 두 멤버는 PoolType 에서 페이징된 풀 또는 비페이지 풀만 허용한다는 점에서 다릅니다. MemoryType 에는 다음 표에 나열된 값이 있을 수 있습니다.

Description
KSMEMORY_TYPE_WILDCARD/KSMEMORY_TYPE_DONT_CARE/KSTYPE_DONT_CARE 메모리 할당이 모든 유형의 메모리일 수 있음을 나타냅니다.
KSMEMORY_TYPE_SYSTEM 메모리 할당이 시스템 메모리여야 했음을 나타냅니다.
KSMEMORY_TYPE_USER 메모리 할당이 사용자 모드 메모리여야 했음을 나타냅니다.
KSMEMORY_TYPE_KERNEL_PAGED 메모리 할당이 커널 페이징 메모리여야 했음을 나타냅니다. PagedPool로 설정된 KSALLOCATOR_FRAMING 구조체의 PoolType 멤버와 이 구조체의 RequirementsFlags 멤버가 SYSTEM_MEMORY.
KSMEMORY_TYPE_KERNEL_NONPAGED 메모리 할당이 페이징되지 않은 커널 메모리여야 했음을 나타냅니다. 이는 NonPagedPool로 설정된 KSALLOCATOR_FRAMING 구조체의 PoolType 멤버와 이 구조체의 RequirementsFlags 멤버가 SYSTEM_MEMORY.
KSMEMORY_TYPE_DEVICE_UNKNOWN 디바이스 메모리 할당 유형이 지정되지 않음을 나타냅니다.

BusType

MemoryType에서 지정한 실제 메모리에 액세스하는 물리적 버스를 지정합니다. 이 필드를 사용하여 연결 매체에 사용되는 버스를 기반으로 호환되는 메모리 유형을 확인합니다. 이러한 구분은 핀이 연결 매체에 따라 서로 다른 메모리 형식을 노출하는 경우에 중요합니다. BusType 에는 다음 표에 나열된 값이 있을 수 있습니다.

형식 Description
GUID_BUS_TYPE_PCI 주변 장치 구성 요소 상호 연결 버스.
GUID_BUS_TYPE_USB 범용 직렬 버스.
GUID_BUS_TYPE_1394 IEEE 1394 직렬 버스.
GUID_BUS_TYPE_AVC 오디오/비디오 제어 버스.
GUID_61883_CLASS 61883 프로토콜 버스.

MemoryFlags

연결점이 프레임 할당을 담당하게 지정합니다. KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE 설정해야 합니다.

BusFlags

사용되지 않습니다.

Flags

파이프에 대한 지원을 추가하는 플래그를 추가하여 KSALLOCATOR_FRAMING 구조체의 OptionsFlagsRequirementsFlags 공용 구조체와 유사합니다.

Frames

허용되는 미해결 프레임의 총 수를 지정합니다. KSALLOCATOR_FRAMING 구조체의 Frames 멤버에 해당합니다.

FileAlignment

프레임 맞춤에 대한 요구 사항입니다. KSALLOCATOR_FRAMING 구조체의 FileAlignment 멤버에 해당합니다.

FramePitch

LONG 멤버 FramePitch를 정의합니다.

MemoryTypeWeight

이 메모리 형식의 핀 너비 가중치를 지정하는 ULONG 형식의 값입니다.

PhysicalRange

프레임 크기의 물리적 제한을 지정하는 형식 KS_FRAMING_RANGE 구조체입니다.

FramingRange

프레임 크기의 최적 범위를 지정하는 형식 KS_FRAMING_RANGE_WEIGHTED 구조체입니다.

설명

메모리 주소 지정 기능을 나타내도록 KSALLOCATOR_FLAG_CAN_ALLOCATE 설정하지 마세요. 필터는 이 버스의 메모리 주소를 참조하여 디바이스별 버스를 통해 디바이스별 메모리에 액세스할 수 있지만 이 디바이스별 메모리를 할당하는 프로토콜을 지원하지 않을 수 있습니다.

KSALLOCATOR_FRAMING_EX instance 하나 이상의 프레이밍 항목이 포함되어 있습니다.

요구 사항

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

추가 정보

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED