// ntddstor.h
// CTL_CODE(0x002d, 0x450, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_STORAGE_READ_CAPACITY 0x002D5140
View the official Windows Driver Kit DDI reference// winioctl.h
// CTL_CODE(0x002d, 0x450, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_STORAGE_READ_CAPACITY 0x002D5140
View the official Win32 API referenceNo description available.
The IOCTL_STORAGE_READ_CAPACITY request returns the read capacity information for the target storage device.
None.
None.
The buffer at Irp->AssociatedIrp.SystemBuffer contains a STORAGE_READ_CAPACITY structure.
Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the buffer, which must be at least sizeof(STORAGE_READ_CAPACITY).
The Status field can be set to STATUS_SUCCESS, or possibly to STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW, or some other error status.
A IOCTL_STORAGE_READ_CAPACITY request returns the disk capacity information retrieved during disk initialization. The capacity information is obtained by the system with the SCSI READ CAPACITY command.
Retrieves the geometry information for the device.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_STORAGE_READ_CAPACITY, // 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.