Commit a971489d authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

msimtf: Add a mostly wrapper stub for IActiveIMMApp.

parent 40c06ea2
...@@ -3,9 +3,12 @@ TOPOBJDIR = ../.. ...@@ -3,9 +3,12 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = msimtf.dll MODULE = msimtf.dll
IMPORTS = uuid kernel32 IMPORTS = uuid imm32 kernel32
C_SRCS = \
activeimmapp.c \
main.c
C_SRCS = main.c
RC_SRCS = rsrc.rc RC_SRCS = rsrc.rc
@MAKE_DLL_RULES@ @MAKE_DLL_RULES@
......
...@@ -36,13 +36,9 @@ ...@@ -36,13 +36,9 @@
WINE_DEFAULT_DEBUG_CHANNEL(msimtf); WINE_DEFAULT_DEBUG_CHANNEL(msimtf);
static HINSTANCE msimtf_instance; extern HRESULT ActiveIMMApp_Constructor(IUnknown *punkOuter, IUnknown **ppOut);
static HRESULT CActiveIMM_Create(IUnknown *outer, REFIID riid, void **ppv) static HINSTANCE msimtf_instance;
{
FIXME("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
return E_NOINTERFACE;
}
/****************************************************************** /******************************************************************
* DllMain (msimtf.@) * DllMain (msimtf.@)
...@@ -66,7 +62,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) ...@@ -66,7 +62,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
typedef struct { typedef struct {
const IClassFactoryVtbl *lpClassFactoryVtbl; const IClassFactoryVtbl *lpClassFactoryVtbl;
HRESULT (*cf)(IUnknown*,REFIID,void**); HRESULT (*cf)(IUnknown*,IUnknown**);
} ClassFactory; } ClassFactory;
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface,
...@@ -105,7 +101,17 @@ static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, ...@@ -105,7 +101,17 @@ static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface,
IUnknown *pOuter, REFIID riid, void **ppv) IUnknown *pOuter, REFIID riid, void **ppv)
{ {
ClassFactory *This = (ClassFactory*)iface; ClassFactory *This = (ClassFactory*)iface;
return This->cf(pOuter, riid, ppv); HRESULT ret;
IUnknown *obj;
TRACE("(%p, %p, %s, %p)\n", iface, pOuter, debugstr_guid(riid), ppv);
ret = This->cf(pOuter, &obj);
if (FAILED(ret))
return ret;
ret = IUnknown_QueryInterface(obj,riid,ppv);
IUnknown_Release(obj);
return ret;
} }
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock) static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
...@@ -130,11 +136,9 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) ...@@ -130,11 +136,9 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
if(IsEqualGUID(&CLSID_CActiveIMM, rclsid)) { if(IsEqualGUID(&CLSID_CActiveIMM, rclsid)) {
static ClassFactory cf = { static ClassFactory cf = {
&ClassFactoryVtbl, &ClassFactoryVtbl,
CActiveIMM_Create ActiveIMMApp_Constructor,
}; };
TRACE("CLSID_CActiveIMM\n");
return IClassFactory_QueryInterface((IClassFactory*)&cf, riid, ppv); return IClassFactory_QueryInterface((IClassFactory*)&cf, riid, ppv);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment