1

我使用 InternetReadFile 下载文件。

但是当下载大文件(超过 1GB)时,它会停止下载。

我发现 dwBytesRead 会意外变为零,但 InternetReadFile 返回 TRUE。

无论我将READ_BUFFER_SIZE设置为 4K 还是 16K。

以下是我的代码:

while(1) 
{

    memset(tszReadBuffer, 0, READ_BUFFER_SIZE); //clear the buffer
    bReadFile = InternetReadFile(hInternetOpenURL, tszReadBuffer, READ_BUFFER_SIZE, &dwBytesRead);
    if(!bReadFile)
        return 0;

    llNowSize += dwBytesRead;  //calculate progress
    if (dwBytesRead == 0)    
        break;  //finish download
    bWriteFile = WriteFile(hCreateFile, tszReadBuffer, dwBytesRead, &dwBytesWrite, NULL);               
    if(!bWriteFile)
        return 0;                       
}

提前致谢。

4

0 回答 0