Función CcCanIWrite (ntifs.h)
La rutina
Sintaxis
BOOLEAN CcCanIWrite(
[in] PFILE_OBJECT FileObject,
[in] ULONG BytesToWrite,
[in] BOOLEAN Wait,
[in] UCHAR Retrying
);
Parámetros
[in] FileObject
Puntero a un objeto de archivo para el archivo almacenado en caché.
[in] BytesToWrite
Número de bytes que se van a escribir.
[in] Wait
Establézcalo en TRUE si el autor de la llamada puede colocarse en un estado de espera hasta que pueda escribir en el archivo almacenado en caché; de lo contrario, FALSE.
[in] Retrying
Establézcalo en FALSE si esta es la primera vez que se llama a ccCanIWrite para esta solicitud de escritura; de lo contrario, es TRUE.
Valor devuelto
ccCanIWrite devuelve TRUE si el administrador de caché puede aceptar la solicitud de escritura, FALSE en caso contrario.
Observaciones
ccCanIWrite debe llamarse antes de llamar a ccCopyWrite o ccFastCopyWrite.
Si ccCanIWrite devuelve TRUE, el autor de la llamada puede llamar inmediatamente a ccCopyWrite o CcFastCopyWrite.
Si ccCanIWrite devuelve FALSE, el autor de la llamada debe llamar a ccDeferWrite para aplazar la solicitud de escritura.
Por lo general, el administrador de caché puede aceptar una solicitud de escritura si se cumplen las condiciones siguientes:
La cantidad de datos que se van a escribir no es demasiado grande.
Hay suficiente memoria para realizar la operación de escritura.
El número de páginas desfasadas de la caché del sistema no supera el umbral de página desfasada (CcDirtyPageThreshold).
Si existe un umbral de página desfasada por archivo para este archivo, no se supera por el número de páginas sucias para este archivo en la memoria caché del sistema.
Para almacenar en caché un archivo, use CcInitializeCacheMap.
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 |
Consulte también
ccFastCopyWrite de