c#
  • wmi
  • 2015-03-16 2 views 1 likes 
    1

    Какой правильный синтаксис для получения BcdObject с использованием ManagementObject? для отдельных параметров я использую:Как вызвать ManagementObject с несколькими параметрами?

    var obj = new ManagementObject(@"root\WMI", string.Format("BcdObject.Id = '{0}'"), null); 
    

    Но я не уверен, как добавить дополнительные параметры (это AND или ,, или что-то еще?), что-то вроде:

    var bcdObj = new ManagementObject(@"root\WMI", 
        string.Format("BcdObject.Id = '{0}' AND BcdObject.StoreFilePath = '{1}'", 
         "{current}", ""), 
        null); 
    
    +0

    Предполагается, что это «И». Разве это не работает? – bokibeg

    +0

    Нет, @bokibeg, но теперь, по крайней мере, я знаю, что это не по этой причине ... – Tar

    +1

    Попробуйте этот путь '' root \\ WMI: BcdObject.Id = \ "" + bcdId + "\", StoreFilePath = \ "\ « – bokibeg

    ответ

    1

    Это должно быть в пути:

    var bcdId = "{current}"; 
    var sfp = ""; 
    var obj = new ManagementObject(
        "root\\WMI:BcdObject.Id=\"" + bcdId + "\",StoreFilePath=\"" + sfp + "\""); 
    

    Обратите внимание, что даже если вы просто поместите пробел после запятой, это не сработает. Удачи!

    Вы можете передать строку фильтра в качестве второго параметра в конструкторе (например, в исходном коде), но применяются те же правила - нет пробелов.

    Смежные вопросы