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.

Nota Se o valor de FlushType MmFlushForDelete for especificado e houver uma ou mais investigações de gravação pendentes na seção de dados do arquivo, 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

Confira também

CcPurgeCacheSection