gpt4 book ai didi

c++ - IDISPATCH::Invoke 调用方法失败,错误 0x80020005 类型不匹配

转载 作者:行者123 更新时间:2023-11-28 08:22:05 27 4
gpt4 key购买 nike

我正在尝试调用一个采用 2 个字符串的方法,这里是代码

VARIANT vArgs[2];
VariantInit(&vArgs[0]);
VariantInit(&vArgs[1]);
//VariantInit(&vArgs[2]);

//vArgs[2].pdispVal = pDisptEntries;
vArgs[1].bstrVal = bstrSrc;
vArgs[0].bstrVal = bstrtrgt;

vArgs[0].vt = VT_BSTR;
vArgs[1].vt = VT_BSTR;
//vArgs[2].vt = VT_DISPATCH;

dpEntry.rgvarg = vArgs;
dpEntry.cArgs = 2;
dpEntry.cNamedArgs = 0;
//dpEntry.rgdispidNamedArgs = new DISPID[2];
//dpEntry.rgdispidNamedArgs[0] = 0;
//dpEntry.rgdispidNamedArgs[1] = 1;

UINT index = -1;
EXCEPINFO ex;

hr = pDisptEntries->Invoke(dispid_Add, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD,
&dpEntry, NULL, &ex, &index);

最佳答案

错误代码明确地告诉您该函数实际上不接受两个字符串类型的参数。弄错 dispid 也是可能的,它会调用错误的函数。注意返回值,不确定当你传递 NULL 但函数返回值时会发生什么。

关于c++ - IDISPATCH::Invoke 调用方法失败,错误 0x80020005 类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5461126/

27 4 0
文章推荐: c++ - Unresolved 错误
文章推荐: c++ - 内存泄漏练习使用
文章推荐: c++ - Solaris 共享库和全局变量
文章推荐: javascript - 我想知道我的指令模板中
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com