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 (包括 Fltkernel.h)
FltMgr.lib
IRQL <= APC_LEVEL

另请参阅

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod