следующий 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
интерфейс и подсчет экземпляров вернул себя.