다음을 통해 공유


FltCheckAndGrowNameControl 함수(fltkernel.h)

FltCheckAndGrowNameControl 루틴은 FLT_NAME_CONTROL 구조의 버퍼가 지정된 바이트 수를 보유할 만큼 큰지 여부를 확인합니다. 그렇지 않은 경우 FltCheckAndGrowNameControl 은 이를 더 큰 시스템 할당 버퍼로 대체합니다.

구문

NTSTATUS FLTAPI FltCheckAndGrowNameControl(
  [in, out] PFLT_NAME_CONTROL NameCtrl,
  [in]      USHORT            NewSize
);

매개 변수

[in, out] NameCtrl

파일 이름 정보를 포함하는 FLT_NAME_CONTROL 구조체에 대한 포인터입니다.

[in] NewSize

새 이름 제어 버퍼의 필수 크기(바이트)입니다.

반환 값

FltCheckAndGrowNameControl 은 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES
무료 풀에 메모리가 부족하여 요청을 충족할 수 없습니다.

설명

미니필터 드라이버는 FLT_NAME_CONTROL 구조체의 이름 멤버에서 직접 버퍼를 해제하거나 교체하려고 시도해서는 안됩니다. 대신, 미니필터 드라이버는 FltCheckAndGrowNameControl 을 호출하여 더 큰 이름 버퍼를 가져와야 합니다.

NameCtrl 구조의 버퍼 크기(바이트)가 NewSize 매개 변수 값보다 작으면 FltCheckAndGrowNameControl은 이를 더 큰 시스템 할당 버퍼로 대체합니다. FltCheckAndGrowNameControl 은 이전 버퍼의 내용을 새 버퍼에 복사하고 이전 버퍼를 해제합니다.

NameCtrl 구조의 버퍼 크기(바이트)가 NewSize 매개 변수 값보다 크거나 같으면 FltCheckAndGrowNameControl은 STATUS_SUCCESS 반환하고 버퍼를 대체하지 않습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL <= APC_LEVEL

추가 정보

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod