Compartir a través de


Función CcDeferWrite (ntifs.h)

La rutina CcDeferWrite aplaza la escritura en un archivo almacenado en caché. El administrador de caché llama a la rutina post proporcionada cuando puede acomodar la operación de escritura.

Sintaxis

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

Puntero a un objeto de archivo para el archivo almacenado en caché en el que se van a escribir los datos.

[in] PostRoutine

Dirección de una rutina para que el administrador de caché llame a para escribir en el archivo almacenado en caché. Tenga en cuenta que es posible que se llame a esta rutina inmediatamente, incluso si CcCanIWrite acaba de devolver FALSE .

La rutina post se define en ntifs.h como:

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

[in] Context1

Primer parámetro para la rutina post en PostRoutine.

[in] Context2

Segundo parámetro para la rutina post en PostRoutine.

[in] BytesToWrite

Número de bytes de datos que se van a escribir.

[in] Retrying

Establézcalo en FALSE si la solicitud se publica por primera vez, true en caso contrario.

Valor devuelto

None

Observaciones

Normalmente, un sistema de archivos llamaría a CcDeferWrite después de recibir un valor devuelto de FALSE de CcCanIWrite.

Para almacenar en caché un archivo, use CcInitializeCacheMap.

Los parámetros de contexto pasados a PostRoutine suelen ser la solicitud de E/S y los datos de contexto relacionados.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe

Consulte también

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold