IoReplaceFileObjectName function (ntifs.h)
The IoReplaceFileObjectName routine replaces the name of a file object.
Syntax
NTSTATUS IoReplaceFileObjectName(
[in] PFILE_OBJECT FileObject,
[in] PWSTR NewFileName,
[in] USHORT FileNameLength
);
Parameters
[in] FileObject
Pointer to the file object whose file name is being replaced.
[in] NewFileName
Pointer to the string buffer for the new name for the file object.
[in] FileNameLength
Length, in bytes, of the new name for the file object.
Return value
Returns STATUS_SUCCESS or one of the following NTSTATUS values otherwise:
Return code | Description |
---|---|
STATUS_INVALID_PARAMETER | The provided file object doesn't have a name to replace. |
STATUS_INSUFFICIENT_RESOURCES | Inadequate memory is available to allocate a buffer to complete this operation. |
Remarks
Drivers should use IoReplaceFileObjectName to safely replace the name in a file object. This allows the I/O manager to control the lifetime of the buffer associated with the file object. Replacing a file object name directly without using IoReplaceFileObjectName may conflict with other uses of the name and should be avoided when possible.
This routine should be used to replace the file object name instead of doing so manually to allow the kernel to manage the lifetime of the name correctly.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 |
Target Platform | Universal |
Header | ntifs.h (include Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |