diff --git a/LibreHardwareMonitorLib/Hardware/Storage/NVMeWindows.cs b/LibreHardwareMonitorLib/Hardware/Storage/NVMeWindows.cs index 775ea27..e1ece44 100644 --- a/LibreHardwareMonitorLib/Hardware/Storage/NVMeWindows.cs +++ b/LibreHardwareMonitorLib/Hardware/Storage/NVMeWindows.cs @@ -28,6 +28,7 @@ namespace LibreHardwareMonitor.Hardware.Storage Kernel32.STORAGE_QUERY_BUFFER nptwb = Kernel32.CreateStruct(); nptwb.ProtocolSpecific.ProtocolType = Kernel32.STORAGE_PROTOCOL_TYPE.ProtocolTypeNvme; nptwb.ProtocolSpecific.DataType = (uint)Kernel32.STORAGE_PROTOCOL_NVME_DATA_TYPE.NVMeDataTypeIdentify; + nptwb.ProtocolSpecific.ProtocolDataRequestValue = (uint)Kernel32.STORAGE_PROTOCOL_NVME_PROTOCOL_DATA_REQUEST_VALUE.NVMeIdentifyCnsController; nptwb.ProtocolSpecific.ProtocolDataOffset = (uint)Marshal.SizeOf(); nptwb.ProtocolSpecific.ProtocolDataLength = (uint)nptwb.Buffer.Length; nptwb.PropertyId = Kernel32.STORAGE_PROPERTY_ID.StorageAdapterProtocolSpecificProperty; @@ -103,6 +104,7 @@ namespace LibreHardwareMonitor.Hardware.Storage Kernel32.STORAGE_QUERY_BUFFER nptwb = Kernel32.CreateStruct(); nptwb.ProtocolSpecific.ProtocolType = Kernel32.STORAGE_PROTOCOL_TYPE.ProtocolTypeNvme; nptwb.ProtocolSpecific.DataType = (uint)Kernel32.STORAGE_PROTOCOL_NVME_DATA_TYPE.NVMeDataTypeIdentify; + nptwb.ProtocolSpecific.ProtocolDataRequestValue = (uint)Kernel32.STORAGE_PROTOCOL_NVME_PROTOCOL_DATA_REQUEST_VALUE.NVMeIdentifyCnsController; nptwb.ProtocolSpecific.ProtocolDataOffset = (uint)Marshal.SizeOf(); nptwb.ProtocolSpecific.ProtocolDataLength = (uint)nptwb.Buffer.Length; nptwb.PropertyId = Kernel32.STORAGE_PROPERTY_ID.StorageAdapterProtocolSpecificProperty; diff --git a/LibreHardwareMonitorLib/Interop/Kernel32.cs b/LibreHardwareMonitorLib/Interop/Kernel32.cs index cdc139e..77f3d64 100644 --- a/LibreHardwareMonitorLib/Interop/Kernel32.cs +++ b/LibreHardwareMonitorLib/Interop/Kernel32.cs @@ -433,6 +433,13 @@ namespace LibreHardwareMonitor.Interop NVMeDataTypeFeature } + internal enum STORAGE_PROTOCOL_NVME_PROTOCOL_DATA_REQUEST_VALUE + { + NVMeIdentifyCnsSpecificNamespace = 0, + NVMeIdentifyCnsController = 1, + NVMeIdentifyCnsActiveNamespaces = 2 + } + internal enum STORAGE_PROTOCOL_TYPE { ProtocolTypeUnknown = 0x00,