Share via


Función FltCheckAndGrowNameControl (fltkernel.h)

La rutina FltCheckAndGrowNameControl comprueba si el búfer de una estructura de FLT_NAME_CONTROL es lo suficientemente grande como para contener el número especificado de bytes. Si no es así, FltCheckAndGrowNameControl lo reemplaza por un búfer asignado por el sistema más grande.

Sintaxis

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

Parámetros

[in, out] NameCtrl

Puntero a una estructura de FLT_NAME_CONTROL que contiene información de nombre de archivo.

[in] NewSize

Tamaño necesario, en bytes, del nuevo búfer de control de nombres.

Valor devuelto

FltCheckAndGrowNameControl devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES
No hay memoria suficiente en el grupo libre para satisfacer la solicitud.

Comentarios

Los controladores de minifiltro no deben intentar liberar ni reemplazar el búfer en el miembro Name de una estructura de FLT_NAME_CONTROL directamente. En su lugar, los controladores de minifiltro deben llamar a FltCheckAndGrowNameControl para obtener un búfer de nombres mayor.

Si el tamaño, en bytes, del búfer de la estructura NameCtrl es menor que el valor del parámetro NewSize , FltCheckAndGrowNameControl lo reemplaza por un búfer asignado por el sistema mayor. FltCheckAndGrowNameControl copia el contenido del búfer antiguo en el nuevo y libera el búfer antiguo.

Si el tamaño, en bytes, del búfer de la estructura NameCtrl es mayor o igual que el valor del parámetro NewSize , FltCheckAndGrowNameControl devuelve STATUS_SUCCESS y no reemplaza el búfer.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
IRQL <= APC_LEVEL

Consulte también

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod