GetLastError() = 8 如何处理 20

我在写一个通过HTTP断点续传程序我的程序流程如下我首先m_fileSession=InternetOpen("Mydownload",INTERNET_OPEN_TYP... 我在写一个通过HTTP断点续传程序
我的程序流程如下
我首先
m_fileSession = InternetOpen("My download",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);

然后
m_httpConnect = InternetConnect(m_fileSession, m_ComName, INTERNET_DEFAULT_HTTP_PORT,NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
备注:m_ComName = “192.168.0.138”

第三步
m_httpRequest = HttpOpenRequest(m_httpConnect, "GET", m_StationName, HTTP_VERSION, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
备注:m_StationName = "/aa/123/a.exe"

第四步
BOOL bSendRequest = HttpSendRequest(m_httpRequest, NULL, 0, 0, 0);

第五步
HttpAddRequestHeaders(m_httpRequest, csReq.Val(), csReq.GetLength(), HTTP_ADDREQ_FLAG_ADD)

第六步
InternetReadFile(m_fileHandle,buf,size,&read);

然后 5 6步循环

结果 我前41次读取正常 可以接收数据
但是 到42次的时候
HttpAddRequestHeaders失败 GetLastError()== 8
不知道 高手怎么解决~~!!!!!!
好像不是内存泄露的问题 我觉得 好像是 HTTP有一个缓存 这个缓存需要定时清空
展开
 我来答
夺魂狼剑
2010-04-26 · TA获得超过1273个赞
知道小有建树答主
回答量:796
采纳率:0%
帮助的人:800万
展开全部
Visual Studio中有个Error Lookup小工具,非常方便。
其中,对错误代码为8的解释如下:
Not enough storage is available to process this command.
也就是没有足够的可用存储空间。

凭我的感觉貌似是进程堆栈的空间不足。再检查一下内存泄漏。
q2086529
2014-10-28
知道答主
回答量:2
采纳率:0%
帮助的人:2239
展开全部
你好,我也遇见这个问题,
hDibBitmap=CreateDIBSection(hMemDC,&bitmapInfo,DIB_RGB_COLORS,(void **)&m_lpBitBmp,
NULL,0);
这句话中我调用三次没问题,第四次用getlasterror()就返回8,请问你这个问题解决了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式