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 작업인 경우 FileObject 를 NULL 로 설정합니다.
[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 |