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 (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL