Author: akhaldi Date: Sat Jan 28 22:42:14 2012 New Revision: 55284
URL: http://svn.reactos.org/svn/reactos?rev=55284&view=rev Log: [MSIMTF] * Sync to Wine 1.3.37.
Added: trunk/reactos/dll/win32/msimtf/msimtf.idl (with props) trunk/reactos/dll/win32/msimtf/msimtf.rgs (with props) Removed: trunk/reactos/dll/win32/msimtf/msimtf.inf Modified: trunk/reactos/dll/win32/msimtf/activeimmapp.c trunk/reactos/dll/win32/msimtf/main.c trunk/reactos/dll/win32/msimtf/rsrc.rc trunk/reactos/media/doc/README.WINE
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] Sat Jan 28 22:42:14 2012 @@ -31,7 +31,6 @@ #include "winuser.h" #include "winerror.h" #include "objbase.h" -#include "advpub.h" #include "dimm.h" #include "imm.h"
@@ -42,10 +41,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(msimtf);
typedef struct tagActiveIMMApp { - const IActiveIMMAppVtbl *vtbl; + IActiveIMMApp IActiveIMMApp_iface; LONG refCount; } ActiveIMMApp;
+static inline ActiveIMMApp *impl_from_IActiveIMMApp(IActiveIMMApp *iface) +{ + return CONTAINING_RECORD(iface, ActiveIMMApp, IActiveIMMApp_iface); +} + static void ActiveIMMApp_Destructor(ActiveIMMApp* This) { TRACE("\n"); @@ -55,7 +59,7 @@ static HRESULT WINAPI ActiveIMMApp_QueryInterface (IActiveIMMApp* iface, REFIID iid, LPVOID *ppvOut) { - ActiveIMMApp *This = (ActiveIMMApp*)iface; + ActiveIMMApp *This = impl_from_IActiveIMMApp(iface); *ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_IActiveIMMApp)) @@ -75,13 +79,13 @@
static ULONG WINAPI ActiveIMMApp_AddRef(IActiveIMMApp* iface) { - ActiveIMMApp *This = (ActiveIMMApp*)iface; + ActiveIMMApp *This = impl_from_IActiveIMMApp(iface); return InterlockedIncrement(&This->refCount); }
static ULONG WINAPI ActiveIMMApp_Release(IActiveIMMApp* iface) { - ActiveIMMApp *This = (ActiveIMMApp*)iface; + ActiveIMMApp *This = impl_from_IActiveIMMApp(iface); ULONG ret;
ret = InterlockedDecrement(&This->refCount); @@ -808,7 +812,7 @@ ActiveIMMApp_EnumInputContext };
-HRESULT ActiveIMMApp_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) +DECLSPEC_HIDDEN HRESULT ActiveIMMApp_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) { ActiveIMMApp *This; if (pUnkOuter) @@ -818,7 +822,7 @@ if (This == NULL) return E_OUTOFMEMORY;
- This->vtbl = &ActiveIMMAppVtbl; + This->IActiveIMMApp_iface.lpVtbl = &ActiveIMMAppVtbl; This->refCount = 1;
TRACE("returning %p\n",This);
Modified: trunk/reactos/dll/win32/msimtf/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/main.c?rev... ============================================================================== --- trunk/reactos/dll/win32/msimtf/main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/main.c [iso-8859-1] Sat Jan 28 22:42:14 2012 @@ -27,9 +27,8 @@ #include "winbase.h" #include "wingdi.h" #include "winuser.h" -#include "winreg.h" -#include "advpub.h" #include "ole2.h" +#include "rpcproxy.h" #include "dimm.h"
#include "wine/debug.h" @@ -60,10 +59,15 @@ }
typedef struct { - const IClassFactoryVtbl *lpClassFactoryVtbl; + IClassFactory IClassFactory_iface;
HRESULT (*cf)(IUnknown*,IUnknown**); } ClassFactory; + +static inline ClassFactory *impl_from_IClassFactory(IClassFactory *iface) +{ + return CONTAINING_RECORD(iface, ClassFactory, IClassFactory_iface); +}
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv) @@ -100,7 +104,7 @@ static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *pOuter, REFIID riid, void **ppv) { - ClassFactory *This = (ClassFactory*)iface; + ClassFactory *This = impl_from_IClassFactory(iface); HRESULT ret; IUnknown *obj; TRACE("(%p, %p, %s, %p)\n", iface, pOuter, debugstr_guid(riid), ppv); @@ -135,7 +139,7 @@ { if(IsEqualGUID(&CLSID_CActiveIMM, rclsid)) { static ClassFactory cf = { - &ClassFactoryVtbl, + { &ClassFactoryVtbl }, ActiveIMMApp_Constructor, };
@@ -154,59 +158,12 @@ return S_FALSE; }
-#define INF_SET_CLSID(clsid) \ - do \ - { \ - static CHAR name[] = "CLSID_" #clsid; \ - \ - pse[i].pszName = name; \ - clsids[i++] = &CLSID_ ## clsid; \ - } while (0) - -static HRESULT register_server(BOOL doregister) -{ - HRESULT hres; - HMODULE hAdvpack; - HRESULT (WINAPI *pRegInstall)(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable); - STRTABLEA strtable; - STRENTRYA pse[1]; - static CLSID const *clsids[34]; - unsigned int i = 0; - - static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0}; - - INF_SET_CLSID(CActiveIMM); - - for(i = 0; i < sizeof(pse)/sizeof(pse[0]); i++) { - pse[i].pszValue = HeapAlloc(GetProcessHeap(), 0, 39); - sprintf(pse[i].pszValue, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", - clsids[i]->Data1, clsids[i]->Data2, clsids[i]->Data3, clsids[i]->Data4[0], - clsids[i]->Data4[1], clsids[i]->Data4[2], clsids[i]->Data4[3], clsids[i]->Data4[4], - clsids[i]->Data4[5], clsids[i]->Data4[6], clsids[i]->Data4[7]); - } - - strtable.cEntries = sizeof(pse)/sizeof(pse[0]); - strtable.pse = pse; - - hAdvpack = LoadLibraryW(wszAdvpack); - pRegInstall = (void *)GetProcAddress(hAdvpack, "RegInstall"); - - hres = pRegInstall(msimtf_instance, doregister ? "RegisterDll" : "UnregisterDll", &strtable); - - for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) - HeapFree(GetProcessHeap(), 0, pse[i].pszValue); - - return hres; -} - -#undef INF_SET_CLSID - /*********************************************************************** * DllRegisterServer (msimtf.@) */ HRESULT WINAPI DllRegisterServer(void) { - return register_server(TRUE); + return __wine_register_resources( msimtf_instance ); }
/*********************************************************************** @@ -214,5 +171,5 @@ */ HRESULT WINAPI DllUnregisterServer(void) { - return register_server(FALSE); + return __wine_unregister_resources( msimtf_instance ); }
Added: trunk/reactos/dll/win32/msimtf/msimtf.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/msimtf.idl... ============================================================================== --- trunk/reactos/dll/win32/msimtf/msimtf.idl (added) +++ trunk/reactos/dll/win32/msimtf/msimtf.idl [iso-8859-1] Sat Jan 28 22:42:14 2012 @@ -1,0 +1,38 @@ +/* + * COM Classes for msimtf + * + * Copyright 2010 Alexandre Julliard + * + * 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 + */ + +[ + helpstring("CActiveIMMApp"), + threading(apartment), + uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59) +] +coclass CActiveIMM { interface IActiveIMMApp; } + +[ + threading(apartment), + uuid(c1ee01f2-b3b6-4a6a-9ddd-e988c088ec82) +] +coclass CActiveIMMAppEx { interface IActiveIMMApp; } + +[ + threading(apartment), + uuid(50d5107a-d278-4871-8989-f4ceaaf59cfc) +] +coclass CActiveIMMAppEx_Trident { interface IActiveIMMApp; }
Propchange: trunk/reactos/dll/win32/msimtf/msimtf.idl ------------------------------------------------------------------------------ svn:eol-style = native
Removed: trunk/reactos/dll/win32/msimtf/msimtf.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/msimtf.inf... ============================================================================== --- trunk/reactos/dll/win32/msimtf/msimtf.inf [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/msimtf.inf (removed) @@ -1,26 +1,0 @@ -[version] -Signature="$CHICAGO$" - - -[RegisterDll] -AddReg=Classes.Reg - - -[UnregisterDll] -DelReg=Classes.Reg - - -[Classes.Reg] -HKCR,"CLSID%CLSID_CActiveIMM%",,,"CActiveIMMApp" -HKCR,"CLSID%CLSID_CActiveIMM%\InProcServer32",,,"msimtf.dll" -HKCR,"CLSID%CLSID_CActiveIMM%\InProcServer32","ThreadingModel",,"Apartment" -HKCR,"CLSID%CLSID_CActiveIMMAppEx_Trident%",,,"CActiveIMMAppEx_Trident" -HKCR,"CLSID%CLSID_CActiveIMMAppEx_Trident%\InProcServer32",,,"msimtf.dll" -HKCR,"CLSID%CLSID_CActiveIMMAppEx_Trident%\InProcServer32","ThreadingModel",,"Apartment" -HKCR,"CLSID%CLSID_CActiveIMMAppEx%",,,"CActiveIMMAppEx" -HKCR,"CLSID%CLSID_CActiveIMMAppEx%\InProcServer32",,,"msimtf.dll" -HKCR,"CLSID%CLSID_CActiveIMMAppEx%\InProcServer32","ThreadingModel",,"Apartment" - -[Strings] -CLSID_CActiveIMMAppEx_Trident={50D5107A-D278-4871-8989-F4CEAAF59CFC} -CLSID_CActiveIMMAppEx="{C1EE01F2-B3B6-4A6A-9DDD-E988C088EC82}"
Added: trunk/reactos/dll/win32/msimtf/msimtf.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/msimtf.rgs... ============================================================================== --- trunk/reactos/dll/win32/msimtf/msimtf.rgs (added) +++ trunk/reactos/dll/win32/msimtf/msimtf.rgs [iso-8859-1] Sat Jan 28 22:42:14 2012 @@ -1,0 +1,21 @@ +HKCR +{ + NoRemove Interface + { + } + NoRemove CLSID + { + '{4955DD33-B159-11D0-8FCF-00AA006BCC59}' = s 'CActiveIMMApp' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' } + } + '{C1EE01F2-B3B6-4A6A-9DDD-E988C088EC82}' = s 'CActiveIMMAppEx' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' } + } + '{50D5107A-D278-4871-8989-F4CEAAF59CFC}' = s 'CActiveIMMAppEx_Trident' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' } + } + } +}
Propchange: trunk/reactos/dll/win32/msimtf/msimtf.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/msimtf/rsrc.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msimtf/rsrc.rc?re... ============================================================================== --- trunk/reactos/dll/win32/msimtf/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msimtf/rsrc.rc [iso-8859-1] Sat Jan 28 22:42:14 2012 @@ -1,20 +1,1 @@ -/* - * Copyright 2007 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 - */ - -/* @makedep: msimtf.inf */ -REGINST REGINST msimtf.inf +1 WINE_REGISTRY msimtf.rgs
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=5... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Jan 28 22:42:14 2012 @@ -103,7 +103,7 @@ reactos/dll/win32/mshtml # Autosync reactos/dll/win32/msimg32 # Autosync reactos/dll/win32/msi # Autosync -reactos/dll/win32/msimtf # Autosync +reactos/dll/win32/msimtf # Synced to Wine-1.3.37 reactos/dll/win32/msisip # Synced to Wine-1.3.37 reactos/dll/win32/msisys.ocx # Autosync reactos/dll/win32/msnet32 # Autosync