Función CcSetFileSizes (ntifs.h)
La rutina CcSetFileSize actualiza los mapas de caché y el objeto de sección de un archivo almacenado en caché cuyo tamaño ha cambiado. Use CcSetFileSizesEx en su lugar, ya que proporciona un código de retorno NTSTATUS junto con una mejor guía para el control de errores.
Sintaxis
void CcSetFileSizes(
[in] PFILE_OBJECT FileObject,
[in] PCC_FILE_SIZES FileSizes
);
Parámetros
[in] FileObject
Puntero a un objeto de archivo para el archivo almacenado en caché.
[in] FileSizes
Puntero a una estructura de CC_FILE_SIZES que contiene la nueva información de tamaño de archivo.
Valor devuelto
None
Observaciones
Los sistemas de archivos deben llamar a CcSetFileSizesEx o CcSetFileSizes para actualizar las estructuras de datos del administrador de caché siempre que se realice uno de los siguientes cambios en un archivo almacenado en caché:
Su tamaño de asignación aumenta.
Su longitud de datos válida se reduce.
Su longitud de datos válida aumenta mediante una operación de E/S no almacenada en caché.
Su tamaño de archivo aumenta o disminuye.
Si se produce algún error, CcSetFileSizes genera una excepción de estado para ese error en particular. Por ejemplo, si se produce un error de asignación de grupo, CcSetFileSizes genera una excepción STATUS_INSUFFICIENT_RESOURCES. Por lo tanto, para obtener control si se produce un error, el controlador debe encapsular la llamada a CcSetFileSizes en una instrucción try-except o try-finally .
El sistema de archivos debe asegurarse de que la asignación de caché es válida y permanecerá así durante la duración de esta llamada.
Para almacenar en caché un archivo, use CcInitializeCacheMap.
Para obtener el tamaño del archivo almacenado en caché, pase FileObject a CcGetFileSizePointer.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |