昨夜到现在 8个小时 一直在解决这三句代码 到底哪儿错了

昨晚到现在 8个小时 一直在解决这三句代码 到底哪儿错了?
本帖最后由 VisualEleven 于 2013-10-23 15:22:29 编辑
CUpdateSession *pSession = new CUpdateSession();
CUpdateSearcher *pSearcher = new CupdateSearcher(pSession->CreateSearcher());
pSearcher->Search(_T("Type = 'SoftWare' and IsInstalled = 1"));


就这三句代码  编译不报错  运行到pSearcher->Search()的时候报错  读取位置****是发生访问冲突。
初学编程 知识有限 请高手赐教。
WUA API Search

------解决方案--------------------
CUpdateSearcher *pSearcher = new CupdateSearcher(pSession->CreateSearcher());
这句, pSearcher 是不是创建成功了, 有没有判断的方法?
感觉像是pSearcher无效

如果pSearcher没问题, 就要看下面这句的Search方法的实现了
pSearcher->Search(_T("Type = 'SoftWare' and IsInstalled = 1"));
------解决方案--------------------
引用:
用CreateDispat启动组件的时候 它的第一个参数lpszProgID是怎么得到的?


BOOL CreateDispatch(
   REFCLSID clsid,
   COleException* pError = NULL 
);
BOOL CreateDispatch(
   LPCTSTR lpszProgID,
   COleException* pError = NULL 
);


如果参数是字符串, 那就是你要使用的组件的ProgID.
如果参数是IID, 那么就要看是否有包含对应头文件.