0

我正在使用 wuapi 查找 Windows 更新。我遇到了这个问题:pJob->Release(); 在某些机器上坚持以下代码,但通常它工作正常。这种行为的原因可能是什么?

我试图将ISearchJob * 更改为CComPtr并删除pJob->Release(); ,但问题并没有消失。在这种情况下,程序卡在函数的末尾。

        ISearchResult* pWUResult = NULL;
        ISearchJob* pJob = NULL;
        VARIANT pVar = { 0 };
        ISCC completeCB;
        hr = pWUSearcher->BeginSearch( bstrCriteria, &completeCB, pVar, &pJob );

        if ( SUCCEEDED(hr) )
        {
            WaitForSingleObject( completeCB._Event, INFINITE );

            hr = pWUSearcher->EndSearch( pJob, &pWUResult );
            pJob->Release();
        }
4

1 回答 1

1

正如@JonathanPotter 在评论中建议的那样,使用 pJob->CleanUp() 而不是 pJob->Release() 解决了这个问题。

于 2020-11-19T09:47:21.310 回答