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 |