Função FsRtlChangeBackingFileObject (ntifs.h)
A rotina
Sintaxe
NTSTATUS FsRtlChangeBackingFileObject(
PFILE_OBJECT CurrentFileObject,
PFILE_OBJECT NewFileObject,
FSRTL_CHANGE_BACKING_TYPE ChangeBackingType,
ULONG Flags
);
Parâmetros
CurrentFileObject
[in, opcional] O objeto de arquivo atual. Se CurrentFileObject for NULL, o objeto de arquivo atual do sistema operacional será definido como NewFileObject. Se não for NULL, o objeto de arquivo de backup será alterado para NewFileObject somente se o objeto de arquivo de backup atual do sistema operacional for igual a esse valor. Se esse objeto de arquivo não pertencer ao fluxo, a operação falhará.
NewFileObject
[in] O novo objeto de arquivo que o sistema operacional fará referência e armazenará internamente.
ChangeBackingType
[in] Um valor de enumeração FSRTL_CHANGE_BACKING_TYPE que indica qual estrutura interna deve ser alterada para referenciar NewFileObject.
Flags
[in] Reservado para uso futuro.
Valor de retorno
A rotina
Código de retorno | Descrição |
---|---|
STATUS_INVALID_PARAMETER_2 | A operação de alteração falhou porque o objeto de arquivo que NewFileObject especifica não representa o mesmo fluxo que CurrentFileObject. |
STATUS_INVALID_PARAMETER_3 | A operação de alteração falhou porque o chamador especificou um tipo de backup inválido em ChangeBackingType . |
STATUS_INVALID_PARAMETER_4 | A operação de alteração falhou porque o chamador especificou um valor inválido em Flags. |
STATUS_NOT_SUPPORTED | A operação de alteração falhou porque o chamador obteve o objeto de arquivo de uma maneira que não permite a troca subsequente do objeto de arquivo. Por exemplo, se o chamador obteve o objeto de arquivo com uma chamada para CcGetFileObjectFromSectionPtrs, não é seguro trocar o objeto de arquivo. |
Observações
A rotina
Uma das áreas de controle de imagem do gerenciador de memória para o fluxo
A área de controle de dados do gerenciador de memória para o fluxo
O mapa de cache compartilhado do gerenciador de cache para o fluxo
A rotina
No entanto, depois que FsRtlChangeBackingFileObject é executado com êxito, o sistema operacional associa todas as operações futuras ao novo objeto de arquivo.
Para alterar o objeto de arquivo para mais de um tipo de backup, o chamador deve chamar FsRtlChangeBackingFileObject várias vezes, uma vez para que cada tipo de backup seja alterado.