Module: wine Branch: master Commit: 264f6dfe14d40e15b1acc196e8fcb307813f483f URL: http://source.winehq.org/git/wine.git/?a=commit;h=264f6dfe14d40e15b1acc196e8...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Dec 10 12:27:29 2012 +0100
atl100: Added AtlAddTermFunc implementation (based on atl.dll version).
---
dlls/atl100/atl.c | 21 ++++++++++++++++++++- dlls/atl100/atl100.spec | 2 +- dlls/atl80/atl80.spec | 2 +- include/atlbase.h | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/dlls/atl100/atl.c b/dlls/atl100/atl.c index 88cdce4..69a6e9e 100644 --- a/dlls/atl100/atl.c +++ b/dlls/atl100/atl.c @@ -22,7 +22,7 @@
#include "wine/debug.h"
-WINE_DEFAULT_DEBUG_CHANNEL(atl); +WINE_DEFAULT_DEBUG_CHANNEL(atl100);
/*********************************************************************** * AtlAdvise [atl100.@] @@ -227,6 +227,25 @@ HRESULT WINAPI AtlIPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, }
/*********************************************************************** + * AtlModuleAddTermFunc [atl100.@] + */ +HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw) +{ + _ATL_TERMFUNC_ELEM *termfunc_elem; + + TRACE("(%p %p %ld)\n", pM, pFunc, dw); + + termfunc_elem = HeapAlloc(GetProcessHeap(), 0, sizeof(_ATL_TERMFUNC_ELEM)); + termfunc_elem->pFunc = pFunc; + termfunc_elem->dw = dw; + termfunc_elem->pNext = pM->m_pTermFuncs; + + pM->m_pTermFuncs = termfunc_elem; + + return S_OK; +} + +/*********************************************************************** * AtlGetVersion [atl100.@] */ DWORD WINAPI AtlGetVersion(void *pReserved) diff --git a/dlls/atl100/atl100.spec b/dlls/atl100/atl100.spec index efe6c19..7ba8154 100644 --- a/dlls/atl100/atl100.spec +++ b/dlls/atl100/atl100.spec @@ -39,7 +39,7 @@ 53 stub AtlIPersistPropertyBag_Save 54 stub AtlGetObjectSourceInterface 56 stub AtlLoadTypeLib -58 stub AtlModuleAddTermFunc +58 stdcall AtlModuleAddTermFunc(ptr ptr long) 59 stub AtlAxCreateControlLic 60 stub AtlAxCreateControlLicEx 61 stdcall AtlCreateRegistrar(ptr) diff --git a/dlls/atl80/atl80.spec b/dlls/atl80/atl80.spec index 519bdd0..c674ed2 100644 --- a/dlls/atl80/atl80.spec +++ b/dlls/atl80/atl80.spec @@ -45,7 +45,7 @@ 55 stub AtlModuleUnRegisterTypeLib 56 stdcall AtlModuleLoadTypeLib(ptr wstr ptr ptr) atl.AtlModuleLoadTypeLib 57 stdcall AtlModuleUnregisterServerEx(ptr long ptr) atl.AtlModuleUnregisterServerEx -58 stdcall AtlModuleAddTermFunc(ptr) atl.AtlModuleAddTermFunc # don't forward to atl100.dll +58 stdcall AtlModuleAddTermFunc(ptr ptr long) atl100.AtlModuleAddTermFunc 59 stub AtlAxCreateControlLic 60 stub AtlAxCreateControlLicEx 61 stdcall AtlCreateRegistrar(ptr) atl100.AtlCreateRegistrar diff --git a/include/atlbase.h b/include/atlbase.h index 794a099..fbf1479 100644 --- a/include/atlbase.h +++ b/include/atlbase.h @@ -195,7 +195,7 @@ HRESULT WINAPI AtlFreeMarshalStream(IStream *pStream); HRESULT WINAPI AtlInternalQueryInterface(void* pThis, const _ATL_INTMAP_ENTRY* pEntries, REFIID iid, void** ppvObject); HRESULT WINAPI AtlMarshalPtrInProc(IUnknown *pUnk, const IID *iid, IStream **ppStream); void WINAPI AtlModuleAddCreateWndData(_ATL_MODULEW *pM, _AtlCreateWndData *pData, void* pvObject); -HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULEW *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw); +HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw); void* WINAPI AtlModuleExtractCreateWndData(_ATL_MODULEW *pM); HRESULT WINAPI AtlModuleInit(_ATL_MODULEW* pM, _ATL_OBJMAP_ENTRYW* p, HINSTANCE h); HRESULT WINAPI AtlModuleLoadTypeLib(_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib);