请问为什么每次我InternetFineNextFile以后都会产生ERROR_IO_PENDING错误?

idoloveyou 2004-10-10 10:08:53
代码很简单:
int main(int argc, char* argv[])
{
HINTERNET hintSession;
hintSession = InternetOpen("ABC", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC);

HINTERNET hintFtpSession = InternetConnect(hintSession, "127.0.0.1",
21, "abc", "abc", INTERNET_SERVICE_FTP,
0, 0);

WIN32_FIND_DATA wfd;
HINTERNET hintFind = FtpFindFirstFile(hintFtpSession,NULL, &wfd, 0, 0);
DWORD dwError;

while (1)
{
cout << wfd.cFileName << endl;

if (!InternetFindNextFile(hintFind, &wfd))
{
dwError = NO_ERROR;
dwError = GetLastError();
if (dwError == ERROR_NO_MORE_FILES)
{
cout << "Complete!";
break;
}
else
{
cout << "Error!Code:" << dwError << endl;
}
}

cin.get();
}

InternetCloseHandle(hintFind);
InternetCloseHandle(hintFtpSession);
InternetCloseHandle(hintSession);
return 0;
}
文件名可以正常显示,但是判断不到InternetFindNextFile的结束标志,也就是说它GetLastError产生不了ERROR_NO_MORE_FILES,总是产生ERROR_IO_PENDING
...全文
35 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
idoloveyou 2004-10-10
  • 打赏
  • 举报
回复
谢谢楼上的,我把INTERNET_FLAG_ASYNC去掉就好了
flyelf 2004-10-10
  • 打赏
  • 举报
回复
你用的是异步的方式,当然会出现这个错误了
可以采用同步的方式来实现搜索

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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