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-except 或 try-finally 语句 中包装对 CcSetCacheFileSizes 的调用。

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

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

要求

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

另请参阅

CcGetCacheFileSize

CcSetFileSizesEx