urlmon: Added ProxyStub implementation.
This commit is contained in:
parent
2d1c4e6928
commit
dc78e8d315
|
@ -117,6 +117,8 @@ dlls/stdole2.tlb/std_ole_v2.tlb
|
|||
dlls/stdole32.tlb/std_ole_v1.tlb
|
||||
dlls/sti/sti_wia.h
|
||||
dlls/sti/sti_wia_p.c
|
||||
dlls/urlmon/urlmon_urlmon.h
|
||||
dlls/urlmon/urlmon_urlmon_p.c
|
||||
dlls/user.exe16
|
||||
dlls/wprocs.dll16
|
||||
include/activaut.h
|
||||
|
|
|
@ -4,7 +4,9 @@ SRCDIR = @srcdir@
|
|||
VPATH = @srcdir@
|
||||
MODULE = urlmon.dll
|
||||
IMPORTLIB = urlmon
|
||||
IMPORTS = uuid ole32 shlwapi wininet user32 advapi32 kernel32 ntdll
|
||||
IMPORTS = uuid ole32 rpcrt4 shlwapi wininet user32 advapi32 kernel32 ntdll
|
||||
EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DREGISTER_PROXY_DLL \
|
||||
-DPROXY_CLSID_IS="{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}"
|
||||
|
||||
C_SRCS = \
|
||||
bindctx.c \
|
||||
|
@ -26,10 +28,15 @@ C_SRCS = \
|
|||
session.c \
|
||||
umon.c \
|
||||
umstream.c \
|
||||
urlmon_main.c
|
||||
urlmon_main.c \
|
||||
usrmarshal.c
|
||||
|
||||
RC_SRCS = rsrc.rc
|
||||
|
||||
IDL_P_SRCS = urlmon_urlmon.idl
|
||||
|
||||
EXTRA_OBJS = dlldata.o
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
@DEPENDENCIES@ # everything below this line is overwritten by make depend
|
||||
|
|
|
@ -495,6 +495,12 @@ static struct regsvr_coclass const coclass_list[] = {
|
|||
"urlmon.dll",
|
||||
"Both"
|
||||
},
|
||||
{ &CLSID_PSFactoryBuffer,
|
||||
"URLMoniker ProxyStub Factory",
|
||||
NULL,
|
||||
"urlmon.dll",
|
||||
"Apartment"
|
||||
},
|
||||
{ NULL } /* list terminator */
|
||||
};
|
||||
|
||||
|
@ -573,12 +579,14 @@ HRESULT WINAPI DllRegisterServer(void)
|
|||
|
||||
TRACE("\n");
|
||||
|
||||
hr = register_coclasses(coclass_list);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = URLMON_DllRegisterServer();
|
||||
if(SUCCEEDED(hr))
|
||||
hr = register_coclasses(coclass_list);
|
||||
if(SUCCEEDED(hr))
|
||||
hr = register_interfaces(interface_list);
|
||||
if(FAILED(hr))
|
||||
return hr;
|
||||
return register_inf(TRUE);
|
||||
if(SUCCEEDED(hr))
|
||||
hr = register_inf(TRUE);
|
||||
return hr;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -590,10 +598,12 @@ HRESULT WINAPI DllUnregisterServer(void)
|
|||
|
||||
TRACE("\n");
|
||||
|
||||
hr = unregister_coclasses(coclass_list);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = URLMON_DllUnregisterServer();
|
||||
if(SUCCEEDED(hr))
|
||||
hr = unregister_coclasses(coclass_list);
|
||||
if(SUCCEEDED(hr))
|
||||
hr = unregister_interfaces(interface_list);
|
||||
if(FAILED(hr))
|
||||
return hr;
|
||||
return register_inf(FALSE);
|
||||
if(SUCCEEDED(hr))
|
||||
hr = register_inf(FALSE);
|
||||
return hr;
|
||||
}
|
||||
|
|
|
@ -348,6 +348,7 @@ static void init_session(BOOL init)
|
|||
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
|
||||
{
|
||||
unsigned int i;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%s,%s,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
|
||||
|
||||
|
@ -357,6 +358,10 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
|
|||
return IClassFactory_QueryInterface(object_creation[i].cf, riid, ppv);
|
||||
}
|
||||
|
||||
hr = URLMON_DllGetClassObject(rclsid, riid, ppv);
|
||||
if(SUCCEEDED(hr))
|
||||
return hr;
|
||||
|
||||
FIXME("%s: no class found.\n", debugstr_guid(rclsid));
|
||||
return CLASS_E_CLASSNOTAVAILABLE;
|
||||
}
|
||||
|
|
|
@ -48,6 +48,12 @@ extern HRESULT GopherProtocol_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
|
|||
extern HRESULT MkProtocol_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
|
||||
extern HRESULT MimeFilter_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
|
||||
|
||||
extern HRESULT WINAPI URLMON_DllGetClassObject(REFCLSID rclsid, REFIID iid,LPVOID *ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT WINAPI URLMON_DllRegisterServer(void) DECLSPEC_HIDDEN;
|
||||
extern HRESULT WINAPI URLMON_DllUnregisterServer(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern GUID const CLSID_PSFactoryBuffer DECLSPEC_HIDDEN;
|
||||
|
||||
/**********************************************************************
|
||||
* Dll lifetime tracking declaration for urlmon.dll
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright 2009 Piotr Caban for Codeweavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "urlmon.idl"
|
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
* Copyright 2009 Piotr Caban for Codeweavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "urlmon_main.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(urlmon);
|
||||
|
||||
HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(IWinInetHttpInfo* This,
|
||||
DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf, DWORD *pdwFlags,
|
||||
DWORD *pdwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(IWinInetHttpInfo* This,
|
||||
DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf, DWORD *pdwFlags,
|
||||
DWORD *pdwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(IWinInetInfo* This,
|
||||
DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(IWinInetInfo* This,
|
||||
DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(IBindHost* This,
|
||||
IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
|
||||
REFIID riid, void **ppvObj)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(IBindHost* This,
|
||||
IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
|
||||
REFIID riid, IUnknown **ppvObj)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(IBindHost* This,
|
||||
IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
|
||||
REFIID riid, void **ppvObj)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(IBindHost* This,
|
||||
IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
|
||||
REFIID riid, IUnknown **ppvObj)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBindStatusCallbackEx_GetBindInfoEx_Proxy(
|
||||
IBindStatusCallbackEx* This, DWORD *grfBINDF, BINDINFO *pbindinfo,
|
||||
DWORD *grfBINDF2, DWORD *pdwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBindStatusCallbackEx_GetBindInfoEx_Stub(
|
||||
IBindStatusCallbackEx* This, DWORD *grfBINDF, RemBINDINFO *pbindinfo,
|
||||
RemSTGMEDIUM *pstgmed, DWORD *grfBINDF2, DWORD *pdwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
|
||||
IBindStatusCallback* This, DWORD *grfBINDF, BINDINFO *pbindinfo)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
|
||||
IBindStatusCallback* This, DWORD *grfBINDF,
|
||||
RemBINDINFO *pbindinfo, RemSTGMEDIUM *pstgmed)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
|
||||
IBindStatusCallback* This, DWORD grfBSCF, DWORD dwSize,
|
||||
FORMATETC *pformatetc, STGMEDIUM *pstgmed)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
|
||||
IBindStatusCallback* This, DWORD grfBSCF, DWORD dwSize,
|
||||
RemFORMATETC *pformatetc, RemSTGMEDIUM *pstgmed)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT CALLBACK IBinding_GetBindResult_Proxy(IBinding* This,
|
||||
CLSID *pclsidProtocol, DWORD *pdwResult,
|
||||
LPOLESTR *pszResult, DWORD *pdwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT __RPC_STUB IBinding_GetBindResult_Stub(IBinding* This,
|
||||
CLSID *pclsidProtocol, DWORD *pdwResult,
|
||||
LPOLESTR *pszResult, DWORD dwReserved)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
HRESULT STDMETHODCALLTYPE IWindowForBindingUI_GetWindow_Proxy(
|
||||
IWindowForBindingUI* This, REFGUID rguidReason, HWND *phwnd)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
void __RPC_STUB IWindowForBindingUI_GetWindow_Stub(IRpcStubBuffer* This,
|
||||
IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage,
|
||||
DWORD* pdwStubPhase)
|
||||
{
|
||||
FIXME("stub\n");
|
||||
}
|
Loading…
Reference in New Issue