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 |