Función CcDeferWrite (ntifs.h)
La rutina
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é al 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 inmediatamente a esta rutina, 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
);
Se puede llamar a esta función con el campo TopLevelIrp en el IRP actual establecido en FSRTL_MOD_WRITE_TOP_LEVEL_IRP.
[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 de lo contrario.
Valor devuelto
Ninguno
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 | Valor |
---|---|
de la plataforma de destino de |
Universal |
encabezado de |
ntifs.h (incluya Ntifs.h) |
biblioteca de |
NtosKrnl.lib |
DLL de |
NtosKrnl.exe |