wininet.dll の奥深くでクラッシュします。でゼロメモリ位置を読み取ろうとしてクラッシュしましたHTTP_REQUEST_HANDLE_OBJECT::ReleaseConnection
これは実際の DLL のバグであり、不適切な使用によるものではありませんか?
wininet!HTTP_REQUEST_HANDLE_OBJECT::ReleaseConnection+0x60
wininet!HTTP_REQUEST_HANDLE_OBJECT::CloseConnection+0x84
wininet!HTTP_REQUEST_HANDLE_OBJECT::ReadData_Fsm+0x5e8
wininet!CFsm_ReadData::RunSM+0x2e
wininet!CFsm::Run+0x39
wininet!DoFsm+0x25
wininet!HTTP_REQUEST_HANDLE_OBJECT:: ReadData+0x38
wininet!HTTP_REQUEST_HANDLE_OBJECT::HttpReadData_Fsm+0x43
wininet!CFsm_HttpReadData::RunSM+0x2e
wininet!CFsm::Run+0x39
wininet!DoFsm+0x25
wininet!HttpReadData+0x67
wininet!ReadFile_Fsm+0x2d
wininet!CFsm_ReadFile+0x2RunbSM
wininet!CFsm::Run+0x39
wininet!DoFsm+0x25
wininet!InternetReadFile+0x3ca
コンテキストは、ファイルをダウンロードしようとしています。呼んでいます
InternetReadFile (hFile、lpBuffer、dwNumberOfBytesToRead、lpdwNumberOfBytesRead);
hFile HINTERNET ハンドルは問題ないようです (値は 0x00cc0024 であり、正当なようです)。dwNumberOfBytesToRead は 20000 です。
私のバッファ サイズは 131000 ですが、これも問題ありません。
問題は、私のコードが 99.9999% の確率で動作することです!