windows mobile下wininet的异步使用方法

windows mobile下wininet的异步使用方法

ID:24387302

大小:56.00 KB

页数:4页

时间:2018-11-14

windows mobile下wininet的异步使用方法_第1页
windows mobile下wininet的异步使用方法_第2页
windows mobile下wininet的异步使用方法_第3页
windows mobile下wininet的异步使用方法_第4页
资源描述:

《windows mobile下wininet的异步使用方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WindowsMobile下WinInet的异步使用方法  codeproject上有一篇老美写的关于HTTP异步的文章:KB/IP/asyncinateThread或CloseHandle函数来处理超时(这些函数在MSDN文档中有介绍),你将落入各种各样的陷阱中。  以下条件中异步测试成功:单处理器和多处理器的E,INTER_OPEN_TYPE_PRECONFIG,             NULL,NULL,INTER_FLAG_ASYNC);InterSetStatusCallback(m_Session,   (INTER_STATUS_CALLBACK)InterCa

2、llbackFunc);  34:使用InterOpenUrl打开连接,等待INTER_STATUS_REQUEST_PLETE通知  使用lParam发送一个任务表示到你的回调。我总是用this指针来传递我的class。这里假设你知道如何处理回调。InterOpenUrl(m_Session,uurl,NULL,0,   INTER_FLAG_RELOAD

3、INTER_FLAG_PRAGMA_NOCACHE

4、   INTER_FLAG_NO_CACHE_)this);  回调会收到一堆的消息。这是收到的dation;m_hHttpFile=(HINTER)(res->d

5、wResult);  [openUrl]InterStatus:10[openUrl]InterStatus:11[openUrl]InterStatus:20[openUrl]InterStatus:21[openUrl]InterStatus:30[openUrl]InterStatus:31[openUrl]InterStatus:40[openUrl]InterStatus:41[openUrl]InterStatus:100INTER_STATUS_REQUEST_PLETE  5:解析content-length,创建IN12下一页——感谢阅读这篇文章,..,TER

6、_BUFFERS结构  一旦你得到了句柄,调用HttpQueryInfo(使用HTTP_QUERY_CONTENT_LENGTH标记)得到接收数据的大小。如果HTTP头里没有content-length参数,函数会失败。  创建INTER_BUFFERS结构。  INTER_BUFFERSib={sizeof(INTER_BUFFERS)};  ib.lpvBuffer=你申请的缓冲  ib.dp;78:循环读取剩余数据  调用InterReadFileEx(使用IRF_ASYNC标记)异步读取剩余数据。不要使用InterReadFile,因为它是同步函数。  你必须循环调用I

7、nterReadFileEx,直到ib.d_hHttpFile,ib,IRF_ASYNC,(LPARAM)this);if(!bOkGetLastError()==ERROR_IO_PENDING) 等待...  p;ib.d_hHttpFile,ib,IRF_ASYNC,(LPARAM)this); if(!bOkGetLastError()==ERROR_IO_PENDING)  等待...}  你的回调函数会收到这些消息:[connect]InterStatus:40(receivingresponse)[connect]InterStatus:41(responsere

8、ceived)[connect]InterStatus:50[connect]InterStatus:51  还可能  [connect]InterStatus:100INTER_STATUS_REQUEST_PLETE  最后一个只有在GetLastError值为ERROR_IO_PENDING才会得到。如果你用d_httpFile);  关闭时,回调会收到这个消息:  [connect]InterStatus:70INTER_STATUS_HANDLE_CLOSING  大多数错误例子中,连接都会出乎意料的关闭。此时,你会收到70在100(INTER_STATUS_REQU

9、EST_PLETE)之后。  此情形在整个过程都可能会发生。  10:关闭m_Session句柄前  你应该卸载回调:  InterSetStatusCallback(m_Session,NULL);  以上将帮助那些使用WinI异步方式的人。(之后是老美希望大家购买他的代码,略过...)上一页12——感谢阅读这篇文章,..,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。