Função CcSetCacheFileSizes (ntifs.h)

A função CcSetCacheFileSizes define os tamanhos de arquivo do gerenciador de cache por ponteiros de objeto de seção.

Sintaxe

NTSTATUS CcSetCacheFileSizes(
  [in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in] PCC_FILE_SIZES           FileSizes
);

Parâmetros

[in] SectionObjectPointer

Ponteiro para uma estrutura SECTION_OBJECT_POINTERS que contém as informações do objeto de seção.

[in] FileSizes

Ponteiro para uma estrutura CC_FILE_SIZES que especifica o tamanho do arquivo a ser definido.

Retornar valor

CcSetCacheFileSizes retornará STATUS_SUCCESS se o tamanho do arquivo tiver sido alterado com êxito e, se uma limpeza for necessária, a limpeza foi bem-sucedida. Caso contrário, ele retornará um código NSTATUS sem êxito, como STATUS_INSUFFICIENT_RESOURCES, e poderá gerar uma exceção status.

Em relação à geração de uma exceção status no erro:

  • Se a operação fizer com que CcSetCacheFileSizes libere e/ou limpe o arquivo, CcSetCacheFileSizes não gerará erros; ele apenas retorna o código NTSTATUS não bem-sucedido apropriado da operação de liberação ou limpeza.

  • Se a operação fizer com que CcSetCacheFileSizes estenda a seção, CcSetCacheFileSizes gerará qualquer erro que ocorrer durante essa extensão.

Comentários

Se a operação fizer com que CcSetCacheFileSizes estenda a seção e ocorra uma falha, CcSetCacheFileSizes gerará uma exceção status para essa falha específica. Por exemplo, se ocorrer uma falha de alocação de pool, CcSetCacheFileSizes gerará uma exceção STATUS_INSUFFICIENT_RESOURCES. Portanto, para obter controle se ocorrer uma falha, o driver deverá encapsular a chamada para CcSetCacheFileSizes em uma instrução try-except ou try-finally .

O sistema de arquivos deve garantir que o mapa de cache seja válido e permanecerá assim durante essa chamada.

Para obter o tamanho do arquivo armazenado em cache, passe SectionObjectPointer para CcGetCacheFileSize.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 22H2
Cabeçalho ntifs.h

Confira também

CcGetCacheFileSize

CcSetFileSizesEx