<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Синтаксис полусинхронного запроса]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9959&amp;type=atom" />
	<updated>2014-09-09T07:47:10Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9959</id>
		<entry>
			<title type="html"><![CDATA[JS: Синтаксис полусинхронного запроса]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86368#p86368" />
			<content type="html"><![CDATA[<p>Часто встречаю в примерах полусинхронные WQL-запросы, которые должны по идее быстрее работать. Не могу правильно написать такой запрос. </p><div class="codebox"><pre><code>function ExQuery(strComp, strName, strClass)                    
   {
   var SWbemSevices = GetObject(&quot;winmgmts:\\\\&quot; + strComp + &quot;\\&quot; + strName);    
   var wbemFlagReturnImmediately = 0x10;            // флаг полусинхронного запроса (десятичное значение 16)
   var wbemFlagForwardOnly = 0x20;                 // флаг полусинхронного запроса (десятичное значение 32)

    try
        {
        var SWbemObjectSet = SWbemSevices.ExecQuery(&quot;SELECT * FROM &quot; + strClass , &quot;WQL&quot;, wbemFlagReturnImmediately|wbemFlagForwardOnly);        // не работает???
        var coll = new Enumerator(SWbemObjectSet), lst = &quot;&quot;;
        for(; !coll.atEnd(); coll.moveNext())
            {
            lst += coll.item().name + &quot;\n&quot;;                        }                        
                 ret = &quot;Количество экземпляров класса: \&quot;&quot; + strClass + &quot;\&quot; = &quot; + SWbemObjectSet.count + 
              &quot;\nСписок экземпляров:\n\n&quot; + lst;
                }
                }
    catch(err)
        {
        ret = &quot;Ошибка: &quot; + err.message;
        }
    return WScript.Echo(ret);
    }
ExQuery(&quot;.&quot;, &quot;root/cimv2&quot;, &quot;win32_process&quot;);            // результат</code></pre></div><p>Если написать<br /></p><div class="codebox"><pre><code>var SWbemObjectSet = SWbemSevices.ExecQuery(&quot;SELECT * FROM &quot; + strClass);</code></pre></div><p>то всё работает.</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2014-09-09T07:47:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86368#p86368</id>
		</entry>
</feed>
