SAFEARRAY使用方法示例
2012-09-21 14:57
411 查看
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使用方法示例
- activeMQ配置,mq使用方法,activeMQ示例,activeMQDemo
- SUMPRODUCT函数使用方法及示例
- javascript创建数组之联合数组的使用方法示例
- 百度ping方法使用示例 自动ping百度
- Qt QSortFilterProxyModel示例代码, 使用方法
- Java使用PreparedStatement接口及ResultSet结果集的方法示例
- .Net中FckEditor的配置和使用方法(含示例源码)
- html5的自定义data-*属性和jquery的data()方法的使用示例-属性-data-方法
- Vue框架里使用Swiper的方法示例
- SAFEARRAY安全数组的使用方法
- QtSQL连接查询SQLite3的使用方法示例
- GetOpenFilename的使用方法和示例
- Spark的广播变量和累加器使用方法代码示例
- Java ThreadLocal示例及使用方法总结
- igraph基本使用方法示例
- Java使用正则表达式删除所有HTML标签的方法示例