Função MmFlushImageSection (ntifs.h)
A rotina MmFlushImageSection libera a seção de imagem para um arquivo.
Sintaxe
BOOLEAN MmFlushImageSection(
PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in] MMFLUSH_TYPE FlushType
);
Parâmetros
SectionObjectPointer
Ponteiro para uma estrutura que contém os ponteiros de objeto de seção do objeto de arquivo.
[in] FlushType
Especifica o motivo da operação de liberação. Pode ser um dos valores listados na tabela a seguir.
Valor de FlushType | Significado |
---|---|
MmFlushForDelete | O arquivo está sendo excluído. |
MmFlushForWrite | O arquivo está sendo aberto para acesso de gravação. |
Retornar valor
MmFlushImageSection retornará TRUE se a operação de liberação for bem-sucedida ou se nenhuma seção de imagem existir para o arquivo; caso contrário , MmFlushImageSection retornará FALSE.
Comentários
Um sistema de arquivos deve chamar a rotina MmFlushImageSection antes de excluir um arquivo ou abrir um arquivo para acesso de gravação.
Antes de excluir um arquivo, o sistema de arquivos deve chamar MmFlushImageSection de seu IRP_MJ_SET_INFORMATION ou IRP_MJ_CLEANUP rotina de expedição, passando MmFlushForDelete para o parâmetro FlushType .
Ao abrir um arquivo para acesso de gravação, o sistema de arquivos deve chamar MmFlushImageSection de sua rotina de expedição IRP_MJ_CREATE, passando MmFlushForWrite para o parâmetro FlushType .
Se não houver exibições mapeadas da seção de imagem, MmFlushImageSection destruirá a seção de imagem e retornará as páginas usadas para a lista gratuita.
Antes de usar MmFlushImageSection, os gravadores de sistema de arquivos são fortemente incentivados a estudar a maneira como essa rotina é usada na amostra FASTFAT.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |