.NET环境下不依赖WMI获取华硕Strix X570 M.2 SSD温度方案咨询
编辑补充
我使用的华硕Strix X570主板没有WMI接口,因此必须采用非WMI实现方案
我尝试实现读取硬盘温度的功能,在.NET Framework 4.8环境下以管理员身份运行代码时抛出了Not supported异常,相关代码如下:
var searcher = new ManagementObjectSearcher( "root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData"); foreach (ManagementObject queryObj in searcher.Get())
我还尝试了以下查询语句,均返回相同异常:
SELECT * FROM MSStorageDriver_FailurePredictStatus Select * from MSStorageDriver_FailurePredictData Select * from MSStorageDriver_FailurePredictThresholds
异常完整堆栈信息如下:
System.Management.ManagementException HResult=0x80131501 Message=Not supported Source=System.Management StackTrace: at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext() at myapp.TestSmart.GetDriveTemp() in TempSensor.cs:line 124 at myapp.MainWindow.MainWindow_Loaded(Object sender, RoutedEventArgs e) in MainWindow.xaml.cs:line 157 at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent) at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root) at MS.Internal.LoadedOrUnloadedOperation.DoWork() at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks() at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) at System.Windows.Interop.HwndTarget.OnResize() at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam) at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
需求说明
需要获取本机M.2 SSD的温度数据,该温度在Windows存储设置中可正常查看,且无需管理员权限运行的HWiNFO工具也能正常识别所有SMART传感器数据。


内容的提问来源于stack exchange,提问作者Boppity Bop
相关产品推荐
相关产品推荐

