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

Consulte también

CcInitializeCacheMap

CcSetFileSizesEx