Здравствуйте formatc, вы писали:
F>BOOL Get(URLPARAM *Param,LPSTR & Head,LPSTR & Body), где URLPARAM — структура содержащаю урл, прокси, и прочие флаги соединения, а Head и Body используются только для возврата значений.
F>Теперь суть проблемы: В вызовах функций wininet НЕ устанавливается флаг асинхронной работы.
F>Но после вызова Get из приложения, начинает обрабатываться буфер Body, что и вызывает исключение.
F>НО если после вызова Get стоит MessageBox — все проходит на ура и программа работает...
Сдаётся мне, что синхронизация здесь никаким боком. Интересно посмотреть на код вызывающей функции и в особенности на последующую обработку буфера. А сам прототип я бы паписал так:
BOOL Get(URLPARAM& Param,LPSTR Head,LPSTR *Body)
или
LPSTR Get(URLPARAM& Param,LPSTR Head)