SAFEARRAY使用方法示例
2006-06-10 18:41
811 查看
SAFEARRAY使用方法示例
SAFEARRAY不是很好用,一些函数不太直观,一不小心就着了它的道。上次学习编写Google桌面插件时就遇到了麻烦,本来应该是vsa.vt = VT_ARRAY | VT_BSTR,结果写成了vsa.vt = VT_ARRAY,让我查了好久才找到原因。这里整理一下,作为备忘。
l 创建
l 存入元素
l 获取元素
l 销毁
l 生成VARIANT变量
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); |
for(i = 0; i < 5; i++) { va.bstrVal = SysAllocString(L"test"); SafeArrayPutElement(psa, &i, &va); } |
for(i = 0; i < 5; i++) { va.bstrVal = SysAllocString(L"test"); SafeArrayGetElement(psa, &i, &va); SysFreeString(va.bstrVal); } |
SafeArrayDestroy(psa); |
VARIANT vsa = {0}; vsa.vt = VT_ARRAY | VT_BSTR; vsa.parray = psa; |
相关文章推荐
- SAFEARRAY使用方法示例
- SAFEARRAY使用方法示例
- SAFEARRAY使用方法示例
- SAFEARRAY使用方法示例
- SAFEARRAY安全数组的使用方法
- iOS App使用设计模式中的模板方法模式开发的示例
- ListView中pointToPosition()方法使用示例.
- SpringBoot手动使用EhCache的方法示例
- css的border和clear属性使用方法和示例
- C++中文件流(fstream)的使用方法及示例
- PHP 使用header函数设置HTTP头的示例方法 表头
- window.scrollBy()方法使用示例
- Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
- spring mvc view使用方法示例
- Net中FckEditor的配置和使用方法(含示例源码)
- 应用程序操作NorFlash示例代码分享(norflash接口使用方法)
- Python使用cx_Oracle调用Oracle存储过程的方法示例
- jquery必须知道的一些常用特效方法及使用示例(整理)
- C库函数qsort七种使用方法示例
- window.returnValue使用方法示例介绍