Windows XP sp3 利用WUA 离线扫描wsusscn2.cab,CPU100%,而且扫描时间需要7个小时。
Windows XP sp3 利用WUA 离线扫描wsusscn2.cab,CPU100%,并且扫描时间需要7个小时。。。
Windows XP sp3 利用WUA 离线扫描wsusscn2.cab,CPU100%,并且扫描时间需要7个小时。。。
在微软技术网站http://support.microsoft.com/kb/927891
下载927891更新,但是XP sp3 已经涵盖次更新。
安装了WUA 3.0后,依然如此。。
主要在Search函数时,系统陷入cpu100,无响应状态。
大家有过此问题经历么,不吝赐教,谢谢。
代码如下:
Windows XP sp3 利用WUA 离线扫描wsusscn2.cab,CPU100%,并且扫描时间需要7个小时。。。
在微软技术网站http://support.microsoft.com/kb/927891
下载927891更新,但是XP sp3 已经涵盖次更新。
安装了WUA 3.0后,依然如此。。
主要在Search函数时,系统陷入cpu100,无响应状态。
大家有过此问题经历么,不吝赐教,谢谢。
代码如下:
IUpdateSession* UpdateSession = NULL;
IUpdateServiceManager* UpdateServiceManager = NULL;
IUpdateService* UpdateService = NULL;
IUpdateSearcher* UpdateSearcher = NULL;
ISearchResult* SearchResult = NULL;
IUpdateCollection* UpdateCollection = NULL;
BSTR bstrServiceID = NULL;
ServerSelection ss = { ssOthers } ;
BOOL bReturn = TRUE;
HRESULT lResult = S_OK;
lResult = CoCreateInstance (CLSID_UpdateSession, NULL, CLSCTX_INPROC_SERVER, IID_IUpdateSession, (LPVOID*)&UpdateSession);
if ((UpdateSession == NULL) || FAILED(lResult))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = CoCreateInstance (CLSID_UpdateServiceManager, NULL, CLSCTX_INPROC_SERVER, IID_IUpdateServiceManager, (LPVOID*)&UpdateServiceManager);
if ((UpdateServiceManager == NULL) || FAILED(lResult))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = UpdateServiceManager->AddScanPackageService (bstrSerName, bstrCabPath, 0, &UpdateService);
if ((UpdateService == NULL) || (FAILED(lResult)))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = UpdateSession->CreateUpdateSearcher (&UpdateSearcher);
if (FAILED (lResult) || (UpdateSearcher == NULL))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = UpdateSearcher->put_ServerSelection (ss);
if (FAILED (lResult))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = UpdateService->get_ServiceID (&bstrServiceID);
if ((FAILED (lResult)) || (bstrServiceID == NULL))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
lResult = UpdateSearcher->put_ServiceID (bstrServiceID);
if ((FAILED (lResult)) || (bstrServiceID == NULL))
{
DbgPrint ("LX,%d", ScanCpp);
bReturn = FALSE;
goto ReleaseHere;
}
// 调用下面函数时,在xp系统上瞬间CPU 100%,而且几个小时不返回。。。
lResult = UpdateSearcher->Search (
bInstalled ? (_bstr_t("Type = 'Software' and IsInstalled = 1")) : (_bstr_t("Type = 'Software' and IsInstalled = 0")),