다음을 통해 공유


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 포함)

추가 정보

KsCreateAllocator