【发布时间】:2012-03-28 15:30:53
【问题描述】:
我们的一些客户告诉我们,在某些情况下会出现以下错误:
System.Management.ManagementException: Błąd dostawcy.
在 System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus 错误代码)
在 System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
在尝试循环通过 System.Mamangment.ManagementObjectSearcher 对象的 Get() 方法返回的集合时生成错误。
这是我的方法的代码:
private bool PrinterExists(string printerName)
{
bool retVal = false;
SelectQuery q = new SelectQuery("select caption from win32_printer");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(q))
{
foreach (ManagementObject printer in searcher.Get())
{
if(printer["Caption"].ToString() == printerName)
{
retVal = true;
break;
}
}
}
return retVal;
}
这个问题似乎只出现在 Windows XP 上。我知道的唯一解决方法是重建 WMI 数据库。它有时会有所帮助,但不幸的是并非总是如此。
谁能告诉我这个错误的原因是什么,我该如何解决?
【问题讨论】:
-
你能帮我们把那个错误信息翻译成英文吗?
-
'提供者错误'或'失败',也许?
标签: c# system.management