[2/2] winhttp: Add custom implementation of IWinHttpRequest::Invoke(DISPID_HTTPREQUEST_OPTION).

Dmitry Timoshkov dmitry at baikal.ru
Thu Sep 10 10:39:53 CDT 2015


Jacek Caban <jacek at codeweavers.com> wrote:

> > Any further comments on this? Is there anything else I can provide to
> > justify adding custom WinHttpRequest::Invoke implementation?
> 
> To be honest, I'm not sure. I tried following test myself:
> 
> - Copy native winhttp.dll with a different name (like nwinhttp.dll)
> - Change location of typelib in registry to point to native DLL
> - Run Wine tests with builtin winhttp.dll
> 
> That resulted in a few TODO tests succeeded. It proves that there is a
> problem in widl. Sadly, there were still a few failures that are not
> present with your patch. It may mean both that our oleaut32 has more
> bugs or that we indeed should use custom implementation. It would be
> nice to have widl fixed, but due to ambiguous results of my testing, I
> can't guarantee that we wouldn't end up with custom Invoke
> implementation anyway.

Follwing your test with native winhttp.dll I did the following: copied
winhttp.dll to windows/system32, added assert(0) at the beginning of
dlls/oleaut32/typelib.c,ITypeInfo_fnInvoke() and ran the winhttp tests
like this:
WINEDLLOVERRIDES=winhttp=n wine winhttp_test.exe.so winhttp.c
and assert() never tiggers, while with winhttp=b it immediately fires
an exception.

-- 
Dmitry.



More information about the wine-devel mailing list