分都用完拉!最后100,请问如何将unsigned char[]转成SAFEARRAY,以及如何将SAFEARRAY转回来?

pkzl888 2003-10-21 11:45:07
在idl中定义[in]SAFEARRAY(unsigned char) message,函数为STDMETHODIMP getdata(SAFEARRAY * message).要把message转成unsigned char 使用啊!拜托!!
...全文
54 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shudingbo 2003-10-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2363/2363317.xml?temp=.3947565
________
看代码
flyingjust 2003-10-21
  • 打赏
  • 举报
回复
unsigned char pMemData=your memory!
unsigned char* pData =NULL; SAFEARRAY *psa = SafeArrayCreateVector( VT_UI1, 0, llen );
SafeArrayAccessData( psa, (void**)&pData );
memcpy( pData, pMemData, llen );
SafeArrayUnaccessData(psa);
delete pMemData;// clean up buffer

Access
unsigned char* pBuffer=NULL;
SafeArrayAccessData( message, (void**)&pBuffer );
lLength = pSA->rgsabound->cElements; //大小
pBuffer 就是数据访问指针
.....
SafeArrayUnaccessData( pSA );

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧