Тема: JS: Синтаксис полусинхронного запроса
Часто встречаю в примерах полусинхронные WQL-запросы, которые должны по идее быстрее работать. Не могу правильно написать такой запрос.
function ExQuery(strComp, strName, strClass)
{
var SWbemSevices = GetObject("winmgmts:\\\\" + strComp + "\\" + strName);
var wbemFlagReturnImmediately = 0x10; // флаг полусинхронного запроса (десятичное значение 16)
var wbemFlagForwardOnly = 0x20; // флаг полусинхронного запроса (десятичное значение 32)
try
{
var SWbemObjectSet = SWbemSevices.ExecQuery("SELECT * FROM " + strClass , "WQL", wbemFlagReturnImmediately|wbemFlagForwardOnly); // не работает???
var coll = new Enumerator(SWbemObjectSet), lst = "";
for(; !coll.atEnd(); coll.moveNext())
{
lst += coll.item().name + "\n"; }
ret = "Количество экземпляров класса: \"" + strClass + "\" = " + SWbemObjectSet.count +
"\nСписок экземпляров:\n\n" + lst;
}
}
catch(err)
{
ret = "Ошибка: " + err.message;
}
return WScript.Echo(ret);
}
ExQuery(".", "root/cimv2", "win32_process"); // результатЕсли написать
var SWbemObjectSet = SWbemSevices.ExecQuery("SELECT * FROM " + strClass);то всё работает.

