KSALLOCATOR_FRAMING 구조체(ks.h)
KSALLOCATOR_FRAMING 구조는 프레이밍 요구 사항을 쿼리하고 할당자 만들기 요청을 제출하는 데 사용됩니다.
구문
typedef struct {
union {
ULONG OptionsFlags;
ULONG RequirementsFlags;
};
#if ...
POOL_TYPE PoolType;
#else
ULONG PoolType;
#endif
ULONG Frames;
ULONG FrameSize;
union {
ULONG FileAlignment;
LONG FramePitch;
};
ULONG Reserved;
} KSALLOCATOR_FRAMING, *PKSALLOCATOR_FRAMING;
멤버
OptionsFlags
연결점에 대한 할당자를 만드는 동안 지정된 할당자 옵션 플래그를 지정합니다. OptionsFlags 멤버는 다음 값 중 하나를 포함할 수 있습니다.
OptionsFlags | Description |
---|---|
KSALLOCATOR_OPTIONF_COMPATIBLE | 생성되는 할당자의 프레이밍 옵션이 다운스트림 할당자와 호환됨을 나타냅니다. 이 옵션은 일반적으로 현재 위치 한정자에 복사 버퍼에 대한 할당자가 할당될 때 지정됩니다. 필터가 지정된 프레임을 수정할 필요가 없는 경우 이 옵션을 지정할 때 다운스트림 할당자에서 추가 프레임을 할당하지 않고도 프레임을 다운스트림 필터에 제출할 수 있습니다. |
KSALLOCATOR_OPTIONF_SYSTEM_MEMORY | 시스템 메모리를 할당에 사용해야 했음을 나타냅니다. 지정한 경우 할당자는 PoolType 멤버에 지정된 대로 풀에서 메모리를 할당해야 합니다. 그렇지 않으면 싱크가 온보드 RAM 또는 디바이스의 다른 형태의 스토리지에 대한 시스템 주소 매핑을 제공한다고 가정합니다. |
RequirementsFlags
쿼리 작업에 대한 이 연결 지점에 대한 할당자 요구 사항을 설명하는 ULONG 형식의 값입니다. RequirementsFlags 멤버에는 다음 값이 포함될 수 있습니다.
플래그 값 | Description |
---|---|
KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER | 연결점이 현재 위치 수정을 수행할 수 있음을 나타냅니다. |
KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY | 연결 지점에 할당을 위해 시스템 메모리가 필요했음을 나타냅니다. 이 옵션을 설정하지 않으면 싱크가 온보드 RAM 또는 디바이스의 다른 형태의 스토리지에 대한 시스템 주소 공간 매핑을 제공한다고 가정합니다. |
KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY | 연결 지점에 다운스트림 필터가 지정된 프레임의 데이터 무결성을 유지해야 함을 나타냅니다. |
KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE | 연결 지점에 전송된 프레임을 할당해야 했음을 나타냅니다. |
KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY | 요구 사항 플래그는 기본 설정에만 해당하며 연결 지점에서 해당 사양을 충족하지 않는 프레임을 할당할 수 있음을 나타냅니다. |
PoolType
커널 모드 할당 풀 형식을 지정하는 형식 POOL_TYPE 구조체입니다.
Frames
허용되는 미해결 프레임의 총 수를 지정합니다. 0은 필터에 이 멤버에 대한 요구 사항이 없음을 나타냅니다.
FrameSize
접두사 및 접두사를 포함하여 프레임의 총 크기를 지정합니다. 0은 필터에 이 멤버에 대한 요구 사항이 없음을 나타냅니다.
FileAlignment
프레임을 할당할 때 사용할 바이트 맞춤을 설명하는 ULONG 형식의 값입니다. 다음 표에서는 몇 가지 가능한 맞춤 값에 대해 설명합니다.
값 | Description |
---|---|
FILE_BYTE_ALIGNMENT | 1 바이트 맞춤 |
FILE_WORD_ALIGNMENT | 2 바이트 맞춤 |
FILE_LONG_ALIGNMENT | 4 바이트 맞춤 |
FILE_32_BYTE_ALIGNMENT | 32 바이트 맞춤 |
FILE_64_BYTE_ALIGNMENT | 64비트 맞춤 |
FramePitch
Reserved
시스템에서 사용하도록 예약되었습니다. 0으로 설정됩니다.
설명
KSALLOCATOR_FRAMING 사용하여 IRP_MJ_CREATE 사용하여 싱크 핸들에 할당자 만들기 요청을 제출합니다.
FileAlignment 멤버에 대한 값을 지정하면 가장 작은 할당 맞춤은 1 바이트(FILE_BYTE_ALIGNMENT)입니다. 할당으로 작동하는 소프트웨어는 가능한 경우 4 바이트 맞춤(FILE_LONG_ALIGNMENT)을 지원해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ks.h(Ks.h 포함) |