文件管理控制代码

以下控制代码用于文件管理。

在本部分中

控制代码 描述
FSCTL_ALLOW_EXTENDED_DASD_IO
向文件系统驱动程序发出信号,不要对分区读取或写入调用执行任何 I/O 边界检查。
FSCTL_CREATE_OR_GET_OBJECT_ID
检索指定文件或目录的对象标识符。 如果不存在对象标识符,则使用 FSCTL_CREATE_OR_GET_OBJECT_ID 创建一个对象标识符。
FSCTL_CSV_CONTROL
检索 CSV 控件作的结果。
FSCTL_DELETE_OBJECT_ID
从指定的文件或目录中删除对象标识符。
FSCTL_DUPLICATE_EXTENTS_TO_FILE
指示文件系统代表应用程序复制一系列文件字节。
FSCTL_FILE_LEVEL_TRIM
向存储系统指示不需要存储文件中的范围。
FSCTL_FILESYSTEM_GET_STATISTICS
从各种文件系统性能计数器中检索信息。
FSCTL_FILESYSTEM_GET_STATISTICS_EX
从各种文件系统性能计数器中检索信息。
支持从 Windows 10 开始的此控制代码。
FSCTL_FIND_FILES_BY_SID
搜索其创建者所有者与指定 SID 匹配的文件的目录。
FSCTL_GET_COMPRESSION
检索文件系统支持按流压缩的卷上的文件或目录的当前压缩状态。
FSCTL_GET_NTFS_FILE_RECORD
检索正在使用的第一个文件记录,其序号小于或等于所请求的文件引用编号。
FSCTL_GET_OBJECT_ID
检索指定文件或目录的对象标识符。
FSCTL_GET_REPAIR
检索有关 NTFS 文件系统自我修复机制的信息。
FSCTL_INITIATE_REPAIR
触发 NTFS 文件系统在单个文件上启动自我修复周期。
FSCTL_MAKE_MEDIA_COMPATIBLE
在写入一次媒体上关闭一个打开的 UDF 会话,使媒体 ROM 兼容。
FSCTL_OPBATCH_ACK_CLOSE_PENDING
通知服务器客户端应用程序已准备好关闭文件。
FSCTL_OPLOCK_BREAK_ACK_NO_2
响应有关文件上机会锁即将损坏的通知。 使用此作可解锁文件上的所有机会锁,但使文件保持打开状态。
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
响应有关文件上的独占机会锁即将损坏的通知。 使用此作可指示文件应接收级别 2 机会锁。
FSCTL_OPLOCK_BREAK_NOTIFY
使调用应用程序能够等待机会锁中断的完成。
FSCTL_QUERY_ALLOCATED_RANGES
扫描文件或备用流,查找可能包含非零数据的范围。
FSCTL_QUERY_ON_DISK_VOLUME_INFO
请求特定于 UDF 的卷信息。
FSCTL_QUERY_SPARING_INFO
检索卷的缺陷管理属性。 用于 UDF 文件系统。
FSCTL_RECALL_FILE
召回远程存储管理的存储介质中的文件,这是分层存储管理软件。
FSCTL_REQUEST_BATCH_OPLOCK
请求对文件进行批处理机会锁。
FSCTL_REQUEST_FILTER_OPLOCK
请求文件上的筛选器机会锁。
FSCTL_REQUEST_OPLOCK
请求文件上的机会锁(oplock),并确认发生了作锁中断。
FSCTL_REQUEST_OPLOCK_LEVEL_1
请求文件上的级别 1 机会锁。
FSCTL_REQUEST_OPLOCK_LEVEL_2
请求文件的级别 2 机会锁。
FSCTL_SET_COMPRESSION
在文件系统支持按文件和按目录压缩的卷上设置文件或目录的压缩状态。
FSCTL_SET_DEFECT_MANAGEMENT
设置指定文件的软件缺陷管理状态。 用于 UDF 文件系统。
FSCTL_SET_OBJECT_ID
设置指定文件或目录的对象标识符。
FSCTL_SET_OBJECT_ID_EXTENDED
修改与指定文件或目录的对象标识符关联的用户数据。
FSCTL_SET_REPAIR
设置 NTFS 文件系统自我修复功能的模式。
FSCTL_SET_SPARSE
将指示的文件标记为稀疏或不稀疏。 在稀疏文件中,大量零可能不需要磁盘分配。
FSCTL_SET_ZERO_DATA
用零(0)填充文件的指定范围。
FSCTL_SET_ZERO_ON_DEALLOCATION
指示 NTFS 文件系统文件句柄在解除分配时,其群集应填充零。
FSCTL_WAIT_FOR_REPAIR
指定修复完成后返回。

以下控制代码用于 文件压缩和解压缩

FSCTL_GET_COMPRESSION
FSCTL_SET_COMPRESSION

以下控制代码用于 对象标识符。

FSCTL_CREATE_OR_GET_OBJECT_ID
FSCTL_DELETE_OBJECT_ID
FSCTL_GET_OBJECT_ID
FSCTL_SET_OBJECT_ID
FSCTL_SET_OBJECT_ID_EXTENDED

以下控制代码用于 机会锁

FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACK_NO_2
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
FSCTL_OPLOCK_BREAK_NOTIFY
FSCTL_REQUEST_BATCH_OPLOCK
FSCTL_REQUEST_FILTER_OPLOCK
FSCTL_REQUEST_OPLOCK
FSCTL_REQUEST_OPLOCK_LEVEL_1
FSCTL_REQUEST_OPLOCK_LEVEL_2

以下控制代码用于 稀疏文件

FSCTL_QUERY_ALLOCATED_RANGES
FSCTL_SET_SPARSE
FSCTL_SET_ZERO_DATA

以下控制代码用于 NTFS 自我修复机制。

FSCTL_GET_REPAIR
FSCTL_INITIATE_REPAIR
FSCTL_SET_REPAIR
FSCTL_WAIT_FOR_REPAIR

以下控制代码与 UDF 一起使用。

FSCTL_MAKE_MEDIA_COMPATIBLE
FSCTL_QUERY_ON_DISK_VOLUME_INFO
FSCTL_QUERY_SPARING_INFO
FSCTL_SET_DEFECT_MANAGEMENT

目录管理控制代码

卷管理控制代码