我在wininet.dll中崩溃了。
尝试读取HTTP_REQUEST_HANDLE_OBJECT::ReleaseConnection
中的零内存位置时崩溃
这是实际DLL中的错误,不是由使用不当引起的吗?
上下文是我正在尝试下载文件。我在打电话
InternetReadFile(hFile,lpBuffer,dwNumberOfBytesToRead,lpdwNumberOfBytesRead);
hFile HINTERNET句柄似乎很好(值是0x00cc0024,这似乎合法)dwNumberOfBytesToRead是20000。
我的缓冲区大小为131000,也可以。
关键是我的代码在99.9999%的时间内都能正常工作!
最佳答案
检查lpdwNumberOfBytesRead
的使用。应该是
DWORD *lpdwNumberOfBytesRead = &someDWORDsomewhere;
InternetReadFile (..., lpdwNumberOfBytesRead);
要么
DWORD NumBytes
InternetReadFile (..., &NumBytes);
我有一种感觉,您在第一种方法中未将指针变量设置为有效。
关于c++ - Wininet.dll中看似随机崩溃的原因?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3471321/