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.t…
==============================================================================
--- 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=64…
==============================================================================
--- 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=…
==============================================================================
--- 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?…
==============================================================================
--- 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.rg…
==============================================================================
--- 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.rg…
==============================================================================
--- 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=…
==============================================================================
--- 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.sp…
==============================================================================
--- 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/atlco…
==============================================================================
--- 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=…
==============================================================================
--- 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