Edit

Share via


winioctl.h header

This header is used by multiple technologies. For more information, see:

winioctl.h contains the following programming interfaces:

IOCTLs

 
FSCTL_ALLOW_EXTENDED_DASD_IO

Signals the file system driver not to perform any I/O boundary checks on partition read or write calls.
FSCTL_CREATE_OR_GET_OBJECT_ID

Retrieves the object identifier for the specified file or directory. If no object identifier exists, using FSCTL_CREATE_OR_GET_OBJECT_ID creates one.
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_CONTROL

Retrieves the results of a CSV control operation.
FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS

Retrieves information about a file system for which CSVFS is a proxy.
FSCTL_DELETE_OBJECT_ID

Removes the object identifier from a specified file or directory.
FSCTL_DELETE_REPARSE_POINT

Deletes a reparse point from the specified file or directory.
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_DUPLICATE_EXTENTS_TO_FILE

Instructs the file system to copy a range of file bytes on behalf of an application.
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_FILE_LEVEL_TRIM

Indicates ranges within the specified file that do not need to be stored by the storage system.
FSCTL_FILESYSTEM_GET_STATISTICS

Retrieves the information from various file system performance counters.
FSCTL_FILESYSTEM_GET_STATISTICS_EX

Retrieves the information from various file system performance counters.Support for this control code started with Windows 10.
FSCTL_FIND_FILES_BY_SID

Searches a directory for a file whose creator owner matches the specified SID.
FSCTL_GET_BOOT_AREA_INFO

Retrieves the locations of boot sectors for a volume.
FSCTL_GET_COMPRESSION

Retrieves the current compression state of a file or directory on a volume whose file system supports per-stream compression.
FSCTL_GET_INTEGRITY_INFORMATION

Retrieves the integrity status of a file or directory on a ReFS volume. (FSCTL_GET_INTEGRITY_INFORMATION)
FSCTL_GET_NTFS_FILE_RECORD

Retrieves the first file record that is in use and is of a lesser than or equal ordinal value to the requested file reference number.
FSCTL_GET_NTFS_VOLUME_DATA

Retrieves information about the specified NTFS file system volume.
FSCTL_GET_OBJECT_ID

Retrieves the object identifier for the specified file or directory.
FSCTL_GET_REPAIR

Retrieves information about the NTFS file system's self-healing mechanism.
FSCTL_GET_REPARSE_POINT

Retrieves the reparse point data associated with the file or directory identified by the specified handle.
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_INITIATE_REPAIR

Triggers the NTFS file system to start a self-healing cycle on a single file.
FSCTL_IS_CSV_FILE

Determines whether a file is stored on a CSVFS volume, or retrieves namespace information. (FSCTL_IS_CSV_FILE)
FSCTL_IS_FILE_ON_CSV_VOLUME

Determines whether a file is stored on a CSVFS volume, or retrieves namespace information. (FSCTL_IS_FILE_ON_CSV_VOLUME)
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_MAKE_MEDIA_COMPATIBLE

Closes an open UDF session on write-once media to make the media ROM compatible.
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_OPBATCH_ACK_CLOSE_PENDING

Notifies a server that a client application is ready to close a file.
FSCTL_OPLOCK_BREAK_ACK_NO_2

Responds to notification that an opportunistic lock on a file is about to be broken. Use this operation to unlock all opportunistic locks on the file but keep the file open.
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

Responds to notification that an exclusive opportunistic lock on a file is about to be broken. Use this operation to indicate that the file should receive a level 2 opportunistic lock.
FSCTL_OPLOCK_BREAK_NOTIFY

Enables the calling application to wait for completion of an opportunistic lock break.
FSCTL_QUERY_ALLOCATED_RANGES

Scans a file or alternate stream looking for ranges that may contain nonzero data.
FSCTL_QUERY_FILE_SYSTEM_RECOGNITION

Queries for file system recognition information on a volume.
FSCTL_QUERY_ON_DISK_VOLUME_INFO

Requests UDF-specific volume information.
FSCTL_QUERY_REGION_INFO

Retrieves the storage tier regions defined for a volume that supports data tiering.
FSCTL_QUERY_SPARING_INFO

Retrieves the defect management properties of the volume. Used for UDF file systems.
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_RECALL_FILE

Recalls a file from storage media that Remote Storage manages, which is the hierarchical storage management software.
FSCTL_REPAIR_COPIES

Repair data corruption by selecting the proper copy to use.
FSCTL_REQUEST_BATCH_OPLOCK

Requests a batch opportunistic lock on a file.
FSCTL_REQUEST_FILTER_OPLOCK

Requests a filter opportunistic lock on a file.
FSCTL_REQUEST_OPLOCK

Requests an opportunistic lock (oplock) on a file and acknowledges that an oplock break has occurred.
FSCTL_REQUEST_OPLOCK_LEVEL_1

Requests a level 1 opportunistic lock on a file.
FSCTL_REQUEST_OPLOCK_LEVEL_2

Requests a level 2 opportunistic lock on a file.
FSCTL_SET_COMPRESSION

Sets the compression state of a file or directory on a volume whose file system supports per-file and per-directory compression.
FSCTL_SET_DEFECT_MANAGEMENT

Sets the software defect management state for the specified file. Used for UDF file systems.
FSCTL_SET_INTEGRITY_INFORMATION

Retrieves the integrity status of a file or directory on a ReFS volume. (FSCTL_SET_INTEGRITY_INFORMATION)
FSCTL_SET_OBJECT_ID

Sets the object identifier for the specified file or directory.
FSCTL_SET_OBJECT_ID_EXTENDED

Modifies user data associated with the object identifier for the specified file or directory.
FSCTL_SET_REPAIR

Sets the mode of an NTFS file system's self-healing capability.
FSCTL_SET_REPARSE_POINT

Sets a reparse point on a file or directory.
FSCTL_SET_SPARSE

Marks the indicated file as sparse or not sparse. In a sparse file, large ranges of zeros may not require disk allocation.
FSCTL_SET_ZERO_DATA

Fills a specified range of a file with zeros (0).
FSCTL_SET_ZERO_ON_DEALLOCATION

Indicates an NTFS file system file handle should have its clusters filled with zeros when it is deallocated.
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_TXFS_CREATE_MINIVERSION

Creates a new miniversion for the specified file. Miniversions allow you to refer to a snapshot of the file during a transaction. Miniversions are discarded when a transaction is committed or rolled back.
FSCTL_TXFS_GET_METADATA_INFO

Retrieves Transacted NTFS (TxF) metadata for a file and the GUID of the transaction that has locked the specified file (if the file is locked).
FSCTL_TXFS_GET_TRANSACTED_VERSION

Returns a TXFS_GET_TRANSACTED_VERSION structure. The structure identifies the most recently committed version of the specified file, the version number of the handle.
FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES

Returns a list of all files currently locked by the specified transaction. If the return value is ERROR_MORE_DATA, it returns the length of the buffer required to hold the complete list of files at the time of this call.
FSCTL_TXFS_LIST_TRANSACTIONS

Returns a list of all the transactions currently involved in the specified resource manager.
FSCTL_TXFS_MODIFY_RM

Sets the log mode and log parameter information for a secondary resource manager (RM).
FSCTL_TXFS_QUERY_RM_INFORMATION

Retrieves information for a resource manager (RM).
FSCTL_TXFS_READ_BACKUP_INFORMATION

Returns Transactional NTFS (TxF) specific information for the specified file.
FSCTL_TXFS_SAVEPOINT_INFORMATION

The FSCTL_TXFS_SAVEPOINT_INFORMATION control code controls setting, clearing, and rolling back to the specified savepoint.
FSCTL_TXFS_TRANSACTION_ACTIVE

Returns a Boolean value that indicates if there were any transactions active on the associated volume when the snapshot was taken. This call is only valid for read-only snapshot volumes.
FSCTL_TXFS_WRITE_BACKUP_INFORMATION

Writes Transactional NTFS (TxF) specific information to a specified file.
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_WAIT_FOR_REPAIR

Returns when the specified repairs are completed.
FSCTL_WRITE_USN_CLOSE_RECORD

Generates a record in the update sequence number (USN) change journal stream for the input file.
IOCTL_CHANGER_EXCHANGE_MEDIUM

Moves a piece of media from a source element to one destination, and the piece of media originally in the first destination to a second destination.
IOCTL_CHANGER_GET_ELEMENT_STATUS

Retrieves the status of all elements or a specified number of elements of a particular type.
IOCTL_CHANGER_GET_PARAMETERS

Retrieves the parameters of the specified device.
IOCTL_CHANGER_GET_PRODUCT_DATA

Retrieves the product data for the specified device.
IOCTL_CHANGER_GET_STATUS

Retrieves the current status of the specified device.
IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS

Initializes the status of all elements or the specified elements of a particular type.
IOCTL_CHANGER_MOVE_MEDIUM

Moves a piece of media to a destination.
IOCTL_CHANGER_QUERY_VOLUME_TAGS

Retrieves the volume tag information for the specified elements.
IOCTL_CHANGER_REINITIALIZE_TRANSPORT

Physically recalibrates a transport element. Recalibration may involve returning the transport to its home position.
IOCTL_CHANGER_SET_ACCESS

Sets the state of the device's insert/eject port, door, or keypad.
IOCTL_CHANGER_SET_POSITION

Sets the changer's robotic transport mechanism to the specified element address. This optimizes moving or exchanging media by positioning the transport beforehand.
IOCTL_DISK_CREATE_DISK

Initializes the specified disk and disk partition table using the information in the CREATE_DISK structure.
IOCTL_DISK_DELETE_DRIVE_LAYOUT

Removes the boot signature from the master boot record, so that the disk will be formatted from sector zero to the end of the disk.
IOCTL_DISK_FORMAT_TRACKS

Formats a specified, contiguous set of tracks on a floppy disk. To provide additional parameters, use IOCTL_DISK_FORMAT_TRACKS_EXinstead.
IOCTL_DISK_FORMAT_TRACKS_EX

Formats a specified, contiguous set of tracks on a floppy disk.
IOCTL_DISK_GET_CACHE_INFORMATION

Retrieves the disk cache configuration data.
IOCTL_DISK_GET_DISK_ATTRIBUTES

Retrieves the attributes of the specified disk device.
IOCTL_DISK_GET_DRIVE_GEOMETRY

Retrieves information about the physical disk's geometry:_type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector.
IOCTL_DISK_GET_DRIVE_GEOMETRY_EX

Retrieves extended information about the physical disk's geometry:_type, number of cylinders, tracks per cylinder, sectors per track, and bytes per sector.
IOCTL_DISK_GET_DRIVE_LAYOUT

Retrieves information for each entry in the partition tables for a disk.
IOCTL_DISK_GET_DRIVE_LAYOUT_EX

Retrieves extended information for each entry in the partition tables for a disk.
IOCTL_DISK_GET_LENGTH_INFO

Retrieves the length of the specified disk, volume, or partition.
IOCTL_DISK_GET_PARTITION_INFO

Retrieves information about the type, size, and nature of a disk partition.
IOCTL_DISK_GET_PARTITION_INFO_EX

Retrieves extended information about the type, size, and nature of a disk partition.
IOCTL_DISK_GROW_PARTITION

Enlarges the specified partition.
IOCTL_DISK_IS_WRITABLE

Determines whether the specified disk is writable.
IOCTL_DISK_PERFORMANCE

Enables performance counters that provide disk performance information.
IOCTL_DISK_PERFORMANCE_OFF

Disables the performance counters that provide disk performance information.
IOCTL_DISK_REASSIGN_BLOCKS

Directs the disk device to map one or more blocks to its spare-block pool. (IOCTL_DISK_REASSIGN_BLOCKS)
IOCTL_DISK_REASSIGN_BLOCKS_EX

Directs the disk device to map one or more blocks to its spare-block pool. (IOCTL_DISK_REASSIGN_BLOCKS_EX)
IOCTL_DISK_RESET_SNAPSHOT_INFO

Clears all Volume Shadow Copy Service (VSS) hardware-based shadow copy (also called "snapshot") information from the disk.
IOCTL_DISK_SET_CACHE_INFORMATION

Sets the disk configuration data.
IOCTL_DISK_SET_DISK_ATTRIBUTES

Sets the attributes of the specified disk device.
IOCTL_DISK_SET_DRIVE_LAYOUT

Partitions a disk as specified by drive layout and partition information data.
IOCTL_DISK_SET_DRIVE_LAYOUT_EX

Partitions a disk according to the specified drive layout and partition information data.
IOCTL_DISK_SET_PARTITION_INFO

Sets partition information for the specified disk partition.
IOCTL_DISK_SET_PARTITION_INFO_EX

Sets partition information for the specified disk partition, including layout information for AT and EFI (Extensible Firmware Interface) partitions.
IOCTL_DISK_UPDATE_PROPERTIES

Invalidates the cached partition table and re-enumerates the device.
IOCTL_DISK_VERIFY

Verifies the specified extent on a fixed disk.
IOCTL_SCM_BUS_QUERY_PROPERTY

This is previously available to download firmware to an NVDIMM.
IOCTL_SCM_BUS_RUNTIME_FW_ACTIVATE

This is previously available to download firmware to an NVDIMM.
IOCTL_SCM_PD_FIRMWARE_ACTIVATE

This is previously available to download firmware to an NVDIMM.
IOCTL_SCM_PD_FIRMWARE_DOWNLOAD

This is previously available to download firmware to an NVDIMM.
IOCTL_SERIAL_LSRMST_INSERT

Enables or disables the placement of line status and modem status values into the regular data stream that an application acquires through the ReadFile function.
IOCTL_STORAGE_CHECK_VERIFY

Determines whether media are accessible for a device.
IOCTL_STORAGE_DEVICE_POWER_CAP

Windows applications can use this control code to specify a maximum operational power consumption level for a storage device.
IOCTL_STORAGE_EJECT_MEDIA

Ejects media from a SCSI device.
IOCTL_STORAGE_EJECTION_CONTROL

Enables or disables the mechanism that ejects media. Disabling the mechanism locks the drive.
IOCTL_STORAGE_FIRMWARE_ACTIVATE

Windows applications can use this control code to activate a firmware image on a specified device.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD

Windows applications can use this control code to download a firmware image to the target device, but not activate it.
IOCTL_STORAGE_FIRMWARE_GET_INFO

Windows applications can use this control code to query the storage device for detailed firmware information.
IOCTL_STORAGE_GET_DEVICE_NUMBER

Retrieves the device type, device number, and, for a partitionable device, the partition number of a device.
IOCTL_STORAGE_GET_HOTPLUG_INFO

Retrieves the hotplug configuration of the specified device.
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER

Retrieves the serial number of a USB device.
IOCTL_STORAGE_GET_MEDIA_TYPES

Retrieves the geometry information for the device. (IOCTL_STORAGE_GET_MEDIA_TYPES)
IOCTL_STORAGE_GET_MEDIA_TYPES_EX

Retrieves information about the types of media supported by a device.
IOCTL_STORAGE_LOAD_MEDIA

Loads media into a device.
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES

The IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code communicates attribute information to the volume manager and storage system device.
IOCTL_STORAGE_MCN_CONTROL

Enables or disables media change notification. Disabling media change notification prevents the GUID_IO_MEDIA_ARRIVAL and GUID_IO_MEDIA_REMOVAL events.
IOCTL_STORAGE_MEDIA_REMOVAL

Enables or disables the mechanism that ejects media, for those devices possessing that locking capability.
IOCTL_STORAGE_PROTOCOL_COMMAND

Windows applications can use this control code to return properties of a storage device or adapter. The request indicates the kind of information to retrieve, such as inquiry data for a device or capabilities and limitations of an adapter.
IOCTL_STORAGE_QUERY_PROPERTY

Windows applications can use this control code to return the properties of a storage device or adapter.
IOCTL_STORAGE_READ_CAPACITY

Retrieves the geometry information for the device. (IOCTL_STORAGE_READ_CAPACITY)
IOCTL_STORAGE_REINITIALIZE_MEDIA

The IOCTL_STORAGE_REINITIALIZE_MEDIA ioctl (winioctl.h) offloads the erasure process to the storage device.
IOCTL_STORAGE_RPMB_COMMAND

The IOCTL_STORAGE_RPMB_COMMAND ioctl (winioctl.h) sends an RPMB command to the underlying storage device.
IOCTL_STORAGE_SET_HOTPLUG_INFO

Sets the hotplug configuration of the specified device.
IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD

Windows applications can use this control code to set the temperature threshold of a device (when it's supported by the device).
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_OFFLINE

Takes a volume offline.
IOCTL_VOLUME_ONLINE

Brings a volume online.

Structures

 
BOOT_AREA_INFO

Contains the output for the FSCTL_GET_BOOT_AREA_INFO control code.
CHANGER_ELEMENT

Represents a changer element.
CHANGER_ELEMENT_LIST

Represents a range of elements of a single type, typically for an operation such as getting or initializing the status of multiple elements.
CHANGER_ELEMENT_STATUS

Represents the status of the specified element. (CHANGER_ELEMENT_STATUS)
CHANGER_ELEMENT_STATUS_EX

Represents the status of the specified element. (CHANGER_ELEMENT_STATUS_EX)
CHANGER_EXCHANGE_MEDIUM

Contains information the IOCTL_CHANGER_EXCHANGE_MEDIUM control code uses to move a piece of media to a destination, and the piece of media originally in the first destination to a second destination.
CHANGER_INITIALIZE_ELEMENT_STATUS

Represents the status of all media changer elements or the specified elements of a particular type.
CHANGER_MOVE_MEDIUM

Contains information that the IOCTL_CHANGER_MOVE_MEDIUM control code uses to move a piece of media to a destination.
CHANGER_PRODUCT_DATA

Represents product data for a changer device. It is used by the IOCTL_CHANGER_GET_PRODUCT_DATA control code.
CHANGER_READ_ELEMENT_STATUS

Contains information that the IOCTL_CHANGER_GET_ELEMENT_STATUS control code needs to determine the elements whose status is to be retrieved.
CHANGER_SEND_VOLUME_TAG_INFORMATION

Contains information that the IOCTL_CHANGER_QUERY_VOLUME_TAGS control code uses to determine the volume information to be retrieved.
CHANGER_SET_ACCESS

Contains information that the IOCTL_CHANGER_SET_ACCESS control code needs to set the state of the device's insert/eject port, door, or keypad.
CHANGER_SET_POSITION

Contains information needed by the IOCTL_CHANGER_SET_POSITION control code to set the changer's robotic transport mechanism to the specified element address.
CLASS_MEDIA_CHANGE_CONTEXT

Contains information associated with a media change event.
CREATE_DISK

Contains information that the IOCTL_DISK_CREATE_DISK control code uses to initialize GUID partition table (GPT), master boot record (MBR), or raw disks.
CREATE_DISK_GPT

Contains information used by the IOCTL_DISK_CREATE_DISK control code to initialize GUID partition table (GPT) disks.
CREATE_DISK_MBR

Contains information that the IOCTL_DISK_CREATE_DISK control code uses to initialize master boot record (MBR) disks.
CREATE_USN_JOURNAL_DATA

Contains information that describes an update sequence number (USN) change journal.
CSV_CONTROL_PARAM

Represents a type of CSV control operation.
CSV_IS_OWNED_BY_CSVFS

Contains the output for the FSCTL_IS_VOLUME_OWNED_BYCSVFS control code that determines whether a volume is owned by CSVFS.
CSV_NAMESPACE_INFO

Contains the output for the FSCTL_IS_CSV_FILE control code that retrieves namespace information for a file.
CSV_QUERY_FILE_REVISION

Contains information about whether files in a stream have been modified.
CSV_QUERY_MDS_PATH

Contains the path that is used by CSV to communicate to the MDS.
CSV_QUERY_REDIRECT_STATE

Contains information about whether files in a stream have been redirected.
CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT

Contains troubleshooting information about why a volume is in redirected mode.
DELETE_USN_JOURNAL_DATA

Contains information on the deletion of an update sequence number (USN) change journal using the FSCTL_DELETE_USN_JOURNAL control code.
DEVICE_COPY_OFFLOAD_DESCRIPTOR

Contains the copy offload capabilities for a storage device.
DEVICE_DATA_SET_LB_PROVISIONING_STATE

Output structure for the DeviceDsmAction_Allocation action of the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_DATA_SET_RANGE

Provides data set range information for use with the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_DATA_SET_REPAIR_PARAMETERS

Specifies parameters for the repair operation.
DEVICE_DSM_NOTIFICATION_PARAMETERS

Contains parameters for the DeviceDsmAction_Notification action for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_DSM_OFFLOAD_READ_PARAMETERS

Contains parameters for the DeviceDsmAction_OffloadRead action for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS

Specifies parameters for the offload write operation.
DEVICE_LB_PROVISIONING_DESCRIPTOR

Contains the thin provisioning capabilities for a storage device.
DEVICE_MANAGE_DATA_SET_ATTRIBUTES

Input structure for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT

Output structure for the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
DEVICE_MEDIA_INFO

Provides information about the media supported by a device.
DEVICE_POWER_DESCRIPTOR

The DEVICE_POWER_DESCRIPTOR structure describes the power capabilities of a storage device.
DEVICE_SEEK_PENALTY_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the seek penalty descriptor data for a device.
DEVICE_TRIM_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the trim descriptor data for a device.
DEVICE_WRITE_AGGREGATION_DESCRIPTOR

Reserved for system use. (DEVICE_WRITE_AGGREGATION_DESCRIPTOR)
DISK_CACHE_INFORMATION

Provides information about the disk cache.
DISK_DETECTION_INFO

Contains detected drive parameters.
DISK_EX_INT13_INFO

Contains extended Int13 drive parameters.
DISK_EXTENT

Represents a disk extent.
DISK_GEOMETRY

Describes the geometry of disk devices and media.
DISK_GEOMETRY_EX

Describes the extended geometry of disk devices and media.
DISK_GROW_PARTITION

Contains information used to increase the size of a partition.
DISK_INT13_INFO

Contains standard Int13 drive geometry parameters.
DISK_PARTITION_INFO

Contains the disk partition information.
DISK_PERFORMANCE

Provides disk performance information.
DRIVE_LAYOUT_INFORMATION

Contains information about the partitions of a drive.
DRIVE_LAYOUT_INFORMATION_EX

Contains extended information about a drive's partitions.
DRIVE_LAYOUT_INFORMATION_GPT

Contains information about a drive's GUID partition table (GPT) partitions.
DRIVE_LAYOUT_INFORMATION_MBR

Provides information about a drive's master boot record (MBR) partitions.
DUPLICATE_EXTENTS_DATA

Contains parameters for the FSCTL_DUPLICATE_EXTENTS control code that performs the Block Cloning operation.
EXFAT_STATISTICS

Contains statistical information from the exFAT file system.
FAT_STATISTICS

Contains statistical information from the FAT file system.
FILE_ALLOCATED_RANGE_BUFFER

Indicates a range of bytes in a file.
FILE_LEVEL_TRIM

Used as input to the FSCTL_FILE_LEVEL_TRIM control code.
FILE_LEVEL_TRIM_OUTPUT

Used as output to the FSCTL_FILE_LEVEL_TRIM control code.
FILE_LEVEL_TRIM_RANGE

Specifies a range of a file that is to be trimmed.
FILE_MAKE_COMPATIBLE_BUFFER

Specifies the disc to close the current session for. This control code is used for UDF file systems. This structure is used for input when calling FSCTL_MAKE_MEDIA_COMPATIBLE.
FILE_OBJECTID_BUFFER

Contains an object identifier and user-defined metadata associated with the object identifier.
FILE_QUERY_ON_DISK_VOL_INFO_BUFFER

Receives the volume information from a call to FSCTL_QUERY_ON_DISK_VOLUME_INFO.
FILE_QUERY_SPARING_BUFFER

Contains defect management properties.
FILE_SET_DEFECT_MGMT_BUFFER

Specifies the defect management state to be set.
FILE_SET_SPARSE_BUFFER

Specifies the sparse state to be set.
FILE_STORAGE_TIER

Represents an identifier for the storage tier relative to the volume.
FILE_STORAGE_TIER_REGION

Describes a single storage tier region.
FILE_SYSTEM_RECOGNITION_INFORMATION

Contains file system recognition information retrieved by the FSCTL_QUERY_FILE_SYSTEM_RECOGNITION control code.
FILE_ZERO_DATA_INFORMATION

Contains a range of a file to set to zeros.
FILESYSTEM_STATISTICS

Contains statistical information from the file system.
FILESYSTEM_STATISTICS_EX

Contains statistical information from the file system.Support for this structure started with Windows 10.
FIND_BY_SID_DATA

Contains data for the FSCTL_FIND_FILES_BY_SID control code.
FIND_BY_SID_OUTPUT

Represents a file name.
FORMAT_EX_PARAMETERS

Contains information used in formatting a contiguous set of disk tracks. It is used by the IOCTL_DISK_FORMAT_TRACKS_EX control code.
FORMAT_PARAMETERS

Contains information used in formatting a contiguous set of disk tracks.
FSCTL_GET_INTEGRITY_INFORMATION_BUFFER

Contains the integrity information for a file or directory.
FSCTL_QUERY_REGION_INFO_INPUT

Contains the storage tier regions from the storage stack for a particular volume.
FSCTL_QUERY_REGION_INFO_OUTPUT

Contains information for one or more regions.
FSCTL_QUERY_STORAGE_CLASSES_OUTPUT

Contains information for all tiers of a specific volume.
FSCTL_SET_INTEGRITY_INFORMATION_BUFFER

Input buffer passed with the FSCTL_SET_INTEGRITY_INFORMATION control code.
GET_CHANGER_PARAMETERS

Represents the parameters of a changer.
GET_DISK_ATTRIBUTES

Contains the attributes of a disk device.
GET_LENGTH_INFORMATION

Contains disk, volume, or partition length information used by the IOCTL_DISK_GET_LENGTH_INFO control code.
GET_MEDIA_TYPES

Contains information about the media types supported by a device.
LOOKUP_STREAM_FROM_CLUSTER_ENTRY

Returned from the FSCTL_LOOKUP_STREAM_FROM_CLUSTER control code.
LOOKUP_STREAM_FROM_CLUSTER_INPUT

Passed as input to the FSCTL_LOOKUP_STREAM_FROM_CLUSTER control code.
LOOKUP_STREAM_FROM_CLUSTER_OUTPUT

Received as output from the FSCTL_LOOKUP_STREAM_FROM_CLUSTER control code.
MARK_HANDLE_INFO

Contains information that is used to mark a specified file or directory, and its update sequence number (USN) change journal record with data about changes.
MARK_HANDLE_INFO32

Contains information that is used to mark a specified file or directory, and its update sequence number (USN) change journal record with data about changes.
MFT_ENUM_DATA_V0

Contains information defining the boundaries for and starting place of an enumeration of update sequence number (USN) change journal records.
MFT_ENUM_DATA_V1

Contains information defining the boundaries for and starting place of an enumeration of update sequence number (USN) change journal records for ReFS volumes.
MOVE_FILE_DATA

Contains input data for the FSCTL_MOVE_FILE control code.
NTFS_EXTENDED_VOLUME_DATA

Represents volume data.N
NTFS_FILE_RECORD_INPUT_BUFFER

Contains data for the FSCTL_GET_NTFS_FILE_RECORD control code.
NTFS_FILE_RECORD_OUTPUT_BUFFER

Receives output data from the FSCTL_GET_NTFS_FILE_RECORD control code.
NTFS_STATISTICS

Contains statistical information from the NTFS file system.
NTFS_STATISTICS_EX

Contains statistical information from the NTFS file system.Support for this structure started with Windows 10.
NTFS_VOLUME_DATA_BUFFER

Represents volume data. (NTFS_VOLUME_DATA_BUFFER)
PARTITION_INFORMATION

Contains information about a disk partition.
PARTITION_INFORMATION_EX

Contains partition information for standard AT-style master boot record (MBR) and Extensible Firmware Interface (EFI) disks.
PARTITION_INFORMATION_GPT

Contains GUID partition table (GPT) partition information.
PARTITION_INFORMATION_MBR

Contains partition information specific to master boot record (MBR) disks.
PLEX_READ_DATA_REQUEST

Indicates the range of the read operation to perform and the plex from which to read.
PREVENT_MEDIA_REMOVAL

Provides removable media locking data. It is used by the IOCTL_STORAGE_MEDIA_REMOVAL control code.
READ_ELEMENT_ADDRESS_INFO

Represents the volume tag information. It is used by the IOCTL_CHANGER_QUERY_VOLUME_TAGS control code.
READ_FILE_USN_DATA

Specifies the versions of the update sequence number (USN) change journal supported by the application.
READ_USN_JOURNAL_DATA_V0

Contains information defining a set of update sequence number (USN) change journal records to return to the calling process. (READ_USN_JOURNAL_DATA_V0)
READ_USN_JOURNAL_DATA_V1

Contains information defining a set of update sequence number (USN) change journal records to return to the calling process.R
REASSIGN_BLOCKS

Contains disk block reassignment data. (REASSIGN_BLOCKS)
REASSIGN_BLOCKS_EX

Contains disk block reassignment data. (REASSIGN_BLOCKS_EX)
REPAIR_COPIES_INPUT

Input structure for the FSCTL_REPAIR_COPIES control code.
REPAIR_COPIES_OUTPUT

Contains output of a repair copies operation returned from the FSCTL_REPAIR_COPIES control code.
REQUEST_OPLOCK_INPUT_BUFFER

Contains the information to request an opportunistic lock (oplock) or to acknowledge an oplock break with the FSCTL_REQUEST_OPLOCK control code.
REQUEST_OPLOCK_OUTPUT_BUFFER

Contains the opportunistic lock (oplock) information returned by the FSCTL_REQUEST_OPLOCK control code.
RETRIEVAL_POINTER_BASE

Contains the output for the FSCTL_GET_RETRIEVAL_POINTER_BASE control code.
RETRIEVAL_POINTERS_BUFFER

Contains the output for the FSCTL_GET_RETRIEVAL_POINTERS control code.
SET_DISK_ATTRIBUTES

Specifies the attributes to be set on a disk device.
SET_PARTITION_INFORMATION

Contains information used to set a disk partition's type.
SHRINK_VOLUME_INFORMATION

Specifies the volume shrink operation to perform.
STARTING_LCN_INPUT_BUFFER

Contains the starting LCN to the FSCTL_GET_VOLUME_BITMAP control code.
STARTING_VCN_INPUT_BUFFER

Contains the starting VCN to the FSCTL_GET_RETRIEVAL_POINTERS control code.
STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve the storage access alignment descriptor data for a device.
STORAGE_ADAPTER_DESCRIPTOR

Used with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve the storage adapter descriptor data for a device.
STORAGE_ADAPTER_SERIAL_NUMBER

The NULL-terminated Unicode string of the adapter serial number for the StorageAdapterSerialNumberProperty as defined in STORAGE_PROPERTY_ID.
STORAGE_DESCRIPTOR_HEADER

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve the properties of a storage device or adapter.
STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR

Reserved for future use. (STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR)
STORAGE_DEVICE_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve the storage device descriptor data for a device.
STORAGE_DEVICE_ID_DESCRIPTOR

Used with the IOCTL_STORAGE_QUERY_PROPERTY control code request to retrieve the device ID descriptor data for a device.
STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR

The output buffer for the StorageDeviceIoCapabilityProperty as defined in STORAGE_PROPERTY_ID.
STORAGE_DEVICE_NUMBER

Contains information about a device. This structure is used by the IOCTL_STORAGE_GET_DEVICE_NUMBER control code.
STORAGE_DEVICE_POWER_CAP

This structure is used as an input and output buffer for the IOCTL_STORAGE_DEVICE_POWER_CAP.
STORAGE_DEVICE_RESILIENCY_DESCRIPTOR

Reserved for system use. (STORAGE_DEVICE_RESILIENCY_DESCRIPTOR)
STORAGE_HOTPLUG_INFO

Provides information about the hotplug information of a device.
STORAGE_HW_FIRMWARE_ACTIVATE

This structure contains information about the downloaded firmware to activate.
STORAGE_HW_FIRMWARE_DOWNLOAD

This structure contains a firmware image payload to be downloaded to the target.
STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to describe the product type of a storage device.
STORAGE_MINIPORT_DESCRIPTOR

Reserved for system use. (STORAGE_MINIPORT_DESCRIPTOR)
STORAGE_OFFLOAD_READ_OUTPUT

Output structure for the DeviceDsmAction_OffloadRead action of the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
STORAGE_OFFLOAD_TOKEN

The token used to represent a portion of a file used in by offload read and write operations.
STORAGE_OFFLOAD_WRITE_OUTPUT

Output structure for the DeviceDsmAction_OffloadWrite action of the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
STORAGE_PHYSICAL_ADAPTER_DATA

Describes a physical storage adapter.
STORAGE_PHYSICAL_DEVICE_DATA

Describes a physical storage device.
STORAGE_PHYSICAL_NODE_DATA

Specifies the physical device data of a storage node.
STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR

The STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure is one of the query result structures returned from an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_PROPERTY_QUERY

Indicates the properties of a storage device or adapter to retrieve as the input buffer passed to the IOCTL_STORAGE_QUERY_PROPERTY control code.
STORAGE_PROTOCOL_COMMAND

This structure is used as an input buffer when using the pass-through mechanism to issue a vendor-specific command to a storage device (via IOCTL_STORAGE_PROTOCOL_COMMAND).
STORAGE_PROTOCOL_DATA_DESCRIPTOR

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY to return protocol-specific data from a storage device or adapter.
STORAGE_PROTOCOL_SPECIFIC_DATA

Describes protocol-specific device data, provided in the input and output buffer of an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_RPMB_DATA_FRAME

The STORAGE_RPMB_DATA_FRAME structure (winioctl.h) allows an application to use data from IOCTL_STORAGE_QUERY_PROPERTY to create a RPMB frame.
STORAGE_RPMB_DESCRIPTOR

The STORAGE_RPMB_DESCRIPTOR structure (winioctl.h) describes whether the device contains an RPMB and the max payload size the RPMB supports.
STORAGE_SPEC_VERSION

Storage specification version.
STORAGE_TEMPERATURE_DATA_DESCRIPTOR

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY to return temperature data from a storage device or adapter.
STORAGE_TEMPERATURE_INFO

Describes device temperature data. Returned as part of STORAGE_TEMPERATURE_DATA_DESCRIPTOR when querying for temperature data with an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_TEMPERATURE_THRESHOLD

This structure is used to set the over or under temperature threshold of a storage device (via IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD).
STORAGE_WRITE_CACHE_PROPERTY

Used with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve information about a device's write cache property.
TXFS_CREATE_MINIVERSION_INFO

Contains the version information about the miniversion created by FSCTL_TXFS_CREATE_MINIVERSION.
TXFS_GET_METADATA_INFO_OUT

Contains the version information about the miniversion that is created.
TXFS_GET_TRANSACTED_VERSION

Contains the information about the base and latest versions of the specified file.
TXFS_LIST_TRANSACTION_LOCKED_FILES

Contains a list of files locked by a transacted writer.
TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY

Contains information about a locked transaction.
TXFS_LIST_TRANSACTIONS

Contains a list of transactions.
TXFS_LIST_TRANSACTIONS_ENTRY

Contains information about a transaction.
TXFS_MODIFY_RM

Contains the information required when modifying log parameters and logging mode for a secondary resource manager.
TXFS_QUERY_RM_INFORMATION

Contains information about the resource manager (RM).
TXFS_READ_BACKUP_INFORMATION_OUT

Contains a Transactional NTFS (TxF) specific structure. This information should only be used when calling TXFS_WRITE_BACKUP_INFORMATION. (TXFS_READ_BACKUP_INFORMATION_OUT)
TXFS_SAVEPOINT_INFORMATION

The FSCTL_TXFS_SAVEPOINT_INFORMATION structure specifies the action to perform, and on which transaction.
TXFS_TRANSACTION_ACTIVE_INFO

Contains the flag that indicates whether transactions were active or not when a snapshot was taken.
TXFS_WRITE_BACKUP_INFORMATION

Contains a Transactional NTFS (TxF) specific structure. This information should only be used when calling TXFS_WRITE_BACKUP_INFORMATION. (TXFS_WRITE_BACKUP_INFORMATION)
USN_JOURNAL_DATA_V0

Represents an update sequence number (USN) change journal, its records, and its capacity. (USN_JOURNAL_DATA_V0)
USN_JOURNAL_DATA_V1

Represents an update sequence number (USN) change journal, its records, and its capacity.U
USN_JOURNAL_DATA_V2

Represents an update sequence number (USN) change journal, its records, and its capacity. This structure is the output buffer for the FSCTL_QUERY_USN_JOURNAL control code.
USN_RANGE_TRACK_OUTPUT

Contains returned update sequence number (USN) from FSCTL_USN_TRACK_MODIFIED_RANGES control code.
USN_RECORD_COMMON_HEADER

Contains the information for an update sequence number (USN) common header which is common through USN_RECORD_V2, USN_RECORD_V3 and USN_RECORD_V4.
USN_RECORD_EXTENT

Contains the offset and length for an update sequence number (USN) record extent.
USN_RECORD_V2

Contains the information for an update sequence number (USN) change journal version 2.0 record.
USN_RECORD_V3

Contains the information for an update sequence number (USN) change journal version 3.0 record.
USN_RECORD_V4

Contains the information for an update sequence number (USN) change journal version 4.0 record. The version 2.0 and 3.0 records are defined by the USN_RECORD_V2 (also called USN_RECORD) and USN_RECORD_V3 structures respectively.
USN_TRACK_MODIFIED_RANGES

Contains information on range tracking parameters for an update sequence number (USN) change journal using the FSCTL_USN_TRACK_MODIFIED_RANGES control code.
VERIFY_INFORMATION

Contains information used to verify a disk extent.
VOLUME_BITMAP_BUFFER

Represents the occupied and available clusters on a disk.
VOLUME_DISK_EXTENTS

Represents a physical location on a disk.
VOLUME_GET_GPT_ATTRIBUTES_INFORMATION

Contains volume attributes retrieved with the IOCTL_VOLUME_GET_GPT_ATTRIBUTES control code.

Enumerations

 
CSV_CONTROL_OP

Specifies the type of CSV control operation to use with the FSCTL_CSV_CONTROL control code.
ELEMENT_TYPE

Specifies the element type of a changer device.
FILE_STORAGE_TIER_MEDIA_TYPE

Specifies the storage media type.
MEDIA_TYPE

Represents the various forms of device media.
PARTITION_STYLE

Represents the format of a partition.
STORAGE_BUS_TYPE

Specifies the various types of storage buses.
STORAGE_COMPONENT_HEALTH_STATUS

Specifies the health status of a storage component.
STORAGE_DEVICE_FORM_FACTOR

Specifies the form factor of a device.
STORAGE_DEVICE_POWER_CAP_UNITS

The units of the maximum power threshold.
STORAGE_MEDIA_TYPE

Specifies various types of storage media.
STORAGE_PORT_CODE_SET

Reserved for system use. (STORAGE_PORT_CODE_SET)
STORAGE_PROPERTY_ID

Enumerates the possible values of the PropertyId member of the STORAGE_PROPERTY_QUERY structure passed as input to the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the properties of a storage device or adapter.
STORAGE_PROTOCOL_ATA_DATA_TYPE

The ATA protocol data type.
STORAGE_PROTOCOL_NVME_DATA_TYPE

Describes the type of NVMe protocol-specific data that's to be queried during an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_PROTOCOL_TYPE

Specifies the protocol of a storage device.
STORAGE_QUERY_TYPE

Used by the STORAGE_PROPERTY_QUERY structure passed to the IOCTL_STORAGE_QUERY_PROPERTY control code to indicate what information is returned about a property of a storage device or adapter.
WRITE_CACHE_CHANGE

Indicates whether the write cache features of a device are changeable.
WRITE_CACHE_ENABLE

Indicates whether the write cache is enabled or disabled.
WRITE_CACHE_TYPE

Specifies the cache type.
WRITE_THROUGH

Specifies whether a storage device supports write-through caching.