Função IoReplaceFileObjectName (ntifs.h)

A rotina IoReplaceFileObjectName substitui o nome de um objeto de arquivo.

Sintaxe

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

Parâmetros

[in] FileObject

Ponteiro para o objeto de arquivo cujo nome de arquivo está sendo substituído.

[in] NewFileName

Ponteiro para o buffer de cadeia de caracteres para o novo nome do objeto de arquivo.

[in] FileNameLength

Comprimento, em bytes, do novo nome do objeto de arquivo.

Retornar valor

Retorna STATUS_SUCCESS ou um dos seguintes valores NTSTATUS, caso contrário:

Código de retorno Descrição
STATUS_INVALID_PARAMETER O objeto de arquivo fornecido não tem um nome para substituir.
STATUS_INSUFFICIENT_RESOURCES Memória inadequada está disponível para alocar um buffer para concluir essa operação.

Comentários

Os drivers devem usar IoReplaceFileObjectName para substituir com segurança o nome em um objeto de arquivo. Isso permite que o gerenciador de E/S controle o tempo de vida do buffer associado ao objeto de arquivo. Substituir um nome de objeto de arquivo diretamente sem usar IoReplaceFileObjectName pode entrar em conflito com outros usos do nome e deve ser evitado quando possível.

Essa rotina deve ser usada para substituir o nome do objeto de arquivo em vez de fazer isso manualmente para permitir que o kernel gerencie o tempo de vida do nome corretamente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL