服务器出现意外情况,急!

fairykengqiangmeigui 2009-12-30 04:18:38
请教各路大侠:
我的程序刚开始运行是没有问题的,可是当运行起来,大约一个多小时不给它响应(即不动那台电脑,也不给他鼠标响应)时,就会弹出对话框“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接口的问题?还是计算机设置的问题?请问如何解决!
...全文
838 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
guitao861011 2010-01-04
  • 打赏
  • 举报
回复

  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lonelyhacker 的回复:]
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
}

查一下你的sc是什么东东吧。是什么类型的,是指针还是什么东东。。在使用完之后把它delete掉看看。
[/Quote]
查过了,sc1=80010105,服务器出现意外情况
lonelyhacker 2009-12-31
  • 打赏
  • 举报
回复
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
}

查一下你的sc是什么东东吧。是什么类型的,是指针还是什么东东。。在使用完之后把它delete掉看看。
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 vann1982 的回复:]
内存泄漏?
[/Quote]
哎呀,那就更玄乎了,程序也不是我编的,我只是在维护,天呢,这可从何做起
vann1982 2009-12-31
  • 打赏
  • 举报
回复
内存泄漏?
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oyljerry 的回复:]
是不是计算机休眠等,引起程序不能正确执行
[/Quote]
我不懂啊,不过我觉得应该是程序的问题~
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ninetyfive 的回复:]
不太懂,按楼上说的,在电源管理中,将系统待机设置为从不,试试
[/Quote]
试过了,不行~
不动如岳 2009-12-30
  • 打赏
  • 举报
回复
不太懂,按楼上说的,在电源管理中,将系统待机设置为从不,试试
oyljerry 2009-12-30
  • 打赏
  • 举报
回复
是不是计算机休眠等,引起程序不能正确执行
  • 打赏
  • 举报
回复
怎么没人搭理我啊?再不顶就沉了!

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧