2014-06-17 6 views
0

다음 vbscript는 WMI 쿼리에서 반환하는 행 수를 제공합니다.C++의 WMI 쿼리 행 수 얻기

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPSignedDriver",,0) 
Wscript.Echo colItems.count 

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++에서

, 나는 위의 시도했지만 쿼리의 행 수를 얻는 방법을 잘 모릅니다. 누군가가 C++로 처리하는 방법을 제안 할 수 있습니까

답변

2

AFAIK 해당 속성이 WMI COM API에 없으므로 IEnumWbemClassObject 인터페이스를 사용해야하는 레코드 수를 얻고 자신을 반환 한 인스턴스를 계산하십시오.