Win32类属性数据类型不匹配错误

问题描述:

我正在尝试为类Win32_NetworkAdapter的“InstallDate”属性设置一个新值。Win32类属性数据类型不匹配错误

这里是对类的描述的链接:

http://msdn.microsoft.com/en-us/library/aa394216%28v=vs.85%29.aspx

然而,当我试图建立一个新的日期时间,我得到一个“类型不匹配”的错误,尽管我m试图设置一个DateTime对象,如结构中所列。

这是代码:

private static void Check() 
{ 
    var win32DeviceClassName = "Win32_NetworkAdapter"; 
    var query = string.Format("select * from {0}", win32DeviceClassName); 

    using (var searcher = new ManagementObjectSearcher(query)) 
    { 
    ManagementObjectCollection objectCollection = searcher.Get(); 

    foreach (ManagementBaseObject managementBaseObject in objectCollection) 
    { 
     if (!managementBaseObject.Properties["Description"].Value.ToString().Contains("what i need")) 
     { 
     continue; 
     } 
     managementBaseObject.Properties["InstallDate"].Value = DateTime.Now; 
    } 
    } 
} 
+0

中途向下翻页,它说'InstallDate'是只读的,虽然它应该显示安装日期,但它尚未实现。我不知道它为什么会抛出这个错误..也许在'ManagementBaseObject'中有内部事件发生。 –

+0

好的,我没有注意到,但不知怎的...但是,那么你怎么确实看到安装日期属性中的值?当你打开设备管理器并选择一个设备时,你可以在安装日期属性 –

+0

中看到一个值。对不起,我对这个类不熟悉..只是认为我会通读文档来看看我能否提供帮助。 –

你的问题有了答案,如果你通过的文件,它说

InstallDate

数据类型:日期时间

访问类型:只读

对象的安装日期和时间。该属性不需要一个值来指示对象已安装。该属性是从CIM_ManagedSystemElement继承的。 该属性尚未实现。它默认返回一个NULL值。

+0

好吧,我没有注意到,但不知怎的...但是,那么你怎么确实看到安装日期属性中的值?当您打开设备管理器并选择设备时,您可以在安装日期属性 –

+0

中看到一个值,系统将在内部对其进行设置 – Ehsan