WMI win32_physicalmedia код сбой в Windows 8.1

Здравствуйте, я использую Visual C++ 2010.

Я пытаюсь извлечь информацию об оборудовании с помощью wmi, и все работает нормально, но когда я тестировал приложение в Windows 8.1, приложение вылетает, и оно оказалось из кода win32_physicalmedia.

Вот код:

pSvc->ExecQuery(
    bstr_t("WQL"), 
    bstr_t("SELECT SerialNumber FROM Win32_PhysicalMedia"),
    WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    NULL,
    &pEnumerator);

 IWbemClassObject *pclsObjjj;
ULONG uReturnnn = 0;

while (pEnumerator)
{
    HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 
        &pclsObjjj, &uReturnnn);

    if(0 == uReturnnn)
    {
        break;
    }

    VARIANT vtProp;

Он отлично работает на Windows XP и 7, но на Windows 8.1, когда он достигает, чтобы получить этот, он падает и дает не отправлять.

Любой совет?

1 ответ

Решение

Ладно, ребята, я думаю, я понял. Это потому, что я не добавил "return 0;" в конце!!!!!

На Windows XP и 7 он работает нормально, но если он работает на Windows 8, он падает.

Это странно, я не знаю почему, но проблема все равно решена xD

Другие вопросы по тегам