请教各路大侠:
我的程序刚开始运行是没有问题的,可是当运行起来,大约一个多小时不给它响应(即不动那台电脑,也不给他鼠标响应)时,就会弹出对话框“sc1=80010105,runscript d read failed”(这是我自动设的弹出对话框),查了查80010105的情况是“服务器出现意外情况”,相关代码如下:
CoInitialize(NULL); 
HRESULT hr=S_OK; 
    IGlobalInterfaceTable *piGIT=NULL; 
    hr = CoCreateInstance(CLSID_StdGlobalInterfaceTable, NULL, 
                                    CLSCTX_INPROC_SERVER, 
                                    IID_IGlobalInterfaceTable, (LPVOID*)&piGIT); 
if(hr!=0)
AfxMessageBox("GlobalInterfaceTable CoCreateInstance in Runscript d failed"); IDispatch *piDispatch=NULL;
    hr = piGIT->GetInterfaceFromGlobal(m_dwCookie, __uuidof(piDispatch),(void**)&piDispatch);
if(hr!=0)
AfxMessageBox("GlobalInterfaceFromGlobal in runscript d failed"); DISPID dispid;
OLECHAR* func=L"ReadRealData1";//调用的函数名
piDispatch->GetIDsOfNames(IID_NULL,&func,1,GetUserDefaultLCID(),&dispid); VARIANT var;
VARIANT var1;

EXCEPINFO excepInfo;
UINT errArg;

VariantInit(&var);
VariantInit(&var1);
DISPPARAMS DispParams;

DispParams.cArgs = 1;//表示参数的计数
DispParams.cNamedArgs = 0;//表示命名参数的计数
DispParams.rgdispidNamedArgs = NULL;//表示命名参数的调度 ID
VARIANTARG* pArg=new VARIANTARG[DispParams.cArgs];
DispParams.rgvarg=pArg;//表示对参数数组的引用
memset(pArg,0,sizeof(VARIANT)*DispParams.cArgs); DispParams.rgvarg[0].vt=VT_VARIANT|VT_BYREF;
DispParams.rgvarg[0].pvarVal=&var; var1.vt = VT_I4;             
SCODE sc;//SCODE 类型等效于 HRESULT
try
{
 sc=piDispatch->Invoke(dispid,IID_NULL,0,DISPATCH_METHOD,&DispParams,&var1,&excepInfo,&errArg);
CString strsc;
strsc.Format("sc1=%0x,runscript d read failed",sc);
 if(sc!=0)
AfxMessageBox(strsc);      //ysm 091229 change

请问各路大侠:出现这种问题的原因是什么?传递的参数不对吗?还是我的com接口的问题?还是计算机设置的问题?请问如何解决!