您的位置:首页 > 其它

WinInet API的一些陷阱

2010-11-30 21:17 169 查看
1、虽然MSDN说InternetQueryDataAvailable、InternetReadFile这两个API是同步的,但实际上这两个API也可以异步调用。当调用这两函数时,如果返回FALSE,且GetLastError返回ERROR_IO_PENDING,那么表示这是一个异步调用。对于异步调用可以采用事件进行同步。当WaitForSingleObject返回时,数据已经拷贝到我们的缓冲区了,切记。。。

2、正如帮助文档所言,InternetQueryDataAvailable是不可靠的。因为这个API将响应头的"Content-Length" 认为文件的长度,但是“ Content-Length”是不准的。所以尽量少使用这个API。

3、在异步调用下,必须在这两个API的调用前,进行一次WaitForSingleObject,否则后果无法想象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: