следующий vbscript дает количество строк, возвращаемых запросом WMI.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPSignedDriver",,0)
Wscript.Echo colItems.count
То же самое, чего мне нужно достичь в C++.
В C++ передача запроса с использованием метода IWbemServices-> ExecQuery
....
//initializing and connecting WMI
....
hr = services->ExecQuery(bstr_t("WQL"), bstr_t(strClass), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &results);
Я попробовал выше, но не знаю, как получить количество строк запроса. Может кто-нибудь, пожалуйста, предложите, как это сделать в C++
AFAIK это свойство отсутствует в WMI COM API, чтобы получить количество записей, которые вы должны использовать интерфейс IEnumWbemClassObject
и IEnumWbemClassObject
что экземпляры вернули вас.