WinInet异步。
InternetReadFileExA(hRequest, &inetBuf, IRF_ASYNC, (DWORD_PTR)pHttp) 返回TRUE,但是inetBuf.dwBufferLength == 0,请问可能是什么原因?
不会没有数据的,因为我改成同步后—— hInternet = InternetOpen(HTTP_AGENT_NAME_DEF, INTERNET_OPEN_TYPE_PROXY, param.szProxy, NULL, 0) ,inetBuf.dwBufferLength就有值了,而且数据正常。
InternetReadFileExA(hRequest, &inetBuf, IRF_ASYNC, (DWORD_PTR)pHttp) 返回TRUE,但是inetBuf.dwBufferLength == 0,请问可能是什么原因?
不会没有数据的,因为我改成同步后—— hInternet = InternetOpen(HTTP_AGENT_NAME_DEF, INTERNET_OPEN_TYPE_PROXY, param.szProxy, NULL, 0) ,inetBuf.dwBufferLength就有值了,而且数据正常。
http://www.codeguru.com/forum/archive/index.php/t-112057.html倒数1楼建议把 InternetReadFileExA 写在回调函数里。但目前没见过这样写的,不希望以这种方式去回避这个问题。。
看看吧。这个函数只是要求获取数据,返回TRUE表示要求成功,但并不是在这个函数的参数中返回,你是需要定义回调函数的。