Author: akhaldi Date: Fri Sep 26 11:39:07 2014 New Revision: 64310
URL: http://svn.reactos.org/svn/reactos?rev=64310&view=rev Log: [ATL][ATL80][ATL100] * Sync with Wine 1.7.27. CORE-8540
Added: trunk/reactos/dll/win32/atl/atl_lib.idl (with props) trunk/reactos/dll/win32/atl/atl_lib_r.rgs (with props) trunk/reactos/dll/win32/atl/atl_lib_t.rgs (with props) trunk/reactos/include/reactos/wine/atlcom.h (with props) Modified: trunk/reactos/dll/win32/atl/CMakeLists.txt trunk/reactos/dll/win32/atl/atl.c trunk/reactos/dll/win32/atl/atl30.c trunk/reactos/dll/win32/atl/atl_ax.c trunk/reactos/dll/win32/atl/rsrc.rc trunk/reactos/dll/win32/atl100/atl100.spec trunk/reactos/dll/win32/atl80/atl80.spec trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/atl/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/CMakeLists.tx... ============================================================================== --- trunk/reactos/dll/win32/atl/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/CMakeLists.txt [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -16,7 +16,17 @@ ${CMAKE_CURRENT_BINARY_DIR}/atl_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/atl.def)
+list(APPEND atl_rc_deps + ${CMAKE_CURRENT_SOURCE_DIR}/atl.rgs + ${CMAKE_CURRENT_SOURCE_DIR}/atl_lib_r.rgs + ${CMAKE_CURRENT_SOURCE_DIR}/atl_lib_t.rgs + ${CMAKE_CURRENT_BINARY_DIR}/atl_lib.tlb) + +set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS "${atl_rc_deps}") + add_library(atl SHARED ${SOURCE} rsrc.rc) +add_typelib(atl_lib.idl) +add_dependencies(atl stdole2) set_module_type(atl win32dll) target_link_libraries(atl uuid wine) add_importlibs(atl oleaut32 ole32 user32 gdi32 advapi32 shlwapi msvcrt kernel32 ntdll)
Modified: trunk/reactos/dll/win32/atl/atl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl.c?rev=643... ============================================================================== --- trunk/reactos/dll/win32/atl/atl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/atl.c [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -19,6 +19,7 @@
#include <precomp.h>
+#include <wine/atlcom.h> #include <wingdi.h>
#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer) @@ -244,18 +245,6 @@ return rc; }
-/* FIXME: should be in a header file */ -typedef struct ATL_PROPMAP_ENTRY -{ - LPCOLESTR szDesc; - DISPID dispid; - const CLSID* pclsidPropPage; - const IID* piidDispatch; - DWORD dwOffsetData; - DWORD dwSizeData; - VARTYPE vt; -} ATL_PROPMAP_ENTRY; - /*********************************************************************** * AtlIPersistStreamInit_Load [atl100.@] */
Modified: trunk/reactos/dll/win32/atl/atl30.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl30.c?rev=6... ============================================================================== --- trunk/reactos/dll/win32/atl/atl30.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/atl30.c [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -508,6 +508,7 @@
static IClassFactory RegistrarCF = { &IRegistrarCFVtbl };
+#ifdef __REACTOS__ static HRESULT do_register_dll_server(IRegistrar *pRegistrar, LPCOLESTR wszDll, LPCOLESTR wszId, BOOL do_register, const struct _ATL_REGMAP_ENTRY* pMapEntries) @@ -554,7 +555,7 @@ StringFromGUID2(&CLSID_Registrar, clsid_str, sizeof(clsid_str)/sizeof(WCHAR)); return do_register_dll_server(NULL, atl_dllW, MAKEINTRESOURCEW(101), do_register, reg_map); } - +#endif
/************************************************************** * DllGetClassObject (ATL.2)
Modified: trunk/reactos/dll/win32/atl/atl_ax.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl_ax.c?rev=... ============================================================================== --- trunk/reactos/dll/win32/atl/atl_ax.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/atl_ax.c [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -123,55 +123,88 @@ * Atl container component implementation */
- -static ULONG IOCS_AddRef(IOCS *This) -{ +/****** IOleClientSite *****/ +static inline IOCS *impl_from_IOleClientSite(IOleClientSite *iface) +{ + return CONTAINING_RECORD(iface, IOCS, IOleClientSite_iface); +} + +static HRESULT IOCS_Detach( IOCS *This ) /* remove subclassing */ +{ + if ( This->hWnd ) + { + SetWindowLongPtrW( This->hWnd, GWLP_WNDPROC, (ULONG_PTR) This->OrigWndProc ); + SetWindowLongPtrW( This->hWnd, GWLP_USERDATA, 0 ); + This->hWnd = NULL; + } + if ( This->control ) + { + IOleObject *control = This->control; + + This->control = NULL; + IOleObject_Close( control, OLECLOSE_NOSAVE ); + IOleObject_SetClientSite( control, NULL ); + IOleObject_Release( control ); + } + return S_OK; +} + +static HRESULT WINAPI OleClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv) +{ + IOCS *This = impl_from_IOleClientSite(iface); + + TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); + + *ppv = NULL; + + if (IsEqualIID(&IID_IUnknown, riid) || + IsEqualIID(&IID_IOleClientSite, riid)) + { + *ppv = iface; + } + else if (IsEqualIID(&IID_IOleContainer, riid)) + { + *ppv = &This->IOleContainer_iface; + } + else if (IsEqualIID(&IID_IOleInPlaceSite, riid) || + IsEqualIID(&IID_IOleInPlaceSiteEx, riid) || + IsEqualIID(&IID_IOleInPlaceSiteWindowless, riid)) + { + *ppv = &This->IOleInPlaceSiteWindowless_iface; + } + else if (IsEqualIID(&IID_IOleInPlaceFrame, riid)) + { + *ppv = &This->IOleInPlaceFrame_iface; + } + else if (IsEqualIID(&IID_IOleControlSite, riid)) + { + *ppv = &This->IOleControlSite_iface; + } + + if (*ppv) + { + IOleClientSite_AddRef(iface); + return S_OK; + } + + WARN("unsupported interface %s\n", debugstr_guid(riid)); + return E_NOINTERFACE; +} + +static ULONG WINAPI OleClientSite_AddRef(IOleClientSite *iface) +{ + IOCS *This = impl_from_IOleClientSite(iface); ULONG ref = InterlockedIncrement(&This->ref); - - TRACE( "(%p) : AddRef from %d\n", This, ref - 1 ); - + TRACE("(%p)->(%d)\n", This, ref); return ref; }
-static HRESULT IOCS_QueryInterface(IOCS *This, REFIID riid, void **ppv) -{ - *ppv = NULL; - - if ( IsEqualIID( &IID_IUnknown, riid ) - || IsEqualIID( &IID_IOleClientSite, riid ) ) - { - *ppv = &This->IOleClientSite_iface; - } else if ( IsEqualIID( &IID_IOleContainer, riid ) ) - { - *ppv = &This->IOleContainer_iface; - } else if ( IsEqualIID( &IID_IOleInPlaceSite, riid ) || IsEqualIID( &IID_IOleInPlaceSiteEx, riid ) || IsEqualIID( &IID_IOleInPlaceSiteWindowless, riid ) ) - { - *ppv = &This->IOleInPlaceSiteWindowless_iface; - } else if ( IsEqualIID( &IID_IOleInPlaceFrame, riid ) ) - { - *ppv = &This->IOleInPlaceFrame_iface; - } else if ( IsEqualIID( &IID_IOleControlSite, riid ) ) - { - *ppv = &This->IOleControlSite_iface; - } - - if (*ppv) - { - IOCS_AddRef( This ); - return S_OK; - } - - WARN("unsupported interface %s\n", debugstr_guid( riid ) ); - *ppv = NULL; - return E_NOINTERFACE; -} - -static HRESULT IOCS_Detach( IOCS *This ); -static ULONG IOCS_Release(IOCS *This) -{ +static ULONG WINAPI OleClientSite_Release(IOleClientSite *iface) +{ + IOCS *This = impl_from_IOleClientSite(iface); ULONG ref = InterlockedDecrement(&This->ref);
- TRACE( "(%p) : ReleaseRef to %d\n", This, ref ); + TRACE("(%p)->(%d)\n", This, ref);
if (!ref) { @@ -182,30 +215,6 @@ return ref; }
-/****** IOleClientSite *****/ -static inline IOCS *impl_from_IOleClientSite(IOleClientSite *iface) -{ - return CONTAINING_RECORD(iface, IOCS, IOleClientSite_iface); -} - -static HRESULT WINAPI OleClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv) -{ - IOCS *This = impl_from_IOleClientSite(iface); - return IOCS_QueryInterface(This, riid, ppv); -} - -static ULONG WINAPI OleClientSite_AddRef(IOleClientSite *iface) -{ - IOCS *This = impl_from_IOleClientSite(iface); - return IOCS_AddRef(This); -} - -static ULONG WINAPI OleClientSite_Release(IOleClientSite *iface) -{ - IOCS *This = impl_from_IOleClientSite(iface); - return IOCS_Release(This); -} - static HRESULT WINAPI OleClientSite_SaveObject(IOleClientSite *iface) { IOCS *This = impl_from_IOleClientSite(iface); @@ -221,11 +230,11 @@ return E_NOTIMPL; }
-static HRESULT WINAPI OleClientSite_GetContainer(IOleClientSite *iface, IOleContainer **ppContainer) +static HRESULT WINAPI OleClientSite_GetContainer(IOleClientSite *iface, IOleContainer **container) { IOCS *This = impl_from_IOleClientSite(iface); - TRACE( "(%p, %p)\n", This, ppContainer ); - return OleClientSite_QueryInterface( iface, &IID_IOleContainer, (void**)ppContainer ); + TRACE("(%p, %p)\n", This, container); + return IOleClientSite_QueryInterface(iface, &IID_IOleContainer, (void**)container); }
static HRESULT WINAPI OleClientSite_ShowObject(IOleClientSite *iface) @@ -259,19 +268,19 @@ static HRESULT WINAPI OleContainer_QueryInterface( IOleContainer* iface, REFIID riid, void** ppv) { IOCS *This = impl_from_IOleContainer(iface); - return IOCS_QueryInterface( This, riid, ppv ); + return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv); }
static ULONG WINAPI OleContainer_AddRef(IOleContainer* iface) { IOCS *This = impl_from_IOleContainer(iface); - return IOCS_AddRef(This); + return IOleClientSite_AddRef(&This->IOleClientSite_iface); }
static ULONG WINAPI OleContainer_Release(IOleContainer* iface) { IOCS *This = impl_from_IOleContainer(iface); - return IOCS_Release(This); + return IOleClientSite_Release(&This->IOleClientSite_iface); }
static HRESULT WINAPI OleContainer_ParseDisplayName(IOleContainer* iface, IBindCtx* pbc, @@ -306,19 +315,19 @@ static HRESULT WINAPI OleInPlaceSiteWindowless_QueryInterface(IOleInPlaceSiteWindowless *iface, REFIID riid, void **ppv) { IOCS *This = impl_from_IOleInPlaceSiteWindowless(iface); - return IOCS_QueryInterface(This, riid, ppv); + return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv); }
static ULONG WINAPI OleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless *iface) { IOCS *This = impl_from_IOleInPlaceSiteWindowless(iface); - return IOCS_AddRef(This); + return IOleClientSite_AddRef(&This->IOleClientSite_iface); }
static ULONG WINAPI OleInPlaceSiteWindowless_Release(IOleInPlaceSiteWindowless *iface) { IOCS *This = impl_from_IOleInPlaceSiteWindowless(iface); - return IOCS_Release(This); + return IOleClientSite_Release(&This->IOleClientSite_iface); }
static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindow(IOleInPlaceSiteWindowless* iface, HWND* phwnd) @@ -363,21 +372,22 @@ return S_OK; } static HRESULT WINAPI OleInPlaceSiteWindowless_GetWindowContext(IOleInPlaceSiteWindowless *iface, - IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, + IOleInPlaceFrame **frame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) { IOCS *This = impl_from_IOleInPlaceSiteWindowless(iface);
- TRACE("(%p,%p,%p,%p,%p,%p)\n", This, ppFrame, ppDoc, lprcPosRect, lprcClipRect, lpFrameInfo); + TRACE("(%p,%p,%p,%p,%p,%p)\n", This, frame, ppDoc, lprcPosRect, lprcClipRect, lpFrameInfo);
if ( lprcClipRect ) *lprcClipRect = This->size; if ( lprcPosRect ) *lprcPosRect = This->size;
- if ( ppFrame ) - { - IOCS_QueryInterface( This, &IID_IOleInPlaceFrame, (void**) ppFrame ); + if ( frame ) + { + *frame = &This->IOleInPlaceFrame_iface; + IOleInPlaceFrame_AddRef(*frame); }
if ( ppDoc ) @@ -536,19 +546,19 @@ static HRESULT WINAPI OleInPlaceFrame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, void **ppv) { IOCS *This = impl_from_IOleInPlaceFrame(iface); - return IOCS_QueryInterface(This, riid, ppv); + return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv); }
static ULONG WINAPI OleInPlaceFrame_AddRef(IOleInPlaceFrame *iface) { IOCS *This = impl_from_IOleInPlaceFrame(iface); - return IOCS_AddRef(This); + return IOleClientSite_AddRef(&This->IOleClientSite_iface); }
static ULONG WINAPI OleInPlaceFrame_Release(IOleInPlaceFrame *iface) { IOCS *This = impl_from_IOleInPlaceFrame(iface); - return IOCS_Release(This); + return IOleClientSite_Release(&This->IOleClientSite_iface); }
static HRESULT WINAPI OleInPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phWnd) @@ -659,19 +669,19 @@ static HRESULT WINAPI OleControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv) { IOCS *This = impl_from_IOleControlSite(iface); - return IOCS_QueryInterface(This, riid, ppv); + return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv); }
static ULONG WINAPI OleControlSite_AddRef(IOleControlSite *iface) { IOCS *This = impl_from_IOleControlSite(iface); - return IOCS_AddRef(This); + return IOleClientSite_AddRef(&This->IOleClientSite_iface); }
static ULONG WINAPI OleControlSite_Release(IOleControlSite *iface) { IOCS *This = impl_from_IOleControlSite(iface); - return IOCS_Release(This); + return IOleClientSite_Release(&This->IOleClientSite_iface); }
static HRESULT WINAPI OleControlSite_OnControlInfoChanged( IOleControlSite* This) @@ -794,26 +804,6 @@ OleControlSite_ShowPropertyFrame };
-static HRESULT IOCS_Detach( IOCS *This ) /* remove subclassing */ -{ - if ( This->hWnd ) - { - SetWindowLongPtrW( This->hWnd, GWLP_WNDPROC, (ULONG_PTR) This->OrigWndProc ); - SetWindowLongPtrW( This->hWnd, GWLP_USERDATA, 0 ); - This->hWnd = NULL; - } - if ( This->control ) - { - IOleObject *control = This->control; - - This->control = NULL; - IOleObject_Close( control, OLECLOSE_NOSAVE ); - IOleObject_SetClientSite( control, NULL ); - IOleObject_Release( control ); - } - return S_OK; -} - static void IOCS_OnSize( IOCS* This, LPCRECT rect ) { SIZEL inPix, inHi; @@ -933,12 +923,15 @@ /********************************************************************** * Create new instance of Atl host component and attach it to window * */ -static HRESULT IOCS_Create( HWND hWnd, IUnknown *pUnkControl, IOCS **ppSite ) +static HRESULT IOCS_Create( HWND hWnd, IUnknown *pUnkControl, IUnknown **container ) { HRESULT hr; IOCS *This;
- *ppSite = NULL; + if (!container) + return S_OK; + + *container = NULL; This = HeapAlloc(GetProcessHeap(), 0, sizeof(IOCS));
if (!This) @@ -959,9 +952,12 @@ if ( SUCCEEDED( hr ) ) hr = IOCS_Init( This ); if ( SUCCEEDED( hr ) ) - *ppSite = This; + *container = (IUnknown*)&This->IOleClientSite_iface; else - IOCS_Release( This ); + { + IOCS_Detach( This ); + HeapFree(GetProcessHeap(), 0, This); + }
return hr; } @@ -1086,26 +1082,17 @@ /*********************************************************************** * AtlAxAttachControl [atl100.@] */ -HRESULT WINAPI AtlAxAttachControl(IUnknown* pControl, HWND hWnd, IUnknown** ppUnkContainer) -{ - IOCS *pUnkContainer; +HRESULT WINAPI AtlAxAttachControl(IUnknown *control, HWND hWnd, IUnknown **container) +{ HRESULT hr;
- TRACE( "%p %p %p\n", pControl, hWnd, ppUnkContainer ); - - if (!pControl) + TRACE("(%p %p %p)\n", control, hWnd, container); + + if (!control) return E_INVALIDARG;
- hr = IOCS_Create( hWnd, pControl, &pUnkContainer ); - if ( SUCCEEDED( hr ) && ppUnkContainer) - { - *ppUnkContainer = (IUnknown*) pUnkContainer; - } - - if(!hWnd) - return S_FALSE; - - return hr; + hr = IOCS_Create( hWnd, control, container ); + return hWnd ? hr : S_FALSE; }
/********************************************************************** @@ -1318,13 +1305,13 @@ * AtlAxGetHost [atl100.@] * */ -HRESULT WINAPI AtlAxGetHost(HWND hWnd, IUnknown **pUnk) +HRESULT WINAPI AtlAxGetHost(HWND hWnd, IUnknown **host) { IOCS *This;
- TRACE( "(%p, %p)\n", hWnd, pUnk ); - - *pUnk = NULL; + TRACE("(%p, %p)\n", hWnd, host); + + *host = NULL;
This = (IOCS*) GetWindowLongPtrW( hWnd, GWLP_USERDATA ); if ( !This ) @@ -1333,7 +1320,7 @@ return E_FAIL; }
- return IOCS_QueryInterface( This, &IID_IUnknown, (void**) pUnk ); + return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, &IID_IUnknown, (void**)host); }
/*********************************************************************** @@ -1379,3 +1366,29 @@ FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam); return 0; } + +#if _ATL_VER >= _ATL_VER_80 + +/*********************************************************************** + * AtlAxCreateControlLic [atl100.59] + * + */ +HRESULT WINAPI AtlAxCreateControlLic(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, BSTR lic) +{ + FIXME("(%s %p %p %p %s)\n", debugstr_w(lpTricsData), hwnd, stream, container, debugstr_w(lic)); + return E_NOTIMPL; +} + +/*********************************************************************** + * AtlAxCreateControlLicEx [atl100.60] + * + */ +HRESULT WINAPI AtlAxCreateControlLicEx(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, + IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink, BSTR lic) +{ + FIXME("(%s %p %p %p %p %s %p %s)\n", debugstr_w(lpTricsData), hwnd, stream, container, control, + debugstr_guid(iidSink), punkSink, debugstr_w(lic)); + return E_NOTIMPL; +} + +#endif
Added: trunk/reactos/dll/win32/atl/atl_lib.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl_lib.idl?r... ============================================================================== --- trunk/reactos/dll/win32/atl/atl_lib.idl (added) +++ trunk/reactos/dll/win32/atl/atl_lib.idl [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -0,0 +1,36 @@ +/* + * Copyright 2014 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 + */ + +#pragma makedep regtypelib +#pragma makedep register + +import "atliface.idl"; + +[ + uuid(44ec0535-400f-11d0-9dcd-00a0c90391d3), + version(1.0), + helpstring("ATL 2.0 Type Library") +] +library ATLLib +{ + importlib("stdole2.tlb"); + + interface IDocHostUIHandlerDispatch; + interface IAxWinAmbientDispatch; + interface IAxWinAmbientDispatchEx; +}
Propchange: trunk/reactos/dll/win32/atl/atl_lib.idl ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/atl/atl_lib_r.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl_lib_r.rgs... ============================================================================== --- trunk/reactos/dll/win32/atl/atl_lib_r.rgs (added) +++ trunk/reactos/dll/win32/atl/atl_lib_r.rgs [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -0,0 +1,9 @@ +HKCR +{ + NoRemove Interface + { + } + NoRemove CLSID + { + } +}
Propchange: trunk/reactos/dll/win32/atl/atl_lib_r.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/atl/atl_lib_t.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl_lib_t.rgs... ============================================================================== --- trunk/reactos/dll/win32/atl/atl_lib_t.rgs (added) +++ trunk/reactos/dll/win32/atl/atl_lib_t.rgs [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -0,0 +1,20 @@ +HKCR +{ + NoRemove Typelib + { + NoRemove '{44EC0535-400F-11D0-9DCD-00A0C90391D3}' + { + '1.0' = s 'ATL 2.0 Type Library' + { + '0' { win32 = s '%MODULE%' } + FLAGS = s '0' + } + } + } + NoRemove Interface + { + } + NoRemove CLSID + { + } +}
Propchange: trunk/reactos/dll/win32/atl/atl_lib_t.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/atl/rsrc.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/rsrc.rc?rev=6... ============================================================================== --- trunk/reactos/dll/win32/atl/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/rsrc.rc [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -1 +1,4 @@ 101 REGISTRY "atl.rgs" +1 TYPELIB atl_lib.tlb +1 WINE_REGISTRY "atl_lib_r.rgs" +2 WINE_REGISTRY "atl_lib_t.rgs"
Modified: trunk/reactos/dll/win32/atl100/atl100.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl100/atl100.spe... ============================================================================== --- trunk/reactos/dll/win32/atl100/atl100.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl100/atl100.spec [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -40,8 +40,8 @@ 54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr) 56 stdcall AtlLoadTypeLib(long wstr ptr ptr) 58 stdcall AtlModuleAddTermFunc(ptr ptr long) -59 stub AtlAxCreateControlLic -60 stub AtlAxCreateControlLicEx +59 stdcall AtlAxCreateControlLic(wstr long ptr ptr wstr) +60 stdcall AtlAxCreateControlLicEx(wstr long ptr ptr ptr ptr ptr wstr) 61 stdcall AtlCreateRegistrar(ptr) 62 stub AtlWinModuleRegisterClassExW 63 stub AtlWinModuleRegisterClassExA
Modified: trunk/reactos/dll/win32/atl80/atl80.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl80/atl80.spec?... ============================================================================== --- trunk/reactos/dll/win32/atl80/atl80.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl80/atl80.spec [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -43,8 +43,8 @@ 55 stub AtlUnRegisterTypeLib 56 stdcall AtlLoadTypeLib(long wstr ptr ptr) 58 stdcall AtlModuleAddTermFunc(ptr ptr long) -59 stub AtlAxCreateControlLic -60 stub AtlAxCreateControlLicEx +59 stdcall AtlAxCreateControlLic(wstr long ptr ptr wstr) +60 stdcall AtlAxCreateControlLicEx(wstr long ptr ptr ptr ptr ptr wstr) 61 stdcall AtlCreateRegistrar(ptr) 62 stub AtlWinModuleRegisterClassExW 63 stub AtlWinModuleRegisterClassExA
Added: trunk/reactos/include/reactos/wine/atlcom.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/atlcom... ============================================================================== --- trunk/reactos/include/reactos/wine/atlcom.h (added) +++ trunk/reactos/include/reactos/wine/atlcom.h [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -0,0 +1,50 @@ +/* + * Copyright 2014 Qian Hong 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 + */ + +#ifndef __WINE_ATLCOM_H__ +#define __WINE_ATLCOM_H__ + +#ifndef __WINE_ATLBASE_H__ +# error You must include atlbase.h to use this header +#endif + +typedef struct ATL_PROPMAP_ENTRY +{ + LPCOLESTR szDesc; +#if _ATL_VER < _ATL_VER_100 + DISPID dispid; + const CLSID *pclsidPropPage; + const IID *piidDispatch; +#else + const CLSID *pclsidPropPage; + const IID *piidDispatch; + void *rgclsidAllowed; + DWORD cclsidAllowed; + DISPID dispid; +#endif + DWORD dwOffsetData; + DWORD dwSizeData; + VARTYPE vt; +} ATL_PROPMAP_ENTRY; + +HRESULT WINAPI AtlIPersistStreamInit_Load(IStream*, ATL_PROPMAP_ENTRY*, void*, IUnknown*); +HRESULT WINAPI AtlIPersistStreamInit_Save(IStream*, BOOL, ATL_PROPMAP_ENTRY*, void*, IUnknown*); +HRESULT WINAPI AtlIPersistPropertyBag_Load(IPropertyBag*, IErrorLog*, ATL_PROPMAP_ENTRY*, void*, IUnknown*); +HRESULT WINAPI AtlIPersistPropertyBag_Save(IPropertyBag*, BOOL, BOOL, ATL_PROPMAP_ENTRY*, void*, IUnknown*); + +#endif /* __WINE_ATLCOM_H__ */
Propchange: trunk/reactos/include/reactos/wine/atlcom.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=6... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Sep 26 11:39:07 2014 @@ -51,9 +51,9 @@ reactos/dll/win32/activeds # Synced to Wine-1.7.17 reactos/dll/win32/actxprxy # Synced to Wine-1.7.17 reactos/dll/win32/advpack # Synced to Wine-1.7.27 -reactos/dll/win32/atl # Synced to Wine-1.7.17 -reactos/dll/win32/atl100 # Synced to Wine-1.7.17 -reactos/dll/win32/atl80 # Synced to Wine-1.7.17 +reactos/dll/win32/atl # Synced to Wine-1.7.27 +reactos/dll/win32/atl80 # Synced to Wine-1.7.27 +reactos/dll/win32/atl100 # Synced to Wine-1.7.27 reactos/dll/win32/avifil32 # Synced to Wine-1.7.17 reactos/dll/win32/bcrypt # Synced to Wine-1.7.17 reactos/dll/win32/browseui # Out of sync