169 ITfDocumentMgr_Release(
This->focus);
192 FIXME(
"Left Over ITfDocumentMgr. Should we do something with it?\n");
216 *ppvOut = &
This->ITfThreadMgrEx_iface;
220 *ppvOut = &
This->ITfSource_iface;
222 else if (
IsEqualIID(iid, &IID_ITfKeystrokeMgr))
224 *ppvOut = &
This->ITfKeystrokeMgr_iface;
226 else if (
IsEqualIID(iid, &IID_ITfMessagePump))
228 *ppvOut = &
This->ITfMessagePump_iface;
232 *ppvOut = &
This->ITfClientId_iface;
234 else if (
IsEqualIID(iid, &IID_ITfCompartmentMgr))
236 *ppvOut =
This->CompartmentMgr;
238 else if (
IsEqualIID(iid, &IID_ITfUIElementMgr))
240 *ppvOut = &
This->ITfUIElementMgr_iface;
242 else if (
IsEqualIID(iid, &IID_ITfSourceSingle))
244 *ppvOut = &
This->ITfSourceSingle_iface;
249 ITfThreadMgrEx_AddRef(iface);
283 return ITfThreadMgrEx_ActivateEx(iface,
id, 0);
291 if (
This->activationCount == 0)
294 This->activationCount --;
296 if (
This->activationCount == 0)
300 ITfThreadMgrEventSink_OnSetFocus(&
This->ITfThreadMgrEventSink_iface, 0,
This->focus);
301 ITfDocumentMgr_Release(
This->focus);
317 TRACE(
"(%p)\n",iface);
319 if (mgrentry ==
NULL)
326 mgrentry->
docmgr = *ppdim;
354 *ppdimFocus =
This->focus;
361 ITfDocumentMgr_AddRef(
This->focus);
375 else if (
FAILED(ITfDocumentMgr_QueryInterface(pdimFocus,&IID_ITfDocumentMgr,(
LPVOID*) &
check)))
378 ITfThreadMgrEventSink_OnSetFocus(&
This->ITfThreadMgrEventSink_iface,
check,
This->focus);
381 ITfDocumentMgr_Release(
This->focus);
394 ERR(
"Hook proc but no ThreadMgr for this thread. Serious Error\n");
397 if (!
This->focusHook)
399 ERR(
"Hook proc but no ThreadMgr focus Hook. Serious Error\n");
412 TRACE(
"Triggering Associated window focus\n");
425 if (!
This->focusHook)
429 if (!
This->focusHook)
431 ERR(
"Unable to set focus hook\n");
459 ITfDocumentMgr_AddRef(wnd->
docmgr);
488 *pfThreadFocus = (focus ==
NULL);
550 This->activationCount++;
587 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
593 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
599 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
612 if (!
riid || !punk || !pdwCookie)
620 WARN(
"semi-stub for ITfThreadFocusSink: sink won't be used.\n");
626 WARN(
"semi-stub for ITfActiveLanguageProfileNotifySink: sink won't be used.\n");
627 return advise_sink(&
This->ActiveLanguageProfileNotifySink, &IID_ITfActiveLanguageProfileNotifySink,
633 WARN(
"semi-stub for ITfKeyTraceEventSink: sink won't be used.\n");
634 return advise_sink(&
This->KeyTraceEventSink, &IID_ITfKeyTraceEventSink,
640 WARN(
"semi-stub for ITfUIElementSink: sink won't be used.\n");
645 if (
IsEqualIID(
riid, &IID_ITfInputProcessorProfileActivationSink))
647 WARN(
"semi-stub for ITfInputProcessorProfileActivationSink: sink won't be used.\n");
648 return advise_sink(&
This->InputProcessorProfileActivationSink, &IID_ITfInputProcessorProfileActivationSink,
689 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
695 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
701 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
724 if (
FAILED(ITfKeyEventSink_QueryInterface(pSink,&IID_ITfKeyEventSink,(
LPVOID*) &
check)))
731 if (
This->foregroundKeyEventSink)
733 ITfKeyEventSink_OnSetFocus(
This->foregroundKeyEventSink,
FALSE);
734 ITfKeyEventSink_Release(
This->foregroundKeyEventSink);
736 ITfKeyEventSink_AddRef(
check);
739 This->foregroundTextService = textservice;
765 ITfKeyEventSink_Release(
check);
767 if (
This->foregroundKeyEventSink ==
check)
769 ITfKeyEventSink_Release(
This->foregroundKeyEventSink);
770 This->foregroundKeyEventSink =
NULL;
787 *pclsid =
This->foregroundTextService;
841 if (!rguid || !pprekey || !pfRegistered)
849 *pfRegistered =
TRUE;
854 *pfRegistered =
FALSE;
868 if (!
tid || ! rguid || !prekey || (cchDesc && !pchDesc))
875 return TF_E_ALREADY_EXISTS;
882 newkey->
guid = *rguid;
910 if (!pprekey || !rguid)
983 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
989 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
995 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
1004 *pfResult =
PeekMessageA(pMsg,
hwnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
1024 *pfResult =
PeekMessageW(pMsg,
hwnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
1056 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
1062 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
1068 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
1082 hr = ITfCategoryMgr_RegisterGUID(catmgr,rclsid,ptid);
1083 ITfCategoryMgr_Release(catmgr);
1102 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
1108 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
1114 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
1129 ITfThreadMgrEventSink_OnInitDocumentMgr(
sink, pdim);
1146 ITfThreadMgrEventSink_OnUninitDocumentMgr(
sink, pdim);
1160 TRACE(
"(%p) %p %p\n",
This,pdimFocus, pdimPrevFocus);
1164 ITfThreadMgrEventSink_OnSetFocus(
sink, pdimFocus, pdimPrevFocus);
1181 ITfThreadMgrEventSink_OnPushContext(
sink, pic);
1198 ITfThreadMgrEventSink_OnPopContext(
sink, pic);
1223 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
1230 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
1237 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
1302 return ITfThreadMgrEx_QueryInterface(&
This->ITfThreadMgrEx_iface, iid, ppvOut);
1308 return ITfThreadMgrEx_AddRef(&
This->ITfThreadMgrEx_iface);
1314 return ITfThreadMgrEx_Release(&
This->ITfThreadMgrEx_iface);
1408 *ppvOut = &
This->IEnumTfDocumentMgrs_iface;
1413 IEnumTfDocumentMgrs_AddRef(iface);
1448 while (fetched < ulCount)
1455 if (mgrentry ==
NULL)
1458 *rgDocumentMgr = mgrentry->
docmgr;
1459 ITfDocumentMgr_AddRef(*rgDocumentMgr);
1466 if (pcFetched) *pcFetched = fetched;
1532 TRACE(
"returning %p\n", &
This->IEnumTfDocumentMgrs_iface);
1533 *ppOut = &
This->IEnumTfDocumentMgrs_iface;
1544 if (mgrentry->
docmgr == mgr)
1551 FIXME(
"ITfDocumentMgr %p not found in this thread\n",mgr);
static HRESULT WINAPI KeystrokeMgr_GetPreservedKey(ITfKeystrokeMgr *iface, ITfContext *pic, const TF_PRESERVEDKEY *pprekey, GUID *pguid)
static HRESULT WINAPI ThreadMgr_IsThreadFocus(ITfThreadMgrEx *iface, BOOL *pfThreadFocus)
ITfSource ITfSource_iface
static ULONG WINAPI ThreadMgr_Release(ITfThreadMgrEx *iface)
struct list DisplayAttributeNotifySink
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
static ULONG WINAPI MessagePump_AddRef(ITfMessagePump *iface)
static HRESULT WINAPI UIElementMgr_BeginUIElement(ITfUIElementMgr *iface, ITfUIElement *element, BOOL *show, DWORD *id)
static HRESULT WINAPI ClientId_GetClientId(ITfClientId *iface, REFCLSID rclsid, TfClientId *ptid)
static HRESULT WINAPI ThreadMgr_AssociateFocus(ITfThreadMgrEx *iface, HWND hwnd, ITfDocumentMgr *pdimNew, ITfDocumentMgr **ppdimPrev)
#define COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK
static HRESULT WINAPI ThreadMgr_SetFocus(ITfThreadMgrEx *iface, ITfDocumentMgr *pdimFocus)
static HRESULT WINAPI ThreadMgr_EnumDocumentMgrs(ITfThreadMgrEx *iface, IEnumTfDocumentMgrs **ppEnum)
ITfClientId ITfClientId_iface
static const IEnumTfDocumentMgrsVtbl EnumTfDocumentMgrsVtbl
static ULONG WINAPI ThreadMgrSourceSingle_AddRef(ITfSourceSingle *iface)
struct list CreatedDocumentMgrs
static HRESULT WINAPI ThreadMgrEventSink_OnPopContext(ITfThreadMgrEventSink *iface, ITfContext *pic)
#define CONNECT_E_ADVISELIMIT
static HRESULT WINAPI MessagePump_PeekMessageA(ITfMessagePump *iface, LPMSG pMsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg, BOOL *pfResult)
struct outqueuenode * head
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
static HRESULT WINAPI KeystrokeMgr_IsPreservedKey(ITfKeystrokeMgr *iface, REFGUID rguid, const TF_PRESERVEDKEY *pprekey, BOOL *pfRegistered)
static HRESULT WINAPI ThreadMgr_Activate(ITfThreadMgrEx *iface, TfClientId *id)
static void EnumTfDocumentMgr_Destructor(EnumTfDocumentMgr *This)
HRESULT activate_textservices(ITfThreadMgrEx *tm)
static const ITfKeystrokeMgrVtbl KeystrokeMgrVtbl
void free_sinks(struct list *sink_list)
#define CONNECT_E_NOCONNECTION
static ULONG WINAPI ThreadMgrEventSink_Release(ITfThreadMgrEventSink *iface)
static HRESULT WINAPI ThreadMgr_GetActiveFlags(ITfThreadMgrEx *iface, DWORD *flags)
#define SINK_FOR_EACH(cursor, list, type, elem)
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
ITfThreadMgrEx ITfThreadMgrEx_iface
struct list KeyTraceEventSink
BOOL WINAPI GetMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
struct list CurrentPreservedKeys
static HRESULT WINAPI MessagePump_PeekMessageW(ITfMessagePump *iface, LPMSG pMsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg, BOOL *pfResult)
static ULONG WINAPI UIElementMgr_Release(ITfUIElementMgr *iface)
struct list UIElementSink
DWORD get_Cookie_magic(DWORD id)
BOOL WINAPI PeekMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
static ThreadMgr * impl_from_ITfThreadMgrEventSink(ITfThreadMgrEventSink *iface)
static HRESULT WINAPI ThreadMgrEventSink_OnInitDocumentMgr(ITfThreadMgrEventSink *iface, ITfDocumentMgr *pdim)
HRESULT deactivate_textservices(void)
GLsizei GLenum GLboolean sink
static HRESULT WINAPI ThreadMgr_ActivateEx(ITfThreadMgrEx *iface, TfClientId *id, DWORD flags)
static HRESULT WINAPI Source_QueryInterface(ITfSource *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI KeystrokeMgr_KeyDown(ITfKeystrokeMgr *iface, WPARAM wParam, LPARAM lParam, BOOL *pfEaten)
struct tagAssociatedWindow AssociatedWindow
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
#define COOKIE_MAGIC_TMSINK
static HRESULT WINAPI UIElementMgr_EnumUIElements(ITfUIElementMgr *iface, IEnumTfUIElements **enum_elements)
CLSID get_textservice_clsid(TfClientId tid)
static EnumTfDocumentMgr * impl_from_IEnumTfDocumentMgrs(IEnumTfDocumentMgrs *iface)
static ThreadMgr * impl_from_ITfSource(ITfSource *iface)
ITfSourceSingle ITfSourceSingle_iface
ITfCompartmentMgr * globalCompartmentMgr
static HRESULT WINAPI EnumTfDocumentMgr_Reset(IEnumTfDocumentMgrs *iface)
static HRESULT WINAPI MessagePump_QueryInterface(ITfMessagePump *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI EnumTfDocumentMgr_Clone(IEnumTfDocumentMgrs *iface, IEnumTfDocumentMgrs **ppenum)
WINE_DEFAULT_DEBUG_CHANNEL(msctf)
static ThreadMgr * impl_from_ITfThreadMgrEx(ITfThreadMgrEx *iface)
HRESULT get_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown **sink)
ITfCompartmentMgr * CompartmentMgr
static HRESULT WINAPI ThreadMgrSourceSingle_AdviseSingleSink(ITfSourceSingle *iface, TfClientId tid, REFIID riid, IUnknown *punk)
static ULONG WINAPI EnumTfDocumentMgr_AddRef(IEnumTfDocumentMgrs *iface)
static ULONG WINAPI EnumTfDocumentMgr_Release(IEnumTfDocumentMgrs *iface)
struct tagEnumTfDocumentMgr EnumTfDocumentMgr
static HRESULT WINAPI KeystrokeMgr_SimulatePreservedKey(ITfKeystrokeMgr *iface, ITfContext *pic, REFGUID rguid, BOOL *pfEaten)
static ULONG WINAPI ThreadMgr_AddRef(ITfThreadMgrEx *iface)
static ULONG WINAPI Source_AddRef(ITfSource *iface)
#define LIST_FOR_EACH(cursor, list)
HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
static ThreadMgr * impl_from_ITfMessagePump(ITfMessagePump *iface)
ITfKeystrokeMgr ITfKeystrokeMgr_iface
static ULONG WINAPI ThreadMgrEventSink_AddRef(ITfThreadMgrEventSink *iface)
static HRESULT WINAPI ThreadMgr_EnumFunctionProviders(ITfThreadMgrEx *iface, IEnumTfFunctionProviders **ppEnum)
#define COOKIE_MAGIC_KEYTRACESINK
static HRESULT WINAPI MessagePump_GetMessageW(ITfMessagePump *iface, LPMSG pMsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, BOOL *pfResult)
static HRESULT WINAPI ThreadMgr_CreateDocumentMgr(ITfThreadMgrEx *iface, ITfDocumentMgr **ppdim)
static ThreadMgr * impl_from_ITfSourceSingle(ITfSourceSingle *iface)
static LRESULT CALLBACK ThreadFocusHookProc(int nCode, WPARAM wParam, LPARAM lParam)
static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface, REFIID riid, IUnknown *punk, DWORD *pdwCookie)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
DWORD WINAPI GetCurrentThreadId(VOID)
static HRESULT WINAPI KeystrokeMgr_UnadviseKeyEventSink(ITfKeystrokeMgr *iface, TfClientId tid)
static ULONG WINAPI KeystrokeMgr_Release(ITfKeystrokeMgr *iface)
struct tagACLMulti ThreadMgr
static HRESULT WINAPI ThreadMgr_GetFunctionProvider(ITfThreadMgrEx *iface, REFCLSID clsid, ITfFunctionProvider **ppFuncProv)
static HRESULT WINAPI EnumTfDocumentMgr_Skip(IEnumTfDocumentMgrs *iface, ULONG celt)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static HRESULT WINAPI UIElementMgr_QueryInterface(ITfUIElementMgr *iface, REFIID iid, void **ppvOut)
static ULONG WINAPI MessagePump_Release(ITfMessagePump *iface)
HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
static HRESULT WINAPI KeystrokeMgr_UnpreserveKey(ITfKeystrokeMgr *iface, REFGUID rguid, const TF_PRESERVEDKEY *pprekey)
ITfThreadMgrEventSink ITfThreadMgrEventSink_iface
static HRESULT WINAPI ThreadMgrEventSink_OnPushContext(ITfThreadMgrEventSink *iface, ITfContext *pic)
static ThreadMgr * impl_from_ITfUIElementMgr(ITfUIElementMgr *iface)
static const ITfSourceSingleVtbl SourceSingleVtbl
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const ITfClientIdVtbl ClientIdVtbl
static ThreadMgr * impl_from_ITfClientId(ITfClientId *iface)
static const ITfSourceVtbl ThreadMgrSourceVtbl
struct list InputProcessorProfileActivationSink
#define COOKIE_MAGIC_UIELEMENTSINK
struct list ThreadFocusSink
static HRESULT WINAPI ThreadMgr_GetGlobalCompartment(ITfThreadMgrEx *iface, ITfCompartmentMgr **ppCompMgr)
ITfUIElementMgr ITfUIElementMgr_iface
static HRESULT WINAPI UIElementMgr_EndUIElement(ITfUIElementMgr *iface, DWORD id)
static ULONG WINAPI ThreadMgrSourceSingle_Release(ITfSourceSingle *iface)
static const ITfThreadMgrEventSinkVtbl ThreadMgrEventSinkVtbl
static HRESULT WINAPI KeystrokeMgr_SetPreservedKeyDescription(ITfKeystrokeMgr *iface, REFGUID rguid, const WCHAR *pchDesc, ULONG cchDesc)
static ThreadMgr * impl_from_ITfKeystrokeMgr(ITfKeystrokeMgr *iface)
void check(CONTEXT *pContext)
HRESULT WINAPI CoCreateGuid(GUID *pguid)
static HRESULT WINAPI MessagePump_GetMessageA(ITfMessagePump *iface, LPMSG pMsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, BOOL *pfResult)
static HRESULT WINAPI KeystrokeMgr_AdviseKeyEventSink(ITfKeystrokeMgr *iface, TfClientId tid, ITfKeyEventSink *pSink, BOOL fForeground)
struct list ActiveLanguageProfileNotifySink
#define InterlockedDecrement
static HRESULT WINAPI ThreadMgr_GetFocus(ITfThreadMgrEx *iface, ITfDocumentMgr **ppdimFocus)
#define COOKIE_MAGIC_ACTIVELANGSINK
#define memcpy(s1, s2, n)
#define CLASS_E_NOAGGREGATION
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
HRESULT CompartmentMgr_Destructor(ITfCompartmentMgr *iface)
static void ThreadMgr_Destructor(ThreadMgr *This)
void ThreadMgr_OnDocumentMgrDestruction(ITfThreadMgr *iface, ITfDocumentMgr *mgr)
static HRESULT EnumTfDocumentMgr_Constructor(struct list *head, IEnumTfDocumentMgrs **ppOut)
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)
HRESULT set_textservice_sink(TfClientId tid, REFCLSID iid, IUnknown *sink)
static HRESULT WINAPI KeystrokeMgr_PreserveKey(ITfKeystrokeMgr *iface, TfClientId tid, REFGUID rguid, const TF_PRESERVEDKEY *prekey, const WCHAR *pchDesc, ULONG cchDesc)
#define InterlockedIncrement
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
#define COOKIE_MAGIC_THREADFOCUSSINK
ITfMessagePump ITfMessagePump_iface
static const ITfMessagePumpVtbl MessagePumpVtbl
static const ITfThreadMgrExVtbl ThreadMgrExVtbl
static ULONG WINAPI KeystrokeMgr_AddRef(ITfKeystrokeMgr *iface)
static HRESULT WINAPI KeystrokeMgr_KeyUp(ITfKeystrokeMgr *iface, WPARAM wParam, LPARAM lParam, BOOL *pfEaten)
static HRESULT WINAPI ThreadMgrEventSink_OnUninitDocumentMgr(ITfThreadMgrEventSink *iface, ITfDocumentMgr *pdim)
static ULONG WINAPI ClientId_Release(ITfClientId *iface)
static HRESULT WINAPI ThreadMgrEventSink_OnSetFocus(ITfThreadMgrEventSink *iface, ITfDocumentMgr *pdimFocus, ITfDocumentMgr *pdimPrevFocus)
static HRESULT WINAPI ThreadMgr_Deactivate(ITfThreadMgrEx *iface)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI EnumTfDocumentMgr_Next(IEnumTfDocumentMgrs *iface, ULONG ulCount, ITfDocumentMgr **rgDocumentMgr, ULONG *pcFetched)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
static HRESULT WINAPI EnumTfDocumentMgr_QueryInterface(IEnumTfDocumentMgrs *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI ThreadMgrEventSink_QueryInterface(ITfThreadMgrEventSink *iface, REFIID iid, LPVOID *ppvOut)
HRESULT DocumentMgr_Constructor(ITfThreadMgrEventSink *ThreadMgrSink, ITfDocumentMgr **ppOut)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
static HRESULT WINAPI KeystrokeMgr_QueryInterface(ITfKeystrokeMgr *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT SetupWindowsHook(ThreadMgr *This)
HRESULT unadvise_sink(DWORD cookie)
HWND WINAPI GetFocus(void)
static HRESULT WINAPI KeystrokeMgr_GetPreservedKeyDescription(ITfKeystrokeMgr *iface, REFGUID rguid, BSTR *pbstrDesc)
HHOOK WINAPI SetWindowsHookExW(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD)
IEnumTfDocumentMgrs IEnumTfDocumentMgrs_iface
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static HRESULT WINAPI ThreadMgrSourceSingle_UnadviseSingleSink(ITfSourceSingle *iface, TfClientId tid, REFIID riid)
static const ITfUIElementMgrVtbl ThreadMgrUIElementMgrVtbl
static HRESULT WINAPI ThreadMgr_QueryInterface(ITfThreadMgrEx *iface, REFIID iid, LPVOID *ppvOut)
static ULONG WINAPI ClientId_AddRef(ITfClientId *iface)
HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
static HRESULT WINAPI KeystrokeMgr_GetForeground(ITfKeystrokeMgr *iface, CLSID *pclsid)
static HRESULT WINAPI ThreadMgrSourceSingle_QueryInterface(ITfSourceSingle *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI KeystrokeMgr_TestKeyUp(ITfKeystrokeMgr *iface, WPARAM wParam, LPARAM lParam, BOOL *pfEaten)
struct list AssociatedFocusWindows
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
ITfKeyEventSink * foregroundKeyEventSink
static HRESULT WINAPI UIElementMgr_GetUIElement(ITfUIElementMgr *iface, DWORD id, ITfUIElement **element)
struct list PreservedKeyNotifySink
#define IsEqualCLSID(rclsid1, rclsid2)
static ULONG WINAPI Source_Release(ITfSource *iface)
#define HeapFree(x, y, z)
struct tagDocumentMgrs DocumentMgrEntry
static ULONG WINAPI UIElementMgr_AddRef(ITfUIElementMgr *iface)
CLSID foregroundTextService
#define IsEqualIID(riid1, riid2)
static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCookie)
static HRESULT WINAPI ClientId_QueryInterface(ITfClientId *iface, REFIID iid, LPVOID *ppvOut)
struct tagPreservedKey PreservedKey
static HRESULT WINAPI KeystrokeMgr_TestKeyDown(ITfKeystrokeMgr *iface, WPARAM wParam, LPARAM lParam, BOOL *pfEaten)
static HRESULT WINAPI UIElementMgr_UpdateUIElement(ITfUIElementMgr *iface, DWORD id)