Thursday, August 28, 2008

InternetReadFileEx

Возвращает неправильный размер буфера и данные в нем если память под буфер выделена на стэке и если вызовы InternetReadFileEx асинхронные причем между ними буфер освобождается. Исправляется тем что память выделяется на куче (heap) причем она может даже освобождатсья между вызовами и это как ни странно работает. Я в шоке :)

2 comments:

Alex said...

Предлагаю энтот вопрос поднять на следующем заседании G8: чё за ботва? люди в шоке:)

"When using the API InternetReadFileEx() to read asynchronously, you need to loop on this function while the bufferLength is not zero, and before each iteration, you need to adjust the lpvBuffer pointer and reset the bufferLength member of the ib structure, then add the received length to the pointer, and set the bufferLength to your remaining buffer size."

Vlad said...

Национализировать Майкрософт, что за херню он пишет ... :)