Поделиться через


Функция 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 (include Fltkernel.h)
библиотеки FltMgr.lib
IRQL <= APC_LEVEL

См. также

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod