FltCheckAndGrowNameControl function (fltkernel.h)
The FltCheckAndGrowNameControl routine checks whether the buffer in a FLT_NAME_CONTROL structure is large enough to hold the specified number of bytes. If not, FltCheckAndGrowNameControl replaces it with a larger system-allocated buffer.
Syntax
NTSTATUS FLTAPI FltCheckAndGrowNameControl(
[in, out] PFLT_NAME_CONTROL NameCtrl,
[in] USHORT NewSize
);
Parameters
[in, out] NameCtrl
Pointer to a FLT_NAME_CONTROL structure containing file name information.
[in] NewSize
Required size, in bytes, of the new name control buffer.
Return value
FltCheckAndGrowNameControl returns STATUS_SUCCESS or an appropriate NTSTATUS value such as the following:
Return code | Description |
---|---|
|
There is insufficient memory in the free pool to satisfy the request. |
Remarks
Minifilter drivers must not attempt to free or replace the buffer in the Name member of a FLT_NAME_CONTROL structure directly. Instead, minifilter drivers should call FltCheckAndGrowNameControl to obtain a larger name buffer.
If the size, in bytes, of the buffer in the NameCtrl structure is less than the value of the NewSize parameter, FltCheckAndGrowNameControl replaces it with a larger system-allocated buffer. FltCheckAndGrowNameControl copies the contents of the old buffer into the new one and frees the old buffer.
If the size, in bytes, of the buffer in the NameCtrl structure is greater than or equal to the value of the NewSize parameter, FltCheckAndGrowNameControl returns STATUS_SUCCESS and does not replace the buffer.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Header | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |