다음을 통해 공유


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

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

묘사
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 다음 표에 나열된 값을 포함할 수 있습니다.

묘사
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

FramePitch LONG 멤버를 정의합니다.

MemoryTypeWeight

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

PhysicalRange

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

FramingRange

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

발언

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

KSALLOCATOR_FRAMING_EX 인스턴스에는 하나 이상의 프레이밍 항목이 포함됩니다.

요구 사항

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

참고 항목

KSALLOCATOR_FRAMING

KSALLOCATOR_FRAMING_EX

KS_COMPRESSION

KS_FRAMING_RANGE

KS_FRAMING_RANGE_WEIGHTED