SAFEARRAY使用方法示例

原创 2006年06月10日 18:41:00

SAFEARRAY使用方法示例

 

SAFEARRAY不是很好用,一些函数不太直观,一不小心就着了它的道。上次学习编写Google桌面插件时就遇到了麻烦,本来应该是vsa.vt = VT_ARRAY | VT_BSTR,结果写成了vsa.vt = VT_ARRAY,让我查了好久才找到原因。这里整理一下,作为备忘。

 

l         创建

                            long i = 0;

                            VARIANT va = {0};

                            va.vt = VT_BSTR;

                           

                            SAFEARRAYBOUND bounds[1] = {0};

                            bounds[0].cElements = 5;

                            SAFEARRAY* psa = SafeArrayCreate(VT_VARIANT, 1, bounds);

 

l         存入元素

                            for(i = 0; i < 5; i++)

                            {

                                     va.bstrVal = SysAllocString(L"test");

                                     SafeArrayPutElement(psa, &i, &va);

                            }

 

l         获取元素

                            for(i = 0; i < 5; i++)

                            {

                                     va.bstrVal = SysAllocString(L"test");

                                     SafeArrayGetElement(psa, &i, &va);

                                     SysFreeString(va.bstrVal);

                            }

 

l         销毁

                            SafeArrayDestroy(psa);

 

l         生成VARIANT变量

                            VARIANT vsa = {0};

                            vsa.vt = VT_ARRAY | VT_BSTR;

                            vsa.parray = psa;

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

safeArray的使用方法

方法一:使用SafeArrayAllocDescriptor在栈上创建一维数组  //创建SAFEARRAY数组,每个元素为long型,该数组是一维数组long nData[10]={1,2,3,4,...
  • leo_888
  • leo_888
  • 2011年03月08日 09:32
  • 1457

SAFEARRAY安全数组的使用方法

#include using std::cout; using std::endl; using std::cerr; #include int _tmain(int argc, _TCHAR* ...

SafeArray使用方法和函数解析

SafeArray处理函数      COM提供了一套API用于处理SafeArray。为了保证程序和SafeArray结构无关,程序中建立、读取、更改和释放SafeArray都应该通过这些API进...
  • RitMan
  • RitMan
  • 2016年06月10日 01:10
  • 1922

TinyXML2使用方法及示例

TinyXML2使用方法及示例TinyXML2使用方法及示例 概述 说明 使用方法 下载链接 示例 创建XML文件 增 删 改 查概述 TinyXML2是简单实用的开源的C++XML文件解析库,可以很...

C库函数qsort七种使用方法示例

  • 2014年04月10日 13:02
  • 47KB
  • 下载

控件及使用方法及程序示例

  • 2013年06月11日 22:21
  • 10.85MB
  • 下载

C库函数qsort七种使用方法示例(转自别处,仅为收藏) sort排序

七种qsort排序方法 一、对int类型数组排序 C++代码 int num[100]; Sample: int cmp ( const void *a , const void *b ) { ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SAFEARRAY使用方法示例
举报原因:
原因补充:

(最多只允许输入30个字)