private bool InitKeyEventSink(YimeCompositionManager compositionManager, uint clientid) { ITfKeystrokeMgr keystrokemgr = _threadmgr as ITfKeystrokeMgr; if (keystrokemgr == null) { return(false); } var result = keystrokemgr.AdviseKeyEventSink(_clientid, compositionManager, 1); Marshal.ReleaseComObject(keystrokemgr); return(result); }
public HRESULT ActivateEx(ITfThreadMgr ptim, uint tid, TF_TMAE dwFlags) { _candidateManager = new YimeCandidateManager(); _compositionManager = new YimeCompositionManager(); _threadmgr = ptim; _clientid = tid; _flag = dwFlags; InitThreadMgrEventSink(); InitThreadFocusSink(); InitKeyEventSink(_compositionManager, _clientid); return(new HRESULT() { Code = 0 }); }