Compartilhar via


Função CcFlushCache (ntifs.h)

A rotina CcFlushCache libera toda ou uma parte de um arquivo armazenado em cache no disco.

Sintaxe

void CcFlushCache(
  [in]            PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional]  PLARGE_INTEGER           FileOffset,
  [in]            ULONG                    Length,
  [out, optional] PIO_STATUS_BLOCK         IoStatus
);

Parâmetros

[in] SectionObjectPointer

Ponteiro para uma estrutura SECTION_OBJECT_POINTERS que contém os ponteiros do objeto de seção do objeto de arquivo.

[in, optional] FileOffset

Ponteiro para uma variável que especifica o deslocamento de bytes inicial dentro do arquivo armazenado em cache em que os dados devem ser liberados.

Se FileOffset for NULL, todo o arquivo será liberado do cache.

Se FileOffset não for NULL, somente o intervalo de bytes especificado por FileOffset e Length será liberado.

[in] Length

Comprimento do intervalo de bytes a ser liberado, começando em FileOffset . Se FileOffset for NULL, length será ignorado.

[out, optional] IoStatus

Ponteiro para uma estrutura que recebe o status de conclusão final e informações sobre a operação de liberação. Se os dados forem liberados com êxito, IoStatus.Status conterá STATUS_SUCCESS. Se nem todos os dados forem liberados com êxito, IoStatus.Information contém o número real de bytes que foram liberados. Caso contrário, IoStatus.Information contém o valor fornecido em Length.

Valor de retorno

Nenhum

Observações

CcFlushCache não tem parâmetro Wait. Portanto, o chamador deve ser capaz de inserir um estado de espera até que todos os dados sejam liberados.

Para armazenar em cache um arquivo, use CcInitializeCacheMap.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe

Consulte também

CcCopyWrite

CcInitializeCacheMap

CcIsFileCached

CcPurgeCacheSection