结构或大内存块打包的办法(上2)
来源:互联网 发布:ubuntu qq拼音输入法 编辑:程序博客网 时间:2024/05/23 17:08
The information in this article applies to: |
- Microsoft Visual C++ 6.0,SP5 |
结构或大内存块打包的办法(上)
Revision History:
对本文档所有修改都应按修改时间顺序记录在此。
Version | Date | Creator | Description |
1.0.0.1 | 2004-2-23 | 郑昀 | 草稿 |
Implementation Scope:
继续阅读之前,我们假设您熟悉以下知识:
n SAFEARRAY
n ISTREAM
n Microsoft MSMQ
目录:
1:概述
2:借用SAFEARRAY打包把结构写入MSMQ队列
3:借用IStream流打包传递数据到MSMQ队列
下面给出读取MSMQ消息时解析的步骤(VC++代码):
//////////////////////////////////////////////////////////// //Added Headers: //////////////////////////////////////////////////////////// #include #include /////////////////////////////////////////////////////////// //Added for MSMQ: /////////////////////////////////////////////////////////// #import "mqoa.dll" no_namespace, named_guids typedef struct _DATA { int _n; char _str; }_DATA; //main: { .. .. .. .. hr = pisQI->raw_Open(MQ_PEEK_ACCESS,MQ_DENY_NONE,&pisQueue); IMSMQMessagePtr piMessage; // 获取MSMQ队列中的一个消息: piMessage = pisQueue->PeekCurrent(); _DATA *msg = new _DATA(); // 解析函数: ChangeVariant2Struct(CComVariant(piMessage->Body), msg); .. .. } // ChangeVariant2Struct函数的定义: // 第一个参数: // 类型:CComVariant // 作用:源 // 第二个参数: // 类型:_DATA* // 作用:接收者 HRESULT ChangeVariant2Struct (CComVariant &var, _DATA *DP) { SAFEARRAY* psa; BYTE HUGEP *lpb; psa = var.parray; SafeArrayAccessData(psa, (void HUGEP **)&lpb); CopyMemory((LPVOID)DP, (LPVOID)lpb, 8); SafeArrayUnaccessData(psa); return S_OK; } |
Writen by zhengyun.NoJunk(at)tomosoft.dot.com
Disclaimers:
Programmer’s Blog List: |
[MVPLeader]Grace Zhang |
本文档仅供参考。本文档所包含的信息代表了在发布之日,zhengyun对所讨论问题的当前看法,zhengyun不保证所给信息在发布之日以后的准确性。
用户应清楚本文档的准确性及其使用可能带来的全部风险。可以复制和传播本文档,但须遵守以下条款:
- 复制时不得修改原文,复制内容须包含所有页 ;
- 所有副本均须含有 zhengyun的版权声明以及所提供的其它声明 ;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12750
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(上2)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(下)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(下)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(下)
- 结构或大内存块打包的办法(中)
- 结构或大内存块打包的办法(上1.1)
- 结构或大内存块打包的办法(上1.2)
- 结构或大内存块打包的办法(上1.1)
- ServerXMLHTTP对象的危险特性
- 结构或大内存块打包的办法(上2)
- Outlook Add-in(COM加载项)技术指南(一)
- [Java] 利用Axis库调用C#的Web Service
- SQL Server BUG集之"自定义函数与group by"
- 结构或大内存块打包的办法(上2)
- 职场笔记[070928]: 这座墙是帮我们阻挡其它人的
- Outlook Add-in(COM加载项)技术指南(四)
- [VBS]转换二进制数据为字符串常用办法
- 用SQL语句来建立跟踪的问题
- 几天猎头生活的感想[3][ZT]
- Outlook Add-in(COM加载项)技术指南(三)
- 一些开源协议的说明, GPL BSD等等
- 查询重复记录