关于IDispatch的Invoke问题

chrong 2003-05-14 05:56:27
有如下程序,
STDMETHODIMP TMonitorImpl::SaveDoc(LPUNKNOWN doc)
{
//
HRESULT hresult;
IDispatch FAR* pdisp = (IDispatch FAR*)NULL;

DISPID dispid;
wchar_t *szMember = L"location";

VARIANT FAR* pVarResult;
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};

hresult = doc->QueryInterface(IID_IDispatch, (void FAR* FAR*)&pdisp);
if(hresult == S_OK){
sm("ok!!!");
}
hresult = pdisp->GetIDsOfNames(
IID_NULL,
&szMember,
1,
LOCALE_SYSTEM_DEFAULT,
&dispid);
if(hresult == S_OK){
sm("ok!!!");
}
//try{
hresult = pdisp->Invoke(
dispid,
IID_NULL,
LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET,
&dispparamsNoArgs,
pVarResult,
NULL,
NULL);
}
doc为vbscript传入的ie的页面文档
前两个函数都能正确执行并得到ok结果(sm即showmessage)
但是执行到Invoke的时候就会出现致命错误导致IE关闭
有哪位大虾对这个有研究吗?能否指教一下
...全文
54 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
Windows SDK/API
创建于2007-08-02

1206

社区成员

C++ Builder Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2003-05-14 05:56
社区公告
暂无公告