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 |
---|---|
|
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 |