IoReplaceFileObjectName 函数 (ntifs.h)

IoReplaceFileObjectName 例程替换文件对象的名称。

语法

NTSTATUS IoReplaceFileObjectName(
  [in] PFILE_OBJECT FileObject,
  [in] PWSTR        NewFileName,
  [in] USHORT       FileNameLength
);

参数

[in] FileObject

指向要替换其文件名的文件对象的指针。

[in] NewFileName

指向文件对象新名称的字符串缓冲区的指针。

[in] FileNameLength

文件对象的新名称的长度(以字节为单位)。

返回值

否则,返回STATUS_SUCCESS或以下 NTSTATUS 值之一:

返回代码 说明
STATUS_INVALID_PARAMETER 提供的文件对象没有要替换的名称。
STATUS_INSUFFICIENT_RESOURCES 内存不足可用于分配缓冲区来完成此操作。

注解

驱动程序应使用 IoReplaceFileObjectName 安全地替换文件对象中的名称。 这允许 I/O 管理器控制与文件对象关联的缓冲区的生存期。 在不使用 IoReplaceFileObjectName 的情况下直接替换文件对象名称可能与名称的其他用法发生冲突,如果可能,应避免这样做。

此例程应用于替换文件对象名称,而不是手动执行此操作,以允许内核正确管理名称的生存期。

要求

要求
最低受支持的客户端 Windows 7
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL