Jacek Caban : atl100: Added AtlAddTermFunc implementation (based on atl. dll version).

Alexandre Julliard julliard at winehq.org
Mon Dec 10 14:00:39 CST 2012


Module: wine
Branch: master
Commit: 264f6dfe14d40e15b1acc196e8fcb307813f483f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=264f6dfe14d40e15b1acc196e8fcb307813f483f

Author: Jacek Caban <jacek at 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);




More information about the wine-cvs mailing list