FltAllocateCallbackDataEx 함수(fltkernel.h)

FltAllocateCallbackDataEx 루틴은 콜백 데이터 구조를 할당하고 미니필터 드라이버가 I/O 요청을 시작하는 데 사용할 수 있는 추가 구조에 대한 메모리를 미리 할당할 수 있습니다.

구문

NTSTATUS FLTAPI FltAllocateCallbackDataEx(
  [in]          PFLT_INSTANCE                    Instance,
  [in/optional] PFILE_OBJECT                     FileObject,
  [in]          FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
  [out]         PFLT_CALLBACK_DATA               *RetNewCallbackData
);

매개 변수

[in] Instance

I/O 작업을 시작하는 미니필터 드라이버 instance 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in/optional] FileObject

I/O 작업에 사용할 파일 개체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. CREATE 작업인 경우 FileObjectNULL 로 설정합니다.

[in] Flags

값 0 또는 다음 플래그: FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY

이 플래그가 설정된 경우 루틴은 I/O 요청에 사용할 추가 구조를 위해 필터 관리자에 필요한 모든 메모리를 미리 할당합니다.

[out] RetNewCallbackData

새로 할당된 콜백 데이터 FLT_CALLBACK_DATA 구조체의 주소를 수신하는 호출자가 할당한 변수에 대한 포인터입니다.

반환 값

FltAllocateCallbackDataEx 루틴은 콜백 데이터 구조를 할당하려고 할 때 루틴에 풀 할당 오류가 발생하거나 FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY 플래그가 설정되고 추가 메모리를 할당할 수 없는 경우 성공 또는 STATUS_INSUFFICIENT_RESOURCES STATUS_SUCCESS 반환합니다.

설명

FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY 플래그가 설정된 경우 루틴은 후속 I/O 요청에 사용할 추가 필터 관리자 구조에 필요한 모든 메모리를 할당합니다. 이 플래그를 사용하면 미니필터가 메모리 부족 상태에서 또는 메모리 할당 오류에서 복구가 복잡할 수 있는 상황에서 I/O 요청을 발급하는 데 사용할 하나 이상의 콜백 데이터 구조를 미리 할당할 수 있습니다.

참고

추가 할당된 메모리는 필터 관리자에서 사용하기 위한 것입니다. 파일 시스템 또는 다른 필터는 메모리 부족 조건으로 인해 I/O 요청을 계속 실패할 수 있습니다.

중요

FltAllocateCallbackData에 대한 주석은 FltAllocateCallbackDataEx에도 적용됩니다. 디자인에 맞는 루틴을 선택하기 위해 해당 정보를 검토합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 fltkernel.h(FltKernel.h 포함)
라이브러리 FltMgr.lib
IRQL <= APC_LEVEL

추가 정보

FLT_CALLBACK_DATA

FltAllocateCallbackData