ccSetCacheFileSizes 函数 (ntifs.h)

CcSetCacheFileSizes 函数按节对象指针设置缓存管理器文件大小。

语法

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

参数

[in] SectionObjectPointer

指向包含节对象信息的 SECTION_OBJECT_POINTERS 结构的指针。

[in] FileSizes

指向 CC_FILE_SIZES 结构的指针,该结构指定要设置的文件大小。

返回值

如果文件大小已成功更改,CcSetCacheFileSizes 将返回STATUS_SUCCESS,如果需要清除操作,则返回清除成功。 否则,它将返回不成功的 NSTATUS 代码(如 STATUS_INSUFFICIENT_RESOURCES),并可能会引发状态异常。

有关在错误时引发状态异常:

  • 如果操作导致 CcSetCacheFileSizes 刷新和/或清除文件, 则 CcSetCacheFileSizes 不会在出现错误时引发;它只返回刷新或清除操作的相应非成功 NTSTATUS 代码。

  • 如果操作导致 CcSetCacheFileSizes 扩展节,则 CcSetCacheFileSizes 将在此扩展期间遇到任何错误时引发。

注解

如果操作导致 CcSetCacheFileSizes 扩展节并发生故障, 则 CcSetCacheFileSizes 将针对该特定故障引发状态异常。 例如,如果发生池分配失败, CcSetCacheFileSizes 将引发STATUS_INSUFFICIENT_RESOURCES异常。 因此,若要在发生故障时获得控制,驱动程序应在 try-excepttry-finally 语句中包装对 CcSetCacheFileSizes 的调用。

文件系统必须确保缓存映射有效,并在调用期间保持有效。

若要获取缓存文件的大小,请将 SectionObjectPointer 传递给 CcGetCacheFileSize

要求

要求
最低受支持的客户端 Windows 11 版本 22H2
标头 ntifs.h

另请参阅

CcGetCacheFileSize

CcSetFileSizesEx