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 구조의 OptionsFlags 및 RequirementsFlags 공용 구조체와 비슷하며 파이프에 대한 지원을 추가하는 플래그가 추가되었습니다.
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 포함) |