// ntddvol.h
// CTL_CODE(0x0056, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS 0x00560000
View the official Windows Driver Kit DDI reference// winioctl.h
// CTL_CODE(0x0056, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS 0x00560000
View the official Win32 API referenceNo description available.
Returns the physical location(s) of a volume on one or more disks. Extents are initially stored in the order in which they are created, but remirroring, splitting, or breaking a mirror, or actions taken during disaster recovery, can affect the order of disk extents.
None.
None.
The driver returns a VOLUME_DISK_EXTENTS structure in the buffer at Irp->AssociatedIrp.SystemBuffer, which must be at least sizeof(VOLUME_DISK_EXTENTS).
The length of a VOLUME_DISK_EXTENTS structure.
The driver sets Irp->IoStatus.Information and the Status field as follows:
Retrieves the physical location of a specified volume on one or more disks.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.
Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.
In Windows 8 and Windows Server 2012, this code is supported by the following technologies.
| Technology | Supported |
|---|---|
| Server Message Block (SMB) 3.0 protocol | No |
| SMB 3.0 Transparent Failover (TFO) | No |
| SMB 3.0 with Scale-out File Shares (SO) | No |
| Cluster Shared Volume File System (CsvFS) | Yes |