Função CcDeferWrite (ntifs.h)

A rotina CcDeferWrite adia a gravação em um arquivo armazenado em cache. A rotina de postagem fornecida é chamada pelo gerenciador de cache quando pode acomodar a operação de gravação.

Sintaxe

void CcDeferWrite(
  [in] PFILE_OBJECT            FileObject,
  [in] PCC_POST_DEFERRED_WRITE PostRoutine,
  [in] PVOID                   Context1,
  [in] PVOID                   Context2,
  [in] ULONG                   BytesToWrite,
  [in] BOOLEAN                 Retrying
);

Parâmetros

[in] FileObject

Ponteiro para um objeto de arquivo para o arquivo armazenado em cache no qual os dados devem ser gravados.

[in] PostRoutine

Endereço de uma rotina para o gerenciador de cache chamar para gravar no arquivo armazenado em cache. Observe que é possível que essa rotina seja chamada imediatamente, mesmo que CcCanIWrite tenha acabado de retornar FALSE .

A rotina de postagem é definida em ntifs.h como:

typedef
VOID (*PCC_POST_DEFERRED_WRITE) (
    _In_ PVOID Context1,
    _In_ PVOID Context2
    );

[in] Context1

Primeiro parâmetro para a rotina de postagem no PostRoutine.

[in] Context2

Segundo parâmetro para a rotina de postagem no PostRoutine.

[in] BytesToWrite

Número de bytes de dados a serem gravados.

[in] Retrying

Defina como FALSE se a solicitação estiver sendo postada pela primeira vez; caso contrário, TRUE .

Retornar valor

Nenhum

Comentários

Um sistema de arquivos normalmente chamaria CcDeferWrite depois de receber um valor retornado de FALSE de CcCanIWrite.

Para armazenar em cache um arquivo, use CcInitializeCacheMap.

Os parâmetros de contexto passados para o PostRoutine normalmente são a solicitação de E/S e os dados de contexto relacionados.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe

Confira também

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold