ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
September 2014
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
16 participants
413 discussions
Start a n
N
ew thread
[akhaldi] 64310: [ATL][ATL80][ATL100] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
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
10 years, 3 months
1
0
0
0
[akhaldi] 64309: [PSDK] * Update atliface.idl. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 11:28:49 2014 New Revision: 64309 URL:
http://svn.reactos.org/svn/reactos?rev=64309&view=rev
Log: [PSDK] * Update atliface.idl. CORE-8540 Modified: trunk/reactos/include/psdk/atliface.idl Modified: trunk/reactos/include/psdk/atliface.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/atliface.idl?…
============================================================================== --- trunk/reactos/include/psdk/atliface.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/atliface.idl [iso-8859-1] Fri Sep 26 11:28:49 2014 @@ -76,12 +76,146 @@ [in] LPCOLESTR szType); } +[ + object, + uuid(425b5af0-65f1-11d1-9611-0000f81e0d0d) +] +interface IDocHostUIHandlerDispatch : IDispatch +{ + HRESULT ShowContextMenu([in] DWORD id, + [in] LONG x, + [in] LONG y, + [in] IUnknown *unkreserved, + [in] IDispatch *dispreserved, + [out, retval] HRESULT *retval); + HRESULT GetHostInfo([in, out] DWORD *flags, + [in, out] DWORD *doubleclick); + HRESULT ShowUI([in] DWORD id, + [in] IUnknown *activeobject, + [in] IUnknown *cmdtarget, + [in] IUnknown *frame, + [in] IUnknown *doc, + [out, retval] HRESULT *retval); + HRESULT HideUI(); + HRESULT UpdateUI(); + HRESULT EnableModeless([in] VARIANT_BOOL enable); + HRESULT OnDocWindowActivate([in] VARIANT_BOOL activate); + HRESULT OnFrameWindowActivate([in] VARIANT_BOOL activate); + HRESULT ResizeBorder([in] LONG left, + [in] LONG top, + [in] LONG right, + [in] LONG bottom, + [in] IUnknown *window, + [in] VARIANT_BOOL framewindow); + HRESULT TranslateAccelerator([in] HWND hwnd, + [in] UINT msg, + [in] WPARAM wparam, + [in] LPARAM lparam, + [in] BSTR guid_cmd_group, + [out, retval] HRESULT *retval); + HRESULT GetOptionKeyPath([out] BSTR *key, + [in] DWORD reserved); + HRESULT GetDropTarget([in] IUnknown *droptarget, + [out] IUnknown **ret_droptarget); + HRESULT GetExternal([out] IDispatch **disp); + HRESULT TranslateUrl([in] DWORD reserved, + [in] BSTR url, + [out] BSTR *translated_url); + HRESULT FilterDataObject([in] IUnknown *dataobject, + [out] IUnknown **dataobject_ret); +} + +[ + dual, + object, + oleautomation, + uuid(b6ea2051-048a-11d1-82b9-00c04fb9942e) +] +interface IAxWinAmbientDispatch : IDispatch +{ + [propput] + HRESULT AllowWindowlessActivation([in] VARIANT_BOOL allow); + [propget] + HRESULT AllowWindowlessActivation([out, retval] VARIANT_BOOL *allowed); + [propput, id(-701)] + HRESULT BackColor([in] OLE_COLOR color); + [propget, id(-701)] + HRESULT BackColor([out, retval] OLE_COLOR *color); + [propput, id(-704)] + HRESULT ForeColor([in] OLE_COLOR color); + [propget, id(-704)] + HRESULT ForeColor([out, retval] OLE_COLOR *color); + [propput, id(-705)] + HRESULT LocaleID([in] LCID lcid); + [propget, id(-705)] + HRESULT LocaleID([out, retval] LCID *lcid); + [propput, id(-709)] + HRESULT UserMode([in] VARIANT_BOOL mode); + [propget, id(-709)] + HRESULT UserMode([out, retval] VARIANT_BOOL *mode); + [propput, id(-713)] + HRESULT DisplayAsDefault([in] VARIANT_BOOL display); + [propget, id(-713)] + HRESULT DisplayAsDefault([out, retval] VARIANT_BOOL *display); + [propput, id(-703)] + HRESULT Font([in] IFontDisp *font); + [propget, id(-703)] + HRESULT Font([out, retval] IFontDisp **font); + [propput, id(-706)] + HRESULT MessageReflect([in] VARIANT_BOOL reflect); + [propget, id(-706)] + HRESULT MessageReflect([out, retval] VARIANT_BOOL *reflect); + [propget, id(-711)] + HRESULT ShowGrabHandles([out, retval] VARIANT_BOOL *show); + [propget, id(-712)] + HRESULT ShowHatching([out, retval] VARIANT_BOOL *show); + [propput] + HRESULT DocHostFlags([in] DWORD flags); + [propget] + HRESULT DocHostFlags([out, retval] DWORD *flags); + [propput] + HRESULT DocHostDoubleClickFlags([in] DWORD flags); + [propget] + HRESULT DocHostDoubleClickFlags([out, retval] DWORD *flags); + [propput] + HRESULT AllowContextMenu([in] VARIANT_BOOL allow); + [propget] + HRESULT AllowContextMenu([out, retval] VARIANT_BOOL *allow); + [propput] + HRESULT AllowShowUI([in] VARIANT_BOOL allow); + [propget] + HRESULT AllowShowUI([out, retval] VARIANT_BOOL *allow); + [propput] + HRESULT OptionKeyPath([in] BSTR path); + [propget] + HRESULT OptionKeyPath([out, retval] BSTR *path); +} + +[ + dual, + object, + oleautomation, + uuid(b2d0778b-ac99-4c58-a5c8-e7724e5316b5) +] +interface IAxWinAmbientDispatchEx : IAxWinAmbientDispatch +{ + [id(100)] + HRESULT SetAmbientDispatch([in] IDispatch *disp); +} + cpp_quote("DEFINE_GUID(CLSID_Registrar,0x44ec053a,0x400f,0x11d0,0x9d,0xcd,0x00,0xa0,0xc9,0x03,0x91,0xd3);") cpp_quote("HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);") cpp_quote("HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*);") +cpp_quote("HRESULT WINAPI AtlAxCreateControlLic(LPCOLESTR,HWND,IStream*,IUnknown**,BSTR);") +cpp_quote("HRESULT WINAPI AtlAxCreateControlLicEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*,BSTR);") cpp_quote("BOOL WINAPI AtlAxWinInit(void);") +cpp_quote("HRESULT WINAPI AtlAxGetControl(HWND,IUnknown**);") +cpp_quote("HRESULT WINAPI AtlAxGetHost(HWND,IUnknown**);") cpp_quote("HWND WINAPI AtlAxCreateDialogW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);") cpp_quote("HWND WINAPI AtlAxCreateDialogA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);") cpp_quote("#define AtlAxCreateDialog WINELIB_NAME_AW(AtlAxCreateDialog)") +cpp_quote("INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);") +cpp_quote("INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);") +cpp_quote("#define AtlAxDialogBox WINELIB_NAME_AW(AtlAxDialogBox)")
10 years, 3 months
1
0
0
0
[akhaldi] 64308: [ADVPACK] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 10:23:40 2014 New Revision: 64308 URL:
http://svn.reactos.org/svn/reactos?rev=64308&view=rev
Log: [ADVPACK] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/dll/win32/advpack/advpack.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/advpack/advpack.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.…
============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/advpack.c [iso-8859-1] Fri Sep 26 10:23:40 2014 @@ -194,19 +194,6 @@ } /*********************************************************************** - * DllMain (ADVPACK.@) - */ -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) -{ - TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); - - if (fdwReason == DLL_PROCESS_ATTACH) - DisableThreadLibraryCalls(hinstDLL); - - return TRUE; -} - -/*********************************************************************** * IsNTAdmin (ADVPACK.@) * * Checks if the user has admin privileges. 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 10:23:40 2014 @@ -50,7 +50,7 @@ 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.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
10 years, 3 months
1
0
0
0
[akhaldi] 64307: [README.WINE] * Mark the rest of DX related dlls as synced with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:53:24 2014 New Revision: 64307 URL:
http://svn.reactos.org/svn/reactos?rev=64307&view=rev
Log: [README.WINE] * Mark the rest of DX related dlls as synced with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/media/doc/README.WINE 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 09:53:24 2014 @@ -38,12 +38,12 @@ reactos/dll/directx/wine/dinput # Synced to Wine-1.7.27 reactos/dll/directx/wine/dinput8 # Synced to Wine-1.7.27 reactos/dll/directx/wine/dmusic # Synced to Wine-1.7.27 -reactos/dll/directx/wine/dplay # Synced to Wine-1.7.17 +reactos/dll/directx/wine/dplay # Synced to Wine-1.7.27 reactos/dll/directx/wine/dplayx # Synced to Wine-1.7.27 reactos/dll/directx/wine/dsound # Synced to Wine-1.5.26 -reactos/dll/directx/wine/dxdiagn # Synced to Wine-1.7.17 +reactos/dll/directx/wine/dxdiagn # Synced to Wine-1.7.27 reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.27 -reactos/dll/directx/wine/msdmo # Synced to Wine-1.7.17 +reactos/dll/directx/wine/msdmo # Synced to Wine-1.7.27 reactos/dll/directx/wine/qedit # Synced to Wine-1.7.27 reactos/dll/directx/wine/quartz # Synced to Wine-1.7.27 reactos/dll/directx/wine/wined3d # Synced to Wine-1.7.27
10 years, 3 months
1
0
0
0
[akhaldi] 64306: [QUARTZ_WINETEST] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:51:20 2014 New Revision: 64306 URL:
http://svn.reactos.org/svn/reactos?rev=64306&view=rev
Log: [QUARTZ_WINETEST] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/rostests/winetests/quartz/filtergraph.c trunk/rostests/winetests/quartz/filtermapper.c trunk/rostests/winetests/quartz/referenceclock.c Modified: trunk/rostests/winetests/quartz/filtergraph.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/quartz/filtergr…
============================================================================== --- trunk/rostests/winetests/quartz/filtergraph.c [iso-8859-1] (original) +++ trunk/rostests/winetests/quartz/filtergraph.c [iso-8859-1] Fri Sep 26 09:51:20 2014 @@ -1847,17 +1847,17 @@ get_connected_filter_name(ptestfilter, ConnectedFilterName1); ok(!strcmp(ConnectedFilterName1, "TestfilterInstance3"), "unexpected connected filter: %s\n", ConnectedFilterName1); - } - - hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, - &CLSID_TestFilter2); - ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); - hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, - &CLSID_TestFilter3); - ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); - hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, - &CLSID_TestFilter4); - ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + + hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, + &CLSID_TestFilter2); + ok(hr == S_OK, "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, + &CLSID_TestFilter3); + ok(hr == S_OK, "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + hr = IFilterMapper2_UnregisterFilter(pMapper2, &CLSID_LegacyAmFilterCategory, NULL, + &CLSID_TestFilter4); + ok(hr == S_OK, "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + } out: @@ -1877,7 +1877,6 @@ START_TEST(filtergraph) { HRESULT hr; - CoInitializeEx(NULL, COINIT_MULTITHREADED); hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, &IID_IGraphBuilder, (LPVOID*)&pgraph); @@ -1885,6 +1884,7 @@ skip("Creating filtergraph returned %08x, skipping tests\n", hr); return; } + IGraphBuilder_Release(pgraph); test_render_run(avifile); test_render_run(mpegfile); test_graph_builder(); Modified: trunk/rostests/winetests/quartz/filtermapper.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/quartz/filterma…
============================================================================== --- trunk/rostests/winetests/quartz/filtermapper.c [iso-8859-1] (original) +++ trunk/rostests/winetests/quartz/filtermapper.c [iso-8859-1] Fri Sep 26 09:51:20 2014 @@ -62,7 +62,7 @@ { CHAR val1[512], val2[512]; - WideCharToMultiByte(CP_ACP, 0, V_UNION(&var, bstrVal), -1, val1, sizeof(val1), 0, 0); + WideCharToMultiByte(CP_ACP, 0, V_BSTR(&var), -1, val1, sizeof(val1), 0, 0); WideCharToMultiByte(CP_ACP, 0, wszFilterName, -1, val2, sizeof(val2), 0, 0); if (!lstrcmpA(val1, val2)) found = TRUE; } @@ -87,7 +87,7 @@ CLSID clsidFilter1; CLSID clsidFilter2; IEnumMoniker *pEnum = NULL; - BOOL found; + BOOL found, registered = TRUE; ZeroMemory(&rgf2, sizeof(rgf2)); @@ -121,7 +121,10 @@ hr = IFilterMapper2_RegisterFilter(pMapper, &clsidFilter1, wszFilterName1, NULL, &CLSID_LegacyAmFilterCategory, NULL, &rgf2); if (hr == E_ACCESSDENIED) + { + registered = FALSE; skip("Not authorized to register filters\n"); + } else { ok(hr == S_OK, "IFilterMapper2_RegisterFilter failed with %x\n", hr); @@ -192,13 +195,16 @@ ok(!found, "EnumMatchingFilters should not return the test filter 2\n"); } - hr = IFilterMapper2_UnregisterFilter(pMapper, &CLSID_LegacyAmFilterCategory, NULL, - &clsidFilter1); - ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); - - hr = IFilterMapper2_UnregisterFilter(pMapper, &CLSID_LegacyAmFilterCategory, NULL, - &clsidFilter2); - ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + if (registered) + { + hr = IFilterMapper2_UnregisterFilter(pMapper, &CLSID_LegacyAmFilterCategory, NULL, + &clsidFilter1); + ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + + hr = IFilterMapper2_UnregisterFilter(pMapper, &CLSID_LegacyAmFilterCategory, NULL, + &clsidFilter2); + ok(SUCCEEDED(hr), "IFilterMapper2_UnregisterFilter failed with %x\n", hr); + } out: Modified: trunk/rostests/winetests/quartz/referenceclock.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/quartz/referenc…
============================================================================== --- trunk/rostests/winetests/quartz/referenceclock.c [iso-8859-1] (original) +++ trunk/rostests/winetests/quartz/referenceclock.c [iso-8859-1] Fri Sep 26 09:51:20 2014 @@ -28,19 +28,21 @@ static void test_IReferenceClock_query_interface(const char * clockdesc, IReferenceClock * pClock) { HRESULT hr; - IUnknown *pF; + void *pF; - hr = IReferenceClock_QueryInterface(pClock, &IID_IUnknown, (LPVOID *)&pF); + hr = IReferenceClock_QueryInterface(pClock, &IID_IUnknown, &pF); ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr); ok(pF != NULL, "pF is NULL\n"); + if (SUCCEEDED(hr)) IUnknown_Release((IUnknown *)pF); - hr = IReferenceClock_QueryInterface(pClock, &IID_IDirectDraw, (LPVOID *)&pF); + hr = IReferenceClock_QueryInterface(pClock, &IID_IDirectDraw, &pF); ok(hr == E_NOINTERFACE, "IReferenceClock_QueryInterface returned %x\n", hr); ok(pF == NULL, "pF is not NULL\n"); - hr = IReferenceClock_QueryInterface(pClock, &IID_IReferenceClock, (LPVOID *)&pF); + hr = IReferenceClock_QueryInterface(pClock, &IID_IReferenceClock, &pF); ok(hr == S_OK, "IReferenceClock_QueryInterface returned %x\n", hr); ok(pF != NULL, "pF is NULL\n"); + if (SUCCEEDED(hr)) IReferenceClock_Release((IReferenceClock *)pF); } /* The following method expects a reference clock that will keep ticking for
10 years, 3 months
1
0
0
0
[akhaldi] 64305: [QUARTZ] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:51:00 2014 New Revision: 64305 URL:
http://svn.reactos.org/svn/reactos?rev=64305&view=rev
Log: [QUARTZ] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/dll/directx/wine/quartz/avisplit.c trunk/reactos/dll/directx/wine/quartz/dsoundrender.c trunk/reactos/dll/directx/wine/quartz/filesource.c trunk/reactos/dll/directx/wine/quartz/filtergraph.c trunk/reactos/dll/directx/wine/quartz/filtermapper.c trunk/reactos/dll/directx/wine/quartz/parser.c trunk/reactos/dll/directx/wine/quartz/regsvr.c trunk/reactos/dll/directx/wine/quartz/videorenderer.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/directx/wine/quartz/avisplit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/av…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/avisplit.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/avisplit.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -134,6 +134,7 @@ PullPin *pin = This->Parser.pInputPin; IMediaSample *sample = NULL; HRESULT hr; + ULONG ref; TRACE("(%p, %u)->()\n", This, streamnumber); @@ -247,7 +248,10 @@ hr = IAsyncReader_Request(pin->pReader, sample, streamnumber); if (FAILED(hr)) - assert(IMediaSample_Release(sample) == 0); + { + ref = IMediaSample_Release(sample); + assert(ref == 0); + } } else { @@ -261,7 +265,8 @@ if (sample) { ERR("There should be no sample!\n"); - assert(IMediaSample_Release(sample) == 0); + ref = IMediaSample_Release(sample); + assert(ref == 0); } } TRACE("--> %08x\n", hr); @@ -493,8 +498,8 @@ static HRESULT AVISplitter_done_process(LPVOID iface) { AVISplitterImpl *This = iface; - DWORD x; + ULONG ref; for (x = 0; x < This->Parser.cStreams; ++x) { @@ -508,7 +513,10 @@ stream->thread = NULL; if (stream->sample) - assert(IMediaSample_Release(stream->sample) == 0); + { + ref = IMediaSample_Release(stream->sample); + assert(ref == 0); + } stream->sample = NULL; ResetEvent(stream->packet_queued); @@ -1202,6 +1210,7 @@ { AVISplitterImpl *This = iface; DWORD x; + ULONG ref; TRACE("(%p)->()\n", This); @@ -1210,7 +1219,10 @@ StreamData *stream = This->streams + x; if (stream->sample) - assert(IMediaSample_Release(stream->sample) == 0); + { + ref = IMediaSample_Release(stream->sample); + assert(ref == 0); + } stream->sample = NULL; ResetEvent(stream->packet_queued); Modified: trunk/reactos/dll/directx/wine/quartz/dsoundrender.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/ds…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/dsoundrender.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/dsoundrender.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -225,7 +225,7 @@ static HRESULT DSoundRender_HandleEndOfStream(DSoundRenderImpl *This) { - while (1) + while (This->renderer.filter.state == State_Running) { DWORD pos1, pos2; DSoundRender_UpdatePositions(This, &pos1, &pos2); @@ -236,8 +236,8 @@ LeaveCriticalSection(&This->renderer.filter.csFilter); LeaveCriticalSection(&This->renderer.csRenderLock); WaitForSingleObject(This->blocked, 10); + EnterCriticalSection(&This->renderer.csRenderLock); EnterCriticalSection(&This->renderer.filter.csFilter); - EnterCriticalSection(&This->renderer.csRenderLock); This->in_loop = 0; } Modified: trunk/reactos/dll/directx/wine/quartz/filesource.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/fi…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/filesource.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/filesource.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -834,7 +834,7 @@ CloseHandle(This->hFile); This->csList.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&This->csList); - CoTaskMemFree(This); + BaseOutputPin_Destroy(&This->pin); return 0; } return refCount; Modified: trunk/reactos/dll/directx/wine/quartz/filtergraph.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/fi…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/filtergraph.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/filtergraph.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -801,7 +801,7 @@ hr = IPropertyBag_Read(pPropBagCat, wszFriendlyName, pvar, NULL); if (SUCCEEDED(hr)) - TRACE("Moniker = %s\n", debugstr_w(V_UNION(pvar, bstrVal))); + TRACE("Moniker = %s\n", debugstr_w(V_BSTR(pvar))); if (pPropBagCat) IPropertyBag_Release(pPropBagCat); @@ -1050,7 +1050,7 @@ } } - hr = IFilterGraph2_AddFilter(iface, pfilter, V_UNION(&var, bstrVal)); + hr = IFilterGraph2_AddFilter(iface, pfilter, V_BSTR(&var)); if (FAILED(hr)) { WARN("Unable to add filter (%x)\n", hr); IBaseFilter_Release(pfilter); @@ -1384,7 +1384,7 @@ goto error; } - hr = IFilterGraph2_AddFilter(iface, pfilter, V_UNION(&var, bstrVal)); + hr = IFilterGraph2_AddFilter(iface, pfilter, V_BSTR(&var)); if (FAILED(hr)) { WARN("Unable to add filter (%x)\n", hr); IBaseFilter_Release(pfilter); @@ -1424,10 +1424,10 @@ IPin_Release(ppinfilter); if (FAILED(hr)) { - WARN("Unable to connect %s to renderer (%x)\n", debugstr_w(V_UNION(&var, bstrVal)), hr); + WARN("Unable to connect %s to renderer (%x)\n", debugstr_w(V_BSTR(&var)), hr); goto error; } - TRACE("Connected, recursing %s\n", debugstr_w(V_UNION(&var, bstrVal))); + TRACE("Connected, recursing %s\n", debugstr_w(V_BSTR(&var))); VariantClear(&var); Modified: trunk/reactos/dll/directx/wine/quartz/filtermapper.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/fi…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/filtermapper.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/filtermapper.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -348,7 +348,7 @@ BSTR value; V_VT(&var) = VT_BSTR; - V_UNION(&var, bstrVal) = value = SysAllocString(szName); + V_BSTR(&var) = value = SysAllocString(szName); ret = IPropertyBag_Write(pPropBag, wszFriendlyName, &var); SysFreeString(value); @@ -367,7 +367,7 @@ if (SUCCEEDED(hr)) { V_VT(&var) = VT_BSTR; - V_UNION(&var, bstrVal) = wszClsid; + V_BSTR(&var) = wszClsid; hr = IPropertyBag_Write(pPropBag, wszClsidName, &var); } CoTaskMemFree(wszClsid); @@ -779,7 +779,7 @@ } V_VT(&var) = VT_ARRAY | VT_UI1; - V_UNION(&var, parray) = psa; + V_ARRAY(&var) = psa; if (SUCCEEDED(hr)) hr = IPropertyBag_Write(pPropBag, wszFilterDataName, &var); @@ -928,7 +928,7 @@ if (SUCCEEDED(hrSub)) hrSub = IPropertyBag_Read(pPropBagCat, wszMeritName, &var, NULL); - if (SUCCEEDED(hrSub) && (V_UNION(&var, ulVal) >= dwMerit)) + if (SUCCEEDED(hrSub) && (V_UI4(&var) >= dwMerit)) { CLSID clsidCat; IEnumMoniker * pEnum; @@ -941,14 +941,14 @@ VARIANT temp; V_VT(&temp) = VT_EMPTY; IPropertyBag_Read(pPropBagCat, wszFriendlyName, &temp, NULL); - TRACE("Considering category %s\n", debugstr_w(V_UNION(&temp, bstrVal))); + TRACE("Considering category %s\n", debugstr_w(V_BSTR(&temp))); VariantClear(&temp); } hrSub = IPropertyBag_Read(pPropBagCat, wszClsidName, &var, NULL); if (SUCCEEDED(hrSub)) - hrSub = CLSIDFromString(V_UNION(&var, bstrVal), &clsidCat); + hrSub = CLSIDFromString(V_BSTR(&var), &clsidCat); if (SUCCEEDED(hrSub)) hrSub = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum, &clsidCat, &pEnum, 0); @@ -975,7 +975,7 @@ VARIANT temp; V_VT(&temp) = VT_EMPTY; IPropertyBag_Read(pPropBag, wszFriendlyName, &temp, NULL); - TRACE("Considering filter %s\n", debugstr_w(V_UNION(&temp, bstrVal))); + TRACE("Considering filter %s\n", debugstr_w(V_BSTR(&temp))); VariantClear(&temp); } @@ -985,13 +985,13 @@ } if (SUCCEEDED(hrSub)) - hrSub = SafeArrayAccessData(V_UNION(&var, parray), (LPVOID*)&pData); + hrSub = SafeArrayAccessData(V_ARRAY(&var), (LPVOID*)&pData); if (SUCCEEDED(hrSub)) hrSub = FM2_ReadFilterData(pData, &rf2); if (pData) - SafeArrayUnaccessData(V_UNION(&var, parray)); + SafeArrayUnaccessData(V_ARRAY(&var)); VariantClear(&var); @@ -1165,7 +1165,7 @@ if (FAILED(hr)) return hr; - + while(IEnumMoniker_Next(ppEnumMoniker, 1, &IMon, &nb) == S_OK) { IMoniker_Release(IMon); @@ -1185,7 +1185,7 @@ return E_OUTOFMEMORY; } ZeroMemory(regfilters, nb_mon * sizeof(REGFILTER)); /* will prevent bad free of Name in case of error. */ - + IEnumMoniker_Reset(ppEnumMoniker); while(IEnumMoniker_Next(ppEnumMoniker, 1, &IMon, &nb) == S_OK) { @@ -1203,7 +1203,7 @@ hrSub = IPropertyBag_Read(pPropBagCat, wszClsidName, &var, NULL); if (SUCCEEDED(hrSub)) - hrSub = CLSIDFromString(V_UNION(&var, bstrVal), &clsid); + hrSub = CLSIDFromString(V_BSTR(&var), &clsid); VariantClear(&var); @@ -1212,14 +1212,14 @@ if (SUCCEEDED(hrSub)) { - len = (strlenW(V_UNION(&var, bstrVal))+1) * sizeof(WCHAR); + len = (strlenW(V_BSTR(&var))+1) * sizeof(WCHAR); if (!(regfilters[idx].Name = CoTaskMemAlloc(len*2))) hr = E_OUTOFMEMORY; } if (SUCCEEDED(hrSub) && regfilters[idx].Name) { - memcpy(regfilters[idx].Name, V_UNION(&var, bstrVal), len); + memcpy(regfilters[idx].Name, V_BSTR(&var), len); regfilters[idx].Clsid = clsid; idx++; } @@ -1239,7 +1239,7 @@ CoTaskMemFree(regfilters[idx].Name); CoTaskMemFree(regfilters); IEnumMoniker_Release(ppEnumMoniker); - + return hr; } @@ -1260,7 +1260,7 @@ { strcpyW(wszKeyName, wszFilterSlash); strcatW(wszKeyName, wszClsid); - + lRet = RegCreateKeyExW(HKEY_CLASSES_ROOT, wszKeyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL); hr = HRESULT_FROM_WIN32(lRet); } @@ -1276,7 +1276,7 @@ { strcpyW(wszKeyName, wszClsidSlash); strcatW(wszKeyName, wszClsid); - + lRet = RegCreateKeyExW(HKEY_CLASSES_ROOT, wszKeyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL); hr = HRESULT_FROM_WIN32(lRet); } @@ -1287,7 +1287,7 @@ hr = HRESULT_FROM_WIN32(lRet); RegCloseKey(hKey); } - + CoTaskMemFree(wszClsid); return hr; @@ -1347,7 +1347,7 @@ strcpyW(wszPinsKeyName, wszPins); strcatW(wszPinsKeyName, wszSlash); strcatW(wszPinsKeyName, szName); - + lRet = RegCreateKeyExW(hKey, wszPinsKeyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hPinsKey, NULL); hr = HRESULT_FROM_WIN32(lRet); CoTaskMemFree(wszPinsKeyName); Modified: trunk/reactos/dll/directx/wine/quartz/parser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/pa…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/parser.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/parser.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -156,6 +156,7 @@ { IPin *connected = NULL; ULONG pinref; + HRESULT hr; assert(!This->filter.refCount); PullPin_WaitForStateChange(This->pInputPin, INFINITE); @@ -164,9 +165,11 @@ IPin_ConnectedTo(&This->pInputPin->pin.IPin_iface, &connected); if (connected) { - assert(IPin_Disconnect(connected) == S_OK); + hr = IPin_Disconnect(connected); + assert(hr == S_OK); IPin_Release(connected); - assert(IPin_Disconnect(&This->pInputPin->pin.IPin_iface) == S_OK); + hr = IPin_Disconnect(&This->pInputPin->pin.IPin_iface); + assert(hr == S_OK); } pinref = IPin_Release(&This->pInputPin->pin.IPin_iface); if (pinref) Modified: trunk/reactos/dll/directx/wine/quartz/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/re…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/regsvr.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/regsvr.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -592,7 +592,7 @@ if (list->pins[i].mediatypes[j].subtype) memcpy(lpClsid + j*2 + 1, list->pins[i].mediatypes[j].subtype, sizeof(CLSID)); else { - /* Subtype are often a combination of major type + fourcc/tag */ + /* Subtypes are often a combination of major type + fourcc/tag */ memcpy(lpClsid + j*2 + 1, list->pins[i].mediatypes[j].majortype, sizeof(CLSID)); *(DWORD*)(lpClsid + j*2 + 1) = list->pins[i].mediatypes[j].fourcc; } Modified: trunk/reactos/dll/directx/wine/quartz/videorenderer.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/quartz/vi…
============================================================================== --- trunk/reactos/dll/directx/wine/quartz/videorenderer.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/quartz/videorenderer.c [iso-8859-1] Fri Sep 26 09:51:00 2014 @@ -352,11 +352,11 @@ if (This->renderer.pMediaSample) { ResetEvent(This->hEvent); LeaveCriticalSection(iface->pInputPin->pin.pCritSec); + LeaveCriticalSection(&iface->filter.csFilter); LeaveCriticalSection(&iface->csRenderLock); - LeaveCriticalSection(&iface->filter.csFilter); WaitForSingleObject(This->hEvent, INFINITE); + EnterCriticalSection(&iface->csRenderLock); EnterCriticalSection(&iface->filter.csFilter); - EnterCriticalSection(&iface->csRenderLock); EnterCriticalSection(iface->pInputPin->pin.pCritSec); } if (This->renderer.filter.state == State_Paused) { 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 09:51:00 2014 @@ -45,7 +45,7 @@ reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.27 reactos/dll/directx/wine/msdmo # Synced to Wine-1.7.17 reactos/dll/directx/wine/qedit # Synced to Wine-1.7.27 -reactos/dll/directx/wine/quartz # Synced to Wine-1.7.17 +reactos/dll/directx/wine/quartz # Synced to Wine-1.7.27 reactos/dll/directx/wine/wined3d # Synced to Wine-1.7.27 reactos/dll/win32/activeds # Synced to Wine-1.7.17
10 years, 3 months
1
0
0
0
[ekohl] 64304: [UMPNPMGR] Use the stdcall calling convention for the PNP_* functions and export the missing functions.
by ekohl@svn.reactos.org
Author: ekohl Date: Fri Sep 26 09:47:02 2014 New Revision: 64304 URL:
http://svn.reactos.org/svn/reactos?rev=64304&view=rev
Log: [UMPNPMGR] Use the stdcall calling convention for the PNP_* functions and export the missing functions. Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c trunk/reactos/base/services/umpnpmgr/umpnpmgr.spec trunk/reactos/include/reactos/idl/pnp.idl Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/ump…
============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Fri Sep 26 09:47:02 2014 @@ -179,7 +179,9 @@ /* Function 0 */ -DWORD PNP_Disconnect( +DWORD +WINAPI +PNP_Disconnect( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -188,7 +190,9 @@ /* Function 1 */ -DWORD PNP_Connect( +DWORD +WINAPI +PNP_Connect( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -197,7 +201,9 @@ /* Function 2 */ -DWORD PNP_GetVersion( +DWORD +WINAPI +PNP_GetVersion( handle_t hBinding, WORD *pVersion) { @@ -209,7 +215,9 @@ /* Function 3 */ -DWORD PNP_GetGlobalState( +DWORD +WINAPI +PNP_GetGlobalState( handle_t hBinding, DWORD *pulState, DWORD ulFlags) @@ -223,7 +231,9 @@ /* Function 4 */ -DWORD PNP_InitDetection( +DWORD +WINAPI +PNP_InitDetection( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -234,7 +244,9 @@ /* Function 5 */ -DWORD PNP_ReportLogOn( +DWORD +WINAPI +PNP_ReportLogOn( handle_t hBinding, BOOL Admin, DWORD ProcessId) @@ -283,7 +295,9 @@ /* Function 6 */ -DWORD PNP_ValidateDeviceInstance( +DWORD +WINAPI +PNP_ValidateDeviceInstance( handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags) @@ -321,7 +335,9 @@ /* Function 7 */ -DWORD PNP_GetRootDeviceInstance( +DWORD +WINAPI +PNP_GetRootDeviceInstance( handle_t hBinding, LPWSTR pDeviceID, PNP_RPC_STRING_LEN ulLength) @@ -354,7 +370,9 @@ /* Function 8 */ -DWORD PNP_GetRelatedDeviceInstance( +DWORD +WINAPI +PNP_GetRelatedDeviceInstance( handle_t hBinding, DWORD ulRelationship, LPWSTR pDeviceID, @@ -400,7 +418,9 @@ /* Function 9 */ -DWORD PNP_EnumerateSubKeys( +DWORD +WINAPI +PNP_EnumerateSubKeys( handle_t hBinding, DWORD ulBranch, DWORD ulIndex, @@ -457,7 +477,9 @@ /* Function 10 */ -DWORD PNP_GetDeviceList( +DWORD +WINAPI +PNP_GetDeviceList( handle_t hBinding, LPWSTR pszFilter, LPWSTR Buffer, @@ -470,7 +492,9 @@ /* Function 11 */ -DWORD PNP_GetDeviceListSize( +DWORD +WINAPI +PNP_GetDeviceListSize( handle_t hBinding, LPWSTR pszFilter, PNP_RPC_BUFFER_SIZE *pulLen, @@ -482,7 +506,9 @@ /* Function 12 */ -DWORD PNP_GetDepth( +DWORD +WINAPI +PNP_GetDepth( handle_t hBinding, LPWSTR pszDeviceID, DWORD *pulDepth, @@ -519,7 +545,9 @@ /* Function 13 */ -DWORD PNP_GetDeviceRegProp( +DWORD +WINAPI +PNP_GetDeviceRegProp( handle_t hBinding, LPWSTR pDeviceID, DWORD ulProperty, @@ -838,7 +866,9 @@ /* Function 14 */ -DWORD PNP_SetDeviceRegProp( +DWORD +WINAPI +PNP_SetDeviceRegProp( handle_t hBinding, LPWSTR pDeviceId, DWORD ulProperty, @@ -978,7 +1008,9 @@ /* Function 15 */ -DWORD PNP_GetClassInstance( +DWORD +WINAPI +PNP_GetClassInstance( handle_t hBinding, LPWSTR pDeviceId, LPWSTR pszClassInstance, @@ -990,7 +1022,9 @@ /* Function 16 */ -DWORD PNP_CreateKey( +DWORD +WINAPI +PNP_CreateKey( handle_t hBinding, LPWSTR pszSubKey, DWORD samDesired, @@ -1018,7 +1052,9 @@ /* Function 17 */ -DWORD PNP_DeleteRegistryKey( +DWORD +WINAPI +PNP_DeleteRegistryKey( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentKey, @@ -1031,7 +1067,9 @@ /* Function 18 */ -DWORD PNP_GetClassCount( +DWORD +WINAPI +PNP_GetClassCount( handle_t hBinding, DWORD *pulClassCount, DWORD ulFlags) @@ -1071,7 +1109,9 @@ /* Function 19 */ -DWORD PNP_GetClassName( +DWORD +WINAPI +PNP_GetClassName( handle_t hBinding, LPWSTR pszClassGuid, LPWSTR Buffer, @@ -1125,7 +1165,9 @@ /* Function 20 */ -DWORD PNP_DeleteClassKey( +DWORD +WINAPI +PNP_DeleteClassKey( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulFlags) @@ -1154,7 +1196,9 @@ /* Function 21 */ -DWORD PNP_GetInterfaceDeviceAlias( +DWORD +WINAPI +PNP_GetInterfaceDeviceAlias( handle_t hBinding, LPWSTR pszInterfaceDevice, GUID *AliasInterfaceGuid, @@ -1169,7 +1213,9 @@ /* Function 22 */ -DWORD PNP_GetInterfaceDeviceList( +DWORD +WINAPI +PNP_GetInterfaceDeviceList( handle_t hBinding, GUID *InterfaceGuid, LPWSTR pszDeviceID, @@ -1183,7 +1229,9 @@ /* Function 23 */ -DWORD PNP_GetInterfaceDeviceListSize( +DWORD +WINAPI +PNP_GetInterfaceDeviceListSize( handle_t hBinding, PNP_RPC_BUFFER_SIZE *pulLen, GUID *InterfaceGuid, @@ -1196,7 +1244,9 @@ /* Function 24 */ -DWORD PNP_RegisterDeviceClassAssociation( +DWORD +WINAPI +PNP_RegisterDeviceClassAssociation( handle_t hBinding, LPWSTR pszDeviceID, GUID *InterfaceGuid, @@ -1212,7 +1262,9 @@ /* Function 25 */ -DWORD PNP_UnregisterDeviceClassAssociation( +DWORD +WINAPI +PNP_UnregisterDeviceClassAssociation( handle_t hBinding, LPWSTR pszInterfaceDevice, DWORD ulFlags) @@ -1223,7 +1275,9 @@ /* Function 26 */ -DWORD PNP_GetClassRegProp( +DWORD +WINAPI +PNP_GetClassRegProp( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulProperty, @@ -1345,7 +1399,9 @@ /* Function 27 */ -DWORD PNP_SetClassRegProp( +DWORD +WINAPI +PNP_SetClassRegProp( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulProperty, @@ -1596,7 +1652,9 @@ /* Function 28 */ -DWORD PNP_CreateDevInst( +DWORD +WINAPI +PNP_CreateDevInst( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentDeviceID, @@ -1708,7 +1766,9 @@ /* Function 29 */ -DWORD PNP_DeviceInstanceAction( +DWORD +WINAPI +PNP_DeviceInstanceAction( handle_t hBinding, DWORD ulAction, DWORD ulFlags, @@ -1757,7 +1817,9 @@ /* Function 30 */ -DWORD PNP_GetDeviceStatus( +DWORD +WINAPI +PNP_GetDeviceStatus( handle_t hBinding, LPWSTR pDeviceID, DWORD *pulStatus, @@ -1797,7 +1859,9 @@ /* Function 31 */ -DWORD PNP_SetDeviceProblem( +DWORD +WINAPI +PNP_SetDeviceProblem( handle_t hBinding, LPWSTR pDeviceID, DWORD ulProblem, @@ -1809,7 +1873,9 @@ /* Function 32 */ -DWORD PNP_DisableDevInst( +DWORD +WINAPI +PNP_DisableDevInst( handle_t hBinding, LPWSTR pDeviceID, PPNP_VETO_TYPE pVetoType, @@ -1822,7 +1888,9 @@ } /* Function 33 */ -DWORD PNP_UninstallDevInst( +DWORD +WINAPI +PNP_UninstallDevInst( handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags) @@ -1875,7 +1943,9 @@ /* Function 34 */ -DWORD PNP_AddID( +DWORD +WINAPI +PNP_AddID( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszID, @@ -1982,7 +2052,9 @@ /* Function 35 */ -DWORD PNP_RegisterDriver( +DWORD +WINAPI +PNP_RegisterDriver( handle_t hBinding, LPWSTR pszDeviceID, DWORD ulFlags) @@ -1993,7 +2065,9 @@ /* Function 36 */ -DWORD PNP_QueryRemove( +DWORD +WINAPI +PNP_QueryRemove( handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, @@ -2007,7 +2081,9 @@ /* Function 37 */ -DWORD PNP_RequestDeviceEject( +DWORD +WINAPI +PNP_RequestDeviceEject( handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, @@ -2019,10 +2095,13 @@ return CR_CALL_NOT_IMPLEMENTED; } + /* Function 38 */ CONFIGRET -PNP_IsDockStationPresent(handle_t hBinding, - BOOL *Present) +WINAPI +PNP_IsDockStationPresent( + handle_t hBinding, + BOOL *Present) { HKEY hKey; DWORD dwType; @@ -2073,7 +2152,9 @@ /* Function 39 */ -DWORD PNP_RequestEjectPC( +DWORD +WINAPI +PNP_RequestEjectPC( handle_t hBinding) { UNIMPLEMENTED; @@ -2082,7 +2163,9 @@ /* Function 40 */ -DWORD PNP_HwProfFlags( +DWORD +WINAPI +PNP_HwProfFlags( handle_t hBinding, DWORD ulAction, LPWSTR pDeviceID, @@ -2161,7 +2244,9 @@ /* Function 41 */ -DWORD PNP_GetHwProfInfo( +DWORD +WINAPI +PNP_GetHwProfInfo( handle_t hBinding, DWORD ulIndex, HWPROFILEINFO *pHWProfileInfo, @@ -2294,7 +2379,9 @@ /* Function 42 */ -DWORD PNP_AddEmptyLogConf( +DWORD +WINAPI +PNP_AddEmptyLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulPriority, @@ -2307,7 +2394,9 @@ /* Function 43 */ -DWORD PNP_FreeLogConf( +DWORD +WINAPI +PNP_FreeLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2320,7 +2409,9 @@ /* Function 44 */ -DWORD PNP_GetFirstLogConf( +DWORD +WINAPI +PNP_GetFirstLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2333,7 +2424,9 @@ /* Function 45 */ -DWORD PNP_GetNextLogConf( +DWORD +WINAPI +PNP_GetNextLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2347,7 +2440,9 @@ /* Function 46 */ -DWORD PNP_GetLogConfPriority( +DWORD +WINAPI +PNP_GetLogConfPriority( handle_t hBinding, LPWSTR pDeviceID, DWORD ulType, @@ -2361,7 +2456,9 @@ /* Function 47 */ -DWORD PNP_AddResDes( +DWORD +WINAPI +PNP_AddResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2378,7 +2475,9 @@ /* Function 48 */ -DWORD PNP_FreeResDes( +DWORD +WINAPI +PNP_FreeResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2395,7 +2494,9 @@ /* Function 49 */ -DWORD PNP_GetNextResDes( +DWORD +WINAPI +PNP_GetNextResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2412,7 +2513,9 @@ /* Function 50 */ -DWORD PNP_GetResDesData( +DWORD +WINAPI +PNP_GetResDesData( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2429,7 +2532,9 @@ /* Function 51 */ -DWORD PNP_GetResDesDataSize( +DWORD +WINAPI +PNP_GetResDesDataSize( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2445,7 +2550,9 @@ /* Function 52 */ -DWORD PNP_ModifyResDes( +DWORD +WINAPI +PNP_ModifyResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2463,7 +2570,9 @@ /* Function 53 */ -DWORD PNP_DetectResourceConflict( +DWORD +WINAPI +PNP_DetectResourceConflict( handle_t hBinding, LPWSTR pDeviceID, RESOURCEID ResourceID, @@ -2478,7 +2587,9 @@ /* Function 54 */ -DWORD PNP_QueryResConfList( +DWORD +WINAPI +PNP_QueryResConfList( handle_t hBinding, LPWSTR pDeviceID, RESOURCEID ResourceID, @@ -2494,7 +2605,9 @@ /* Function 55 */ -DWORD PNP_SetHwProf( +DWORD +WINAPI +PNP_SetHwProf( handle_t hBinding, DWORD ulHardwareProfile, DWORD ulFlags) @@ -2505,7 +2618,9 @@ /* Function 56 */ -DWORD PNP_QueryArbitratorFreeData( +DWORD +WINAPI +PNP_QueryArbitratorFreeData( handle_t hBinding, BYTE *pData, DWORD DataLen, @@ -2519,7 +2634,9 @@ /* Function 57 */ -DWORD PNP_QueryArbitratorFreeSize( +DWORD +WINAPI +PNP_QueryArbitratorFreeSize( handle_t hBinding, DWORD *pulSize, LPWSTR pDeviceID, @@ -2533,6 +2650,7 @@ /* Function 58 */ CONFIGRET +WINAPI PNP_RunDetection( handle_t hBinding, DWORD ulFlags) @@ -2542,7 +2660,9 @@ /* Function 59 */ -DWORD PNP_RegisterNotification( +DWORD +WINAPI +PNP_RegisterNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2551,7 +2671,9 @@ /* Function 60 */ -DWORD PNP_UnregisterNotification( +DWORD +WINAPI +PNP_UnregisterNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2560,7 +2682,9 @@ /* Function 61 */ -DWORD PNP_GetCustomDevProp( +DWORD +WINAPI +PNP_GetCustomDevProp( handle_t hBinding, LPWSTR pDeviceID, LPWSTR CustomPropName, @@ -2654,19 +2778,21 @@ /* Function 62 */ -DWORD PNP_GetVersionInternal( +DWORD +WINAPI +PNP_GetVersionInternal( handle_t hBinding, WORD *pwVersion) { *pwVersion = 0x501; return CR_SUCCESS; - UNIMPLEMENTED; - return CR_CALL_NOT_IMPLEMENTED; } /* Function 63 */ -DWORD PNP_GetBlockedDriverInfo( +DWORD +WINAPI +PNP_GetBlockedDriverInfo( handle_t hBinding, BYTE *Buffer, PNP_RPC_BUFFER_SIZE *pulTransferLen, @@ -2679,7 +2805,9 @@ /* Function 64 */ -DWORD PNP_GetServerSideDeviceInstallFlags( +DWORD +WINAPI +PNP_GetServerSideDeviceInstallFlags( handle_t hBinding, DWORD *pulSSDIFlags, DWORD ulFlags) @@ -2690,7 +2818,9 @@ /* Function 65 */ -DWORD PNP_GetObjectPropKeys( +DWORD +WINAPI +PNP_GetObjectPropKeys( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2706,7 +2836,9 @@ /* Function 66 */ -DWORD PNP_GetObjectProp( +DWORD +WINAPI +PNP_GetObjectProp( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2724,7 +2856,9 @@ /* Function 67 */ -DWORD PNP_SetObjectProp( +DWORD +WINAPI +PNP_SetObjectProp( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2741,7 +2875,9 @@ /* Function 68 */ -DWORD PNP_InstallDevInst( +DWORD +WINAPI +PNP_InstallDevInst( handle_t hBinding) { UNIMPLEMENTED; @@ -2750,7 +2886,9 @@ /* Function 69 */ -DWORD PNP_ApplyPowerSettings( +DWORD +WINAPI +PNP_ApplyPowerSettings( handle_t hBinding) { UNIMPLEMENTED; @@ -2759,7 +2897,9 @@ /* Function 70 */ -DWORD PNP_DriverStoreAddDriverPackage( +DWORD +WINAPI +PNP_DriverStoreAddDriverPackage( handle_t hBinding) { UNIMPLEMENTED; @@ -2768,7 +2908,9 @@ /* Function 71 */ -DWORD PNP_DriverStoreDeleteDriverPackage( +DWORD +WINAPI +PNP_DriverStoreDeleteDriverPackage( handle_t hBinding) { UNIMPLEMENTED; @@ -2777,7 +2919,9 @@ /* Function 72 */ -DWORD PNP_RegisterServiceNotification( +DWORD +WINAPI +PNP_RegisterServiceNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2786,7 +2930,9 @@ /* Function 73 */ -DWORD PNP_SetActiveService( +DWORD +WINAPI +PNP_SetActiveService( handle_t hBinding, LPWSTR pszFilter, DWORD ulFlags) @@ -2797,7 +2943,9 @@ /* Function 74 */ -DWORD PNP_DeleteServiceDevices( +DWORD +WINAPI +PNP_DeleteServiceDevices( handle_t hBinding) { UNIMPLEMENTED; Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/ump…
============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.spec [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.spec [iso-8859-1] Fri Sep 26 09:47:02 2014 @@ -1,13 +1,10 @@ @ stub DeleteServicePlugPlayRegKeys -;;; FIXME: Windows UMPNPMGR exports those APIs. -;;; Fix their calling convention before enabling these exports!! - -;@ stdcall PNP_GetDeviceList(long ptr ptr ptr long) -;@ stdcall PNP_GetDeviceListSize(long ptr ptr long) -;@ stdcall PNP_GetDeviceRegProp(long ptr long ptr ptr ptr ptr long) -;@ stdcall PNP_HwProfFlags(long long ptr long ptr ptr ptr long long) -;@ stdcall PNP_SetActiveService(long ptr long) +@ stdcall PNP_GetDeviceList(long ptr ptr ptr long) +@ stdcall PNP_GetDeviceListSize(long ptr ptr long) +@ stdcall PNP_GetDeviceRegProp(long ptr long ptr ptr ptr ptr long) +@ stdcall PNP_HwProfFlags(long long ptr long ptr ptr ptr long long) +@ stdcall PNP_SetActiveService(long ptr long) @ stub RegisterScmCallback @ stub RegisterServiceNotification Modified: trunk/reactos/include/reactos/idl/pnp.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/pnp.id…
============================================================================== --- trunk/reactos/include/reactos/idl/pnp.idl [iso-8859-1] (original) +++ trunk/reactos/include/reactos/idl/pnp.idl [iso-8859-1] Fri Sep 26 09:47:02 2014 @@ -261,42 +261,58 @@ interface pnp { /* Function 0 */ - DWORD PNP_Disconnect( + DWORD + __stdcall + PNP_Disconnect( [in] handle_t hBinding); /* FIXME */ /* Function 1 */ - DWORD PNP_Connect( + DWORD + __stdcall + PNP_Connect( [in] handle_t hBinding); /* FIXME */ /* Function 2 */ - DWORD PNP_GetVersion( + DWORD + __stdcall + PNP_GetVersion( [in] handle_t hBinding, [out] WORD *pVersion); /* Function 3 */ - DWORD PNP_GetGlobalState( + DWORD + __stdcall + PNP_GetGlobalState( [in] handle_t hBinding, [out] DWORD *pulState, [in] DWORD ulFlags); /* Function 4 */ - DWORD PNP_InitDetection( + DWORD + __stdcall + PNP_InitDetection( [in] handle_t hBinding); /* Function 5 */ - DWORD PNP_ReportLogOn( + DWORD + __stdcall + PNP_ReportLogOn( [in] handle_t hBinding, [in] BOOL Admin, [in] DWORD ProcessId); /* Function 6 */ - DWORD PNP_ValidateDeviceInstance( + DWORD + __stdcall + PNP_ValidateDeviceInstance( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulFlags); /* Function 7 */ - DWORD PNP_GetRootDeviceInstance( + DWORD + __stdcall + PNP_GetRootDeviceInstance( [in] handle_t hBinding, [out, string, size_is(ulLength)] LPWSTR pDeviceID, [in] PNP_RPC_STRING_LEN ulLength); @@ -305,7 +321,9 @@ cpp_quote("#define PNP_GET_PARENT_DEVICE_INSTANCE 0x1") cpp_quote("#define PNP_GET_CHILD_DEVICE_INSTANCE 0x2") cpp_quote("#define PNP_GET_SIBLING_DEVICE_INSTANCE 0x3") - DWORD PNP_GetRelatedDeviceInstance( + DWORD + __stdcall + PNP_GetRelatedDeviceInstance( [in] handle_t hBinding, [in] DWORD ulRelationship, [in, string, ref] LPWSTR pDeviceID, @@ -316,7 +334,9 @@ /* Function 9 */ cpp_quote("#define PNP_ENUMERATOR_SUBKEYS 0x1") cpp_quote("#define PNP_CLASS_SUBKEYS 0x2") - DWORD PNP_EnumerateSubKeys( + DWORD + __stdcall + PNP_EnumerateSubKeys( [in] handle_t hBinding, [in] DWORD ulBranch, [in] DWORD ulIndex, @@ -326,7 +346,9 @@ [in] DWORD ulFlags); /* Function 10 */ - DWORD PNP_GetDeviceList( + DWORD + __stdcall + PNP_GetDeviceList( [in] handle_t hBinding, [in, string, unique] LPWSTR pszFilter, [out, size_is(*pulLength), length_is(*pulLength)] LPWSTR Buffer, @@ -334,21 +356,27 @@ [in] DWORD ulFlags); /* Function 11 */ - DWORD PNP_GetDeviceListSize( + DWORD + __stdcall + PNP_GetDeviceListSize( [in] handle_t hBinding, [in, string, unique] LPWSTR pszFilter, [out] PNP_RPC_BUFFER_SIZE *pulLen, [in] DWORD ulFlags); /* Function 12 */ - DWORD PNP_GetDepth( + DWORD + __stdcall + PNP_GetDepth( [in] handle_t hBinding, [in, string, ref] LPWSTR pszDeviceID, [out] DWORD *pulDepth, [in] DWORD ulFlags); /* Function 13 */ - DWORD PNP_GetDeviceRegProp( + DWORD + __stdcall + PNP_GetDeviceRegProp( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulProperty, @@ -359,7 +387,9 @@ [in] DWORD ulFlags); /* Function 14 */ - DWORD PNP_SetDeviceRegProp( + DWORD + __stdcall + PNP_SetDeviceRegProp( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceId, [in] DWORD ulProperty, @@ -369,21 +399,27 @@ [in] DWORD ulFlags); /* Function 15 */ - DWORD PNP_GetClassInstance( + DWORD + __stdcall + PNP_GetClassInstance( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceId, [out, string, size_is(ulLength)] LPWSTR pszClassInstance, [in] PNP_RPC_STRING_LEN ulLength); /* Function 16 */ - DWORD PNP_CreateKey( + DWORD + __stdcall + PNP_CreateKey( [in] handle_t hBinding, [in, string, ref] LPWSTR pszSubKey, [in] DWORD samDesired, [in] DWORD ulFlags); /* Function 17 */ - DWORD PNP_DeleteRegistryKey( + DWORD + __stdcall + PNP_DeleteRegistryKey( [in] handle_t hBinding, [in, string, ref] LPWSTR pszDeviceID, [in, string, ref] LPWSTR pszParentKey, @@ -391,13 +427,17 @@ [in] DWORD ulFlags); /* Function 18 */ - DWORD PNP_GetClassCount( + DWORD + __stdcall + PNP_GetClassCount( [in] handle_t hBinding, [out] DWORD *pulClassCount, [in] DWORD ulFlags); /* Function 19 */ - DWORD PNP_GetClassName( + DWORD + __stdcall + PNP_GetClassName( [in] handle_t hBinding, [in, string, ref] LPWSTR pszClassGuid, [out, string, size_is(*pulLength)] LPWSTR Buffer, @@ -405,13 +445,17 @@ [in] DWORD ulFlags); /* Function 20 */ - DWORD PNP_DeleteClassKey( + DWORD + __stdcall + PNP_DeleteClassKey( [in] handle_t hBinding, [in, string, ref] LPWSTR pszClassGuid, [in] DWORD ulFlags); /* Function 21 */ - DWORD PNP_GetInterfaceDeviceAlias( + DWORD + __stdcall + PNP_GetInterfaceDeviceAlias( [in] handle_t hBinding, [in, string, ref] LPWSTR pszInterfaceDevice, [in] GUID *AliasInterfaceGuid, @@ -421,7 +465,9 @@ [in] DWORD ulFlags); /* Function 22 */ - DWORD PNP_GetInterfaceDeviceList( + DWORD + __stdcall + PNP_GetInterfaceDeviceList( [in] handle_t hBinding, [in] GUID *InterfaceGuid, [in, string, unique] LPWSTR pszDeviceID, @@ -430,7 +476,9 @@ [in] DWORD ulFlags); /* Function 23 */ - DWORD PNP_GetInterfaceDeviceListSize( + DWORD + __stdcall + PNP_GetInterfaceDeviceListSize( [in] handle_t hBinding, [out] PNP_RPC_BUFFER_SIZE *pulLen, [in] GUID *InterfaceGuid, @@ -438,7 +486,9 @@ [in] DWORD ulFlags); /* Function 24 */ - DWORD PNP_RegisterDeviceClassAssociation( + DWORD + __stdcall + PNP_RegisterDeviceClassAssociation( [in] handle_t hBinding, [in, string, unique] LPWSTR pszDeviceID, [in] GUID *InterfaceGuid, @@ -449,13 +499,17 @@ [in] DWORD ulFlags); /* Function 25 */ - DWORD PNP_UnregisterDeviceClassAssociation( + DWORD + __stdcall + PNP_UnregisterDeviceClassAssociation( [in] handle_t hBinding, [in, string, unique] LPWSTR pszInterfaceDevice, [in] DWORD ulFlags); /* Function 26 */ - DWORD PNP_GetClassRegProp( + DWORD + __stdcall + PNP_GetClassRegProp( [in] handle_t hBinding, [in, string, ref] LPWSTR pszClassGuid, [in] DWORD ulProperty, @@ -466,7 +520,9 @@ [in] DWORD ulFlags); /* Function 27 */ - DWORD PNP_SetClassRegProp( + DWORD + __stdcall + PNP_SetClassRegProp( [in] handle_t hBinding, [in, string, ref] LPWSTR pszClassGuid, [in] DWORD ulProperty, @@ -476,7 +532,9 @@ [in] DWORD ulFlags); /* Function 28 */ - DWORD PNP_CreateDevInst( + DWORD + __stdcall + PNP_CreateDevInst( [in] handle_t hBinding, [in, out, string, size_is(ulLength)] LPWSTR pszDeviceID, [in, string, ref] LPWSTR pszParentDeviceID, @@ -489,7 +547,9 @@ cpp_quote("#define PNP_DEVINST_ENABLE 0x4") cpp_quote("#define PNP_DEVINST_DISABLE 0x5") cpp_quote("#define PNP_DEVINST_REENUMERATE 0x7") - DWORD PNP_DeviceInstanceAction( + DWORD + __stdcall + PNP_DeviceInstanceAction( [in] handle_t hBinding, [in] DWORD ulAction, [in] DWORD ulFlags, @@ -497,7 +557,9 @@ [in, string, unique] LPWSTR pszDeviceInstance2); /* Function 30 */ - DWORD PNP_GetDeviceStatus( + DWORD + __stdcall + PNP_GetDeviceStatus( [in] handle_t hBinding, [in, string, unique] LPWSTR pDeviceID, [out] DWORD *pulStatus, @@ -505,14 +567,18 @@ [in] DWORD ulFlags); /* Function 31 */ - DWORD PNP_SetDeviceProblem( + DWORD + __stdcall + PNP_SetDeviceProblem( [in] handle_t hBinding, [in, string, unique] LPWSTR pDeviceID, [in] DWORD ulProblem, [in] DWORD ulFlags); /* Function 32 */ - DWORD PNP_DisableDevInst( + DWORD + __stdcall + PNP_DisableDevInst( [in] handle_t hBinding, [in, string, unique] LPWSTR pDeviceID, [in, out, unique] PPNP_VETO_TYPE pVetoType, @@ -521,26 +587,34 @@ [in] DWORD ulFlags); /* Function 33 */ - DWORD PNP_UninstallDevInst( + DWORD + __stdcall + PNP_UninstallDevInst( [in] handle_t hBinding, [in, string, unique] LPWSTR pDeviceID, [in] DWORD ulFlags); /* Function 34 */ - DWORD PNP_AddID( + DWORD + __stdcall + PNP_AddID( [in] handle_t hBinding, [in, string, unique] LPWSTR pszDeviceID, [in, string, ref] LPWSTR pszID, [in] DWORD ulFlags); /* Function 35 */ - DWORD PNP_RegisterDriver( + DWORD + __stdcall + PNP_RegisterDriver( [in] handle_t hBinding, [in, string, ref] LPWSTR pszDeviceID, [in] DWORD ulFlags); /* Function 36 */ - DWORD PNP_QueryRemove( + DWORD + __stdcall + PNP_QueryRemove( [in] handle_t hBinding, [in, string, ref] LPWSTR pszDeviceID, [in, out, unique] PPNP_VETO_TYPE pVetoType, @@ -549,7 +623,9 @@ [in] DWORD ulFlags); /* Function 37 */ - DWORD PNP_RequestDeviceEject( + DWORD + __stdcall + PNP_RequestDeviceEject( [in] handle_t hBinding, [in, string, ref] LPWSTR pszDeviceID, [in, out, unique] PPNP_VETO_TYPE pVetoType, @@ -558,18 +634,24 @@ [in] DWORD ulFlags); /* Function 38 */ - DWORD PNP_IsDockStationPresent( + DWORD + __stdcall + PNP_IsDockStationPresent( [in] handle_t hBinding, [in, out, unique] BOOL *Present); /* Function 39 */ - DWORD PNP_RequestEjectPC( + DWORD + __stdcall + PNP_RequestEjectPC( [in] handle_t hBinding); /* Function 40 */ cpp_quote("#define PNP_GET_HWPROFFLAGS 0x1") cpp_quote("#define PNP_SET_HWPROFFLAGS 0x2") - DWORD PNP_HwProfFlags( + DWORD + __stdcall + PNP_HwProfFlags( [in] handle_t hBinding, [in] DWORD ulAction, [in, string, ref] LPWSTR pDeviceID, @@ -581,7 +663,9 @@ [in] DWORD ulFlags); /* Function 41 */ - DWORD PNP_GetHwProfInfo( + DWORD + __stdcall + PNP_GetHwProfInfo( [in] handle_t hBinding, [in] DWORD ulIndex, [in, out, ref] HWPROFILEINFO *pHWProfileInfo, @@ -590,7 +674,9 @@ [in] DWORD ulFlags); /* Function 42 */ - DWORD PNP_AddEmptyLogConf( + DWORD + __stdcall + PNP_AddEmptyLogConf( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulPriority, @@ -598,7 +684,9 @@ [in] DWORD ulFlags); /* Function 43 */ - DWORD PNP_FreeLogConf( + DWORD + __stdcall + PNP_FreeLogConf( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfType, @@ -606,7 +694,9 @@ [in] DWORD ulFlags); /* Function 44 */ - DWORD PNP_GetFirstLogConf( + DWORD + __stdcall + PNP_GetFirstLogConf( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfType, @@ -614,7 +704,9 @@ [in] DWORD ulFlags); /* Function 45 */ - DWORD PNP_GetNextLogConf( + DWORD + __stdcall + PNP_GetNextLogConf( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfType, @@ -623,7 +715,9 @@ [in] DWORD ulFlags); /* Function 46 */ - DWORD PNP_GetLogConfPriority( + DWORD + __stdcall + PNP_GetLogConfPriority( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulType, @@ -632,7 +726,9 @@ [in] DWORD ulFlags); /* Function 47 */ - DWORD PNP_AddResDes( + DWORD + __stdcall + PNP_AddResDes( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -644,7 +740,9 @@ [in] DWORD ulFlags); /* Function 48 */ - DWORD PNP_FreeResDes( + DWORD + __stdcall + PNP_FreeResDes( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -656,7 +754,9 @@ [in] DWORD ulFlags); /* Function 49 */ - DWORD PNP_GetNextResDes( + DWORD + __stdcall + PNP_GetNextResDes( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -668,7 +768,9 @@ [in] DWORD ulFlags); /* Function 50 */ - DWORD PNP_GetResDesData( + DWORD + __stdcall + PNP_GetResDesData( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -680,7 +782,9 @@ [in] DWORD ulFlags); /* Function 51 */ - DWORD PNP_GetResDesDataSize( + DWORD + __stdcall + PNP_GetResDesDataSize( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -691,7 +795,9 @@ [in] DWORD ulFlags); /* Function 52 */ - DWORD PNP_ModifyResDes( + DWORD + __stdcall + PNP_ModifyResDes( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] DWORD ulLogConfTag, @@ -704,7 +810,9 @@ [in] DWORD ulFlags); /* Function 53 */ - DWORD PNP_DetectResourceConflict( + DWORD + __stdcall + PNP_DetectResourceConflict( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] RESOURCEID ResourceID, @@ -714,7 +822,9 @@ [in] DWORD ulFlags); /* Function 54 */ - DWORD PNP_QueryResConfList( + DWORD + __stdcall + PNP_QueryResConfList( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in] RESOURCEID ResourceID, @@ -725,13 +835,17 @@ [in] DWORD ulFlags); /* Function 55 */ - DWORD PNP_SetHwProf( + DWORD + __stdcall + PNP_SetHwProf( [in] handle_t hBinding, [in] DWORD ulHardwareProfile, [in] DWORD ulFlags); /* Function 56 */ - DWORD PNP_QueryArbitratorFreeData( + DWORD + __stdcall + PNP_QueryArbitratorFreeData( [in] handle_t hBinding, [out,size_is(DataLen)] BYTE *pData, [in] DWORD DataLen, @@ -740,7 +854,9 @@ [in] DWORD ulFlags); /* Function 57 */ - DWORD PNP_QueryArbitratorFreeSize( + DWORD + __stdcall + PNP_QueryArbitratorFreeSize( [in] handle_t hBinding, [out] DWORD *pulSize, [in, string, ref] LPWSTR pDeviceID, @@ -748,22 +864,30 @@ [in] DWORD ulFlags); /* Function 58 */ - DWORD PNP_RunDetection( + DWORD + __stdcall + PNP_RunDetection( [in] handle_t hBinding, [in] DWORD ulFlags); /* Function 59 */ - DWORD PNP_RegisterNotification( + DWORD + __stdcall + PNP_RegisterNotification( [in] handle_t hBinding); /* Function 60 */ - DWORD PNP_UnregisterNotification( + DWORD + __stdcall + PNP_UnregisterNotification( [in] handle_t hBinding); cpp_quote("#if _WIN32_WINNT >= 0x0501") /* Function 61 */ - DWORD PNP_GetCustomDevProp( + DWORD + __stdcall + PNP_GetCustomDevProp( [in] handle_t hBinding, [in, string, ref] LPWSTR pDeviceID, [in, string, ref] LPWSTR CustomPropName, @@ -774,12 +898,16 @@ [in] DWORD ulFlags); /* Function 62 */ - DWORD PNP_GetVersionInternal( + DWORD + __stdcall + PNP_GetVersionInternal( [in] handle_t hBinding, [in, out] WORD *pwVersion); /* Function 63 */ - DWORD PNP_GetBlockedDriverInfo( + DWORD + __stdcall + PNP_GetBlockedDriverInfo( [in] handle_t hBinding, [out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer, [out] PNP_RPC_BUFFER_SIZE *pulTransferLen, @@ -787,7 +915,9 @@ [in] DWORD ulFlags); /* Function 64 */ - DWORD PNP_GetServerSideDeviceInstallFlags( + DWORD + __stdcall + PNP_GetServerSideDeviceInstallFlags( [in] handle_t hBinding, [out] DWORD *pulSSDIFlags, [in] DWORD ulFlags);
10 years, 3 months
1
0
0
0
[akhaldi] 64303: [QEDIT] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:42:33 2014 New Revision: 64303 URL:
http://svn.reactos.org/svn/reactos?rev=64303&view=rev
Log: [QEDIT] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/dll/directx/wine/qedit/mediadet.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/directx/wine/qedit/mediadet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/qedit/med…
============================================================================== --- trunk/reactos/dll/directx/wine/qedit/mediadet.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/qedit/mediadet.c [iso-8859-1] Fri Sep 26 09:42:33 2014 @@ -347,7 +347,7 @@ if (SUCCEEDED(hr)) { - hr = CLSIDFromString(V_UNION(pvar, bstrVal), pclsid); + hr = CLSIDFromString(V_BSTR(pvar), pclsid); VariantClear(pvar); V_VT(pvar) = VT_BSTR; } @@ -356,8 +356,7 @@ hr = IPropertyBag_Read(pPropBagCat, wszFriendlyName, pvar, NULL); if (SUCCEEDED(hr)) - TRACE("Moniker = %s - %s\n", debugstr_guid(pclsid), - debugstr_w(V_UNION(pvar, bstrVal))); + TRACE("Moniker = %s - %s\n", debugstr_guid(pclsid), debugstr_w(V_BSTR(pvar))); if (pPropBagCat) IPropertyBag_Release(pPropBagCat); @@ -430,8 +429,7 @@ continue; } - hr = IGraphBuilder_AddFilter(This->graph, splitter, - V_UNION(&var, bstrVal)); + hr = IGraphBuilder_AddFilter(This->graph, splitter, V_BSTR(&var)); VariantClear(&var); This->splitter = splitter; if (FAILED(hr)) 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 09:42:33 2014 @@ -44,7 +44,7 @@ reactos/dll/directx/wine/dxdiagn # Synced to Wine-1.7.17 reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.27 reactos/dll/directx/wine/msdmo # Synced to Wine-1.7.17 -reactos/dll/directx/wine/qedit # Synced to Wine-1.7.17 +reactos/dll/directx/wine/qedit # Synced to Wine-1.7.27 reactos/dll/directx/wine/quartz # Synced to Wine-1.7.17 reactos/dll/directx/wine/wined3d # Synced to Wine-1.7.27
10 years, 3 months
1
0
0
0
[akhaldi] 64302: [DXGI] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:40:04 2014 New Revision: 64302 URL:
http://svn.reactos.org/svn/reactos?rev=64302&view=rev
Log: [DXGI] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/dll/directx/wine/dxgi/CMakeLists.txt trunk/reactos/dll/directx/wine/dxgi/adapter.c trunk/reactos/dll/directx/wine/dxgi/device.c trunk/reactos/dll/directx/wine/dxgi/dxgi_private.h trunk/reactos/dll/directx/wine/dxgi/factory.c trunk/reactos/dll/directx/wine/dxgi/output.c trunk/reactos/dll/directx/wine/dxgi/surface.c trunk/reactos/dll/directx/wine/dxgi/swapchain.c trunk/reactos/include/reactos/wine/winedxgi.idl trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/directx/wine/dxgi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/CMak…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/CMakeLists.txt [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -23,7 +23,7 @@ set_module_type(dxgi win32dll) target_link_libraries(dxgi uuid dxgi_uuids wine) -add_importlibs(dxgi wined3d msvcrt kernel32 ntdll) +add_importlibs(dxgi wined3d user32 msvcrt kernel32 ntdll) add_dependencies(dxgi wineheaders) add_pch(dxgi dxgi_private.h SOURCE) add_cd_file(TARGET dxgi DESTINATION reactos/system32 FOR all) Modified: trunk/reactos/dll/directx/wine/dxgi/adapter.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/adap…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/adapter.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/adapter.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -19,63 +19,60 @@ #include "dxgi_private.h" -static inline struct dxgi_adapter *impl_from_IWineDXGIAdapter(IWineDXGIAdapter *iface) -{ - return CONTAINING_RECORD(iface, struct dxgi_adapter, IWineDXGIAdapter_iface); -} - -/* IUnknown methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_adapter_QueryInterface(IWineDXGIAdapter *iface, REFIID riid, void **object) -{ - TRACE("iface %p, riid %s, object %p\n", iface, debugstr_guid(riid), object); - - if (IsEqualGUID(riid, &IID_IUnknown) - || IsEqualGUID(riid, &IID_IDXGIObject) - || IsEqualGUID(riid, &IID_IDXGIAdapter) - || IsEqualGUID(riid, &IID_IDXGIAdapter1) - || IsEqualGUID(riid, &IID_IWineDXGIAdapter)) +#include <assert.h> + +static inline struct dxgi_adapter *impl_from_IDXGIAdapter1(IDXGIAdapter1 *iface) +{ + return CONTAINING_RECORD(iface, struct dxgi_adapter, IDXGIAdapter1_iface); +} + +static HRESULT STDMETHODCALLTYPE dxgi_adapter_QueryInterface(IDXGIAdapter1 *iface, REFIID iid, void **out) +{ + TRACE("iface %p, iid %s, out %p.\n", iface, debugstr_guid(iid), out); + + if (IsEqualGUID(iid, &IID_IDXGIAdapter1) + || IsEqualGUID(iid, &IID_IDXGIAdapter) + || IsEqualGUID(iid, &IID_IDXGIObject) + || IsEqualGUID(iid, &IID_IUnknown)) { IUnknown_AddRef(iface); - *object = iface; + *out = iface; return S_OK; } - WARN("%s not implemented, returning E_NOINTERFACE\n", debugstr_guid(riid)); - - *object = NULL; + WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); + + *out = NULL; return E_NOINTERFACE; } -static ULONG STDMETHODCALLTYPE dxgi_adapter_AddRef(IWineDXGIAdapter *iface) -{ - struct dxgi_adapter *This = impl_from_IWineDXGIAdapter(iface); - ULONG refcount = InterlockedIncrement(&This->refcount); - - TRACE("%p increasing refcount to %u\n", This, refcount); +static ULONG STDMETHODCALLTYPE dxgi_adapter_AddRef(IDXGIAdapter1 *iface) +{ + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); + ULONG refcount = InterlockedIncrement(&adapter->refcount); + + TRACE("%p increasing refcount to %u.\n", iface, refcount); return refcount; } -static ULONG STDMETHODCALLTYPE dxgi_adapter_Release(IWineDXGIAdapter *iface) -{ - struct dxgi_adapter *This = impl_from_IWineDXGIAdapter(iface); - ULONG refcount = InterlockedDecrement(&This->refcount); - - TRACE("%p decreasing refcount to %u\n", This, refcount); +static ULONG STDMETHODCALLTYPE dxgi_adapter_Release(IDXGIAdapter1 *iface) +{ + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); + ULONG refcount = InterlockedDecrement(&adapter->refcount); + + TRACE("%p decreasing refcount to %u.\n", iface, refcount); if (!refcount) { - IDXGIOutput_Release(This->output); - HeapFree(GetProcessHeap(), 0, This); + IDXGIOutput_Release(adapter->output); + HeapFree(GetProcessHeap(), 0, adapter); } return refcount; } -/* IDXGIObject methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_adapter_SetPrivateData(IWineDXGIAdapter *iface, +static HRESULT STDMETHODCALLTYPE dxgi_adapter_SetPrivateData(IDXGIAdapter1 *iface, REFGUID guid, UINT data_size, const void *data) { FIXME("iface %p, guid %s, data_size %u, data %p stub!\n", iface, debugstr_guid(guid), data_size, data); @@ -83,7 +80,7 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_SetPrivateDataInterface(IWineDXGIAdapter *iface, +static HRESULT STDMETHODCALLTYPE dxgi_adapter_SetPrivateDataInterface(IDXGIAdapter1 *iface, REFGUID guid, const IUnknown *object) { FIXME("iface %p, guid %s, object %p stub!\n", iface, debugstr_guid(guid), object); @@ -91,7 +88,7 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetPrivateData(IWineDXGIAdapter *iface, +static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetPrivateData(IDXGIAdapter1 *iface, REFGUID guid, UINT *data_size, void *data) { FIXME("iface %p, guid %s, data_size %p, data %p stub!\n", iface, debugstr_guid(guid), data_size, data); @@ -99,21 +96,19 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetParent(IWineDXGIAdapter *iface, REFIID riid, void **parent) -{ - struct dxgi_adapter *This = impl_from_IWineDXGIAdapter(iface); - - TRACE("iface %p, riid %s, parent %p\n", iface, debugstr_guid(riid), parent); - - return IWineDXGIFactory_QueryInterface(This->parent, riid, parent); -} - -/* IDXGIAdapter methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_adapter_EnumOutputs(IWineDXGIAdapter *iface, +static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetParent(IDXGIAdapter1 *iface, REFIID iid, void **parent) +{ + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); + + TRACE("iface %p, iid %s, parent %p\n", iface, debugstr_guid(iid), parent); + + return IDXGIFactory1_QueryInterface(&adapter->parent->IDXGIFactory1_iface, iid, parent); +} + +static HRESULT STDMETHODCALLTYPE dxgi_adapter_EnumOutputs(IDXGIAdapter1 *iface, UINT output_idx, IDXGIOutput **output) { - struct dxgi_adapter *This = impl_from_IWineDXGIAdapter(iface); + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); TRACE("iface %p, output_idx %u, output %p.\n", iface, output_idx, output); @@ -123,7 +118,7 @@ return DXGI_ERROR_NOT_FOUND; } - *output = This->output; + *output = adapter->output; IDXGIOutput_AddRef(*output); TRACE("Returning output %p.\n", output); @@ -131,12 +126,11 @@ return S_OK; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc1(IWineDXGIAdapter *iface, DXGI_ADAPTER_DESC1 *desc) -{ - struct dxgi_adapter *adapter = impl_from_IWineDXGIAdapter(iface); +static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc1(IDXGIAdapter1 *iface, DXGI_ADAPTER_DESC1 *desc) +{ + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); struct wined3d_adapter_identifier adapter_id; char description[128]; - struct wined3d *wined3d; HRESULT hr; TRACE("iface %p, desc %p.\n", iface, desc); @@ -144,15 +138,13 @@ if (!desc) return E_INVALIDARG; - wined3d = IWineDXGIFactory_get_wined3d(adapter->parent); adapter_id.driver_size = 0; adapter_id.description = description; adapter_id.description_size = sizeof(description); adapter_id.device_name_size = 0; EnterCriticalSection(&dxgi_cs); - hr = wined3d_get_adapter_identifier(wined3d, adapter->ordinal, 0, &adapter_id); - wined3d_decref(wined3d); + hr = wined3d_get_adapter_identifier(adapter->parent->wined3d, adapter->ordinal, 0, &adapter_id); LeaveCriticalSection(&dxgi_cs); if (FAILED(hr)) @@ -178,7 +170,7 @@ return hr; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc(IWineDXGIAdapter *iface, DXGI_ADAPTER_DESC *desc) +static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc(IDXGIAdapter1 *iface, DXGI_ADAPTER_DESC *desc) { DXGI_ADAPTER_DESC1 desc1; HRESULT hr; @@ -195,7 +187,7 @@ return hr; } -static HRESULT STDMETHODCALLTYPE dxgi_adapter_CheckInterfaceSupport(IWineDXGIAdapter *iface, +static HRESULT STDMETHODCALLTYPE dxgi_adapter_CheckInterfaceSupport(IDXGIAdapter1 *iface, REFGUID guid, LARGE_INTEGER *umd_version) { FIXME("iface %p, guid %s, umd_version %p stub!\n", iface, debugstr_guid(guid), umd_version); @@ -203,43 +195,34 @@ return E_NOTIMPL; } -/* IWineDXGIAdapter methods */ - -static UINT STDMETHODCALLTYPE dxgi_adapter_get_ordinal(IWineDXGIAdapter *iface) -{ - struct dxgi_adapter *This = impl_from_IWineDXGIAdapter(iface); - - TRACE("iface %p, returning %u\n", iface, This->ordinal); - - return This->ordinal; -} - -static const struct IWineDXGIAdapterVtbl dxgi_adapter_vtbl = -{ - /* IUnknown methods */ +static const struct IDXGIAdapter1Vtbl dxgi_adapter_vtbl = +{ dxgi_adapter_QueryInterface, dxgi_adapter_AddRef, dxgi_adapter_Release, - /* IDXGIObject methods */ dxgi_adapter_SetPrivateData, dxgi_adapter_SetPrivateDataInterface, dxgi_adapter_GetPrivateData, dxgi_adapter_GetParent, - /* IDXGIAdapter methods */ dxgi_adapter_EnumOutputs, dxgi_adapter_GetDesc, dxgi_adapter_CheckInterfaceSupport, - /* IDXGIAdapter1 methods */ dxgi_adapter_GetDesc1, - /* IWineDXGIAdapter methods */ - dxgi_adapter_get_ordinal, }; -HRESULT dxgi_adapter_init(struct dxgi_adapter *adapter, IWineDXGIFactory *parent, UINT ordinal) +struct dxgi_adapter *unsafe_impl_from_IDXGIAdapter1(IDXGIAdapter1 *iface) +{ + if (!iface) + return NULL; + assert(iface->lpVtbl == &dxgi_adapter_vtbl); + return CONTAINING_RECORD(iface, struct dxgi_adapter, IDXGIAdapter1_iface); +} + +HRESULT dxgi_adapter_init(struct dxgi_adapter *adapter, struct dxgi_factory *parent, UINT ordinal) { struct dxgi_output *output; - adapter->IWineDXGIAdapter_iface.lpVtbl = &dxgi_adapter_vtbl; + adapter->IDXGIAdapter1_iface.lpVtbl = &dxgi_adapter_vtbl; adapter->parent = parent; adapter->refcount = 1; adapter->ordinal = ordinal; Modified: trunk/reactos/dll/directx/wine/dxgi/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/devi…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/device.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/device.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -75,9 +75,10 @@ { if (This->child_layer) IUnknown_Release(This->child_layer); EnterCriticalSection(&dxgi_cs); + wined3d_device_uninit_3d(This->wined3d_device); wined3d_device_decref(This->wined3d_device); LeaveCriticalSection(&dxgi_cs); - IWineDXGIFactory_Release(This->factory); + IDXGIFactory1_Release(This->factory); HeapFree(GetProcessHeap(), 0, This); } @@ -143,7 +144,7 @@ wined3d_device_get_creation_parameters(This->wined3d_device, &create_parameters); LeaveCriticalSection(&dxgi_cs); - return IWineDXGIFactory_EnumAdapters(This->factory, create_parameters.adapter_idx, adapter); + return IDXGIFactory1_EnumAdapters(This->factory, create_parameters.adapter_idx, adapter); } static HRESULT STDMETHODCALLTYPE dxgi_device_CreateSurface(IWineDXGIDevice *iface, @@ -243,18 +244,6 @@ /* IWineDXGIDevice methods */ -static struct wined3d_device * STDMETHODCALLTYPE dxgi_device_get_wined3d_device(IWineDXGIDevice *iface) -{ - struct dxgi_device *This = impl_from_IWineDXGIDevice(iface); - - TRACE("iface %p\n", iface); - - EnterCriticalSection(&dxgi_cs); - wined3d_device_incref(This->wined3d_device); - LeaveCriticalSection(&dxgi_cs); - return This->wined3d_device; -} - static HRESULT STDMETHODCALLTYPE dxgi_device_create_surface(IWineDXGIDevice *iface, const DXGI_SURFACE_DESC *desc, DXGI_USAGE usage, const DXGI_SHARED_RESOURCE *shared_resource, IUnknown *outer, void **surface) { @@ -271,8 +260,7 @@ return E_OUTOFMEMORY; } - hr = dxgi_surface_init(object, (IDXGIDevice *)iface, outer); - if (FAILED(hr)) + if (FAILED(hr = dxgi_surface_init(object, (IDXGIDevice *)iface, outer, desc))) { WARN("Failed to initialize surface, hr %#x.\n", hr); HeapFree(GetProcessHeap(), 0, object); @@ -334,7 +322,6 @@ dxgi_device_SetGPUThreadPriority, dxgi_device_GetGPUThreadPriority, /* IWineDXGIAdapter methods */ - dxgi_device_get_wined3d_device, dxgi_device_create_surface, dxgi_device_create_swapchain, }; @@ -343,90 +330,85 @@ IDXGIFactory *factory, IDXGIAdapter *adapter) { struct wined3d_device_parent *wined3d_device_parent; + struct wined3d_swapchain_desc swapchain_desc; IWineDXGIDeviceParent *dxgi_device_parent; - IWineDXGIAdapter *wine_adapter; - UINT adapter_ordinal; - struct wined3d *wined3d; + struct dxgi_adapter *dxgi_adapter; + struct dxgi_factory *dxgi_factory; void *layer_base; HRESULT hr; WINED3DCAPS caps; + if (!(dxgi_factory = unsafe_impl_from_IDXGIFactory1((IDXGIFactory1 *)factory))) + { + WARN("This is not the factory we're looking for.\n"); + return E_FAIL; + } + + if (!(dxgi_adapter = unsafe_impl_from_IDXGIAdapter1((IDXGIAdapter1 *)adapter))) + { + WARN("This is not the adapter we're looking for.\n"); + return E_FAIL; + } + device->IWineDXGIDevice_iface.lpVtbl = &dxgi_device_vtbl; device->refcount = 1; layer_base = device + 1; - hr = layer->create(layer->id, &layer_base, 0, - device, &IID_IUnknown, (void **)&device->child_layer); - if (FAILED(hr)) + if (FAILED(hr = layer->create(layer->id, &layer_base, 0, + device, &IID_IUnknown, (void **)&device->child_layer))) { WARN("Failed to create device, returning %#x.\n", hr); - goto fail; - } - - hr = IDXGIFactory_QueryInterface(factory, &IID_IWineDXGIFactory, (void **)&device->factory); - if (FAILED(hr)) - { - WARN("This is not the factory we're looking for, returning %#x.\n", hr); - goto fail; - } - wined3d = IWineDXGIFactory_get_wined3d(device->factory); - - hr = IDXGIAdapter_QueryInterface(adapter, &IID_IWineDXGIAdapter, (void **)&wine_adapter); - if (FAILED(hr)) - { - WARN("This is not the adapter we're looking for, returning %#x.\n", hr); - EnterCriticalSection(&dxgi_cs); - wined3d_decref(wined3d); - LeaveCriticalSection(&dxgi_cs); - goto fail; - } - adapter_ordinal = IWineDXGIAdapter_get_ordinal(wine_adapter); - IWineDXGIAdapter_Release(wine_adapter); - - hr = IWineDXGIDevice_QueryInterface(&device->IWineDXGIDevice_iface, &IID_IWineDXGIDeviceParent, - (void **)&dxgi_device_parent); - if (FAILED(hr)) + return hr; + } + + if (FAILED(hr = IWineDXGIDevice_QueryInterface(&device->IWineDXGIDevice_iface, + &IID_IWineDXGIDeviceParent, (void **)&dxgi_device_parent))) { ERR("DXGI device should implement IWineD3DDeviceParent.\n"); - goto fail; - } - + IUnknown_Release(device->child_layer); + return hr; + } wined3d_device_parent = IWineDXGIDeviceParent_get_wined3d_device_parent(dxgi_device_parent); + IWineDXGIDeviceParent_Release(dxgi_device_parent); FIXME("Ignoring adapter type.\n"); - hr = wined3d_get_device_caps(wined3d, adapter_ordinal, WINED3D_DEVICE_TYPE_HAL, &caps); + hr = wined3d_get_device_caps(dxgi_factory->wined3d, dxgi_adapter->ordinal, WINED3D_DEVICE_TYPE_HAL, &caps); if (FAILED(hr) || caps.VertexShaderVersion < 4 || caps.PixelShaderVersion < 4) { WARN("Direct3D 10 is not supported on this GPU with the current shader backend.\n"); if (SUCCEEDED(hr)) hr = E_FAIL; - goto fail; + IUnknown_Release(device->child_layer); + return hr; } EnterCriticalSection(&dxgi_cs); - hr = wined3d_device_create(wined3d, adapter_ordinal, WINED3D_DEVICE_TYPE_HAL, NULL, 0, 4, - wined3d_device_parent, &device->wined3d_device); - IWineDXGIDeviceParent_Release(dxgi_device_parent); - wined3d_decref(wined3d); + hr = wined3d_device_create(dxgi_factory->wined3d, dxgi_adapter->ordinal, WINED3D_DEVICE_TYPE_HAL, + NULL, 0, 4, wined3d_device_parent, &device->wined3d_device); LeaveCriticalSection(&dxgi_cs); if (FAILED(hr)) { WARN("Failed to create a wined3d device, returning %#x.\n", hr); - goto fail; - } + IUnknown_Release(device->child_layer); + return hr; + } + + memset(&swapchain_desc, 0, sizeof(swapchain_desc)); + swapchain_desc.swap_effect = WINED3D_SWAP_EFFECT_DISCARD; + swapchain_desc.device_window = dxgi_factory_get_device_window(dxgi_factory); + swapchain_desc.windowed = TRUE; + if (FAILED(hr = wined3d_device_init_3d(device->wined3d_device, &swapchain_desc))) + { + ERR("Failed to initialize 3D, hr %#x.\n", hr); + wined3d_device_decref(device->wined3d_device); + IUnknown_Release(device->child_layer); + return hr; + } + + device->factory = &dxgi_factory->IDXGIFactory1_iface; + IDXGIFactory1_AddRef(device->factory); return S_OK; - -fail: - if (device->wined3d_device) - { - EnterCriticalSection(&dxgi_cs); - wined3d_device_decref(device->wined3d_device); - LeaveCriticalSection(&dxgi_cs); - } - if (device->factory) IWineDXGIFactory_Release(device->factory); - if (device->child_layer) IUnknown_Release(device->child_layer); - return hr; -} +} Modified: trunk/reactos/dll/directx/wine/dxgi/dxgi_private.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/dxgi…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/dxgi_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/dxgi_private.h [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -86,15 +86,18 @@ /* IDXGIFactory */ struct dxgi_factory { - IWineDXGIFactory IWineDXGIFactory_iface; + IDXGIFactory1 IDXGIFactory1_iface; LONG refcount; struct wined3d *wined3d; UINT adapter_count; - IWineDXGIAdapter **adapters; + IDXGIAdapter1 **adapters; BOOL extended; + HWND device_window; }; HRESULT dxgi_factory_create(REFIID riid, void **factory, BOOL extended) DECLSPEC_HIDDEN; +HWND dxgi_factory_get_device_window(struct dxgi_factory *factory) DECLSPEC_HIDDEN; +struct dxgi_factory *unsafe_impl_from_IDXGIFactory1(IDXGIFactory1 *iface) DECLSPEC_HIDDEN; /* IDXGIDevice */ struct dxgi_device @@ -103,7 +106,7 @@ IUnknown *child_layer; LONG refcount; struct wined3d_device *wined3d_device; - IWineDXGIFactory *factory; + IDXGIFactory1 *factory; }; HRESULT dxgi_device_init(struct dxgi_device *device, struct dxgi_device_layer *layer, @@ -122,14 +125,15 @@ /* IDXGIAdapter */ struct dxgi_adapter { - IWineDXGIAdapter IWineDXGIAdapter_iface; - IWineDXGIFactory *parent; + IDXGIAdapter1 IDXGIAdapter1_iface; + struct dxgi_factory *parent; LONG refcount; UINT ordinal; IDXGIOutput *output; }; -HRESULT dxgi_adapter_init(struct dxgi_adapter *adapter, IWineDXGIFactory *parent, UINT ordinal) DECLSPEC_HIDDEN; +HRESULT dxgi_adapter_init(struct dxgi_adapter *adapter, struct dxgi_factory *parent, UINT ordinal) DECLSPEC_HIDDEN; +struct dxgi_adapter *unsafe_impl_from_IDXGIAdapter1(IDXGIAdapter1 *iface) DECLSPEC_HIDDEN; /* IDXGISwapChain */ struct dxgi_swapchain @@ -150,8 +154,11 @@ IUnknown *outer_unknown; LONG refcount; IDXGIDevice *device; + + DXGI_SURFACE_DESC desc; }; -HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device, IUnknown *outer) DECLSPEC_HIDDEN; +HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device, + IUnknown *outer, const DXGI_SURFACE_DESC *desc) DECLSPEC_HIDDEN; #endif /* __WINE_DXGI_PRIVATE_H */ Modified: trunk/reactos/dll/directx/wine/dxgi/factory.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/fact…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/factory.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/factory.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -19,75 +19,74 @@ #include "dxgi_private.h" -static inline struct dxgi_factory *impl_from_IWineDXGIFactory(IWineDXGIFactory *iface) -{ - return CONTAINING_RECORD(iface, struct dxgi_factory, IWineDXGIFactory_iface); -} - -/* IUnknown methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_factory_QueryInterface(IWineDXGIFactory *iface, REFIID riid, void **object) -{ - struct dxgi_factory *factory = impl_from_IWineDXGIFactory(iface); - - TRACE("iface %p, riid %s, object %p\n", iface, debugstr_guid(riid), object); - - if (IsEqualGUID(riid, &IID_IUnknown) - || IsEqualGUID(riid, &IID_IDXGIObject) - || IsEqualGUID(riid, &IID_IDXGIFactory) - || (factory->extended && IsEqualGUID(riid, &IID_IDXGIFactory1)) - || IsEqualGUID(riid, &IID_IWineDXGIFactory)) +#include <assert.h> + +static inline struct dxgi_factory *impl_from_IDXGIFactory1(IDXGIFactory1 *iface) +{ + return CONTAINING_RECORD(iface, struct dxgi_factory, IDXGIFactory1_iface); +} + +static HRESULT STDMETHODCALLTYPE dxgi_factory_QueryInterface(IDXGIFactory1 *iface, REFIID iid, void **out) +{ + struct dxgi_factory *factory = impl_from_IDXGIFactory1(iface); + + TRACE("iface %p, iid %s, out %p.\n", iface, debugstr_guid(iid), out); + + if ((factory->extended && IsEqualGUID(iid, &IID_IDXGIFactory1)) + || IsEqualGUID(iid, &IID_IDXGIFactory) + || IsEqualGUID(iid, &IID_IDXGIObject) + || IsEqualGUID(iid, &IID_IUnknown)) { IUnknown_AddRef(iface); - *object = iface; + *out = iface; return S_OK; } - WARN("%s not implemented, returning E_NOINTERFACE\n", debugstr_guid(riid)); - - *object = NULL; + WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); + + *out = NULL; return E_NOINTERFACE; } -static ULONG STDMETHODCALLTYPE dxgi_factory_AddRef(IWineDXGIFactory *iface) -{ - struct dxgi_factory *This = impl_from_IWineDXGIFactory(iface); - ULONG refcount = InterlockedIncrement(&This->refcount); - - TRACE("%p increasing refcount to %u\n", This, refcount); +static ULONG STDMETHODCALLTYPE dxgi_factory_AddRef(IDXGIFactory1 *iface) +{ + struct dxgi_factory *factory = impl_from_IDXGIFactory1(iface); + ULONG refcount = InterlockedIncrement(&factory->refcount); + + TRACE("%p increasing refcount to %u.\n", iface, refcount); return refcount; } -static ULONG STDMETHODCALLTYPE dxgi_factory_Release(IWineDXGIFactory *iface) -{ - struct dxgi_factory *This = impl_from_IWineDXGIFactory(iface); - ULONG refcount = InterlockedDecrement(&This->refcount); - - TRACE("%p decreasing refcount to %u\n", This, refcount); +static ULONG STDMETHODCALLTYPE dxgi_factory_Release(IDXGIFactory1 *iface) +{ + struct dxgi_factory *factory = impl_from_IDXGIFactory1(iface); + ULONG refcount = InterlockedDecrement(&factory->refcount); + + TRACE("%p decreasing refcount to %u.\n", iface, refcount); if (!refcount) { UINT i; - for (i = 0; i < This->adapter_count; ++i) + if (factory->device_window) + DestroyWindow(factory->device_window); + for (i = 0; i < factory->adapter_count; ++i) { - IWineDXGIAdapter_Release(This->adapters[i]); + IDXGIAdapter1_Release(factory->adapters[i]); } - HeapFree(GetProcessHeap(), 0, This->adapters); + HeapFree(GetProcessHeap(), 0, factory->adapters); EnterCriticalSection(&dxgi_cs); - wined3d_decref(This->wined3d); + wined3d_decref(factory->wined3d); LeaveCriticalSection(&dxgi_cs); - HeapFree(GetProcessHeap(), 0, This); + HeapFree(GetProcessHeap(), 0, factory); } return refcount; } -/* IDXGIObject methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_factory_SetPrivateData(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_SetPrivateData(IDXGIFactory1 *iface, REFGUID guid, UINT data_size, const void *data) { FIXME("iface %p, guid %s, data_size %u, data %p stub!\n", iface, debugstr_guid(guid), data_size, data); @@ -95,7 +94,7 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_SetPrivateDataInterface(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_SetPrivateDataInterface(IDXGIFactory1 *iface, REFGUID guid, const IUnknown *object) { FIXME("iface %p, guid %s, object %p stub!\n", iface, debugstr_guid(guid), object); @@ -103,7 +102,7 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_GetPrivateData(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_GetPrivateData(IDXGIFactory1 *iface, REFGUID guid, UINT *data_size, void *data) { FIXME("iface %p, guid %s, data_size %p, data %p stub!\n", iface, debugstr_guid(guid), data_size, data); @@ -111,23 +110,21 @@ return E_NOTIMPL; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_GetParent(IWineDXGIFactory *iface, REFIID riid, void **parent) -{ - WARN("iface %p, riid %s, parent %p.\n", iface, debugstr_guid(riid), parent); +static HRESULT STDMETHODCALLTYPE dxgi_factory_GetParent(IDXGIFactory1 *iface, REFIID iid, void **parent) +{ + WARN("iface %p, iid %s, parent %p.\n", iface, debugstr_guid(iid), parent); *parent = NULL; return E_NOINTERFACE; } -/* IDXGIFactory methods */ - -static HRESULT STDMETHODCALLTYPE dxgi_factory_EnumAdapters1(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_EnumAdapters1(IDXGIFactory1 *iface, UINT adapter_idx, IDXGIAdapter1 **adapter) { - struct dxgi_factory *factory = impl_from_IWineDXGIFactory(iface); - - TRACE("iface %p, adapter_idx %u, adapter %p\n", iface, adapter_idx, adapter); + struct dxgi_factory *factory = impl_from_IDXGIFactory1(iface); + + TRACE("iface %p, adapter_idx %u, adapter %p.\n", iface, adapter_idx, adapter); if (!adapter) return DXGI_ERROR_INVALID_CALL; @@ -141,27 +138,27 @@ *adapter = (IDXGIAdapter1 *)factory->adapters[adapter_idx]; IDXGIAdapter1_AddRef(*adapter); - TRACE("Returning adapter %p\n", *adapter); + TRACE("Returning adapter %p.\n", *adapter); return S_OK; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_EnumAdapters(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_EnumAdapters(IDXGIFactory1 *iface, UINT adapter_idx, IDXGIAdapter **adapter) { - TRACE("iface %p, adapter_idx %u, adapter %p\n", iface, adapter_idx, adapter); + TRACE("iface %p, adapter_idx %u, adapter %p.\n", iface, adapter_idx, adapter); return dxgi_factory_EnumAdapters1(iface, adapter_idx, (IDXGIAdapter1 **)adapter); } -static HRESULT STDMETHODCALLTYPE dxgi_factory_MakeWindowAssociation(IWineDXGIFactory *iface, HWND window, UINT flags) -{ - FIXME("iface %p, window %p, flags %#x stub!\n\n", iface, window, flags); - - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE dxgi_factory_GetWindowAssociation(IWineDXGIFactory *iface, HWND *window) +static HRESULT STDMETHODCALLTYPE dxgi_factory_MakeWindowAssociation(IDXGIFactory1 *iface, HWND window, UINT flags) +{ + FIXME("iface %p, window %p, flags %#x stub!\n", iface, window, flags); + + return E_NOTIMPL; +} + +static HRESULT STDMETHODCALLTYPE dxgi_factory_GetWindowAssociation(IDXGIFactory1 *iface, HWND *window) { FIXME("iface %p, window %p stub!\n", iface, window); @@ -176,14 +173,12 @@ return rational->Numerator; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_CreateSwapChain(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_CreateSwapChain(IDXGIFactory1 *iface, IUnknown *device, DXGI_SWAP_CHAIN_DESC *desc, IDXGISwapChain **swapchain) { struct wined3d_swapchain *wined3d_swapchain; struct wined3d_swapchain_desc wined3d_desc; - struct wined3d_device *wined3d_device; IWineDXGIDevice *dxgi_device; - UINT count; HRESULT hr; FIXME("iface %p, device %p, desc %p, swapchain %p partial stub!\n", iface, device, desc, swapchain); @@ -193,17 +188,6 @@ { ERR("This is not the device we're looking for\n"); return hr; - } - - wined3d_device = IWineDXGIDevice_get_wined3d_device(dxgi_device); - IWineDXGIDevice_Release(dxgi_device); - - count = wined3d_device_get_swapchain_count(wined3d_device); - if (count) - { - FIXME("Only a single swapchain supported.\n"); - wined3d_device_decref(wined3d_device); - return E_FAIL; } if (!desc->OutputWindow) @@ -236,33 +220,20 @@ wined3d_desc.refresh_rate = dxgi_rational_to_uint(&desc->BufferDesc.RefreshRate); wined3d_desc.swap_interval = WINED3DPRESENT_INTERVAL_DEFAULT; - hr = wined3d_device_init_3d(wined3d_device, &wined3d_desc); + hr = IWineDXGIDevice_create_swapchain(dxgi_device, &wined3d_desc, &wined3d_swapchain); + IWineDXGIDevice_Release(dxgi_device); if (FAILED(hr)) { - WARN("Failed to initialize 3D, returning %#x\n", hr); - wined3d_device_decref(wined3d_device); + WARN("Failed to create swapchain, hr %#x.\n", hr); return hr; } - wined3d_swapchain = wined3d_device_get_swapchain(wined3d_device, 0); - wined3d_device_decref(wined3d_device); - if (!wined3d_swapchain) - { - WARN("Failed to get swapchain.\n"); - return E_FAIL; - } - *swapchain = wined3d_swapchain_get_parent(wined3d_swapchain); - /* FIXME? The swapchain is created with refcount 1 by the wined3d device, - * but the wined3d device can't hold a real reference. */ - - TRACE("Created IDXGISwapChain %p\n", *swapchain); - return S_OK; } -static HRESULT STDMETHODCALLTYPE dxgi_factory_CreateSoftwareAdapter(IWineDXGIFactory *iface, +static HRESULT STDMETHODCALLTYPE dxgi_factory_CreateSoftwareAdapter(IDXGIFactory1 *iface, HMODULE swrast, IDXGIAdapter **adapter) { FIXME("iface %p, swrast %p, adapter %p stub!\n", iface, swrast, adapter); @@ -270,57 +241,45 @@ return E_NOTIMPL; } -static BOOL STDMETHODCALLTYPE dxgi_factory_IsCurrent(IWineDXGIFactory *iface) +static BOOL STDMETHODCALLTYPE dxgi_factory_IsCurrent(IDXGIFactory1 *iface) { FIXME("iface %p stub!\n", iface); return TRUE; } -/* IWineDXGIFactory methods */ - -static struct wined3d * STDMETHODCALLTYPE dxgi_factory_get_wined3d(IWineDXGIFactory *iface) -{ - struct dxgi_factory *This = impl_from_IWineDXGIFactory(iface); - - TRACE("iface %p\n", iface); - - EnterCriticalSection(&dxgi_cs); - wined3d_incref(This->wined3d); - LeaveCriticalSection(&dxgi_cs); - return This->wined3d; -} - -static const struct IWineDXGIFactoryVtbl dxgi_factory_vtbl = -{ - /* IUnknown methods */ +static const struct IDXGIFactory1Vtbl dxgi_factory_vtbl = +{ dxgi_factory_QueryInterface, dxgi_factory_AddRef, dxgi_factory_Release, - /* IDXGIObject methods */ dxgi_factory_SetPrivateData, dxgi_factory_SetPrivateDataInterface, dxgi_factory_GetPrivateData, dxgi_factory_GetParent, - /* IDXGIFactory methods */ dxgi_factory_EnumAdapters, dxgi_factory_MakeWindowAssociation, dxgi_factory_GetWindowAssociation, dxgi_factory_CreateSwapChain, dxgi_factory_CreateSoftwareAdapter, - /* IDXGIFactory1 methods */ dxgi_factory_EnumAdapters1, dxgi_factory_IsCurrent, - /* IWineDXGIFactory methods */ - dxgi_factory_get_wined3d, }; + +struct dxgi_factory *unsafe_impl_from_IDXGIFactory1(IDXGIFactory1 *iface) +{ + if (!iface) + return NULL; + assert(iface->lpVtbl == &dxgi_factory_vtbl); + return CONTAINING_RECORD(iface, struct dxgi_factory, IDXGIFactory1_iface); +} static HRESULT dxgi_factory_init(struct dxgi_factory *factory, BOOL extended) { HRESULT hr; UINT i; - factory->IWineDXGIFactory_iface.lpVtbl = &dxgi_factory_vtbl; + factory->IDXGIFactory1_iface.lpVtbl = &dxgi_factory_vtbl; factory->refcount = 1; EnterCriticalSection(&dxgi_cs); @@ -352,14 +311,13 @@ for (j = 0; j < i; ++j) { - IWineDXGIAdapter_Release(factory->adapters[j]); + IDXGIAdapter1_Release(factory->adapters[j]); } hr = E_OUTOFMEMORY; goto fail; } - hr = dxgi_adapter_init(adapter, &factory->IWineDXGIFactory_iface, i); - if (FAILED(hr)) + if (FAILED(hr = dxgi_adapter_init(adapter, factory, i))) { UINT j; @@ -368,12 +326,12 @@ HeapFree(GetProcessHeap(), 0, adapter); for (j = 0; j < i; ++j) { - IWineDXGIAdapter_Release(factory->adapters[j]); + IDXGIAdapter1_Release(factory->adapters[j]); } goto fail; } - factory->adapters[i] = &adapter->IWineDXGIAdapter_iface; + factory->adapters[i] = &adapter->IDXGIAdapter1_iface; } factory->extended = extended; @@ -405,8 +363,28 @@ TRACE("Created factory %p.\n", object); - hr = IWineDXGIFactory_QueryInterface(&object->IWineDXGIFactory_iface, riid, factory); - IWineDXGIFactory_Release(&object->IWineDXGIFactory_iface); + hr = IDXGIFactory1_QueryInterface(&object->IDXGIFactory1_iface, riid, factory); + IDXGIFactory1_Release(&object->IDXGIFactory1_iface); return hr; } + +HWND dxgi_factory_get_device_window(struct dxgi_factory *factory) +{ + EnterCriticalSection(&dxgi_cs); + + if (!factory->device_window) + { + if (!(factory->device_window = CreateWindowA("static", "DXGI device window", + WS_DISABLED, 0, 0, 0, 0, NULL, NULL, NULL, NULL))) + { + ERR("Failed to create a window.\n"); + return NULL; + } + TRACE("Created device window %p for factory %p.\n", factory->device_window, factory); + } + + LeaveCriticalSection(&dxgi_cs); + + return factory->device_window; +} Modified: trunk/reactos/dll/directx/wine/dxgi/output.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/outp…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/output.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/output.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -135,7 +135,7 @@ return S_OK; } - wined3d = IWineDXGIFactory_get_wined3d(This->adapter->parent); + wined3d = This->adapter->parent->wined3d; wined3d_format = wined3dformat_from_dxgi_format(format); EnterCriticalSection(&dxgi_cs); @@ -144,7 +144,6 @@ if (!desc) { - wined3d_decref(wined3d); LeaveCriticalSection(&dxgi_cs); *mode_count = max_count; return S_OK; @@ -152,7 +151,6 @@ if (max_count > *mode_count) { - wined3d_decref(wined3d); LeaveCriticalSection(&dxgi_cs); return DXGI_ERROR_MORE_DATA; } @@ -169,7 +167,6 @@ if (FAILED(hr)) { WARN("EnumAdapterModes failed, hr %#x.\n", hr); - wined3d_decref(wined3d); LeaveCriticalSection(&dxgi_cs); return hr; } @@ -182,7 +179,6 @@ desc[i].ScanlineOrdering = mode.scanline_ordering; desc[i].Scaling = DXGI_MODE_SCALING_UNSPECIFIED; /* FIXME */ } - wined3d_decref(wined3d); LeaveCriticalSection(&dxgi_cs); return S_OK; Modified: trunk/reactos/dll/directx/wine/dxgi/surface.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/surf…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/surface.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/surface.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -149,9 +149,13 @@ /* IDXGISurface methods */ static HRESULT STDMETHODCALLTYPE dxgi_surface_GetDesc(IDXGISurface *iface, DXGI_SURFACE_DESC *desc) { - FIXME("iface %p, desc %p stub!\n", iface, desc); - - return E_NOTIMPL; + struct dxgi_surface *surface = impl_from_IDXGISurface(iface); + + TRACE("iface %p, desc %p.\n", iface, desc); + + *desc = surface->desc; + + return S_OK; } static HRESULT STDMETHODCALLTYPE dxgi_surface_Map(IDXGISurface *iface, DXGI_MAPPED_RECT *mapped_rect, UINT flags) @@ -195,13 +199,15 @@ dxgi_surface_inner_Release, }; -HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device, IUnknown *outer) +HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device, + IUnknown *outer, const DXGI_SURFACE_DESC *desc) { surface->IDXGISurface_iface.lpVtbl = &dxgi_surface_vtbl; surface->IUnknown_iface.lpVtbl = &dxgi_surface_inner_unknown_vtbl; surface->refcount = 1; surface->outer_unknown = outer ? outer : &surface->IUnknown_iface; surface->device = device; + surface->desc = *desc; return S_OK; } Modified: trunk/reactos/dll/directx/wine/dxgi/swapchain.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dxgi/swap…
============================================================================== --- trunk/reactos/dll/directx/wine/dxgi/swapchain.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dxgi/swapchain.c [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -67,19 +67,7 @@ TRACE("%p decreasing refcount to %u\n", This, refcount); if (!refcount) - { - struct wined3d_device *wined3d_device; - HRESULT hr; - - FIXME("Only a single swapchain is supported\n"); - - wined3d_device = wined3d_swapchain_get_device(This->wined3d_swapchain); - hr = wined3d_device_uninit_3d(wined3d_device); - if (FAILED(hr)) - { - ERR("Uninit3D failed, hr %#x\n", hr); - } - } + wined3d_swapchain_decref(This->wined3d_swapchain); return refcount; } Modified: trunk/reactos/include/reactos/wine/winedxgi.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/wined…
============================================================================== --- trunk/reactos/include/reactos/wine/winedxgi.idl [iso-8859-1] (original) +++ trunk/reactos/include/reactos/wine/winedxgi.idl [iso-8859-1] Fri Sep 26 09:40:04 2014 @@ -21,31 +21,10 @@ [ object, local, - uuid(a07ad9ab-fb01-4574-8bfb-0a70a7373f04) -] -interface IWineDXGIFactory : IDXGIFactory1 -{ - struct wined3d *get_wined3d(); -} - -[ - object, - local, - uuid(ab1de34c-2963-4ffd-8493-40f580e510e5) -] -interface IWineDXGIAdapter : IDXGIAdapter1 -{ - UINT get_ordinal(); -} - -[ - object, - local, uuid(3e1ff30b-c951-48c3-b010-0fb49f3dca71) ] interface IWineDXGIDevice : IDXGIDevice { - struct wined3d_device *get_wined3d_device(); HRESULT create_surface( [in] const DXGI_SURFACE_DESC *desc, [in] DXGI_USAGE usage, 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 09:40:04 2014 @@ -42,7 +42,7 @@ reactos/dll/directx/wine/dplayx # Synced to Wine-1.7.27 reactos/dll/directx/wine/dsound # Synced to Wine-1.5.26 reactos/dll/directx/wine/dxdiagn # Synced to Wine-1.7.17 -reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.17 +reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.27 reactos/dll/directx/wine/msdmo # Synced to Wine-1.7.17 reactos/dll/directx/wine/qedit # Synced to Wine-1.7.17 reactos/dll/directx/wine/quartz # Synced to Wine-1.7.17
10 years, 3 months
1
0
0
0
[akhaldi] 64301: [DPLAYX] * Sync with Wine 1.7.27. CORE-8540
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Sep 26 09:22:42 2014 New Revision: 64301 URL:
http://svn.reactos.org/svn/reactos?rev=64301&view=rev
Log: [DPLAYX] * Sync with Wine 1.7.27. CORE-8540 Modified: trunk/reactos/dll/directx/wine/dplayx/dplobby.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/directx/wine/dplayx/dplobby.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dplayx/dp…
============================================================================== --- trunk/reactos/dll/directx/wine/dplayx/dplobby.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dplayx/dplobby.c [iso-8859-1] Fri Sep 26 09:22:42 2014 @@ -2027,6 +2027,7 @@ obj->IDirectPlayLobby3_iface.lpVtbl = &dpl3_vt; obj->IDirectPlayLobby3A_iface.lpVtbl = &dpl3A_vt; obj->numIfaces = 1; + obj->msgtid = 0; obj->ref = 0; obj->refA = 0; obj->ref2 = 0; 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 09:22:42 2014 @@ -39,7 +39,7 @@ reactos/dll/directx/wine/dinput8 # Synced to Wine-1.7.27 reactos/dll/directx/wine/dmusic # Synced to Wine-1.7.27 reactos/dll/directx/wine/dplay # Synced to Wine-1.7.17 -reactos/dll/directx/wine/dplayx # Synced to Wine-1.7.17 +reactos/dll/directx/wine/dplayx # Synced to Wine-1.7.27 reactos/dll/directx/wine/dsound # Synced to Wine-1.5.26 reactos/dll/directx/wine/dxdiagn # Synced to Wine-1.7.17 reactos/dll/directx/wine/dxgi # Synced to Wine-1.7.17
10 years, 3 months
1
0
0
0
← Newer
1
...
10
11
12
13
14
15
16
...
42
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Results per page:
10
25
50
100
200