Module: wine Branch: master Commit: f8f7efd54861ccdfae35de5059abdeb0df5c8467 URL: https://source.winehq.org/git/wine.git/?a=commit;h=f8f7efd54861ccdfae35de505...
Author: Jacek Caban jacek@codeweavers.com Date: Wed May 9 14:59:16 2018 +0200
urlmon: Use COM aggregation for IWinInetInfo and IWinInetHttpInfo interfaces in BindProtocol.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/urlmon/bindprot.c | 74 ----------------------------------------------- dlls/urlmon/urlmon_main.h | 1 - 2 files changed, 75 deletions(-)
diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c index 1e5ec14..5965244 100644 --- a/dlls/urlmon/bindprot.c +++ b/dlls/urlmon/bindprot.c @@ -283,32 +283,6 @@ static HRESULT WINAPI BindProtocol_QueryInterface(IInternetProtocolEx *iface, RE }else if(IsEqualGUID(&IID_IInternetProtocolSink, riid)) { TRACE("(%p)->(IID_IInternetProtocolSink %p)\n", This, ppv); *ppv = &This->IInternetProtocolSink_iface; - }else if(IsEqualGUID(&IID_IWinInetInfo, riid)) { - TRACE("(%p)->(IID_IWinInetInfo %p)\n", This, ppv); - - if(This->protocol_unk) { - IWinInetInfo *inet_info; - HRESULT hres; - - hres = IUnknown_QueryInterface(This->protocol_unk, &IID_IWinInetInfo, (void**)&inet_info); - if(SUCCEEDED(hres)) { - *ppv = &This->IWinInetHttpInfo_iface; - IWinInetInfo_Release(inet_info); - } - } - }else if(IsEqualGUID(&IID_IWinInetHttpInfo, riid)) { - TRACE("(%p)->(IID_IWinInetHttpInfo %p)\n", This, ppv); - - if(This->protocol_unk) { - IWinInetHttpInfo *http_info; - HRESULT hres; - - hres = IUnknown_QueryInterface(This->protocol_unk, &IID_IWinInetHttpInfo, (void**)&http_info); - if(SUCCEEDED(hres)) { - *ppv = &This->IWinInetHttpInfo_iface; - IWinInetHttpInfo_Release(http_info); - } - } }else if(This->protocol_unk) { HRESULT hres; hres = IUnknown_QueryInterface(This->protocol_unk, riid, ppv); @@ -1413,53 +1387,6 @@ static const IInternetProtocolSinkVtbl InternetProtocolSinkVtbl = { BPInternetProtocolSink_ReportResult };
-static inline BindProtocol *impl_from_IWinInetHttpInfo(IWinInetHttpInfo *iface) -{ - return CONTAINING_RECORD(iface, BindProtocol, IWinInetHttpInfo_iface); -} - -static HRESULT WINAPI WinInetHttpInfo_QueryInterface(IWinInetHttpInfo *iface, REFIID riid, void **ppv) -{ - BindProtocol *This = impl_from_IWinInetHttpInfo(iface); - return IInternetProtocolEx_QueryInterface(&This->IInternetProtocolEx_iface, riid, ppv); -} - -static ULONG WINAPI WinInetHttpInfo_AddRef(IWinInetHttpInfo *iface) -{ - BindProtocol *This = impl_from_IWinInetHttpInfo(iface); - return IInternetProtocolEx_AddRef(&This->IInternetProtocolEx_iface); -} - -static ULONG WINAPI WinInetHttpInfo_Release(IWinInetHttpInfo *iface) -{ - BindProtocol *This = impl_from_IWinInetHttpInfo(iface); - return IInternetProtocolEx_Release(&This->IInternetProtocolEx_iface); -} - -static HRESULT WINAPI WinInetHttpInfo_QueryOption(IWinInetHttpInfo *iface, DWORD dwOption, - void *pBuffer, DWORD *pcbBuffer) -{ - BindProtocol *This = impl_from_IWinInetHttpInfo(iface); - FIXME("(%p)->(%x %p %p)\n", This, dwOption, pBuffer, pcbBuffer); - return E_NOTIMPL; -} - -static HRESULT WINAPI WinInetHttpInfo_QueryInfo(IWinInetHttpInfo *iface, DWORD dwOption, - void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD *pdwReserved) -{ - BindProtocol *This = impl_from_IWinInetHttpInfo(iface); - FIXME("(%p)->(%x %p %p %p %p)\n", This, dwOption, pBuffer, pcbBuffer, pdwFlags, pdwReserved); - return E_NOTIMPL; -} - -static const IWinInetHttpInfoVtbl WinInetHttpInfoVtbl = { - WinInetHttpInfo_QueryInterface, - WinInetHttpInfo_AddRef, - WinInetHttpInfo_Release, - WinInetHttpInfo_QueryOption, - WinInetHttpInfo_QueryInfo -}; - static inline BindProtocol *impl_from_IServiceProvider(IServiceProvider *iface) { return CONTAINING_RECORD(iface, BindProtocol, IServiceProvider_iface); @@ -1513,7 +1440,6 @@ HRESULT create_binding_protocol(BindProtocol **protocol) ret->IInternetPriority_iface.lpVtbl = &InternetPriorityVtbl; ret->IServiceProvider_iface.lpVtbl = &ServiceProviderVtbl; ret->IInternetProtocolSink_iface.lpVtbl = &InternetProtocolSinkVtbl; - ret->IWinInetHttpInfo_iface.lpVtbl = &WinInetHttpInfoVtbl;
ret->default_protocol_handler.IInternetProtocol_iface.lpVtbl = &InternetProtocolHandlerVtbl; ret->default_protocol_handler.IInternetProtocolSink_iface.lpVtbl = &InternetProtocolSinkHandlerVtbl; diff --git a/dlls/urlmon/urlmon_main.h b/dlls/urlmon/urlmon_main.h index 57c74b3..39dbe2f 100644 --- a/dlls/urlmon/urlmon_main.h +++ b/dlls/urlmon/urlmon_main.h @@ -172,7 +172,6 @@ typedef struct { IInternetPriority IInternetPriority_iface; IServiceProvider IServiceProvider_iface; IInternetProtocolSink IInternetProtocolSink_iface; - IWinInetHttpInfo IWinInetHttpInfo_iface;
LONG ref;