'WinINet'에 해당되는 글 1건
- 2011.06.28 problem of InternetReadFile
2011. 6. 28. 15:04
problem of InternetReadFile
2011. 6. 28. 15:04 in text/network
WinInet 을 사용하는 program 이 문제가 되는 경우가 발생을 하였다.
원인을 파악해 보니
InternetReadlFile(...)
if( GetLastError() == ERROR_IO_PENDING )
...
대략 이런 구조의 코드 였는데 IO PENDING 발생하고 나서 InternetReadFile 의 인자로 되어 있는 buffer와 변수에 Pending 이 완료가 되어도 값이 설정이 안 되는 문제였다.
구현 자체의 문제(Pending 시 처리)로 판단하고 search 를 하였으나 별다른 단서는 찾지 못하고 async 인 경우 InternetReadFile 대신에 InternetReadFileEx 로 변경을 하라는 글들은 찾을 수 있었다.
InternetReadFileEx 인 경우에는 정상적으로 buffer 와 변수가 setting 되었으나 단 하나의 문제의 InternetReadFileExW 를 사용하는 경우에는 구현이 안 되었다는 오류가 나오므로 InternetReadFileExA 만 사용해야 한다.
원인을 파악해 보니
InternetReadlFile(...)
if( GetLastError() == ERROR_IO_PENDING )
...
대략 이런 구조의 코드 였는데 IO PENDING 발생하고 나서 InternetReadFile 의 인자로 되어 있는 buffer와 변수에 Pending 이 완료가 되어도 값이 설정이 안 되는 문제였다.
구현 자체의 문제(Pending 시 처리)로 판단하고 search 를 하였으나 별다른 단서는 찾지 못하고 async 인 경우 InternetReadFile 대신에 InternetReadFileEx 로 변경을 하라는 글들은 찾을 수 있었다.
InternetReadFileEx 인 경우에는 정상적으로 buffer 와 변수가 setting 되었으나 단 하나의 문제의 InternetReadFileExW 를 사용하는 경우에는 구현이 안 되었다는 오류가 나오므로 InternetReadFileExA 만 사용해야 한다.