用户自定义结构数据与VARIANT转换
来源:互联网 发布:监控画面无网络视频 编辑:程序博客网 时间:2024/06/06 07:45
用户自定义结构数据与VARIANT转换
cheungmine
将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这样的结构数据写一个COM包装类。虽然有很多方法和手段生成这样的VARIANT,但是,多数时候可能需要一个更加简单的,灵活的方法。我在做远程过程调用的C接口时,忽然联想到,既然RPC可以把任何数据以字节的形式发送,那么,就可以利用这个机制,把结构打包成字节数组。而字节数据是可以很方便地存储在VARIANT中。
这个过程是广为人知的,但是,真正把结构列集成字节数组,如果不想使用某些标称的序列化的方法,而全部自己写,的确要费一番功夫。不是
技术有多难,是很繁琐。我把前2年写的代码翻出来,简单调用一下,就有了这篇文章。采用我的方法,C/C++程序员可以把自己定义的结构放到VARIANT、CComVariant、COleVariant等各种VARIANT中,也可以反向转换。而VARIANT是可以很方便地在COM接口中传递。这样,就多了一种在自动化COM接口中传递自定义结构的手段。
不多说废话,全部内容见下面的代码,我还会上传整个工程。
struct2variant.cpp 如下:
其中:rpcapi.h可以参考如下:
rpcapi.c如下:
整个工程的代码随后上传:
http://download.csdn.net/source/2445024
- 用户自定义结构数据与VARIANT转换
- 用户自定义结构数据与VARIANT转换
- VARIANT与CString相互转换
- VARIANT 结构
- variant结构
- VARIANT、_variant_t 与 COleVariant 相互转换
- (转)VARIANT与CString相互转换
- VARIANT 与char *的相互转换
- Delphi中Tobject与Variant之间的转换
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- 用户自定义类型转换
- VARIANT转换为LPCTSTR
- VARIANT 转换成 CString
- VARIANT型变量转换
- CString 转换成 VARIANT
- 重载操作符operator()与用户自定义类型转换
- 日志文件
- sqlserver 2005 express SQLServer2005_SSMSEE 安装出错,提示29506
- 采访 Lua 发明人的一篇文章
- 如何关闭输入框的自动完成功能
- 学习STL map, STL set之数据结构基础
- 用户自定义结构数据与VARIANT转换
- PHP变量使用总结
- (zz) _T
- Android 上,用普通的 am-linux-gcc 编译 C 程序。
- Cygwin&Vim 搭建Mainframe IDE [14] - Colorzone配色主题1.0发布
- smtp发送邮件失败-邮件标头找到无效字符
- JDBC连接各种数据库方法
- vs2005绑定句柄失败
- 清除log