SAFEARRAY使用实例

本文详细介绍了SAFEARRAY的创建和访问方法,包括栈上和堆上创建一维、二维数组,以及如何使用CComSafeArray类。通过示例代码展示了各种创建和访问技巧,适合Windows开发人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录:

SAFEARRAY使用实例... 1

目录:... 1

前言:... 1

何谓SAFEARRAY:... 1

创建SAFEARRAY:2

方法一:使用SafeArrayAllocDescriptor在栈上创建一维数组... 2

方法二:使用SafeArrayAllocDescriptor和SafeArrayAllocData在堆上创建一维数组... 2

方法三:使用SafeArrayAllocDescriptor和SafeArrayAllocData在堆上创建二维数组... 3

方法四:使用SafeArrayCreate在堆上创建一维数组... 4

方法五:使用SafeArrayCreate在堆上创建二维数组... 5

方法六:使用SafeArrayCreateEx创建包含结构的一维数组... 5

访问SAFEARRAY:7

方法一:使用SafeArrayAccessData方法... 7

方法二:使用SafeArrayGetElement和SafeArrayPutElement7

CComSafeArray类介绍:... 8

基本的入门例子:8

注意事项:... 8

 

前言:

SAFEARRAY使用总是困扰很多人,为了把这个问题说个明白,我把我目前掌握的知识做个总结

 

何谓SAFEARRAY

SAFEARRAY实际上是一个结构,关于这部分可以参考MSDN。

ms-help://MS.MSDNQTR.2003FEB.2052/automat/htm/chap7_9ntx.htm

我们不需要关心16位操作系统下的定义,因为我们团队只在WIN2000以上平台下开发。

 

创建SAFEARRAY:

方法一:使用SafeArrayAllocDescriptor在栈上创建一维数组

     //创建SAFEARRAY数组,每个元素为long型,该数组是一维数组

     long nData[10]={1,2,3,4,5,6,7,8,9,10};

 

     SAFEARRAY* pArray=NULL;

     HRESULT hr=SafeArrayAllocDescriptor(1,&pArray);//创建SAFEARRAY结构的对象

     pArray->cbElements=sizeof(nData[0]);

     pArray->rgsabound[0].cElements=10;

     pArray->rgsabound[0].lLbo

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值