Функция 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 для безопасной замены имени в объекте файла. Это позволяет диспетчеру ввода-вывода управлять временем существования буфера, связанного с объектом файла. Замена имени файлового объекта напрямую без использования IoReplaceFileObjectName может конфликтовать с другими вариантами использования имени, и этого следует избегать по возможности.

Эту подпрограмму следует использовать для замены имени объекта файла, а не вручную, чтобы позволить ядру правильно управлять временем существования имени.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL