Обсуждение вроде бы затихло 2 года назад.. Но оно мне очень помогло, поэтому хочу добавить..
.
.
.
FtpCommand(hConnect, 0, 0, TEXT("SIZE file.txt"), 0, 0);
InternetGetLastResponseInfo(&dw, RespBuf, &dwCount);
//RespBuf указывает на "213 15566784"
TCHAR *endresp(_tcsstr(RespBuf, TEXT("\r\n")));
FileSize = _tcstoi64(RespBuf+4, &endresp, 10);
HINTERNET hFile;
FtpCommand(hConnect, true, FTP_TRANSFER_TYPE_BINARY, TEXT("TYPE I\r\nPASV\r\nREST 100\r\nRETR\r\n"), 0, &hFile);
while(InternetReadFile(hFile, DataBuf, DataBufSize, &dwCountFF))
{
.
.
.