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 结构的 Name 成员中的缓冲区。 相反,微筛选器驱动程序应调用 FltCheckAndGrowNameControl 以获取更大的名称缓冲区。

如果 NameCtrl 结构中缓冲区的大小(以字节为单位)小于 NewSize 参数的值, 则 FltCheckAndGrowNameControl 会将它替换为更大的系统分配缓冲区。 FltCheckAndGrowNameControl 将旧缓冲区的内容复制到新缓冲区并释放旧缓冲区。

如果 NameCtrl 结构中缓冲区的大小大于或等于 NewSize 参数的值, 则 FltCheckAndGrowNameControl 将返回STATUS_SUCCESS且不替换缓冲区。

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
IRQL <= APC_LEVEL

另请参阅

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod