两种方法,一种是使用SAFEARRAY一种直接定义
象
[in] long cMax,[out,size_is(cMax)] BSTR * bstr
象
[in] long cMax,[out,size_is(cMax)] BSTR * bstr
解决方案 »
- 请教一个诡异的内存泄露问题
- 如何将第三方无法注册的DLL文件封装并注册
- Tree树形控件
- 怎么才能提高OnMouseMove 的响应时间和移动位置的精度呢?
- 如何让CButton和CEdit只显示一部分,就像被另一个窗口遮住了一块
- 请教高手:如何获得快捷方式(.lnk)的源文件路径
- 在VC6中,对链表的操作!编译没问题,但在运行的时候说“内存不能写”,谢谢,
- 怎样让ListBox中的字为自己定义的字体和颜色?
- 关于系统托盘里的popupMenu的问题
- 如何用VC6.0做一个LCD图生成程序?符合单片机格式。大侠你发言了!!
- 如何才能在VC中生成一个DLL供VB调用(除了写.Def文件)
- 一个关于Cursor的问题,在我自己做的一个SplitterButton中,当我按下LEFT BUTTON时,再移动MOUSE时,原来是左右箭头的鼠标又变成单箭头的了,该如何是好呢
{
SAFEARRAYBOUND pSab[1];
pSab[0].lLbound = 0;
pSab[0].cElements = count;SAFEARRAY *pSa;
pSa = SafeArrayCreate(VT_I4, 1, pSab);
if(pSa != NULL)
{
BSTR *pData;
SafeArrayAccessData(pSa, (void **)&pData);for(int i = 0; i < count; i++)
{
pData[i] = i;
}SafeArrayUnaccessData(pSa);pVal->vt = VT_ARRAY;
pVal->parray = pSa;
return S_OK;
}