diff --git a/PInvoke/Kernel32/WinIOCtl.Enums.cs b/PInvoke/Kernel32/WinIOCtl.Enums.cs index 0adcbc70..44d97dc1 100644 --- a/PInvoke/Kernel32/WinIOCtl.Enums.cs +++ b/PInvoke/Kernel32/WinIOCtl.Enums.cs @@ -2117,176 +2117,217 @@ namespace Vanara.PInvoke // StorageAdapterSerialNumberProperty, StorageDeviceLocationProperty, StorageDeviceNumaProperty, StorageDeviceZonedDeviceProperty, // StorageDeviceUnsafeShutdownCount, StorageDeviceEnduranceProperty } STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID; [PInvokeData("winioctl.h", MSDNShortId = "9747be01-7c70-4697-97f7-e3830b54ba0a")] - public enum STORAGE_PROPERTY_ID - { - /// Indicates that the caller is querying for the device descriptor, STORAGE_DEVICE_DESCRIPTOR. - [CorrespondingType(typeof(STORAGE_DEVICE_DESCRIPTOR_MGD))] - StorageDeviceProperty = 0, + public enum STORAGE_PROPERTY_ID + { + /// Indicates that the caller is querying for the device descriptor, STORAGE_DEVICE_DESCRIPTOR. + [CorrespondingType(typeof(STORAGE_DEVICE_DESCRIPTOR_MGD))] + StorageDeviceProperty = 0, - /// Indicates that the caller is querying for the adapter descriptor, STORAGE_ADAPTER_DESCRIPTOR. - [CorrespondingType(typeof(STORAGE_ADAPTER_DESCRIPTOR))] - StorageAdapterProperty, + /// Indicates that the caller is querying for the adapter descriptor, STORAGE_ADAPTER_DESCRIPTOR. + [CorrespondingType(typeof(STORAGE_ADAPTER_DESCRIPTOR))] + StorageAdapterProperty, - /// - /// Indicates that the caller is querying for the device identifiers provided with the SCSI vital product data pages. Data is - /// returned using the STORAGE_DEVICE_ID_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_DEVICE_ID_DESCRIPTOR))] - StorageDeviceIdProperty, + /// + /// Indicates that the caller is querying for the device identifiers provided with the SCSI vital product data pages. Data is + /// returned using the STORAGE_DEVICE_ID_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_DEVICE_ID_DESCRIPTOR))] + StorageDeviceIdProperty, - /// - /// Intended for driver usage. Indicates that the caller is querying for the unique device identifiers. Data is returned using - /// the STORAGE_DEVICE_UNIQUE_IDENTIFIER structure (see the storduid.h header in the DDK). Windows Server 2003 and Windows XP: - /// This value is not supported before Windows Vista and Windows Server 2008. - /// - [CorrespondingType(typeof(STORAGE_DEVICE_UNIQUE_IDENTIFIER_MGD))] - StorageDeviceUniqueIdProperty, + /// + /// Intended for driver usage. Indicates that the caller is querying for the unique device identifiers. Data is returned using + /// the STORAGE_DEVICE_UNIQUE_IDENTIFIER structure (see the storduid.h header in the DDK). Windows Server 2003 and Windows XP: + /// This value is not supported before Windows Vista and Windows Server 2008. + /// + [CorrespondingType(typeof(STORAGE_DEVICE_UNIQUE_IDENTIFIER_MGD))] + StorageDeviceUniqueIdProperty, - /// - /// Indicates that the caller is querying for the write cache property. Data is returned using the STORAGE_WRITE_CACHE_PROPERTY - /// structure. Windows Server 2003 and Windows XP: This value is not supported before Windows Vista and Windows Server 2008. - /// - [CorrespondingType(typeof(STORAGE_WRITE_CACHE_PROPERTY))] - StorageDeviceWriteCacheProperty, + /// + /// Indicates that the caller is querying for the write cache property. Data is returned using the STORAGE_WRITE_CACHE_PROPERTY + /// structure. Windows Server 2003 and Windows XP: This value is not supported before Windows Vista and Windows Server 2008. + /// + [CorrespondingType(typeof(STORAGE_WRITE_CACHE_PROPERTY))] + StorageDeviceWriteCacheProperty, - /// Reserved for system use. - StorageMiniportProperty, + /// Reserved for system use. + StorageMiniportProperty, - /// - /// Indicates that the caller is querying for the access alignment descriptor, STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR. Windows - /// Server 2003 and Windows XP: This value is not supported before Windows Vista and Windows Server 2008. - /// - [CorrespondingType(typeof(STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR))] - StorageAccessAlignmentProperty, + /// + /// Indicates that the caller is querying for the access alignment descriptor, STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR. Windows + /// Server 2003 and Windows XP: This value is not supported before Windows Vista and Windows Server 2008. + /// + [CorrespondingType(typeof(STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR))] + StorageAccessAlignmentProperty, - /// - /// Indicates that the caller is querying for the trim descriptor, DEVICE_TRIM_DESCRIPTOR. Windows Server 2008, Windows Vista, - /// Windows Server 2003 and Windows XP: This value is not supported before Windows 7 and Windows Server 2008 R2. - /// - [CorrespondingType(typeof(DEVICE_TRIM_DESCRIPTOR))] - StorageDeviceTrimProperty, + /// + /// Indicates that the caller is querying for the seek penalty descriptor, DEVICE_SEEK_PENALTY_DESCRIPTOR. + /// + /// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported before Windows 7 and Windows + /// Server 2008 R2. + /// + /// + [CorrespondingType(typeof(DEVICE_SEEK_PENALTY_DESCRIPTOR))] + StorageDeviceSeekPenaltyProperty, - /// - /// Indicates that the caller is querying for the device power descriptor. Data is returned using the DEVICE_POWER_DESCRIPTOR - /// structure. Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This - /// value is not supported before Windows 8 and Windows Server 2012. - /// - [CorrespondingType(typeof(DEVICE_POWER_DESCRIPTOR))] - StorageDevicePowerProperty, + /// + /// Indicates that the caller is querying for the trim descriptor, DEVICE_TRIM_DESCRIPTOR. Windows Server 2008, Windows Vista, + /// Windows Server 2003 and Windows XP: This value is not supported before Windows 7 and Windows Server 2008 R2. + /// + [CorrespondingType(typeof(DEVICE_TRIM_DESCRIPTOR))] + StorageDeviceTrimProperty, - /// Reserved for system use. - StorageDeviceResiliencyProperty, + /// Reserved for system use. + StorageDeviceWriteAggregationProperty, - /// - /// Indicates that the caller is querying for the medium product type. Data is returned using the - /// STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR))] - StorageDeviceMediumProductType, + /// Reserved for system use. + StorageDeviceDeviceTelemetryProperty, - /// - /// Indicates that the caller is querying for RPMB support and properties. Data is returned using the STORAGE_RPMB_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_RPMB_DESCRIPTOR))] - StorageAdapterRpmbProperty, + /// + /// Indicates that the caller is querying for the logical block provisioning property. Data is returned using the + /// DEVICE_LB_PROVISIONING_DESCRIPTOR structure. + /// + /// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported before Windows 7 and Windows + /// Server 2008 R2. + /// + /// + [CorrespondingType(typeof(DEVICE_LB_PROVISIONING_DESCRIPTOR))] + StorageDeviceLBProvisioningProperty, - /// - /// Provides info on the storage adapter encryption capabilities. This is currently supported on UFS (Universal Flash Storage) adapters. - /// - StorageAdapterCryptoProperty, + /// + /// Indicates that the caller is querying for the device power descriptor. Data is returned using the DEVICE_POWER_DESCRIPTOR + /// structure. Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This + /// value is not supported before Windows 8 and Windows Server 2012. + /// + [CorrespondingType(typeof(DEVICE_POWER_DESCRIPTOR))] + StorageDevicePowerProperty, - /// - /// Indicates that the caller is querying for the device I/O capability property. Data is returned using the - /// DEVICE_IO_CAPABILITY_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR))] - StorageDeviceIoCapabilityProperty = 48, + /// + /// Indicates that the caller is querying for the copy offload parameters property. Data is returned using the + /// DEVICE_COPY_OFFLOAD_DESCRIPTOR structure. + /// + /// Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported before Windows 7 and Windows + /// Server 2008 R2. + /// + /// + [CorrespondingType(typeof(DEVICE_COPY_OFFLOAD_DESCRIPTOR))] + StorageDeviceCopyOffloadProperty, - /// - /// Indicates that the caller is querying for protocol-specific data from the adapter. Data is returned using the - /// STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the remarks for more info. - /// - [CorrespondingType(typeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR))] - StorageAdapterProtocolSpecificProperty, + /// Reserved for system use. + StorageDeviceResiliencyProperty, - /// - /// Indicates that the caller is querying for protocol-specific data from the device. Data is returned using the - /// STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the remarks for more info. - /// - [CorrespondingType(typeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR))] - StorageDeviceProtocolSpecificProperty, + /// + /// Indicates that the caller is querying for the medium product type. Data is returned using the + /// STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR))] + StorageDeviceMediumProductType, - /// - /// Indicates that the caller is querying temperature data from the adapter. Data is returned using the - /// STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_TEMPERATURE_DATA_DESCRIPTOR))] - StorageAdapterTemperatureProperty, + /// + /// Indicates that the caller is querying for RPMB support and properties. Data is returned using the STORAGE_RPMB_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_RPMB_DESCRIPTOR))] + StorageAdapterRpmbProperty, - /// - /// Indicates that the caller is querying for temperature data from the device. Data is returned using the - /// STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_TEMPERATURE_DATA_DESCRIPTOR))] - StorageDeviceTemperatureProperty, + /// + /// Provides info on the storage adapter encryption capabilities. This is currently supported on UFS (Universal Flash Storage) adapters. + /// + StorageAdapterCryptoProperty, - /// - /// Indicates that the caller is querying for topology information from the adapter. Data is returned using the - /// STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR))] - StorageAdapterPhysicalTopologyProperty, + /// + /// Indicates that the caller is querying for the device I/O capability property. Data is returned using the + /// DEVICE_IO_CAPABILITY_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR))] + StorageDeviceIoCapabilityProperty = 48, - /// - /// Indicates that the caller is querying for topology information from the device. Data is returned using the - /// STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure. - /// - [CorrespondingType(typeof(STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR))] - StorageDevicePhysicalTopologyProperty, + /// + /// Indicates that the caller is querying for protocol-specific data from the adapter. Data is returned using the + /// STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the remarks for more info. + /// + [CorrespondingType(typeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR))] + StorageAdapterProtocolSpecificProperty, - /// Reserved for future use. - StorageDeviceAttributesProperty, + /// + /// Indicates that the caller is querying for protocol-specific data from the device. Data is returned using the + /// STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the remarks for more info. + /// + [CorrespondingType(typeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR))] + StorageDeviceProtocolSpecificProperty, - /// Provides health information about the storage device (specifically for the persistent memory stack). - [CorrespondingType(typeof(STORAGE_DEVICE_MANAGEMENT_STATUS))] - StorageDeviceManagementStatus, + /// + /// Indicates that the caller is querying temperature data from the adapter. Data is returned using the + /// STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_TEMPERATURE_DATA_DESCRIPTOR))] + StorageAdapterTemperatureProperty, - /// - /// Indicates that the caller is querying for the adapter serial number. Data is returned using the STORAGE_ADAPTER_SERIAL_NUMBER structure. - /// - [CorrespondingType(typeof(STORAGE_ADAPTER_SERIAL_NUMBER))] - StorageAdapterSerialNumberProperty, + /// + /// Indicates that the caller is querying for temperature data from the device. Data is returned using the + /// STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_TEMPERATURE_DATA_DESCRIPTOR))] + StorageDeviceTemperatureProperty, - /// Reserved for system use. - StorageDeviceLocationProperty, + /// + /// Indicates that the caller is querying for topology information from the adapter. Data is returned using the + /// STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR))] + StorageAdapterPhysicalTopologyProperty, - /// Provides the non-uniform memory access (NUMA) node of the storage device. - StorageDeviceNumaProperty, + /// + /// Indicates that the caller is querying for topology information from the device. Data is returned using the + /// STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure. + /// + [CorrespondingType(typeof(STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR))] + StorageDevicePhysicalTopologyProperty, - /// Reserved for system use. - StorageDeviceZonedDeviceProperty, + /// Reserved for future use. + StorageDeviceAttributesProperty, - /// - /// Provides the unsafe shutdown count value used to determine if the device data might have been lost during a power loss event - /// (specifically for the persistent memory stack). - /// - StorageDeviceUnsafeShutdownCount, + /// Provides health information about the storage device (specifically for the persistent memory stack). + [CorrespondingType(typeof(STORAGE_DEVICE_MANAGEMENT_STATUS))] + StorageDeviceManagementStatus, - /// - /// Provides info on how many bytes have been read/write from a solid-state drive (SSD). This property is supported only for - /// Non-Volatile Memory Express (NVMe) devices that implement a certain NVMe feature. - /// - StorageDeviceEnduranceProperty, + /// + /// Indicates that the caller is querying for the adapter serial number. Data is returned using the STORAGE_ADAPTER_SERIAL_NUMBER structure. + /// + [CorrespondingType(typeof(STORAGE_ADAPTER_SERIAL_NUMBER))] + StorageAdapterSerialNumberProperty, - /// Provides info on the state of the LED associated with a storage device. This is a server-oriented feature. - StorageDeviceLedStateProperty, + /// Reserved for system use. + StorageDeviceLocationProperty, - /// Reserved for system use. - StorageDeviceSelfEncryptionProperty = 64, + /// Provides the non-uniform memory access (NUMA) node of the storage device. + StorageDeviceNumaProperty, - /// Provides identification info for a storage device that can be physically replaced with a Field Replacement Unit (FRU). - StorageFruIdProperty - } + /// Reserved for system use. + StorageDeviceZonedDeviceProperty, + + /// + /// Provides the unsafe shutdown count value used to determine if the device data might have been lost during a power loss event + /// (specifically for the persistent memory stack). + /// + StorageDeviceUnsafeShutdownCount, + + /// + /// Provides info on how many bytes have been read/write from a solid-state drive (SSD). This property is supported only for + /// Non-Volatile Memory Express (NVMe) devices that implement a certain NVMe feature. + /// + StorageDeviceEnduranceProperty, + + /// Provides info on the state of the LED associated with a storage device. This is a server-oriented feature. + StorageDeviceLedStateProperty, + + /// Reserved for system use. + StorageDeviceSelfEncryptionProperty = 64, + + /// Provides identification info for a storage device that can be physically replaced with a Field Replacement Unit (FRU). + StorageFruIdProperty, + + /// + StorageStackProperty + } /// /// @@ -2919,4 +2960,4 @@ namespace Vanara.PInvoke WriteThroughSupported, } } -} \ No newline at end of file +}