WMI-запрос не возвращает результата Переполнение стека

Я подключаюсь к Windows Server 2012 и 2008 R2 с Windows 7 машин.

Мой код работает на некоторых компьютерах, но на некоторых компьютерах при запуске запроса моего приложения всегда возвращается NULL.

Когда я выполняю метод Next для объекта IEnumWbemClassObject, он возвращает код ошибки x80041003.

Я пытаюсь запросить класс Win32_Process

Мой код:

 hres =  CoInitializeEx( 0, COINIT_MULTITHREADED  );
hres =  CoInitializeSecurity(
NULL,
-1,                          // COM authentication
NULL,                        // Authentication services
NULL,                        // Reserved
RPC_C_AUTHN_LEVEL_CONNECT,       // Default authentication
RPC_C_IMP_LEVEL_IMPERSONATE,     // Default Impersonation
NULL,                        // Authentication info
EOAC_NONE,                   // Additional capabilities
0                            // Reserved
);

hres = CoCreateInstance(
CLSID_WbemLocator,
0,
CLSCTX_INPROC_SERVER,
IID_IWbemLocator, (LPVOID *) &pLoc);

hres = pLoc->ConnectServer( ServerName,Username, Password, NULL, WBEM_FLAG_CONNECT_USE_MAX_WAIT, NULL, NULL,    &pSvc);COAUTHIDENTITY AuthId;
memset(&AuthId, 0, sizeof(COAUTHIDENTITY));
//Initialized AuthIdhres = CoSetProxyBlanket(
pSvc,                           // Indicates the proxy to set
RPC_C_AUTHN_WINNT,          // RPC_C_AUTHN_xxx
RPC_C_AUTHZ_DEFAULT,            // RPC_C_AUTHZ_xxx
NULL,                       // Server principal name
RPC_C_AUTHN_LEVEL_CALL,         // RPC_C_AUTHN_LEVEL_xxx
RPC_C_IMP_LEVEL_IMPERSONATE,    // RPC_C_IMP_LEVEL_xxx
&AuthId,                            // client identity
EOAC_NONE
);

Query.Format( _T( "SELECT * FROM Win32_Process WHERE Name like '%s.exe'" ), App.Name );

IEnumWbemClassObject* pEnumerator = NULL;

hr = App.Server.pSvc->ExecQuery(
L"WQL",
Query.AllocSysString(),
WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator
);

hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]