atl: Share sources with atl100 instead of forwarding calls.
This commit is contained in:
parent
383cacea8f
commit
f285b06738
|
@ -1,11 +1,13 @@
|
||||||
MODULE = atl.dll
|
MODULE = atl.dll
|
||||||
IMPORTLIB = atl
|
IMPORTLIB = atl
|
||||||
IMPORTS = uuid atl80 atl100 oleaut32 ole32 user32
|
IMPORTS = uuid atl80 oleaut32 ole32 user32 gdi32 advapi32
|
||||||
EXTRADEFS = -D_ATL_VER=_ATL_VER_30
|
EXTRADEFS = -D_ATL_VER=_ATL_VER_30
|
||||||
PARENTSRC = ../atl100
|
PARENTSRC = ../atl100
|
||||||
|
|
||||||
C_SRCS = \
|
C_SRCS = \
|
||||||
|
atl.c \
|
||||||
atl_ax.c \
|
atl_ax.c \
|
||||||
atl_main.c
|
atl_main.c \
|
||||||
|
registrar.c
|
||||||
|
|
||||||
IDL_SRCS = atl_classes.idl
|
IDL_SRCS = atl_classes.idl
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
2 stdcall -private DllGetClassObject(ptr ptr ptr)
|
2 stdcall -private DllGetClassObject(ptr ptr ptr)
|
||||||
3 stdcall -private DllRegisterServer()
|
3 stdcall -private DllRegisterServer()
|
||||||
4 stdcall -private DllUnregisterServer()
|
4 stdcall -private DllUnregisterServer()
|
||||||
10 stdcall AtlAdvise(ptr ptr ptr ptr) atl100.AtlAdvise
|
10 stdcall AtlAdvise(ptr ptr ptr ptr)
|
||||||
11 stdcall AtlUnadvise(ptr ptr long) atl100.AtlUnadvise
|
11 stdcall AtlUnadvise(ptr ptr long)
|
||||||
12 stdcall AtlFreeMarshalStream(ptr) atl100.AtlFreeMarshalStream
|
12 stdcall AtlFreeMarshalStream(ptr)
|
||||||
13 stdcall AtlMarshalPtrInProc(ptr ptr ptr) atl100.AtlMarshalPtrInProc
|
13 stdcall AtlMarshalPtrInProc(ptr ptr ptr)
|
||||||
14 stdcall AtlUnmarshalPtr(ptr ptr ptr) atl100.AtlUnmarshalPtr
|
14 stdcall AtlUnmarshalPtr(ptr ptr ptr)
|
||||||
15 stdcall AtlModuleGetClassObject(ptr ptr ptr ptr)
|
15 stdcall AtlModuleGetClassObject(ptr ptr ptr ptr)
|
||||||
16 stdcall AtlModuleInit(ptr long long)
|
16 stdcall AtlModuleInit(ptr long long)
|
||||||
17 stdcall AtlModuleRegisterClassObjects(ptr long long)
|
17 stdcall AtlModuleRegisterClassObjects(ptr long long)
|
||||||
|
@ -16,15 +16,15 @@
|
||||||
21 stdcall AtlModuleTerm(ptr)
|
21 stdcall AtlModuleTerm(ptr)
|
||||||
22 stdcall AtlModuleUnregisterServer(ptr ptr)
|
22 stdcall AtlModuleUnregisterServer(ptr ptr)
|
||||||
23 stdcall AtlModuleUpdateRegistryFromResourceD(ptr wstr long ptr ptr)
|
23 stdcall AtlModuleUpdateRegistryFromResourceD(ptr wstr long ptr ptr)
|
||||||
24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
|
24 stdcall AtlWaitWithMessageLoop(long)
|
||||||
25 stub AtlSetErrorInfo
|
25 stub AtlSetErrorInfo
|
||||||
26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC
|
26 stdcall AtlCreateTargetDC(long ptr)
|
||||||
27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel
|
27 stdcall AtlHiMetricToPixel(ptr ptr)
|
||||||
28 stdcall AtlPixelToHiMetric(ptr ptr) atl100.AtlPixelToHiMetric
|
28 stdcall AtlPixelToHiMetric(ptr ptr)
|
||||||
29 stub AtlDevModeW2A
|
29 stub AtlDevModeW2A
|
||||||
30 stdcall AtlComPtrAssign(ptr ptr) atl100.AtlComPtrAssign
|
30 stdcall AtlComPtrAssign(ptr ptr)
|
||||||
31 stdcall AtlComQIPtrAssign(ptr ptr ptr) atl100.AtlComQIPtrAssign
|
31 stdcall AtlComQIPtrAssign(ptr ptr ptr)
|
||||||
32 stdcall AtlInternalQueryInterface(ptr ptr ptr ptr) atl100.AtlInternalQueryInterface
|
32 stdcall AtlInternalQueryInterface(ptr ptr ptr ptr)
|
||||||
34 stdcall AtlGetVersion(ptr)
|
34 stdcall AtlGetVersion(ptr)
|
||||||
35 stdcall AtlAxDialogBoxW(long wstr long ptr long)
|
35 stdcall AtlAxDialogBoxW(long wstr long ptr long)
|
||||||
36 stdcall AtlAxDialogBoxA(long str long ptr long)
|
36 stdcall AtlAxDialogBoxA(long str long ptr long)
|
||||||
|
@ -40,12 +40,12 @@
|
||||||
46 stdcall AtlModuleRegisterWndClassInfoA(ptr ptr ptr)
|
46 stdcall AtlModuleRegisterWndClassInfoA(ptr ptr ptr)
|
||||||
47 stdcall AtlAxGetControl(long ptr)
|
47 stdcall AtlAxGetControl(long ptr)
|
||||||
48 stdcall AtlAxGetHost(long ptr)
|
48 stdcall AtlAxGetHost(long ptr)
|
||||||
49 stdcall AtlRegisterClassCategoriesHelper(ptr ptr long) atl100.AtlRegisterClassCategoriesHelper
|
49 stdcall AtlRegisterClassCategoriesHelper(ptr ptr long)
|
||||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr) atl100.AtlIPersistStreamInit_Load
|
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr) atl100.AtlIPersistStreamInit_Save
|
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr) atl100.AtlIPersistPropertyBag_Load
|
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||||
53 stub AtlIPersistPropertyBag_Save
|
53 stub AtlIPersistPropertyBag_Save
|
||||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr) atl100.AtlGetObjectSourceInterface
|
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||||
55 stub AtlModuleUnRegisterTypeLib
|
55 stub AtlModuleUnRegisterTypeLib
|
||||||
56 stdcall AtlModuleLoadTypeLib(ptr wstr ptr ptr)
|
56 stdcall AtlModuleLoadTypeLib(ptr wstr ptr ptr)
|
||||||
57 stdcall AtlModuleUnregisterServerEx(ptr long ptr)
|
57 stdcall AtlModuleUnregisterServerEx(ptr long ptr)
|
||||||
|
|
|
@ -33,18 +33,7 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(atl);
|
WINE_DEFAULT_DEBUG_CHANNEL(atl);
|
||||||
|
|
||||||
static HINSTANCE hInst;
|
extern HINSTANCE atl_instance;
|
||||||
|
|
||||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|
||||||
{
|
|
||||||
TRACE("(0x%p, %d, %p)\n",hinstDLL,fdwReason,lpvReserved);
|
|
||||||
|
|
||||||
if (fdwReason == DLL_PROCESS_ATTACH) {
|
|
||||||
DisableThreadLibraryCalls(hinstDLL);
|
|
||||||
hInst = hinstDLL;
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer)
|
#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer)
|
||||||
|
|
||||||
|
@ -142,25 +131,6 @@ HRESULT WINAPI AtlModuleTerm(_ATL_MODULE *pM)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULEW *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw)
|
|
||||||
{
|
|
||||||
_ATL_TERMFUNC_ELEM *termfunc_elem;
|
|
||||||
|
|
||||||
TRACE("version %04x (%p %p %ld)\n", _ATL_VER, pM, pFunc, dw);
|
|
||||||
|
|
||||||
if (pM->cbSize > ATLVer1Size)
|
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
HRESULT WINAPI AtlModuleRegisterClassObjects(_ATL_MODULEW *pM, DWORD dwClsContext,
|
HRESULT WINAPI AtlModuleRegisterClassObjects(_ATL_MODULEW *pM, DWORD dwClsContext,
|
||||||
DWORD dwFlags)
|
DWORD dwFlags)
|
||||||
{
|
{
|
||||||
|
@ -566,7 +536,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *ppvObject)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI DllRegisterServer(void)
|
HRESULT WINAPI DllRegisterServer(void)
|
||||||
{
|
{
|
||||||
return __wine_register_resources( hInst );
|
return __wine_register_resources( atl_instance );
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -574,7 +544,7 @@ HRESULT WINAPI DllRegisterServer(void)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI DllUnregisterServer(void)
|
HRESULT WINAPI DllUnregisterServer(void)
|
||||||
{
|
{
|
||||||
return __wine_unregister_resources( hInst );
|
return __wine_unregister_resources( atl_instance );
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -584,12 +554,3 @@ HRESULT WINAPI DllCanUnloadNow(void)
|
||||||
{
|
{
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* AtlGetVersion [ATL.@]
|
|
||||||
*/
|
|
||||||
DWORD WINAPI AtlGetVersion(void *pReserved)
|
|
||||||
{
|
|
||||||
TRACE("version %04x (%p)\n", _ATL_VER, pReserved);
|
|
||||||
return _ATL_VER;
|
|
||||||
}
|
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(atl);
|
WINE_DEFAULT_DEBUG_CHANNEL(atl);
|
||||||
|
|
||||||
|
#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer)
|
||||||
|
|
||||||
|
HINSTANCE atl_instance;
|
||||||
|
|
||||||
typedef unsigned char cpp_bool;
|
typedef unsigned char cpp_bool;
|
||||||
|
|
||||||
static inline void *heap_alloc(size_t len)
|
static inline void *heap_alloc(size_t len)
|
||||||
|
@ -301,16 +305,20 @@ HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD
|
||||||
|
|
||||||
TRACE("version %04x (%p %p %ld)\n", _ATL_VER, pM, pFunc, dw);
|
TRACE("version %04x (%p %p %ld)\n", _ATL_VER, pM, pFunc, dw);
|
||||||
|
|
||||||
|
if (_ATL_VER > _ATL_VER_30 || pM->cbSize > ATLVer1Size) {
|
||||||
termfunc_elem = HeapAlloc(GetProcessHeap(), 0, sizeof(_ATL_TERMFUNC_ELEM));
|
termfunc_elem = HeapAlloc(GetProcessHeap(), 0, sizeof(_ATL_TERMFUNC_ELEM));
|
||||||
termfunc_elem->pFunc = pFunc;
|
termfunc_elem->pFunc = pFunc;
|
||||||
termfunc_elem->dw = dw;
|
termfunc_elem->dw = dw;
|
||||||
termfunc_elem->pNext = pM->m_pTermFuncs;
|
termfunc_elem->pNext = pM->m_pTermFuncs;
|
||||||
|
|
||||||
pM->m_pTermFuncs = termfunc_elem;
|
pM->m_pTermFuncs = termfunc_elem;
|
||||||
|
}
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if _ATL_VER > _ATL_VER_30
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* AtlCallTermFunc [atl100.@]
|
* AtlCallTermFunc [atl100.@]
|
||||||
*/
|
*/
|
||||||
|
@ -330,6 +338,8 @@ void WINAPI AtlCallTermFunc(_ATL_MODULE *pM)
|
||||||
pM->m_pTermFuncs = NULL;
|
pM->m_pTermFuncs = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* AtlLoadTypeLib [atl100.56]
|
* AtlLoadTypeLib [atl100.56]
|
||||||
*/
|
*/
|
||||||
|
@ -386,6 +396,8 @@ HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex,
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if _ATL_VER > _ATL_VER_30
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* AtlWinModuleInit [atl100.65]
|
* AtlWinModuleInit [atl100.65]
|
||||||
*/
|
*/
|
||||||
|
@ -578,6 +590,8 @@ HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeL
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* AtlRegisterClassCategoriesHelper [atl100.49]
|
* AtlRegisterClassCategoriesHelper [atl100.49]
|
||||||
*/
|
*/
|
||||||
|
@ -819,6 +833,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
|
|
||||||
switch(fdwReason) {
|
switch(fdwReason) {
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
|
atl_instance = hinstDLL;
|
||||||
DisableThreadLibraryCalls(hinstDLL);
|
DisableThreadLibraryCalls(hinstDLL);
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
|
|
|
@ -118,10 +118,6 @@ my @dll_groups =
|
||||||
"vcomp100",
|
"vcomp100",
|
||||||
"vcomp90",
|
"vcomp90",
|
||||||
],
|
],
|
||||||
[
|
|
||||||
"atl100",
|
|
||||||
"atl",
|
|
||||||
],
|
|
||||||
[
|
[
|
||||||
"advapi32",
|
"advapi32",
|
||||||
"api-ms-win-core-localregistry-l1-1-0",
|
"api-ms-win-core-localregistry-l1-1-0",
|
||||||
|
|
Loading…
Reference in New Issue