none
关于WMI的一个问题 RRS feed

  • 问题

  • IWbemServices *pSvc = NULL;
    IWbemLocator *pLoc = NULL;
    
    void disposeConnect(void* connect){
    
    	tWmiConnect *mconnect=(tWmiConnect*) connect;
    	if(mconnect)
    	{
    		if(mconnect->pSvc)
    			mconnect->pSvc->Release(); 
    		if(mconnect->pLoc)
    			mconnect->pLoc->Release();
    	}
    	
    	LeaveCriticalSection(&mut_wmi);
    }
    	
    
    我的程序大概是这样的:我的WMI采集程序是参照MS的例子写的,放在一个dll中,然后在我的工程中创建多线程去分别调用这个dll并行采集多台机器的信息。目前的问题是程序每次执行到mconnect->pSvc->Release(); (编译环境为vs2003)会在输出窗口中报出这样的异常“  collector.exe 中的 0x7c812a6b 处最可能的异常: 0x80070005: 拒绝访问。 。”,程序能正常运行也能正常采集,我不知道为什么会出现这个异常,而且我的程序内存有泄漏 不知道是不是这个问题造成的 
    2010年12月27日 8:37

答案

全部回复