Урррааа!!

)))))
У меня получилось, надесюь нижеприведенный код кому-нидь поможет.
Во-первых, дочитываем ReadClient то что осталось
Во-вторых, при отсылке контролируем приход HTTP/1.1 200 OK, это нужно чтобы
убедиться что все стадии по приему (см.выше) файла были пройдены.
В-третьих, нельзя тестироваться на локальном веб-сервиса, IIS почему-то не шлет 200 ОК
от так от %)
//---- скопируем то, что уже есть
memcpy(buf,pECB->lpbData,pECB->cbAvailable);
blen=pECB->cbAvailable;
buf[blen]=0;
//---- если нужно дочитаем остаток файла
while(blen<pECB->cbTotalBytes)
{
rcnt=(pECB->cbTotalBytes)-blen;
//---- попытка чтения
if(pECB->ReadClient(pECB->ConnID,buf+blen,&rcnt)==FALSE)
{
ExtLogger.Out("'%s': crashlogs: failed to read datastream (err %d)",ip,GetLastError());
delete[] buf;
return;
}
//---- увеличим счетчик на реально считанное кол-во байт
blen+=rcnt;
buf[blen]=0;
}
//---- вот теперь проверим наличие баундера
if((cp=strstr((char*)buf,"\r\n---4385ufgbart---"))==NULL)
{
ExtLogger.Out("'%s': crashlogs: invalid bound",ip);
delete[] buf;
return;
}
*cp=0;