Volume Management Control Codes

Control codes used in volume management.

In this section

Topic Description
FSCTL_CREATE_USN_JOURNAL
Creates an update sequence number (USN) change journal stream on a target volume, or modifies an existing change journal stream.
FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS
Retrieves information about a file system for which CSVFS is a proxy.
FSCTL_DELETE_USN_JOURNAL
Deletes the update sequence number (USN) change journal on a volume, or waits for notification of change journal deletion.
FSCTL_DISMOUNT_VOLUME
Dismounts a volume regardless of whether or not the volume is currently in use. For more information, see the Remarks section.
FSCTL_ENUM_USN_DATA
Enumerates the update sequence number (USN) data between two specified boundaries to obtain master file table (MFT) records.
FSCTL_EXTEND_VOLUME
Increases the size of a mounted volume.
FSCTL_GET_BOOT_AREA_INFO
Retrieves the locations of boot sectors for a volume.
FSCTL_GET_INTEGRITY_INFORMATION
Retrieves the integrity status of a file or directory on a ReFS volume.
FSCTL_GET_NTFS_VOLUME_DATA
Retrieves information about the specified NTFS file system volume.
FSCTL_GET_RETRIEVAL_POINTER_BASE
Returns the sector offset to the first logical cluster number (LCN) of the file system relative to the start of the volume.
FSCTL_GET_RETRIEVAL_POINTERS
Given a file handle, retrieves a data structure that describes the allocation and location on disk of a specific file, or, given a volume handle, the locations of bad clusters on a volume.
FSCTL_GET_VOLUME_BITMAP
Retrieves a bitmap of occupied and available clusters on a volume.
FSCTL_IS_CSV_FILE
Determines whether a file is stored on a CSVFS volume, or retrieves namespace information.
FSCTL_IS_FILE_ON_CSV_VOLUME
Determines whether a file is stored on a CSVFS volume, or retrieves namespace information.
FSCTL_IS_VOLUME_MOUNTED
Determines whether the specified volume is mounted, or if the specified file or directory is on a mounted volume.
FSCTL_IS_VOLUME_OWNED_BYCSVFS
Determines whether a volume is locked by CSVFS.
FSCTL_LOCK_VOLUME
Locks a volume if it is not in use.
FSCTL_LOOKUP_STREAM_FROM_CLUSTER
Given a handle to a NTFS volume or a file on a NTFS volume, returns a chain of data structures that describes streams that occupy the specified clusters.
FSCTL_MARK_HANDLE
Marks a specified file or directory and its change journal record with information about changes to that file or directory.
FSCTL_MOVE_FILE
Relocates one or more virtual clusters of a file from one logical cluster to another within the same volume. This operation is used during defragmentation.
FSCTL_QUERY_FILE_SYSTEM_RECOGNITION
Queries for file system recognition information on a volume.
FSCTL_QUERY_REGION_INFO
Retrieves the storage tier regions defined for a volume that supports data tiering.
FSCTL_QUERY_STORAGE_CLASSES
Retrieves the storage tiers defined for a volume that supports data tiering.
FSCTL_QUERY_USN_JOURNAL
Queries for information on the current update sequence number (USN) change journal, its records, and its capacity.
FSCTL_READ_FILE_USN_DATA
Retrieves the update sequence number (USN) change-journal information for the specified file or directory.
FSCTL_READ_FROM_PLEX
Reads from the specified plex.
FSCTL_READ_USN_JOURNAL
Retrieves the set of update sequence number (USN) change journal records between two specified USN values.
FSCTL_REPAIR_COPIES
Repair data corruption by selecting the proper copy to use.
FSCTL_SET_INTEGRITY_INFORMATION
Retrieves the integrity status of a file or directory on a ReFS volume.
FSCTL_SHRINK_VOLUME
Signals that the volume is to be prepared to perform the shrink operation, the shrink operation is to be committed, or the shrink operation is to be terminated.
FSCTL_UNLOCK_VOLUME
Unlocks a volume.
FSCTL_USN_TRACK_MODIFIED_RANGES
Enables range tracking feature for update sequence number (USN) change journal stream on a target volume, or modifies already enabled range tracking parameters.
FSCTL_WRITE_USN_CLOSE_RECORD
Generates a record in the update sequence number (USN) change journal stream for the input file.
IOCTL_VOLUME_GET_GPT_ATTRIBUTES
Retrieves the attributes for a volume.
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
Retrieves the physical location of a specified volume on one or more disks.
IOCTL_VOLUME_IS_CLUSTERED
Determines whether the specified volume is clustered.
IOCTL_VOLUME_IS_CSV
Determines whether a volume is a CSV volume.
IOCTL_VOLUME_OFFLINE
Takes a volume offline.
IOCTL_VOLUME_ONLINE
Brings a volume online.

The following control codes are used with change journals.

The following are defragmentation control codes.

Directory Management Control Codes

File Management Control Codes