| /* |
| * Copyright 2008 Aric Stewart, 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 |
| */ |
| |
| #ifndef DO_NO_IMPORTS |
| import "oaidl.idl"; |
| import "comcat.idl"; |
| import "textstor.idl"; |
| import "ctfutb.idl"; |
| #endif |
| |
| cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)") |
| cpp_quote("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)") |
| cpp_quote("#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)") |
| cpp_quote("#define TF_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)") |
| |
| cpp_quote("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);") |
| cpp_quote("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);") |
| cpp_quote("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);") |
| cpp_quote("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);") |
| cpp_quote("HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim);") |
| cpp_quote("HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void);") |
| |
| cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;") |
| cpp_quote("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);") |
| cpp_quote("EXTERN_C const GUID GUID_PROP_LANGID;") |
| cpp_quote("EXTERN_C const GUID GUID_PROP_READING;") |
| cpp_quote("EXTERN_C const GUID GUID_PROP_COMPOSING;") |
| |
| cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;") |
| cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;") |
| cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;") |
| cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;") |
| cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;") |
| |
| /* GUIDs for Compartments */ |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;") |
| cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;") |
| |
| /* GUIDs for Categories */ |
| cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;") |
| cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;") |
| cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;") |
| cpp_quote("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;") |
| |
| typedef [uuid(7213778c-7bb0-4270-b050-6189ee594e97)] DWORD TfEditCookie; |
| typedef [uuid(de403c21-89fd-4f85-8b87-64584d063fbc)] DWORD TfClientId; |
| typedef [uuid(88a9c478-f3ec-4763-8345-cd9250443f8d)] DWORD TfGuidAtom; |
| |
| cpp_quote("#define TF_MOD_ALT 0x0001") |
| cpp_quote("#define TF_MOD_CONTROL 0x0002") |
| cpp_quote("#define TF_MOD_SHIFT 0x0004") |
| cpp_quote("#define TF_MOD_RALT 0x0008") |
| cpp_quote("#define TF_MOD_RCONTROL 0x0010") |
| cpp_quote("#define TF_MOD_RSHIFT 0x0020") |
| cpp_quote("#define TF_MOD_LALT 0x0040") |
| cpp_quote("#define TF_MOD_LCONTROL 0x0080") |
| cpp_quote("#define TF_MOD_LSHIFT 0x0100") |
| cpp_quote("#define TF_MOD_ON_KEYUP 0x0200") |
| cpp_quote("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400") |
| |
| cpp_quote("#define TF_PROFILETYPE_INPUTPROCESSOR 0x0001") |
| cpp_quote("#define TF_PROFILETYPE_KEYBOARDLAYOUT 0x0002") |
| |
| cpp_quote("#define TF_IPSINK_FLAG_ACTIVE 0x0001") |
| |
| interface ITfDocumentMgr; |
| interface ITfContext; |
| interface IEnumTfDocumentMgrs; |
| interface IEnumTfContexts; |
| interface ITfCompartmentMgr; |
| interface ITfEditSession; |
| interface ITfRange; |
| interface ITfProperty; |
| interface ITfReadOnlyProperty; |
| interface IEnumTfLanguageProfiles; |
| interface ITfCompositionView; |
| interface ITfKeyEventSink; |
| interface ITfPersistentPropertyLoaderACP; |
| interface ITfRangeACP; |
| |
| cpp_quote("#if 0") |
| typedef [uuid(4f5d560f-5ab5-4dde-8c4d-404592857ab0)] UINT_PTR HKL; |
| cpp_quote("#endif") |
| |
| typedef [uuid(e26d9e1d-691e-4f29-90d7-338dcf1f8cef)] struct TF_PERSISTENT_PROPERTY_HEADER_ACP |
| { |
| GUID guidType; |
| LONG ichStart; |
| LONG cch; |
| ULONG cb; |
| DWORD dwPrivate; |
| CLSID clsidTIP; |
| } TF_PERSISTENT_PROPERTY_HEADER_ACP; |
| |
| typedef [uuid(e1b5808d-1e46-4c19-84dc-68c5f5978cc8)] struct TF_LANGUAGEPROFILE |
| { |
| CLSID clsid; |
| LANGID langid; |
| GUID catid; |
| BOOL fActive; |
| GUID guidProfile; |
| } TF_LANGUAGEPROFILE; |
| |
| typedef [uuid(77c12f95-b783-450d-879f-1cd2362c6521)] struct TF_PRESERVEDKEY |
| { |
| UINT uVKey; |
| UINT uModifiers; |
| } TF_PRESERVEDKEY; |
| |
| typedef [uuid(5a886226-ae9a-489b-b991-2b1e25ee59a9)] enum { TF_ANCHOR_START = 0, TF_ANCHOR_END = 1 } TfAnchor; |
| |
| [ |
| object, |
| uuid(101d6610-0990-11d3-8df0-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface ITfFunctionProvider : IUnknown |
| { |
| HRESULT GetType( |
| [out] GUID *guid); |
| |
| HRESULT GetDescription( |
| [out] BSTR *desc); |
| |
| HRESULT GetFunction( |
| [in] REFGUID guid, |
| [in] REFIID riid, |
| [out, iid_is(riid)] IUnknown **func); |
| } |
| |
| [ |
| object, |
| uuid(e4b24db0-0990-11d3-8df0-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface IEnumTfFunctionProviders : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfFunctionProviders **ret); |
| |
| HRESULT Next( |
| [in] ULONG count, |
| [out, size_is(count), length_is(*fetched)] ITfFunctionProvider **prov, |
| [out] ULONG *fetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG count); |
| } |
| |
| [ |
| object, |
| uuid(aa80e801-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfThreadMgr: IUnknown |
| { |
| HRESULT Activate( |
| [out] TfClientId *ptid); |
| |
| HRESULT Deactivate(); |
| |
| HRESULT CreateDocumentMgr( |
| [out] ITfDocumentMgr **ppdim); |
| |
| HRESULT EnumDocumentMgrs( |
| [out] IEnumTfDocumentMgrs **ppEnum); |
| |
| HRESULT GetFocus( |
| [out] ITfDocumentMgr **ppdimFocus); |
| |
| HRESULT SetFocus( |
| [in] ITfDocumentMgr *pdimFocus); |
| |
| HRESULT AssociateFocus( |
| [in] HWND hwnd, |
| [in, unique] ITfDocumentMgr *pdimNew, |
| [out] ITfDocumentMgr **ppdimPrev); |
| |
| HRESULT IsThreadFocus( |
| [out] BOOL *pfThreadFocus); |
| |
| HRESULT GetFunctionProvider( |
| [in] REFCLSID clsid, |
| [out] ITfFunctionProvider **ppFuncProv); |
| |
| HRESULT EnumFunctionProviders( |
| [out] IEnumTfFunctionProviders **ppEnum); |
| |
| HRESULT GetGlobalCompartment( |
| [out] ITfCompartmentMgr **ppCompMgr); |
| } |
| |
| [ |
| object, |
| uuid(3e90ade3-7594-4cb0-bb58-69628f5f458c), |
| pointer_default(unique) |
| ] |
| interface ITfThreadMgrEx : ITfThreadMgr |
| { |
| HRESULT ActivateEx( |
| [out] TfClientId *id, |
| [in] DWORD flags); |
| HRESULT GetActiveFlags( |
| [out] DWORD *flags); |
| } |
| |
| [ |
| object, |
| uuid(d7540241-f9a1-4364-befc-dbcd2c4395b7), |
| pointer_default(unique) |
| ] |
| interface ITfCompositionView : IUnknown |
| { |
| HRESULT GetOwnerClsid([out] CLSID *pclsid); |
| |
| HRESULT GetRange([out] ITfRange **ppRange); |
| } |
| |
| [ |
| object, |
| uuid(aa80e7f4-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfDocumentMgr: IUnknown |
| { |
| HRESULT CreateContext( |
| [in] TfClientId tidOwner, |
| [in] DWORD dwFlags, |
| [in, unique] IUnknown *punk, |
| [out] ITfContext **ppic, |
| [out] TfEditCookie *pecTextStore); |
| |
| HRESULT Push( |
| [in] ITfContext *pic); |
| |
| const DWORD TF_POPF_ALL = 0x0001; |
| |
| HRESULT Pop( |
| [in] DWORD dwFlags); |
| |
| HRESULT GetTop( |
| [out] ITfContext **ppic); |
| |
| HRESULT GetBase( |
| [out] ITfContext **ppic); |
| |
| HRESULT EnumContexts( |
| [out] IEnumTfContexts **ppEnum); |
| } |
| |
| [ |
| object, |
| uuid(2433bf8e-0f9b-435c-ba2c-180611978c30), |
| pointer_default(unique) |
| ] |
| interface ITfContextView : IUnknown |
| { |
| HRESULT GetRangeFromPoint( |
| [in] TfEditCookie cookie, |
| [in] const POINT *pt, |
| [in] DWORD flags, |
| [out] ITfRange **range); |
| |
| HRESULT GetTextExt( |
| [in] TfEditCookie cookie, |
| [in] ITfRange *range, |
| [out] RECT *rect, |
| [out] BOOL *clipped); |
| |
| HRESULT GetScreenExt( |
| [out] RECT *rect); |
| |
| HRESULT GetWnd( |
| [out] HWND *hwnd); |
| } |
| |
| [ |
| object, |
| uuid(f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78), |
| pointer_default(unique) |
| ] |
| interface IEnumTfContextViews : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfContextViews **ret); |
| |
| HRESULT Next( |
| [in] ULONG count, |
| [out, size_is(count), length_is(*fetched)] ITfContextView **views, |
| [out] ULONG *fetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG count); |
| } |
| |
| [ |
| object, |
| uuid(19188cb0-aca9-11d2-afc5-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface IEnumTfProperties : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfProperties **ret); |
| |
| HRESULT Next( |
| [in] ULONG count, |
| [out, size_is(count), length_is(*fetched)] ITfProperty **props, |
| [out] ULONG *fetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG count); |
| } |
| |
| [ |
| object, |
| uuid(463a506d-6992-49d2-9b88-93d55e70bb16), |
| pointer_default(unique) |
| ] |
| interface ITfRangeBackup : IUnknown |
| { |
| HRESULT Restore( |
| [in] TfEditCookie cookie, |
| [in] ITfRange *range); |
| } |
| |
| [ |
| object, |
| uuid(aa80e901-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITextStoreACPServices : IUnknown |
| { |
| HRESULT Serialize( |
| [in] ITfProperty *prop, |
| [in] ITfRange *range, |
| [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *header, |
| [in] IStream *stream); |
| |
| HRESULT Unserialize( |
| [in] ITfProperty *prop, |
| [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, |
| [in] IStream *stream, |
| [in] ITfPersistentPropertyLoaderACP *loader); |
| |
| HRESULT ForceLoadProperty( |
| [in] ITfProperty *prop); |
| |
| HRESULT CreateRange( |
| [in] LONG start, |
| [in] LONG end, |
| [out] ITfRangeACP **range); |
| } |
| |
| [ |
| object, |
| uuid(aa80e7fd-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfContext : IUnknown |
| { |
| const DWORD TF_ES_ASYNCDONTCARE = 0x0; |
| const DWORD TF_ES_SYNC = 0x1; |
| const DWORD TF_ES_READ = 0x2; |
| const DWORD TF_ES_READWRITE = 0x6; |
| const DWORD TF_ES_ASYNC = 0x8; |
| |
| HRESULT RequestEditSession( |
| [in] TfClientId tid, |
| [in] ITfEditSession *pes, |
| [in] DWORD dwFlags, |
| [out] HRESULT *phrSession); |
| |
| HRESULT InWriteSession( |
| [in] TfClientId tid, |
| [out] BOOL *pfWriteSession); |
| |
| typedef [uuid(1690be9b-d3e9-49f6-8d8b-51b905af4c43)] enum { TF_AE_NONE, TF_AE_START, TF_AE_END } TfActiveSelEnd; |
| |
| typedef [uuid(36ae42a4-6989-4bdc-b48a-6137b7bf2e42)] struct TF_SELECTIONSTYLE |
| { |
| TfActiveSelEnd ase; |
| BOOL fInterimChar; |
| } TF_SELECTIONSTYLE; |
| |
| typedef [uuid(75eb22f2-b0bf-46a8-8006-975a3b6efcf1)] struct TF_SELECTION |
| { |
| ITfRange *range; |
| TF_SELECTIONSTYLE style; |
| } TF_SELECTION; |
| |
| const ULONG TF_DEFAULT_SELECTION = TS_DEFAULT_SELECTION; |
| |
| HRESULT GetSelection( |
| [in] TfEditCookie ec, |
| [in] ULONG ulIndex, |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] TF_SELECTION *pSelection, |
| [out] ULONG *pcFetched); |
| |
| HRESULT SetSelection( |
| [in] TfEditCookie ec, |
| [in] ULONG ulCount, |
| [in, size_is(ulCount)] const TF_SELECTION *pSelection); |
| |
| HRESULT GetStart( |
| [in] TfEditCookie ec, |
| [out] ITfRange **ppStart); |
| |
| HRESULT GetEnd( |
| [in] TfEditCookie ec, |
| [out] ITfRange **ppEnd); |
| |
| typedef [uuid(bc7d979a-846a-444d-afef-0a9bfa82b961)] TS_STATUS TF_STATUS; |
| const DWORD TF_SD_READONLY = TS_SD_READONLY; |
| const DWORD TF_SD_LOADING = TS_SD_LOADING; |
| const DWORD TF_SS_DISJOINTSEL = TS_SS_DISJOINTSEL; |
| const DWORD TF_SS_REGIONS = TS_SS_REGIONS; |
| const DWORD TF_SS_TRANSITORY = TS_SS_TRANSITORY; |
| |
| |
| HRESULT GetActiveView( |
| [out] ITfContextView **ppView); |
| |
| HRESULT EnumViews( |
| [out] IEnumTfContextViews **ppEnum); |
| |
| HRESULT GetStatus( |
| [out] TF_STATUS *pdcs); |
| |
| HRESULT GetProperty( |
| [in] REFGUID guidProp, |
| [out] ITfProperty **ppProp); |
| |
| HRESULT GetAppProperty( |
| [in] REFGUID guidProp, |
| [out] ITfReadOnlyProperty **ppProp); |
| |
| HRESULT TrackProperties( |
| [in, size_is(cProp)] const GUID **prgProp, |
| [in] ULONG cProp, |
| [in, size_is(cAppProp)] const GUID **prgAppProp, |
| [in] ULONG cAppProp, |
| [out] ITfReadOnlyProperty **ppProperty); |
| |
| HRESULT EnumProperties( |
| [out] IEnumTfProperties **ppEnum); |
| |
| HRESULT GetDocumentMgr( |
| [out] ITfDocumentMgr **ppDm); |
| |
| HRESULT CreateRangeBackup( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [out] ITfRangeBackup **ppBackup); |
| } |
| |
| const DWORD TF_INVALID_COOKIE = 0xffffffff; |
| |
| [ |
| object, |
| uuid(4ea48a35-60ae-446f-8fd6-e6a8d82459f7), |
| pointer_default(unique) |
| ] |
| interface ITfSource : IUnknown |
| { |
| HRESULT AdviseSink( |
| [in] REFIID riid, |
| [in, iid_is(riid)] IUnknown *punk, |
| [out] DWORD *pdwCookie); |
| |
| HRESULT UnadviseSink( |
| [in] DWORD dwCookie); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(1F02B6C5-7842-4EE6-8A0B-9A24183A95CA), |
| pointer_default(unique) |
| ] |
| interface ITfInputProcessorProfiles : IUnknown |
| { |
| HRESULT Register( |
| [in] REFCLSID rclsid); |
| |
| HRESULT Unregister( |
| [in] REFCLSID rclsid); |
| |
| HRESULT AddLanguageProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in, size_is(cchDesc)] const WCHAR *pchDesc, |
| [in] ULONG cchDesc, |
| [in, size_is(cchFile)] const WCHAR *pchIconFile, |
| [in] ULONG cchFile, |
| [in] ULONG uIconIndex); |
| |
| HRESULT RemoveLanguageProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile); |
| |
| HRESULT EnumInputProcessorInfo( |
| [out] IEnumGUID **ppEnum); |
| |
| HRESULT GetDefaultLanguageProfile( |
| [in] LANGID langid, |
| [in] REFGUID catid, |
| [out] CLSID *pclsid, |
| [out] GUID *pguidProfile); |
| |
| HRESULT SetDefaultLanguageProfile( |
| [in] LANGID langid, |
| [in] REFCLSID rclsid, |
| [in] REFGUID guidProfiles); |
| |
| HRESULT ActivateLanguageProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfiles); |
| |
| HRESULT GetActiveLanguageProfile( |
| [in] REFCLSID rclsid, |
| [out] LANGID *plangid, |
| [out] GUID *pguidProfile); |
| |
| HRESULT GetLanguageProfileDescription( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [out] BSTR *pbstrProfile); |
| |
| HRESULT GetCurrentLanguage( |
| [out] LANGID *plangid); |
| |
| HRESULT ChangeCurrentLanguage( |
| [in] LANGID langid); |
| |
| HRESULT GetLanguageList( |
| [out] LANGID **ppLangId, |
| [out] ULONG *pulCount); |
| |
| HRESULT EnumLanguageProfiles( |
| [in] LANGID langid, |
| [out] IEnumTfLanguageProfiles **ppEnum); |
| |
| HRESULT EnableLanguageProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in] BOOL fEnable); |
| |
| HRESULT IsEnabledLanguageProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [out] BOOL *pfEnable); |
| |
| HRESULT EnableLanguageProfileByDefault( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in] BOOL fEnable); |
| |
| HRESULT SubstituteKeyboardLayout( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in] HKL hKL); |
| } |
| |
| typedef [uuid(44d2825a-10e5-43b2-877f-6cb2f43b7e7e)] |
| struct TF_INPUTPROCESSORPROFILE { |
| DWORD dwProfileType; |
| LANGID langid; |
| CLSID clsid; |
| GUID guidProfile; |
| GUID catid; |
| HKL hklSubstitute; |
| DWORD dwCaps; |
| HKL hkl; |
| DWORD dwFlags; |
| } TF_INPUTPROCESSORPROFILE; |
| |
| [ |
| object, |
| uuid(71c6e74d-0f28-11d8-a82a-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface IEnumTfInputProcessorProfiles : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfInputProcessorProfiles **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetch)] TF_INPUTPROCESSORPROFILE *pProfile, |
| [out] ULONG *pcFetch); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| uuid(71c6e74c-0f28-11d8-a82a-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface ITfInputProcessorProfileMgr : IUnknown |
| { |
| HRESULT ActivateProfile( |
| [in] DWORD dwProfileType, |
| [in] LANGID langid, |
| [in] REFCLSID clsid, |
| [in] REFGUID guidProfile, |
| [in] HKL hkl, |
| [in] DWORD dwFlags); |
| |
| HRESULT DeactivateProfile( |
| [in] DWORD dwProfileType, |
| [in] LANGID langid, |
| [in] REFCLSID clsid, |
| [in] REFGUID guidProfile, |
| [in] HKL hkl, |
| [in] DWORD dwFlags); |
| |
| HRESULT GetProfile( |
| [in] DWORD dwProfileType, |
| [in] LANGID langid, |
| [in] REFCLSID clsid, |
| [in] REFGUID guidProfile, |
| [in] HKL hkl, |
| [out] TF_INPUTPROCESSORPROFILE *pProfile); |
| |
| |
| HRESULT EnumProfiles( |
| [in] LANGID langid, |
| [out] IEnumTfInputProcessorProfiles **ppEnum); |
| |
| HRESULT ReleaseInputProcessor( |
| [in] REFCLSID rclsid, |
| [in] DWORD dwFlags); |
| |
| HRESULT RegisterProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in, size_is(cchDesc)] const WCHAR *pchDesc, |
| [in] ULONG cchDesc, |
| [in, size_is(cchFile)] const WCHAR *pchIconFile, |
| [in] ULONG cchFile, |
| [in] ULONG uIconIndex, |
| [in] HKL hklsubstitute, |
| [in] DWORD dwPreferredLayout, |
| [in] BOOL bEnabledByDefault, |
| [in] DWORD dwFlags); |
| |
| HRESULT UnregisterProfile( |
| [in] REFCLSID rclsid, |
| [in] LANGID langid, |
| [in] REFGUID guidProfile, |
| [in] DWORD dwFlags); |
| |
| HRESULT GetActiveProfile( |
| [in] REFGUID catid, |
| [out] TF_INPUTPROCESSORPROFILE *pProfile); |
| } |
| |
| typedef [uuid(c4cc07f1-80cc-4a7b-bc54-98512782cbe3)] |
| enum { |
| TF_LS_NONE = 0, |
| TF_LS_SOLID = 1, |
| TF_LS_DOT = 2, |
| TF_LS_DASH = 3, |
| TF_LS_SQUIGGLE = 4 |
| } TF_DA_LINESTYLE; |
| |
| typedef [uuid(d9b92e21-084a-401b-9c64-1e6dad91a1ab)] |
| enum { |
| TF_CT_NONE = 0, |
| TF_CT_SYSCOLOR = 1, |
| TF_CT_COLORREF = 2 |
| } TF_DA_COLORTYPE; |
| |
| typedef [uuid(90d0cb5e-6520-4a0f-b47c-c39bd955f0d6)] |
| struct TF_DA_COLOR { |
| TF_DA_COLORTYPE type; |
| [switch_type(TF_DA_COLORTYPE), switch_is(type)] |
| union { |
| [case(TF_CT_SYSCOLOR)] int nIndex; |
| [case(TF_CT_COLORREF)] COLORREF cr; |
| }; |
| } TF_DA_COLOR; |
| |
| typedef [uuid(33d2fe4b-6c24-4f67-8d75-3bc1819e4126)] |
| enum { |
| TF_ATTR_INPUT = 0, |
| TF_ATTR_TARGET_CONVERTED = 1, |
| TF_ATTR_CONVERTED = 2, |
| TF_ATTR_TARGET_NOTCONVERTED = 3, |
| TF_ATTR_INPUT_ERROR = 4, |
| TF_ATTR_FIXEDCONVERTED = 5, |
| TF_ATTR_OTHER = -1 |
| } TF_DA_ATTR_INFO; |
| |
| typedef [uuid(1bf1c305-419b-4182-a4d2-9bfadc3f021f)] |
| struct TF_DISPLAYATTRIBUTE { |
| TF_DA_COLOR crText; |
| TF_DA_COLOR crBk; |
| TF_DA_LINESTYLE lsStyle; |
| BOOL fBoldLine; |
| TF_DA_COLOR crLine; |
| TF_DA_ATTR_INFO bAttr; |
| } TF_DISPLAYATTRIBUTE; |
| |
| [ |
| object, |
| uuid(70528852-2f26-4aea-8c96-215150578932), |
| pointer_default(unique) |
| ] |
| interface ITfDisplayAttributeInfo : IUnknown |
| { |
| HRESULT GetGUID([out] GUID *pguid); |
| |
| HRESULT GetDescription([out] BSTR *pbstrDesc); |
| |
| HRESULT GetAttributeInfo([out] TF_DISPLAYATTRIBUTE *pda); |
| |
| HRESULT SetAttributeInfo([in] const TF_DISPLAYATTRIBUTE *pda); |
| |
| HRESULT Reset(); |
| } |
| |
| [ |
| object, |
| uuid(7cef04d7-cb75-4e80-a7ab-5f5bc7d332de), |
| pointer_default(unique) |
| ] |
| interface IEnumTfDisplayAttributeInfo : IUnknown |
| { |
| HRESULT Clone([out] IEnumTfDisplayAttributeInfo **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] ITfDisplayAttributeInfo **rgInfo, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip([in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(8ded7393-5db1-475c-9e71-a39111b0ff67), |
| pointer_default(unique) |
| ] |
| interface ITfDisplayAttributeMgr : IUnknown |
| { |
| HRESULT OnUpdateInfo(); |
| |
| HRESULT EnumDisplayAttributeInfo([out] IEnumTfDisplayAttributeInfo **ppEnum); |
| |
| HRESULT GetDisplayAttributeInfo( |
| [in] REFGUID guid, |
| [out] ITfDisplayAttributeInfo **ppInfo, |
| [out] CLSID *pclsidOwner); |
| |
| } |
| |
| [ |
| object, |
| local, |
| uuid(c3acefb5-f69d-4905-938f-fcadcf4be830), |
| pointer_default(unique) |
| ] |
| interface ITfCategoryMgr : IUnknown |
| { |
| HRESULT RegisterCategory([in] REFCLSID rclsid, |
| [in] REFGUID rcatid, |
| [in] REFGUID rguid); |
| |
| HRESULT UnregisterCategory([in] REFCLSID rclsid, |
| [in] REFGUID rcatid, |
| [in] REFGUID rguid); |
| |
| HRESULT EnumCategoriesInItem([in] REFGUID rguid, |
| [out] IEnumGUID **ppEnum); |
| |
| HRESULT EnumItemsInCategory([in] REFGUID rcatid, |
| [out] IEnumGUID **ppEnum); |
| |
| HRESULT FindClosestCategory([in] REFGUID rguid, |
| [out] GUID *pcatid, |
| [in, size_is(ulCount)] const GUID **ppcatidList, |
| [in] ULONG ulCount); |
| |
| HRESULT RegisterGUIDDescription([in] REFCLSID rclsid, |
| [in] REFGUID rguid, |
| [in, size_is(cch)] const WCHAR *pchDesc, |
| [in] ULONG cch); |
| |
| HRESULT UnregisterGUIDDescription([in] REFCLSID rclsid, |
| [in] REFGUID rguid); |
| |
| HRESULT GetGUIDDescription([in] REFGUID rguid, |
| [out] BSTR *pbstrDesc); |
| |
| HRESULT RegisterGUIDDWORD([in] REFCLSID rclsid, |
| [in] REFGUID rguid, |
| [in] DWORD dw); |
| |
| HRESULT UnregisterGUIDDWORD([in] REFCLSID rclsid, |
| [in] REFGUID rguid); |
| |
| HRESULT GetGUIDDWORD([in] REFGUID rguid, |
| [out] DWORD *pdw); |
| |
| HRESULT RegisterGUID([in] REFGUID rguid, |
| [out] TfGuidAtom *pguidatom); |
| |
| HRESULT GetGUID([in] TfGuidAtom guidatom, |
| [out] GUID *pguid); |
| |
| HRESULT IsEqualTfGuidAtom([in] TfGuidAtom guidatom, |
| [in] REFGUID rguid, |
| [out] BOOL *pfEqual); |
| } |
| |
| [ |
| object, |
| uuid(f99d3f40-8e32-11d2-bf46-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface IEnumTfRanges : IUnknown |
| { |
| HRESULT Clone([out] IEnumTfRanges **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] ITfRange **ppRange, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip(ULONG ulCount); |
| } |
| |
| [ |
| object, |
| uuid(42d4d099-7c1a-4a89-b836-6c6f22160df0), |
| pointer_default(unique) |
| ] |
| interface ITfEditRecord : IUnknown |
| { |
| const DWORD TF_GTP_INCL_TEXT = 0x1; |
| |
| HRESULT GetSelectionStatus( |
| [out] BOOL *changed); |
| |
| HRESULT GetTextAndPropertyUpdates( |
| [in] DWORD flags, |
| [in, size_is(count)] const GUID **props, |
| [in] ULONG count, |
| [out] IEnumTfRanges **ret); |
| } |
| |
| [ |
| object, |
| uuid(8127d409-ccd3-4683-967a-b43d5b482bf7), |
| pointer_default(unique) |
| ] |
| interface ITfTextEditSink : IUnknown |
| { |
| HRESULT OnEndEdit( |
| [in] ITfContext *pic, |
| [in] TfEditCookie ecReadOnly, |
| [in] ITfEditRecord *pEditRecord); |
| } |
| |
| [ |
| object, |
| uuid(5F20AA40-B57A-4F34-96AB-3576F377CC79), |
| pointer_default(unique) |
| ] |
| interface ITfContextOwnerCompositionSink : IUnknown |
| { |
| HRESULT OnStartComposition( |
| [in] ITfCompositionView *pComposition, |
| [out] BOOL *pfOk); |
| |
| HRESULT OnUpdateComposition( |
| [in] ITfCompositionView *pComposition, |
| [in] ITfRange *pRangeNew); |
| |
| HRESULT OnEndComposition( |
| [in] ITfCompositionView *pComposition); |
| } |
| |
| [ |
| object, |
| uuid(b246cb75-a93e-4652-bf8c-b3fe0cfd7e57), |
| pointer_default(unique) |
| ] |
| interface ITfActiveLanguageProfileNotifySink : IUnknown |
| { |
| HRESULT OnActivated( |
| [in] REFCLSID clsid, |
| [in] REFGUID guidProfile, |
| [in] BOOL fActivated); |
| } |
| |
| [ |
| object, |
| uuid(3d61bf11-ac5f-42c8-a4cb-931bcc28c744), |
| pointer_default(unique) |
| ] |
| interface IEnumTfLanguageProfiles : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfLanguageProfiles **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetch)] TF_LANGUAGEPROFILE *pProfile, |
| [out] ULONG *pcFetch); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(aa80e7f7-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfTextInputProcessor : IUnknown |
| { |
| HRESULT Activate( |
| [in] ITfThreadMgr *ptim, |
| [in] TfClientId tid); |
| |
| HRESULT Deactivate(); |
| } |
| |
| [ |
| object, |
| uuid(aa80e80e-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfThreadMgrEventSink : IUnknown |
| { |
| HRESULT OnInitDocumentMgr( |
| [in] ITfDocumentMgr *pdim); |
| |
| HRESULT OnUninitDocumentMgr( |
| [in] ITfDocumentMgr *pdim); |
| |
| HRESULT OnSetFocus( |
| [in] ITfDocumentMgr *pdimFocus, |
| [in] ITfDocumentMgr *pdimPrevFocus); |
| |
| HRESULT OnPushContext( |
| [in] ITfContext *pic); |
| |
| HRESULT OnPopContext( |
| [in] ITfContext *pic); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(aa80e7f0-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfKeystrokeMgr : IUnknown |
| { |
| HRESULT AdviseKeyEventSink( |
| [in] TfClientId tid, |
| [in] ITfKeyEventSink *pSink, |
| [in] BOOL fForeground); |
| |
| HRESULT UnadviseKeyEventSink( |
| [in] TfClientId tid); |
| |
| HRESULT GetForeground( |
| [out] CLSID *pclsid); |
| |
| HRESULT TestKeyDown( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT TestKeyUp( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT KeyDown( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT KeyUp( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT GetPreservedKey( |
| [in] ITfContext *pic, |
| [in] const TF_PRESERVEDKEY *pprekey, |
| [out] GUID *pguid); |
| |
| HRESULT IsPreservedKey( |
| [in] REFGUID rguid, |
| [in] const TF_PRESERVEDKEY *pprekey, |
| [out] BOOL *pfRegistered); |
| |
| HRESULT PreserveKey( |
| [in] TfClientId tid, |
| [in] REFGUID rguid, |
| [in] const TF_PRESERVEDKEY *prekey, |
| [in, size_is(cchDesc)] const WCHAR *pchDesc, |
| [in] ULONG cchDesc); |
| |
| HRESULT UnpreserveKey( |
| [in] REFGUID rguid, |
| [in] const TF_PRESERVEDKEY *pprekey); |
| |
| HRESULT SetPreservedKeyDescription( |
| [in] REFGUID rguid, |
| [in, size_is(cchDesc)] const WCHAR *pchDesc, |
| [in] ULONG cchDesc); |
| |
| HRESULT GetPreservedKeyDescription( |
| [in] REFGUID rguid, |
| [out] BSTR *pbstrDesc); |
| |
| HRESULT SimulatePreservedKey( |
| [in] ITfContext *pic, |
| [in] REFGUID rguid, |
| [out] BOOL *pfEaten); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(aa80e7f5-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfKeyEventSink : IUnknown |
| { |
| HRESULT OnSetFocus( |
| [in] BOOL fForeground); |
| |
| HRESULT OnTestKeyDown( |
| [in] ITfContext *pic, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT OnTestKeyUp( |
| [in] ITfContext *pic, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT OnKeyDown( |
| [in] ITfContext *pic, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT OnKeyUp( |
| [in] ITfContext *pic, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] BOOL *pfEaten); |
| |
| HRESULT OnPreservedKey( |
| [in] ITfContext *pic, |
| [in] REFGUID rguid, |
| [out] BOOL *pfEaten); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(1cd4c13b-1c36-4191-a70a-7f3e611f367d), |
| pointer_default(unique) |
| ] |
| interface ITfKeyTraceEventSink : IUnknown |
| { |
| HRESULT OnKeyTraceDown( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam); |
| |
| HRESULT OnKeyTraceUp( |
| [in] WPARAM wParam, |
| [in] LPARAM lParam); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(ea1ea136-19df-11d7-a6d2-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface ITfUIElementSink : IUnknown |
| { |
| HRESULT BeginUIElement( |
| [in] DWORD id, |
| [in, out] BOOL *show); |
| |
| HRESULT UpdateUIElement( |
| [in] DWORD id); |
| |
| HRESULT EndUIElement( |
| [in] DWORD id); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c), |
| pointer_default(unique) |
| ] |
| interface ITfMessagePump : IUnknown |
| { |
| HRESULT PeekMessageA( |
| [out] LPMSG pMsg, |
| [in] HWND hwnd, |
| [in] UINT wMsgFilterMin, |
| [in] UINT wMsgFilterMax, |
| [in] UINT wRemoveMsg, |
| [out] BOOL *pfResult); |
| |
| HRESULT GetMessageA( |
| [out] LPMSG pMsg, |
| [in] HWND hwnd, |
| [in] UINT wMsgFilterMin, |
| [in] UINT wMsgFilterMax, |
| [out] BOOL *pfResult); |
| |
| HRESULT PeekMessageW( |
| [out] LPMSG pMsg, |
| [in] HWND hwnd, |
| [in] UINT wMsgFilterMin, |
| [in] UINT wMsgFilterMax, |
| [in] UINT wRemoveMsg, |
| [out] BOOL *pfResult); |
| |
| HRESULT GetMessageW( |
| [out] LPMSG pMsg, |
| [in] HWND hwnd, |
| [in] UINT wMsgFilterMin, |
| [in] UINT wMsgFilterMax, |
| [out] BOOL *pfResult); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(d60a7b49-1b9f-4be2-b702-47e9dc05dec3), |
| pointer_default(unique) |
| ] |
| interface ITfClientId : IUnknown |
| { |
| HRESULT GetClientId( |
| [in] REFCLSID rclsid, |
| [out] TfClientId *ptid); |
| } |
| |
| [ |
| object, |
| uuid(43c9fe15-f494-4c17-9de2-b8a4ac350aa8), |
| pointer_default(unique) |
| ] |
| interface ITfLanguageProfileNotifySink : IUnknown |
| { |
| HRESULT OnLanguageChange( |
| [in] LANGID langid, |
| [out] BOOL *pfAccept); |
| |
| HRESULT OnLanguageChanged(); |
| } |
| |
| [ |
| object, |
| uuid(aa80e803-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfEditSession : IUnknown |
| { |
| HRESULT DoEditSession( |
| [in] TfEditCookie ec); |
| } |
| |
| [ |
| object, |
| uuid(aa80e7ff-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface ITfRange : IUnknown |
| { |
| const WCHAR TF_CHAR_EMBEDDED = TS_CHAR_EMBEDDED; |
| |
| typedef [uuid(cf610f06-2882-46f6-abe5-298568b664c4)] enum { TF_GRAVITY_BACKWARD = 0, TF_GRAVITY_FORWARD = 1 } TfGravity; |
| |
| typedef [uuid(1e512533-bbdc-4530-9a8e-a1dc0af67468)] enum { TF_SD_BACKWARD = 0, TF_SD_FORWARD = 1 } TfShiftDir; |
| |
| const DWORD TF_HF_OBJECT = 1; |
| const DWORD TF_TF_MOVESTART = 1; |
| const DWORD TF_TF_IGNOREEND = 2; |
| const DWORD TF_ST_CORRECTION = 1; |
| const DWORD TF_IE_CORRECTION = 1; |
| |
| typedef [uuid(49930d51-7d93-448c-a48c-fea5dac192b1)] struct TF_HALTCOND |
| { |
| ITfRange *pHaltRange; |
| TfAnchor aHaltPos; |
| DWORD dwFlags; |
| } TF_HALTCOND; |
| |
| HRESULT GetText( |
| [in] TfEditCookie ec, |
| [in] DWORD dwFlags, |
| [out, size_is(cchMax), length_is(*pcch)] WCHAR *pchText, |
| [in] ULONG cchMax, |
| [out] ULONG *pcch); |
| |
| HRESULT SetText( |
| [in] TfEditCookie ec, |
| [in] DWORD dwFlags, |
| [in, size_is(cch), unique] const WCHAR *pchText, |
| [in] LONG cch); |
| |
| HRESULT GetFormattedText( |
| [in] TfEditCookie ec, |
| [out] IDataObject **ppDataObject); |
| |
| HRESULT GetEmbedded( |
| [in] TfEditCookie ec, |
| [in] REFGUID rguidService, |
| [in] REFIID riid, |
| [out, iid_is(riid)] IUnknown **ppunk); |
| |
| HRESULT InsertEmbedded( |
| [in] TfEditCookie ec, |
| [in] DWORD dwFlags, |
| [in] IDataObject *pDataObject); |
| |
| HRESULT ShiftStart( |
| [in] TfEditCookie ec, |
| [in] LONG cchReq, |
| [out] LONG *pcch, |
| [in, unique] const TF_HALTCOND *pHalt); |
| |
| HRESULT ShiftEnd( |
| [in] TfEditCookie ec, |
| [in] LONG cchReq, |
| [out] LONG *pcch, |
| [in, unique] const TF_HALTCOND *pHalt); |
| |
| HRESULT ShiftStartToRange( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [in] TfAnchor aPos); |
| |
| HRESULT ShiftEndToRange( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [in] TfAnchor aPos); |
| |
| HRESULT ShiftStartRegion( |
| [in] TfEditCookie ec, |
| [in] TfShiftDir dir, |
| [out] BOOL *pfNoRegion); |
| |
| HRESULT ShiftEndRegion( |
| [in] TfEditCookie ec, |
| [in] TfShiftDir dir, |
| [out] BOOL *pfNoRegion); |
| |
| HRESULT IsEmpty( |
| [in] TfEditCookie ec, |
| [out] BOOL *pfEmpty); |
| |
| HRESULT Collapse( |
| [in] TfEditCookie ec, |
| [in] TfAnchor aPos); |
| |
| HRESULT IsEqualStart( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pWith, |
| [in] TfAnchor aPos, |
| [out] BOOL *pfEqual); |
| |
| HRESULT IsEqualEnd( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pWith, |
| [in] TfAnchor aPos, |
| [out] BOOL *pfEqual); |
| |
| HRESULT CompareStart( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pWith, |
| [in] TfAnchor aPos, |
| [out] LONG *plResult); |
| |
| HRESULT CompareEnd( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pWith, |
| [in] TfAnchor aPos, |
| [out] LONG *plResult); |
| |
| HRESULT AdjustForInsert( |
| [in] TfEditCookie ec, |
| [in] ULONG cchInsert, |
| [out] BOOL *pfInsertOk); |
| |
| HRESULT GetGravity( |
| [out] TfGravity *pgStart, |
| [out] TfGravity *pgEnd); |
| |
| HRESULT SetGravity( |
| [in] TfEditCookie ec, |
| [in] TfGravity gStart, |
| [in] TfGravity gEnd); |
| |
| HRESULT Clone( |
| [out] ITfRange **ppClone); |
| |
| HRESULT GetContext( |
| [out] ITfContext **ppContext); |
| } |
| |
| [ |
| object, |
| uuid(057a6296-029b-4154-b79a-0d461d4ea94c), |
| pointer_default(unique) |
| ] |
| interface ITfRangeACP : ITfRange |
| { |
| HRESULT GetExtent([out] LONG *pacpAnchor, |
| [out] LONG *pcch); |
| |
| HRESULT SetExtent([in] LONG acpAnchor, |
| [in] LONG cch); |
| } |
| |
| [ |
| object, |
| uuid(55ce16ba-3014-41c1-9ceb-fade1446ac6c), |
| pointer_default(unique) |
| ] |
| interface ITfInsertAtSelection : IUnknown |
| { |
| const DWORD TF_IAS_NOQUERY = 0x1; |
| const DWORD TF_IAS_QUERYONLY = 0x2; |
| const DWORD TF_IAS_NO_DEFAULT_COMPOSITION = 0x80000000; |
| |
| HRESULT InsertTextAtSelection( |
| [in] TfEditCookie ec, |
| [in] DWORD dwFlags, |
| [in, size_is(cch)] const WCHAR *pchText, |
| [in] LONG cch, |
| [out] ITfRange **ppRange); |
| |
| HRESULT InsertEmbeddedAtSelection( |
| [in] TfEditCookie ec, |
| [in] DWORD dwFlags, |
| [in] IDataObject *pDataObject, |
| [out] ITfRange **ppRange); |
| } |
| |
| [ |
| object, |
| uuid(6834b120-88cb-11d2-bf45-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface ITfPropertyStore : IUnknown |
| { |
| const DWORD TF_TU_CORRECTION = 0x1; |
| |
| HRESULT GetType([out] GUID *pguid); |
| |
| HRESULT GetDataType([out] DWORD *pdwReserved); |
| |
| HRESULT GetData([out] VARIANT *pvarValue); |
| |
| HRESULT OnTextUpdated( |
| [in] DWORD dwFlags, |
| [in] ITfRange *pRangeNew, |
| [out] BOOL *pfAccept); |
| |
| HRESULT Shrink( |
| [in] ITfRange *pRangeNew, |
| [out] BOOL *pfFree); |
| |
| HRESULT Divide( |
| [in] ITfRange *pRangeThis, |
| [in] ITfRange *pRangeNew, |
| [out] ITfPropertyStore **ppPropStore); |
| |
| HRESULT Clone( |
| [out] ITfPropertyStore **pPropStore); |
| |
| HRESULT GetPropertyRangeCreator( |
| [out] CLSID *pclsid); |
| |
| HRESULT Serialize( |
| [in] IStream *pStream, |
| [out] ULONG *pcb); |
| } |
| |
| [ |
| object, |
| uuid(5efd22Ba-7838-46cb-88e2-cadb14124f8f), |
| pointer_default(unique) |
| ] |
| interface IEnumITfCompositionView : IUnknown |
| { |
| HRESULT Clone([out] IEnumITfCompositionView **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] ITfCompositionView **rgCompositionView, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip([in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| uuid(20168d64-5a8f-4a5a-b7bd-cfa29f4D0fd9), |
| pointer_default(unique) |
| ] |
| interface ITfComposition : IUnknown |
| { |
| HRESULT GetRange([out] ITfRange **ppRange); |
| |
| HRESULT ShiftStart( |
| [in] TfEditCookie ecWrite, |
| [in] ITfRange *pNewStart); |
| |
| HRESULT ShiftEnd( |
| [in] TfEditCookie ecWrite, |
| [in] ITfRange *pNewEnd); |
| |
| HRESULT EndComposition([in] TfEditCookie ecWrite); |
| } |
| |
| [ |
| object, |
| uuid(a781718c-579a-4b15-a280-32b8577acc5e), |
| pointer_default(unique) |
| ] |
| interface ITfCompositionSink : IUnknown |
| { |
| HRESULT OnCompositionTerminated( |
| [in] TfEditCookie ecWrite, |
| [in] ITfComposition *pComposition); |
| } |
| |
| [ |
| object, |
| uuid(d40C8aae-aC92-4fc7-9a11-0ee0e23aa39b), |
| pointer_default(unique) |
| ] |
| interface ITfContextComposition : IUnknown |
| { |
| HRESULT StartComposition( |
| [in] TfEditCookie ecWrite, |
| [in] ITfRange *pCompositionRange, |
| [in] ITfCompositionSink *pSink, |
| [out] ITfComposition **ppComposition); |
| |
| HRESULT EnumCompositions([out] IEnumITfCompositionView **ppEnum); |
| |
| HRESULT FindComposition( |
| [in] TfEditCookie ecRead, |
| [in] ITfRange *pTestRange, |
| [out] IEnumITfCompositionView **ppEnum); |
| |
| HRESULT TakeOwnership( |
| [in] TfEditCookie ecWrite, |
| [in] ITfCompositionView *pComposition, |
| [in] ITfCompositionSink *pSink, |
| [out] ITfComposition **ppComposition); |
| } |
| |
| [ |
| object, |
| uuid(86462810-593b-4916-9764-19c08e9ce110), |
| pointer_default(unique) |
| ] |
| interface ITfContextOwnerCompositionServices : ITfContextComposition |
| { |
| HRESULT TerminateComposition([in] ITfCompositionView *pComposition); |
| } |
| |
| [ |
| object, |
| uuid(4ef89150-0807-11d3-8df0-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface ITfPersistentPropertyLoaderACP : IUnknown |
| { |
| HRESULT LoadProperty( |
| [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, |
| [out] IStream **ppStream); |
| } |
| |
| [ |
| object, |
| uuid(b23eb630-3e1c-11d3-a745-0050040ab407), |
| pointer_default(unique) |
| ] |
| interface ITfContextOwnerServices : IUnknown |
| { |
| HRESULT OnLayoutChange(); |
| |
| HRESULT OnStatusChange([in] DWORD dwFlags); |
| |
| HRESULT OnAttributeChange([in] REFGUID rguidAttribute); |
| |
| HRESULT Serialize( |
| [in] ITfProperty *pProp, |
| [in] ITfRange *pRange, |
| [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, |
| [in] IStream *pStream); |
| |
| HRESULT Unserialize( |
| [in] ITfProperty *pProp, |
| [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, |
| [in] IStream *pStream, |
| [in] ITfPersistentPropertyLoaderACP *pLoader); |
| |
| HRESULT ForceLoadProperty([in] ITfProperty *pProp); |
| |
| HRESULT CreateRange( |
| [in] LONG acpStart, |
| [in] LONG acpEnd, |
| [out] ITfRangeACP **ppRange); |
| } |
| |
| [ |
| object, |
| uuid(17d49a3d-f8b8-4b2f-b254-52319dd64c53), |
| pointer_default(unique) |
| ] |
| interface ITfReadOnlyProperty : IUnknown |
| { |
| HRESULT GetType([out] GUID *pguid); |
| |
| HRESULT EnumRanges( |
| [in] TfEditCookie ec, |
| [out] IEnumTfRanges **ppEnum, |
| [in] ITfRange *pTargetRange); |
| |
| HRESULT GetValue( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [out] VARIANT *pvarValue); |
| |
| HRESULT GetContext([out] ITfContext **ppContext); |
| } |
| |
| [ |
| object, |
| uuid(e2449660-9542-11d2-bf46-00105a2799b5), |
| pointer_default(unique) |
| ] |
| interface ITfProperty : ITfReadOnlyProperty |
| { |
| HRESULT FindRange( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [out] ITfRange **ppRange, |
| [in] TfAnchor aPos); |
| |
| HRESULT SetValueStore( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [in] ITfPropertyStore *pPropStore); |
| |
| HRESULT SetValue( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange, |
| [in] const VARIANT *pvarValue); |
| |
| HRESULT Clear( |
| [in] TfEditCookie ec, |
| [in] ITfRange *pRange); |
| } |
| |
| [ |
| object, |
| uuid(bb08f7a9-607a-4384-8623-056892b64371), |
| pointer_default(unique) |
| ] |
| interface ITfCompartment : IUnknown |
| { |
| HRESULT SetValue( |
| [in] TfClientId tid, |
| [in] const VARIANT *pvarValue); |
| |
| HRESULT GetValue( |
| [out] VARIANT *pvarValue); |
| } |
| |
| [ |
| object, |
| uuid(7dcf57ac-18ad-438b-824d-979bffb74b7c), |
| pointer_default(unique) |
| ] |
| interface ITfCompartmentMgr : IUnknown |
| { |
| HRESULT GetCompartment( |
| [in] REFGUID rguid, |
| [out] ITfCompartment **ppcomp); |
| |
| HRESULT ClearCompartment( |
| [in] TfClientId tid, |
| [in] REFGUID rguid); |
| |
| HRESULT EnumCompartments( |
| [out] IEnumGUID **ppEnum); |
| } |
| |
| [ |
| object, |
| uuid(743abd5f-f26d-48df-8cc5-238492419b64), |
| pointer_default(unique) |
| ] |
| interface ITfCompartmentEventSink : IUnknown |
| { |
| HRESULT OnChange( |
| [in] REFGUID rguid); |
| } |
| |
| [ |
| object, |
| uuid(8f1a7ea6-1654-4502-a86e-b2902344d507), |
| pointer_default(unique) |
| ] |
| interface IEnumTfContexts : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfContexts **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] ITfContext **rgContext, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| uuid(aa80e808-2021-11d2-93e0-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IEnumTfDocumentMgrs : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfDocumentMgrs **ppEnum); |
| |
| HRESULT Next( |
| [in] ULONG ulCount, |
| [out, size_is(ulCount), length_is(*pcFetched)] ITfDocumentMgr **rgDocumentMgr, |
| [out] ULONG *pcFetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG ulCount); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(ea1ea137-19df-11d7-a6d2-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface ITfUIElement : IUnknown |
| { |
| HRESULT GetDescription( |
| [out] BSTR *description); |
| |
| HRESULT GetGUID( |
| [out] GUID *guid); |
| |
| HRESULT Show( |
| [in] BOOL show); |
| |
| HRESULT IsShown( |
| [out] BOOL *show); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(887aa91e-acba-4931-84da-3c5208cf543f), |
| pointer_default(unique) |
| ] |
| interface IEnumTfUIElements : IUnknown |
| { |
| HRESULT Clone( |
| [out] IEnumTfUIElements **enum_elements); |
| |
| HRESULT Next( |
| [in] ULONG count, |
| [out, size_is(count), length_is(fetched)] ITfUIElement **element, |
| [out] ULONG fetched); |
| |
| HRESULT Reset(); |
| |
| HRESULT Skip( |
| [in] ULONG count); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(ea1ea135-19df-11d7-a6d2-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface ITfUIElementMgr : IUnknown |
| { |
| HRESULT BeginUIElement( |
| [in] ITfUIElement *element, |
| [in, out] BOOL *show, |
| [out] DWORD *id); |
| |
| HRESULT UpdateUIElement( |
| [in] DWORD id); |
| |
| HRESULT EndUIElement( |
| [in] DWORD id); |
| |
| HRESULT GetUIElement( |
| [in] DWORD id, |
| [out] ITfUIElement **element); |
| |
| HRESULT EnumUIElements( |
| [out] IEnumTfUIElements **enum_elements); |
| } |
| |
| [ |
| object, |
| uuid(73131f9c-56a9-49dd-b0ee-d046633f7528), |
| pointer_default(unique) |
| ] |
| interface ITfSourceSingle : IUnknown |
| { |
| HRESULT AdviseSingleSink( |
| [in] TfClientId tid, |
| [in] REFIID riid, |
| [in, iid_is(riid)] IUnknown *punk); |
| |
| HRESULT UnadviseSingleSink( |
| [in] TfClientId tid, |
| [in] REFIID riid); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(c0f1db0c-3a20-405c-a303-96b6010a885f), |
| pointer_default(unique) |
| ] |
| interface ITfThreadFocusSink : IUnknown |
| { |
| HRESULT OnSetThreadFocus(); |
| |
| HRESULT OnKillThreadFocus(); |
| } |
| |
| [ |
| object, |
| uuid(71c6e74e-0f28-11d8-a82a-00065b84435c), |
| pointer_default(unique) |
| ] |
| interface ITfInputProcessorProfileActivationSink : IUnknown |
| { |
| HRESULT OnActivated( |
| [in] DWORD dwProfileType, |
| [in] LANGID langid, |
| [in] REFCLSID clsid, |
| [in] REFGUID catid, |
| [in] REFGUID guidProfile, |
| [in] HKL hkl, |
| [in] DWORD dwFlags); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(a1adaaa2-3a24-449d-ac96-5183e7f5c217), |
| pointer_default(unique) |
| ] |
| interface ITfMouseSink : IUnknown |
| { |
| HRESULT OnMouseEvent( |
| [in] ULONG uEdge, |
| [in] ULONG uQuadrant, |
| [in] DWORD dwBtnStatus, |
| [out] BOOL *pfEaten); |
| } |
| |
| [ |
| object, |
| uuid(09d146cd-a544-4132-925b-7afa8ef322d0), |
| pointer_default(unique) |
| ] |
| interface ITfMouseTracker : IUnknown |
| { |
| HRESULT AdviseMouseSink( |
| [in] ITfRange *range, |
| [in] ITfMouseSink *pSink, |
| [out] DWORD *pdwCookie); |
| |
| HRESULT UnadviseMouseSink([in] DWORD dwCookie); |
| } |
| |
| [ |
| object, |
| uuid(3bdd78e2-c16e-47fd-b883-ce6facc1a208), |
| pointer_default(unique) |
| ] |
| interface ITfMouseTrackerACP : IUnknown |
| { |
| HRESULT AdviseMouseSink( |
| [in] ITfRangeACP *range, |
| [in] ITfMouseSink *pSink, |
| [out] DWORD *pdwCookie); |
| |
| HRESULT UnadviseMouseSink([in] DWORD dwCookie); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(a615096f-1c57-4813-8a15-55ee6e5a839c), |
| pointer_default(unique) |
| ] |
| interface ITfTransitoryExtensionSink : IUnknown |
| { |
| HRESULT OnTransitoryExtensionUpdated( |
| [in] ITfContext *pic, |
| [in] TfEditCookie ecReadOnly, |
| [in] ITfRange *pResultRange, |
| [in] ITfRange *pCompositionRange, |
| [out] BOOL *pfDeleteResultRange); |
| } |