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上,当它达到这个时,它崩溃并给出不发送。

有什么建议吗

好了,伙计们,我想我明白了。这是因为我没有在最后添加"返回0;"!!!!!

在windows xp和windows 7上运行正常,但如果在windows 8上运行就会崩溃。

这很奇怪,我不知道为什么,但无论如何问题解决了xD

最新更新