다음을 통해 공유


PFLT_CONTEXT_ALLOCATE_CALLBACK 콜백 함수(fltkernel.h)

미니필터 드라이버는 PFLT_CONTEXT_ALLOCATE_CALLBACK 유형의 루틴을 미니필터 드라이버의 ContextAllocateCallback 루틴으로 등록할 수 있습니다.

구문

PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;

PVOID PfltContextAllocateCallback(
  [in] POOL_TYPE PoolType,
  [in] SIZE_T Size,
  [in] FLT_CONTEXT_TYPE ContextType
)
{...}

매개 변수

[in] PoolType

할당할 풀의 유형입니다. 이 매개 변수는 필수이며 다음 중 하나여야 합니다.

NonPagedPool

PagedPool

ContextType 매개 변수가 FLT_VOLUME_CONTEXT 경우 NonPagedPool이어야 합니다.

[in] Size

필터 관리자가 정의한 부분과 미니필터 드라이버에서 정의한 부분을 포함하여 전체 컨텍스트의 크기(바이트)입니다.

[in] ContextType

컨텍스트의 유형입니다. 이 매개 변수는 필수이며 다음 값 중 하나여야 합니다.

FLT_FILE_CONTEXT(Windows Vista부터 시작)

FLT_INSTANCE_CONTEXT

FLT_STREAM_CONTEXT

FLT_STREAMHANDLE_CONTEXT

FLT_SECTION_CONTEXT(Windows 8 시작)

FLT_TRANSACTION_CONTEXT(Windows Vista부터 시작)

FLT_VOLUME_CONTEXT

반환 값

요청을 충족하는 데 사용 가능한 풀이 충분하지 않은 경우 이 루틴은 NULL 포인터를 반환합니다. 그렇지 않으면 새로 할당된 컨텍스트에 대한 포인터를 반환합니다.

설명

미니필터 드라이버가 자체 컨텍스트 할당을 수행해야 하는 드문 경우의 경우 DriverEntry 루틴에서 FltRegisterFilter를 호출할 때 등록하는 각 컨텍스트 형식에 대해 PFLT_CONTEXT_ALLOCATE_CALLBACK 형식의 루틴을 ContextAllocateCallback 루틴으로 지정할 수 있습니다. 이 루틴을 지정하기 위해 미니필터 드라이버는 컨텍스트 형식에 대한 FLT_CONTEXT_REGISTRATION 구조체의 ContextAllocateCallback 멤버에 루틴에 대한 포인터를 저장합니다.

컨텍스트 등록에 대한 자세한 내용은 FLT_CONTEXT_REGISTRATION 대한 참조 항목을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 fltkernel.h(Fltkernel.h 포함)
IRQL <=APC_LEVEL

추가 정보

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK