请教SafeArrayGetElement的用法:
在VC调用外部COM组件时,如何从COM组件中取出数据?主要是函数SafeArrayGetElement怎么用?请大侠帮帮忙吧!!小弟谢谢了!!麻烦写的详细点
在VC调用外部COM组件时,如何从COM组件中取出数据?主要是函数SafeArrayGetElement怎么用?请大侠帮帮忙吧!!小弟谢谢了!!麻烦写的详细点
解决方案 »
- VS2005 C++ 中如何操作excel
- 我想设置CMenu子项中的某个Item的可见性,貌似只能变灰啊,不能设置不可见啊
- error C2061: syntax error : identifier 'LPVOID'<--错误如何解决?
- 如何办理准生证?
- 我看老侯的<<win32多线程>>第13章的“共享内存”的例子,为什么主程序中在写"共享内存"时没问题,但在1个线程中写就错误了,为什么?
- ***新手请教***简单问题***关于函数调用
- 关于new指针的一个问题
- Windows下多线程读写一个数据库,需要注意那些问题?
- 视图 帮助文件 pDC->TextOut()
- vc中有几种办法可以定义一个动态的,字符型的,二维的数组,如array[i,4]
- edit中的光标问题
- 在vc中怎样在activex中实现一个公共接口,使页面可以调用该方法
STDMETHODIMP CEnumPoint::Next(
ULONG celt,
VARIANT FAR rgvar[],
ULONG * pceltFetched)
{
unsigned int i;
long ix;
HRESULT hresult; for(i = 0; i < celt; ++i)
VariantInit(&rgvar[i]); for(i = 0; i < celt; ++i){
if(m_iCurrent == m_celts){
hresult = ReportResult(0, S_FALSE, 0, 0);
goto LDone;
} ix = m_iCurrent++;
hresult = SafeArrayGetElement(m_psa, &ix, &rgvar[i]);
if(FAILED(hresult))
goto LError0;
}
hresult = NOERROR;LDone:;
*pceltFetched = i;
return hresult;LError0:;
for(i = 0; i < celt; ++i)
VariantClear(&rgvar[i]);
return hresult;
}