28#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
30#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
31#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS)
32#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
33#define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
34#define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
35#define IOCTL_STORAGE_LOAD_MEDIA2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
36#define IOCTL_STORAGE_RESERVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
37#define IOCTL_STORAGE_RELEASE CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
38#define IOCTL_STORAGE_FIND_NEW_DEVICES CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
39#define IOCTL_STORAGE_EJECTION_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
40#define IOCTL_STORAGE_MCN_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
41#define IOCTL_STORAGE_GET_MEDIA_TYPES CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
42#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
43#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS)
44#define IOCTL_STORAGE_GET_HOTPLUG_INFO CTL_CODE(IOCTL_STORAGE_BASE, 0x0305, METHOD_BUFFERED, FILE_ANY_ACCESS)
45#define IOCTL_STORAGE_SET_HOTPLUG_INFO CTL_CODE(IOCTL_STORAGE_BASE, 0x0306, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
46#define IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
47#define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
48#define IOCTL_STORAGE_BREAK_RESERVATION CTL_CODE(IOCTL_STORAGE_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
49#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
50#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
51#define IOCTL_STORAGE_QUERY_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
54 0x53f56307, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
56 0x53f56308, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
58 0x53f5630a, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
60 0x53f5630b, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
62 0x53f5630c, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
64 0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
66 0x53f56310, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
68 0x53f56311, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
70 0x53f56312, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
72 0x2accfe60, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
99#define RECOVERED_WRITES_VALID 0x00000001
100#define UNRECOVERED_WRITES_VALID 0x00000002
101#define RECOVERED_READS_VALID 0x00000004
102#define UNRECOVERED_READS_VALID 0x00000008
103#define WRITE_COMPRESSION_INFO_VALID 0x00000010
104#define READ_COMPRESSION_INFO_VALID 0x00000020
110#define TAPE_RETURN_STATISTICS __MSABI_LONG(0)
111#define TAPE_RETURN_ENV_INFO __MSABI_LONG(1)
112#define TAPE_RESET_STATISTICS __MSABI_LONG(2)
167#define MEDIA_ERASEABLE 0x00000001
168#define MEDIA_WRITE_ONCE 0x00000002
169#define MEDIA_READ_ONLY 0x00000004
170#define MEDIA_READ_WRITE 0x00000008
171#define MEDIA_WRITE_PROTECTED 0x00000100
172#define MEDIA_CURRENTLY_MOUNTED 0x80000000
enum _STORAGE_MEDIA_TYPE STORAGE_MEDIA_TYPE
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
struct _STORAGE_PROPERTY_QUERY STORAGE_PROPERTY_QUERY
struct _TAPE_STATISTICS * PTAPE_STATISTICS
* PSTORAGE_DESCRIPTOR_HEADER
enum _STORAGE_PROPERTY_ID STORAGE_PROPERTY_ID
STORAGE_DESCRIPTOR_HEADER
struct _STORAGE_HOTPLUG_INFO STORAGE_HOTPLUG_INFO
STORAGE_ADAPTER_DESCRIPTOR
struct _STORAGE_DEVICE_NUMBER STORAGE_DEVICE_NUMBER
enum _STORAGE_QUERY_TYPE * PSTORAGE_QUERY_TYPE
struct _DEVICE_SEEK_PENALTY_DESCRIPTOR DEVICE_SEEK_PENALTY_DESCRIPTOR
struct _PREVENT_MEDIA_REMOVAL * PPREVENT_MEDIA_REMOVAL
struct _DEVICE_SEEK_PENALTY_DESCRIPTOR * PDEVICE_SEEK_PENALTY_DESCRIPTOR
struct _STORAGE_BUS_RESET_REQUEST * PSTORAGE_BUS_RESET_REQUEST
enum _STORAGE_MEDIA_TYPE STORAGE_MEDIA_TYPE
struct _STORAGE_BUS_RESET_REQUEST STORAGE_BUS_RESET_REQUEST
enum _STORAGE_MEDIA_TYPE * PSTORAGE_MEDIA_TYPE
struct _GET_MEDIA_TYPES * PGET_MEDIA_TYPES
struct _PREVENT_MEDIA_REMOVAL PREVENT_MEDIA_REMOVAL
* PSTORAGE_DEVICE_DESCRIPTOR
@ StorageMiniportProperty
@ StorageDeviceUniqueIdProperty
@ StorageDevicePhysicalTopologyProperty
@ StorageDeviceZonedDeviceProperty
@ StorageDeviceMediumProductType
@ StorageDeviceUnsafeShutdownCount
@ StorageAdapterRpmbProperty
@ StorageAdapterProtocolSpecificProperty
@ StorageDeviceIoCapabilityProperty
@ StorageDeviceSeekPenaltyProperty
@ StorageAdapterPhysicalTopologyProperty
@ StorageDeviceIdProperty
@ StorageDeviceProtocolSpecificProperty
@ StorageDeviceLBProvisioningProperty
@ StorageDeviceDeviceTelemetryProperty
@ StorageAdapterCryptoProperty
@ StorageDeviceWriteAggregationProperty
@ StorageDeviceWriteCacheProperty
@ StorageDeviceManagementStatus
@ StorageDeviceTemperatureProperty
@ StorageDeviceNumaProperty
@ StorageDeviceAttributesProperty
@ StorageDeviceLocationProperty
@ StorageDeviceEnduranceProperty
@ StorageDeviceTrimProperty
@ StorageDevicePowerProperty
@ StorageAdapterSerialNumberProperty
@ StorageAdapterTemperatureProperty
@ StorageDeviceCopyOffloadProperty
@ StorageAccessAlignmentProperty
@ StorageDeviceResiliencyProperty
enum _STORAGE_BUS_TYPE * PSTORAGE_BUS_TYPE
struct _TAPE_STATISTICS TAPE_STATISTICS
struct _STORAGE_PROPERTY_QUERY * PSTORAGE_PROPERTY_QUERY
enum _STORAGE_QUERY_TYPE STORAGE_QUERY_TYPE
enum _STORAGE_BUS_TYPE STORAGE_BUS_TYPE
STORAGE_DEVICE_DESCRIPTOR
@ PropertyQueryMaxDefined
struct _TAPE_GET_STATISTICS TAPE_GET_STATISTICS
struct _TAPE_GET_STATISTICS * PTAPE_GET_STATISTICS
struct _STORAGE_HOTPLUG_INFO * PSTORAGE_HOTPLUG_INFO
enum _STORAGE_PROPERTY_ID * PSTORAGE_PROPERTY_ID
struct _DEVICE_MEDIA_INFO DEVICE_MEDIA_INFO
struct _STORAGE_DEVICE_NUMBER * PSTORAGE_DEVICE_NUMBER
struct _DEVICE_MEDIA_INFO * PDEVICE_MEDIA_INFO
* PSTORAGE_ADAPTER_DESCRIPTOR
struct _GET_MEDIA_TYPES GET_MEDIA_TYPES
BOOLEAN IncursSeekPenalty
ULONG MaximumTransferLength
ULONG MaximumPhysicalPages
BOOLEAN AcceleratedTransfer
ULONG RawPropertiesLength
UCHAR RawDeviceProperties[1]
ULONG ProductRevisionOffset
BOOLEAN WriteCacheEnableOverride
STORAGE_QUERY_TYPE QueryType
UCHAR AdditionalParameters[1]
STORAGE_PROPERTY_ID PropertyId
LARGE_INTEGER UnrecoveredReads
LARGE_INTEGER RecoveredWrites
LARGE_INTEGER RecoveredReads
UCHAR CompressionRatioWrites
UCHAR CompressionRatioReads
LARGE_INTEGER UnrecoveredWrites
@ StorageDeviceProtocolSpecificPropertyEx
@ StorageAdapterProtocolSpecificPropertyEx
@ StorageDeviceSelfEncryptionProperty
@ StorageDeviceLedStateProperty
enum _STORAGE_BUS_TYPE STORAGE_BUS_TYPE