在VC里用ATL写了一个DCOM组件:其接口方法如下:
interface Ilocate:Iunkown
{
HRESULT Locate([in] LPOLESTR pszItemName,[in] REFIID riidResult,[out,iid_is(riidResult)]void** ppvResult);
};
返回一个接口指针。
请问在VB里怎样调用该方法??
interface Ilocate:Iunkown
{
HRESULT Locate([in] LPOLESTR pszItemName,[in] REFIID riidResult,[out,iid_is(riidResult)]void** ppvResult);
};
返回一个接口指针。
请问在VB里怎样调用该方法??
解决方案 »
- 如何给CEdit类对象赋值?
- 火车售票问题 为什么输出会有2张一样的票
- 线程与CoInitialize的一点小疑问
- 谁现在做SP移动的运营,我听说直接用短信平台发短信给用户不可以,是真的吗?
- 服务器压力问题,急!!!
- 请教,为什么在我的VC++对话框程序中连接不上本地数据库?!!急急!
- CStatic 怎么获得其矩形的正确坐标(新手)
- 1.我想使用CoInitializeEx(),初始化com却提示,该函数没有定义,请问是少了什么头文件或别的?
- 如何实现打印功能?
- 为什么用VC时有时会导致诺顿杀毒navapsvc.exe非常忙?
- 各位大侠谁能给我解决一下有关数据库的问题
- 请教高手,在atl的dialog中如何添加控件?又如何控制呢?
你要返回指针!eg:
dim result as Variant
XXX.Locate name,riidResult,result
就可以了!不要担心!在vb里面你的void**会变成byRef
所以OLESTR,REFIID都不行
一个例子:
[id(5), helpstring("method Query")] HRESULT Query([in]enum BANKNUM nBank,[in]BSTR accName,[in]BSTR strPwd,[out,retval]LONG* nBalance);调用的时候:
Dim nBalance As Long
nBalance = objOperator.Query(nBank, queaccName, quePwd)如果是想传对象指针,得用LPDISPATCH数据类型,或是用VARIANT封装