现正做一异步插件协议(Asynchronous Pluggable Protocol),现在有一个问题未能解决,如果有哪位高手乐意帮忙,愿付现金。问题描述:我继承了IInternetProtocol接口,实现了Read函数。我这里只监控图片(jpg,png),当遇到图片后,我在Read中读取一个缓冲后返回S_OK给IE,这样IE会继续调用该函数(Read),直到失败为止。我先把图片下载到内存中,然后生成一个同样大小的图片,再一块一块地把图片返回给IE。开始浏览时效果还很好,可是浏览几页后就会出现不能继续显示图片,一个死等待,最后会以超时结束。

解决方案 »

  1.   

    蒋兄,非常感谢你的回复。
    我这里现在有一个问题还没找到是出在哪的。
    我在我的Read函数中调用IE实现的IInternetProtocol对象的Read()时工作的非常好,但是我替IE来读取时就出现问题了,在百度的图片搜索中浏览到第8页就开始有不能读取图片的现象了。
    代码如下:(希望你帮忙分析一下)
    m_spProtocol:IE实现的IInternetProtocol接口的对象
    STDMETHODIMP CFilter::Read(void *pv, ULONG cb, ULONG *pcbRead)
    {
    return m_spProtocol->Read(pv, cb, pcbRead);
    }我自己来读取的代码:
    STDMETHODIMP CFilter::Read(void *pv, ULONG cb, ULONG *pcbRead)
    {
    if (InternetReadFile(m_hHttpFile, pv, cb, pcbRead))
    {
    if (*pcbRead>0)
    return S_OK;
    else
    return S_FALSE;
    }
    else
    return S_FALSE;}