On 2/7/10 3:08 PM, Nikolay Sivov wrote:
On 2/7/2010 16:45, Hans Leidekker wrote:
On Sunday 07 February 2010 14:28:37 Nikolay Sivov wrote:

Recently I tried to start with this interface. It looks trivial enough
but since it's first time i'm using winhttp,
there could be some problems, especially cause IXMLHTTPRequest supports
asynchronous requests.

Could someone with winhttp knowledge review this patch before it goes to
far from reality?

P.S. any comments are welcome actually.
Last time this came up Jacek suggested to use urlmon instead of winhttp,
which may already handle asynchronous requests.

  -Hans
Such things:
---
static HRESULT WINAPI HttpInfo_QueryInfo(IWinInetHttpInfo *iface, DWORD dwOption, void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD *pdwReserved)
{
    HttpProtocol *This = INETINFO_THIS(iface);
FIXME("(%p)->(%x %p %p %p %p)\n", This, dwOption, pBuffer, pcbBuffer, pdwFlags, pdwReserved);
    return E_NOTIMPL;
}
---
static HRESULT WINAPI HttpProtocol_Abort(IInternetProtocol *iface, HRESULT hrReason,
        DWORD dwOptions)
{
    HttpProtocol *This = PROTOCOL_THIS(iface);
    FIXME("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
    return E_NOTIMPL;
}
---
make me think it's not ready.

Even if that's true, it's not a reason to choose wrong architecture.

Also IXMLHTTPRequest methods look to directly map tp Winhttp calls.
For example how can I implement IXMLHTTPRequest::setRequestHeader() with urlmon?

By implementing IHttpNegotiate on bind status callback.

Btw, what was a reason for using it?

Everything IE-related should use it for binding. It's because of plugable protocols, shared wininet session and more. urlmon is not just a wrapper around wininet.


Jacek


Reply via email to