On 2/8/2010 05:24, Jacek Caban wrote:
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.
Let's say we have a WinHttpRequest object that works, it provides
similar interface as IXMLHTTP.
Why should I use urlmon for that? WinHttpRequest should stay in winhttp,
and won't use urlmon.
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.
Thanks, will take a look.
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.
Why IXMLHTTPRequest is IE related? Or you mean that anything that uses
internet should go through urlmon?
Jacek