InternetSession初始化时的第五个参数有bug!!!快来看看!

weikeming 2002-02-01 11:36:04
在msdn和很多书都说CInternetSession( LPCTSTR pstrAgent = NULL, DWORD dwContext = 1, DWORD dwAccessType = INTERNET_OPEN_TYPE_PRECONFIG, LPCTSTR pstrProxyName = NULL, LPCTSTR pstrProxyBypass = NULL, DWORD dwFlags = 0 );
把dwFlags设为INTERNET_FLAG_ASYNC时,可以进行异步操作。
可是我调了之后出现了ASSERT断言。
跟进去一看,在mfc源码中有一句
ASSERT((dwFlags & INTERNET_FLAG_ASYNC) == 0);
根本不允许INTERNET_FLAG_ASYNC参数.

那位高手能说说怎么设为异步回调啊?
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxbyl 2002-02-02
  • 打赏
  • 举报
回复
仔细看MSDN:
INTERNET_FLAG_ASYNC Future operations on this object may fail with ERROR_IO_PENDING. A status callback will be made with INTERNET_STATUS_REQUEST_COMPLETE when the operation finishes. This callback is on a thread other than the one for the original request. You must call EnableStatusCallback to establish a status callback routine, or the functions will be completed synchronously.

----------------------------------------------------------------------------------------
程序员论坛白庄欢迎诸位程序员的光临指导:
http://www.baizhuang.net

weikeming 2002-02-02
  • 打赏
  • 举报
回复
会不会是sdk的版本问题?
kingzai 2002-02-02
  • 打赏
  • 举报
回复
哈哈,白菜整天为他的网站打广告,比王婆还辛苦呀
weikeming 2002-02-02
  • 打赏
  • 举报
回复
我先从CInternetSession生成一个类,在类中重载OnStatusCallback,
然后操作这个派生类.在dwFlags != INTERNET_FLAG_ASYNC时,一切正常,回调也正常。
当把它设为异步时,CInternetSession构造都不行。

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧