Función CcCoherencyFlushAndPurgeCache (ntifs.h)
El CcCoherencyFlushAndPurgeCache vaciado de rutina, o vaciado y purga, la memoria caché para garantizar la coherencia de la memoria caché.
Sintaxis
void CcCoherencyFlushAndPurgeCache(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
[out] PIO_STATUS_BLOCK IoStatus,
[in, optional] ULONG Flags
);
Parámetros
[in] SectionObjectPointer
Puntero a una estructura SECTION_OBJECT_POINTERS que contiene los punteros de objeto de sección del objeto de archivo.
[in, optional] FileOffset
Puntero a una variable que especifica el desplazamiento inicial de bytes que se va a vaciar o para vaciar y purgar.
[in] Length
Longitud en bytes de los datos que se van a vaciar, o para vaciar y purgar, empezando por FileOffset. Este parámetro se omite si se pasa un puntero
[out] IoStatus
Puntero a una estructura de IO_STATUS_BLOCK asignada por el autor de la llamada que recibe el estado de finalización final e información sobre la operación.
[in, optional] Flags
Máscara de bits de las marcas siguientes que especifican cómo se va a realizar la operación:
Valor | Significado |
---|---|
CC_FLUSH_AND_PURGE_NO_PURGE | Vaciado, pero no purgue la memoria caché. Esto es útil para vaciar la coherencia de lectura. |
CC_FLUSH_AND_PURGE_GATHER_DIRTY_BITS | Reservado para uso del sistema; no use. |
CC_FLUSH_AND_PURGE_WRITEABLE_VIEWS_NOTSEEN | El autor de la llamada puede establecer esta marca cuando no hay ninguna asignación al archivo fuera del administrador de caché, para omitir la costosa operación de recorte conjuntos de trabajo de procesos. |
Valor devuelto
Ninguno
Observaciones
Use CcCoherencyFlushAndPurgeCache cuando sea posible en lugar de una secuencia explícita de llamadas de vaciado y purga, ya que invalidará las vistas asignadas por el usuario para evitar daños en los datos. CcCoherencyFlushAndPurgeCache garantiza la coherencia de caché; como tal, no hay ninguna opción para realizar una purga solo a través de esta función.
El archivo debe adquirirse exclusivamente antes de llamar a CcCoherencyFlushAndPurgeCache.
Puede vaciar, vaciar o purgar, cualquier intervalo de bytes dentro de un archivo mediante los parámetros FileOffset
Una llamada a CcCoherencyFlushAndPurgeCache es una operación sincrónica (de bloqueo), no una operación asincrónica (sin bloqueo).
Un >Estado valor de STATUS_CACHE_PAGE_LOCKED indica que se produjo un error de invalidación de página. Tenga en cuenta que la invalidación de página puede producir un error incluso si pasa CC_FLUSH_AND_PURGE_NO_PURGE en el parámetro Flags. Tenga en cuenta que STATUS_CACHE_PAGE_LOCKED es un estado correcto (es decir, probarlo con la macro NT_SUCCESS devolvería TRUE).
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 7 |
de la plataforma de destino de |
Universal |
encabezado de |
ntifs.h (incluya Ntifs.h, FltKernel.h) |
biblioteca de |
NtosKrnl.lib |
DLL de |
NtosKrnl.exe |
irQL | PASSIVE_LEVEL |
Consulte también