Author: tfaber Date: Fri Jun 26 12:27:54 2015 New Revision: 68275
URL: http://svn.reactos.org/svn/reactos?rev=68275&view=rev Log: [MSIMTF] - Add a stub implementation for IActiveIMMMessagePumpOwner. - Use #ifdef __REACTOS__ to mark a ROS-diff CORE-4953 #resolve
Modified: trunk/reactos/dll/win32/msimtf/activeimmapp.c trunk/reactos/dll/win32/msimtf/msimtf_ros.diff trunk/reactos/dll/win32/msimtf/precomp.h trunk/reactos/include/psdk/dimm.idl
Modified: trunk/reactos/dll/win32/msimtf/activeimmapp.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/activeimma... ============================================================================== --- trunk/reactos/dll/win32/msimtf/activeimmapp.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/activeimmapp.c [iso-8859-1] Fri Jun 26 12:27:54 2015 @@ -22,6 +22,7 @@
typedef struct tagActiveIMMApp { IActiveIMMApp IActiveIMMApp_iface; + IActiveIMMMessagePumpOwner IActiveIMMMessagePumpOwner_iface; LONG refCount; } ActiveIMMApp;
@@ -46,6 +47,10 @@ { *ppvOut = This; } + else if (IsEqualIID(iid, &IID_IActiveIMMMessagePumpOwner)) + { + *ppvOut = &This->IActiveIMMMessagePumpOwner_iface; + }
if (*ppvOut) { @@ -639,7 +644,9 @@ static HRESULT WINAPI ActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) { - //FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam); +#ifndef __REACTOS__ + FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam); +#endif return E_FAIL; }
@@ -792,6 +799,80 @@ ActiveIMMApp_EnumInputContext };
+static inline ActiveIMMApp *impl_from_IActiveIMMMessagePumpOwner(IActiveIMMMessagePumpOwner *iface) +{ + return CONTAINING_RECORD(iface, ActiveIMMApp, IActiveIMMMessagePumpOwner_iface); +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_QueryInterface(IActiveIMMMessagePumpOwner* iface, + REFIID iid, LPVOID *ppvOut) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + return IActiveIMMApp_QueryInterface(&This->IActiveIMMApp_iface, iid, ppvOut); +} + +static ULONG WINAPI ActiveIMMMessagePumpOwner_AddRef(IActiveIMMMessagePumpOwner* iface) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + return IActiveIMMApp_AddRef(&This->IActiveIMMApp_iface); +} + +static ULONG WINAPI ActiveIMMMessagePumpOwner_Release(IActiveIMMMessagePumpOwner* iface) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + return IActiveIMMApp_Release(&This->IActiveIMMApp_iface); +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_Start(IActiveIMMMessagePumpOwner* iface) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + FIXME("(%p)->(): stub\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_End(IActiveIMMMessagePumpOwner* iface) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + FIXME("(%p)->(): stub\n", This); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_OnTranslateMessage(IActiveIMMMessagePumpOwner* iface, + const MSG *msg) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + FIXME("(%p)->(%p): stub\n", This, msg); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_Pause(IActiveIMMMessagePumpOwner* iface, + DWORD *cookie) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + FIXME("(%p)->(%p): stub\n", This, cookie); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveIMMMessagePumpOwner_Resume(IActiveIMMMessagePumpOwner* iface, + DWORD cookie) +{ + ActiveIMMApp *This = impl_from_IActiveIMMMessagePumpOwner(iface); + FIXME("(%p)->(%u): stub\n", This, cookie); + return E_NOTIMPL; +} + +static const IActiveIMMMessagePumpOwnerVtbl ActiveIMMMessagePumpOwnerVtbl = +{ + ActiveIMMMessagePumpOwner_QueryInterface, + ActiveIMMMessagePumpOwner_AddRef, + ActiveIMMMessagePumpOwner_Release, + ActiveIMMMessagePumpOwner_Start, + ActiveIMMMessagePumpOwner_End, + ActiveIMMMessagePumpOwner_OnTranslateMessage, + ActiveIMMMessagePumpOwner_Pause, + ActiveIMMMessagePumpOwner_Resume, +}; + DECLSPEC_HIDDEN HRESULT ActiveIMMApp_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) { ActiveIMMApp *This; @@ -803,6 +884,7 @@ return E_OUTOFMEMORY;
This->IActiveIMMApp_iface.lpVtbl = &ActiveIMMAppVtbl; + This->IActiveIMMMessagePumpOwner_iface.lpVtbl = &ActiveIMMMessagePumpOwnerVtbl; This->refCount = 1;
TRACE("returning %p\n",This);
Modified: trunk/reactos/dll/win32/msimtf/msimtf_ros.diff URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/msimtf_ros... ============================================================================== --- trunk/reactos/dll/win32/msimtf/msimtf_ros.diff [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/msimtf_ros.diff [iso-8859-1] Fri Jun 26 12:27:54 2015 @@ -1,13 +1,14 @@ Index: activeimmapp.c =================================================================== ---- activeimmapp.c (revision 48273) +--- activeimmapp.c (Wine c4be28ed) +++ activeimmapp.c (working copy) -@@ -655,7 +655,7 @@ +@@ -664,7 +644,9 @@ static HRESULT WINAPI ActiveIMMApp_OnDefWindowProc(IActiveIMMApp* This, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) { -- FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam); -+ //FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam); ++#ifndef __REACTOS__ + FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam); ++#endif return E_FAIL; }
Modified: trunk/reactos/dll/win32/msimtf/precomp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/precomp.h?... ============================================================================== --- trunk/reactos/dll/win32/msimtf/precomp.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/precomp.h [iso-8859-1] Fri Jun 26 12:27:54 2015 @@ -14,6 +14,7 @@ #include <windef.h> #include <winbase.h> #include <wingdi.h> +#include <winuser.h> #include <objbase.h> #include <dimm.h>
Modified: trunk/reactos/include/psdk/dimm.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/dimm.idl?rev=6... ============================================================================== --- trunk/reactos/include/psdk/dimm.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/dimm.idl [iso-8859-1] Fri Jun 26 12:27:54 2015 @@ -581,6 +581,20 @@ }
[ + object, + uuid(b5cf2cfa-8aeb-11d1-9364-0060b067b86e), + pointer_default(unique) +] +interface IActiveIMMMessagePumpOwner : IUnknown +{ + HRESULT Start(); + HRESULT End(); + HRESULT OnTranslateMessage([in] const MSG *msg); + HRESULT Pause([out] DWORD *cookie); + HRESULT Resume([in] DWORD cookie); +} + +[ uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59) ] coclass CActiveIMM @@ -588,6 +602,5 @@ [default] interface IActiveIMMApp; /* interface IActiveIMMIME; */ /* interface IActiveIMMRegistrar; */ - /* interface IActiveIMMMessagePumpOwner; */ + interface IActiveIMMMessagePumpOwner; } -