Jacek Caban : atl110: Added new DLL.
Alexandre Julliard
julliard at winehq.org
Tue Sep 3 13:38:04 CDT 2013
Module: wine
Branch: master
Commit: b308a5c7adadd8481f2f006026c6d0910e0a02ca
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b308a5c7adadd8481f2f006026c6d0910e0a02ca
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Sep 3 11:37:21 2013 +0200
atl110: Added new DLL.
---
configure | 1 +
configure.ac | 1 +
dlls/atl110/Makefile.in | 7 +++
dlls/atl110/atl110.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++
dlls/atl110/atl110.spec | 52 ++++++++++++++++++++++++++
include/atlbase.h | 1 +
tools/make_specfiles | 1 +
7 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 0ca39bc..3514c1d 100755
--- a/configure
+++ b/configure
@@ -15913,6 +15913,7 @@ wine_fn_config_dll atl enable_atl implib
wine_fn_config_test dlls/atl/tests atl_test
wine_fn_config_dll atl100 enable_atl100 implib
wine_fn_config_test dlls/atl100/tests atl100_test
+wine_fn_config_dll atl110 enable_atl110
wine_fn_config_dll atl80 enable_atl80 implib
wine_fn_config_test dlls/atl80/tests atl80_test
wine_fn_config_dll authz enable_authz
diff --git a/configure.ac b/configure.ac
index 9b21643..8306fe2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2595,6 +2595,7 @@ WINE_CONFIG_DLL(atl,,[implib])
WINE_CONFIG_TEST(dlls/atl/tests)
WINE_CONFIG_DLL(atl100,,[implib])
WINE_CONFIG_TEST(dlls/atl100/tests)
+WINE_CONFIG_DLL(atl110)
WINE_CONFIG_DLL(atl80,,[implib])
WINE_CONFIG_TEST(dlls/atl80/tests)
WINE_CONFIG_DLL(authz)
diff --git a/dlls/atl110/Makefile.in b/dlls/atl110/Makefile.in
new file mode 100644
index 0000000..f9d98d3
--- /dev/null
+++ b/dlls/atl110/Makefile.in
@@ -0,0 +1,7 @@
+MODULE = atl110.dll
+IMPORTS = atl100 ole32 user32
+EXTRADEFS = -D_ATL_VER=_ATL_VER_110
+
+C_SRCS = atl110.c
+
+ at MAKE_DLL_RULES@
diff --git a/dlls/atl110/atl110.c b/dlls/atl110/atl110.c
new file mode 100644
index 0000000..f704bd9
--- /dev/null
+++ b/dlls/atl110/atl110.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2013 Jacek 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 <stdarg.h>
+#include <stdio.h>
+
+#define COBJMACROS
+
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "winuser.h"
+#include "atlbase.h"
+
+#include "wine/debug.h"
+#include "wine/unicode.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(atl);
+
+/***********************************************************************
+ * AtlGetVersion [atl110.@]
+ */
+DWORD WINAPI AtlGetVersion(void *pReserved)
+{
+ return _ATL_VER;
+}
+
+/**********************************************************************
+ * AtlAxWin class window procedure
+ */
+static LRESULT CALLBACK AtlAxWin_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
+{
+ if ( wMsg == WM_CREATE )
+ {
+ DWORD len = GetWindowTextLengthW( hWnd ) + 1;
+ WCHAR *ptr = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
+ if (!ptr)
+ return 1;
+ GetWindowTextW( hWnd, ptr, len );
+ AtlAxCreateControlEx( ptr, hWnd, NULL, NULL, NULL, NULL, NULL );
+ HeapFree( GetProcessHeap(), 0, ptr );
+ return 0;
+ }
+ return DefWindowProcW( hWnd, wMsg, wParam, lParam );
+}
+
+BOOL WINAPI AtlAxWinInit(void)
+{
+ WNDCLASSEXW wcex;
+ const WCHAR AtlAxWin110[] = {'A','t','l','A','x','W','i','n','1','1','0',0};
+ const WCHAR AtlAxWinLic110[] = {'A','t','l','A','x','W','i','n','L','i','c','1','1','0',0};
+
+ FIXME("semi-stub\n");
+
+ if ( FAILED( OleInitialize(NULL) ) )
+ return FALSE;
+
+ wcex.cbSize = sizeof(wcex);
+ wcex.style = CS_GLOBALCLASS | CS_DBLCLKS;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = GetModuleHandleW( NULL );
+ wcex.hIcon = NULL;
+ wcex.hCursor = NULL;
+ wcex.hbrBackground = NULL;
+ wcex.lpszMenuName = NULL;
+ wcex.hIconSm = 0;
+
+ wcex.lpfnWndProc = AtlAxWin_wndproc;
+ wcex.lpszClassName = AtlAxWin110;
+ if ( !RegisterClassExW( &wcex ) )
+ return FALSE;
+
+ wcex.lpszClassName = AtlAxWinLic110;
+ if ( !RegisterClassExW( &wcex ) )
+ return FALSE;
+
+ return TRUE;
+}
diff --git a/dlls/atl110/atl110.spec b/dlls/atl110/atl110.spec
new file mode 100644
index 0000000..aed22bd
--- /dev/null
+++ b/dlls/atl110/atl110.spec
@@ -0,0 +1,52 @@
+10 stdcall AtlAdvise(ptr ptr ptr ptr) atl100.AtlAdvise
+11 stdcall AtlUnadvise(ptr ptr long) atl100.AtlUnadvise
+12 stdcall AtlFreeMarshalStream(ptr) atl100.AtlFreeMarshalStream
+13 stdcall AtlMarshalPtrInProc(ptr ptr ptr) atl100.AtlMarshalPtrInProc
+14 stdcall AtlUnmarshalPtr(ptr ptr ptr) atl100.AtlUnmarshalPtr
+15 stdcall AtlComModuleGetClassObject(ptr ptr ptr ptr) atl100.AtlComModuleGetClassObject
+17 stdcall AtlComModuleRegisterClassObjects(ptr long long) atl100.AtlComModuleRegisterClassObjects
+20 stub AtlComModuleRevokeClassObjects
+22 stdcall AtlComModuleUnregisterServer(ptr long ptr) atl100.AtlComModuleUnregisterServer
+23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD
+24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
+25 stub AtlSetErrorInfo
+26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC
+27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel
+28 stdcall AtlPixelToHiMetric(ptr ptr) atl100.AtlPixelToHiMetric
+29 stub AtlDevModeW2A
+30 stdcall AtlComPtrAssign(ptr ptr) atl100.AtlComPtrAssign
+31 stdcall AtlComQIPtrAssign(ptr ptr ptr) atl100.AtlComQIPtrAssign
+32 stdcall AtlInternalQueryInterface(ptr ptr ptr ptr) atl100.AtlInternalQueryInterface
+34 stdcall AtlGetVersion(ptr)
+35 stdcall AtlAxDialogBoxW(long wstr long ptr long) atl100.AtlAxDialogBoxW
+36 stdcall AtlAxDialogBoxA(long str long ptr long) atl100.AtlAxDialogBoxA
+37 stdcall AtlAxCreateDialogW(long wstr long ptr long) atl100.AtlAxCreateDialogW
+38 stdcall AtlAxCreateDialogA(long str long ptr long) atl100.AtlAxCreateDialogA
+39 stdcall AtlAxCreateControl(ptr ptr ptr ptr) atl100.AtlAxCreateControl
+40 stdcall AtlAxCreateControlEx(ptr ptr ptr ptr ptr ptr ptr) atl100.AtlAxCreateControlEx
+41 stdcall AtlAxAttachControl(ptr ptr ptr) atl100.AtlAxAttachControl
+42 stdcall AtlAxWinInit()
+43 stdcall AtlWinModuleAddCreateWndData(ptr ptr ptr) atl100.AtlWinModuleAddCreateWndData
+44 stdcall AtlWinModuleExtractCreateWndData(ptr) atl100.AtlWinModuleExtractCreateWndData
+45 stub AtlWinModuleRegisterWndClassInfoW
+46 stub AtlWinModuleRegisterWndClassInfoA
+47 stdcall AtlAxGetControl(long ptr) atl100.AtlAxGetControl
+48 stdcall AtlAxGetHost(long ptr) atl100.AtlAxGetHost
+49 stdcall AtlRegisterClassCategoriesHelper(ptr ptr long) atl100.AtlRegisterClassCategoriesHelper
+50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr) atl100.AtlIPersistStreamInit_Load
+51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr) atl100.AtlIPersistStreamInit_Save
+52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr) atl100.AtlIPersistPropertyBag_Load
+53 stub AtlIPersistPropertyBag_Save
+54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr) atl100.AtlGetObjectSourceInterface
+56 stdcall AtlLoadTypeLib(long wstr ptr ptr) atl100.AtlLoadTypeLib
+58 stdcall AtlModuleAddTermFunc(ptr ptr long) atl100.AtlModuleAddTermFunc
+59 stub AtlAxCreateControlLic
+60 stub AtlAxCreateControlLicEx
+61 stdcall AtlCreateRegistrar(ptr) atl100.AtlCreateRegistrar
+62 stub AtlWinModuleRegisterClassExW
+63 stub AtlWinModuleRegisterClassExA
+64 stdcall AtlCallTermFunc(ptr) atl100.AtlCallTermFunc
+65 stdcall AtlWinModuleInit(ptr) atl100.AtlWinModuleInit
+66 stub AtlWinModuleTerm
+67 stdcall AtlSetPerUserRegistration(long) atl100.AtlSetPerUserRegistration
+68 stdcall AtlGetPerUserRegistration(ptr) atl100.AtlGetPerUserRegistration
diff --git a/include/atlbase.h b/include/atlbase.h
index 1f91f55..660fbf5 100644
--- a/include/atlbase.h
+++ b/include/atlbase.h
@@ -29,6 +29,7 @@
#define _ATL_VER_70 0x0700
#define _ATL_VER_80 0x0800
#define _ATL_VER_100 0x0a00
+#define _ATL_VER_110 0x0b00
#ifndef _ATL_VER
#define _ATL_VER _ATL_VER_100
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 1a57692..c0de805 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -115,6 +115,7 @@ my @dll_groups =
],
[
"atl100",
+ "atl110",
"atl",
"atl80",
],
More information about the wine-cvs
mailing list