При попытке получить локально установленную информацию об удаленном принтере из Win32_Printer появляется ошибка Invalid Query.
string query = "SELECT * from Win32_Printer WHERE Name = '\\\\Server\\PrinterName'";
ManagementScope scope = new ManagementScope(ManagementPath.DefaultPath);
SelectQuery objQuery = new SelectQuery(query);
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, objQuery))
using (ManagementObjectCollection coll = searcher.Get())
{
foreach (ManagementObject printer in coll)
{
foreach (PropertyData property in printer.Properties)
{
result.Add(property.Name, property.Value);
}
}
}
Я получаю имя
\\\\ сервер \\ PrinterName '
от
System.Drawing.Printing.PrinterSettings.InstalledPrinters.
Если я изменю запрос на
"SELECT * from Win32_Printer WHERE Name LIKE '%PrinterName'"
это работает, но как я могу запросить полное имя?