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 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
무료 풀에 메모리가 부족하여 요청을 충족할 수 없습니다. |
설명
미니필터 드라이버는 FLT_NAME_CONTROL 구조체의 이름 멤버에서 직접 버퍼를 해제하거나 교체하려고 시도해서는 안됩니다. 대신, 미니필터 드라이버는 FltCheckAndGrowNameControl 을 호출하여 더 큰 이름 버퍼를 가져와야 합니다.
NameCtrl 구조의 버퍼 크기(바이트)가 NewSize 매개 변수 값보다 작으면 FltCheckAndGrowNameControl은 이를 더 큰 시스템 할당 버퍼로 대체합니다. FltCheckAndGrowNameControl 은 이전 버퍼의 내용을 새 버퍼에 복사하고 이전 버퍼를 해제합니다.
NameCtrl 구조의 버퍼 크기(바이트)가 NewSize 매개 변수 값보다 크거나 같으면 FltCheckAndGrowNameControl은 STATUS_SUCCESS 반환하고 버퍼를 대체하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
IRQL | <= APC_LEVEL |