36#include "inputscope.h"
76const WCHAR szwSystemTIPKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'C',
'T',
'F',
'\\',
'T',
'I',
'P',0};
77const WCHAR szwSystemCTFKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'C',
'T',
'F',0};
107 TRACE(
"Destroying class factory %p\n",
This);
115 IClassFactory_AddRef(iface);
150 ret = IUnknown_QueryInterface(
obj, iid, ppvOut);
151 IUnknown_Release(
obj);
181 *ppvOut = &
This->IClassFactory_iface;
182 TRACE(
"Created class factory %p\n",
This);
204 ERR(
"Out of memory, Unable to alloc cookies array\n");
215 ERR(
"Out of memory, Unable to realloc cookies array\n");
293 if (
FAILED(IUnknown_QueryInterface(unk,
riid, (
void**)&
sink->interfaces.pIUnknown)))
308 IUnknown_Release(
sink->interfaces.pIUnknown);
357 ITfThreadMgrEx_AddRef(
tm);
408 ITfThreadMgrEx_QueryInterface(
tm, &IID_ITfClientId, (
void **)&clientid);
409 ITfClientId_GetClientId(clientid, &lp->
clsid, &actsvr->
tid);
410 ITfClientId_Release(clientid);
427 ITfCategoryMgr_FindClosestCategory(catmgr,
431 ITfCategoryMgr_Release(catmgr);
435 ERR(
"CategoryMgr construction failed\n");
488 FIXME(
"Failed to activate text service\n");
559 case DLL_WINE_PREATTACH:
634 ITfThreadMgr_AddRef(*pptim);
652 UINT cInputScopes,
WCHAR **ppszPhraseList,
657 for (
i = 0;
i < cInputScopes;
i++)
658 TRACE(
"\tScope[%u] = %i\n",
i,pInputScopes[
i]);
659 for (
i = 0;
i < cPhrases;
i++)
669 ITfInputProcessorProfiles **ppipr)
694 FIXME(
"stub %p\n", pplbim);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static int list_empty(struct list_entry *head)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
const GUID IID_IClassFactory
HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
HRESULT DisplayAttributeMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define HeapFree(x, y, z)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
DWORD WINAPI TlsAlloc(VOID)
BOOL WINAPI TlsFree(IN DWORD Index)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum GLboolean sink
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT LangBarMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL fLock)
HRESULT set_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown *sink)
static ClassFactory * impl_from_IClassFactory(IClassFactory *iface)
DWORD get_Cookie_magic(DWORD id)
HRESULT WINAPI DllRegisterServer(void)
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *punkOuter, REFIID iid, LPVOID *ppvOut)
static const IClassFactoryVtbl ClassFactoryVtbl
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, LPVOID *ppvOut)
LPVOID remove_Cookie(DWORD id)
HRESULT get_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown **sink)
HRESULT activate_textservices(ITfThreadMgrEx *tm)
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr)
BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *profile)
ITfCompartmentMgr * globalCompartmentMgr
HRESULT(* LPFNCONSTRUCTOR)(IUnknown *pUnkOuter, IUnknown **ppvOut)
HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim)
HRESULT WINAPI TF_InitMlngInfo(void)
HRESULT WINAPI DllUnregisterServer(void)
HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp)
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
HRESULT unadvise_sink(DWORD cookie)
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, LPVOID *ppvOut)
struct tagClassFactory ClassFactory
HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim)
DWORD enumerate_Cookie(DWORD magic, DWORD *index)
const WCHAR szwSystemCTFKey[]
void free_sinks(struct list *sink_list)
const WCHAR szwSystemTIPKey[]
static void free_sink(Sink *sink)
DWORD generate_Cookie(DWORD magic, LPVOID data)
HRESULT deactivate_textservices(void)
HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim)
static CookieInternal * cookies
static void ClassFactory_Destructor(ClassFactory *This)
static HRESULT deactivate_given_ts(ActivatedTextService *actsvr)
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
static HINSTANCE MSCTF_hinstance
static struct list AtsList
HRESULT WINAPI SetInputScope(HWND hwnd, InputScope inputscope)
HRESULT WINAPI SetInputScopes(HWND hwnd, const InputScope *pInputScopes, UINT cInputScopes, WCHAR **ppszPhraseList, UINT cPhrases, WCHAR *pszRegExp, WCHAR *pszSRGS)
HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm)
CLSID get_textservice_clsid(TfClientId tid)
HRESULT WINAPI DllCanUnloadNow(void)
static const struct @486 ClassesTable[]
HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
static HRESULT activate_given_ts(ActivatedTextService *actsvr, ITfThreadMgrEx *tm)
static HRESULT ClassFactory_Constructor(LPFNCONSTRUCTOR ctor, LPVOID *ppvOut)
LPVOID get_Cookie_data(DWORD id)
HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void)
static void deactivate_remove_conflicting_ts(REFCLSID catid)
EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles
EXTERN_C const CLSID CLSID_TF_LangBarMgr
EXTERN_C const CLSID CLSID_TF_ThreadMgr
EXTERN_C const CLSID CLSID_TF_CategoryMgr
EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD
EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr
EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH
EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING
HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) DECLSPEC_HIDDEN
#define CONNECT_E_CANNOTCONNECT
#define CONNECT_E_NOCONNECTION
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2)
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
TF_LANGUAGEPROFILE LanguageProfile
ITfTextInputProcessor * pITfTextInputProcessor
ITfKeyEventSink * pITfKeyEventSink
ITfThreadMgrEx * pITfThreadMgrEx
ActivatedTextService * ats
IClassFactory IClassFactory_iface
#define CONTAINING_RECORD(address, type, field)
#define CLASS_E_CLASSNOTAVAILABLE