ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

msctf.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2008 Aric Stewart, CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef DO_NO_IMPORTS
00020 import "oaidl.idl";
00021 import "comcat.idl";
00022 import "textstor.idl";
00023 import "ctfutb.idl";
00024 #endif
00025 cpp_quote("#include <winuser.h>")
00026 
00027 cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
00028 cpp_quote("#define TF_E_DISCONNECTED    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
00029 cpp_quote("#define TF_E_ALREADY_EXISTS  MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
00030 cpp_quote("#define TF_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
00031 
00032 cpp_quote("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
00033 cpp_quote("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
00034 cpp_quote("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
00035 cpp_quote("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);")
00036 
00037 cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
00038 cpp_quote("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);")
00039 cpp_quote("EXTERN_C const GUID GUID_PROP_LANGID;")
00040 cpp_quote("EXTERN_C const GUID GUID_PROP_READING;")
00041 cpp_quote("EXTERN_C const GUID GUID_PROP_COMPOSING;")
00042 
00043 cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
00044 cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
00045 cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
00046 cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
00047 cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
00048 
00049 /* GUIDs for Compartments */
00050 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
00051 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;")
00052 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;")
00053 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;")
00054 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;")
00055 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;")
00056 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;")
00057 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;")
00058 cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;")
00059 
00060 /* GUIDs for Categories */
00061 cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;")
00062 cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;")
00063 cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;")
00064 cpp_quote("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;")
00065 
00066 typedef [uuid(7213778c-7bb0-4270-b050-6189ee594e97)]  DWORD TfEditCookie;
00067 typedef [uuid(de403c21-89fd-4f85-8b87-64584d063fbc)] DWORD TfClientId;
00068 typedef [uuid(88a9c478-f3ec-4763-8345-cd9250443f8d)] DWORD TfGuidAtom;
00069 
00070 cpp_quote("#define TF_MOD_ALT                   0x0001")
00071 cpp_quote("#define TF_MOD_CONTROL               0x0002")
00072 cpp_quote("#define TF_MOD_SHIFT                 0x0004")
00073 cpp_quote("#define TF_MOD_RALT                  0x0008")
00074 cpp_quote("#define TF_MOD_RCONTROL              0x0010")
00075 cpp_quote("#define TF_MOD_RSHIFT                0x0020")
00076 cpp_quote("#define TF_MOD_LALT                  0x0040")
00077 cpp_quote("#define TF_MOD_LCONTROL              0x0080")
00078 cpp_quote("#define TF_MOD_LSHIFT                0x0100")
00079 cpp_quote("#define TF_MOD_ON_KEYUP              0x0200")
00080 cpp_quote("#define TF_MOD_IGNORE_ALL_MODIFIER   0x0400")
00081 
00082 interface ITfDocumentMgr;
00083 interface ITfContext;
00084 interface IEnumTfDocumentMgrs;
00085 interface IEnumTfContexts;
00086 interface ITfFunctionProvider;
00087 interface IEnumTfFunctionProviders;
00088 interface ITfCompartmentMgr;
00089 interface ITfEditSession;
00090 interface ITfRange;
00091 interface ITfContextView;
00092 interface IEnumTfContextViews;
00093 interface ITfProperty;
00094 interface ITfReadOnlyProperty;
00095 interface IEnumTfProperties;
00096 interface ITfRangeBackup;
00097 interface IEnumTfLanguageProfiles;
00098 interface ITfEditRecord;
00099 interface ITfCompositionView;
00100 interface ITfKeyEventSink;
00101 
00102 typedef [uuid(e1b5808d-1e46-4c19-84dc-68c5f5978cc8)] struct TF_LANGUAGEPROFILE
00103 {
00104     CLSID clsid;
00105     LANGID langid;
00106     GUID catid;
00107     BOOL fActive;
00108     GUID guidProfile;
00109 } TF_LANGUAGEPROFILE;
00110 
00111 typedef [uuid(77c12f95-b783-450d-879f-1cd2362c6521)] struct TF_PRESERVEDKEY
00112 {
00113     UINT uVKey;
00114     UINT uModifiers;
00115 } TF_PRESERVEDKEY;
00116 
00117 typedef [uuid(5a886226-ae9a-489b-b991-2b1e25ee59a9)]  enum { TF_ANCHOR_START = 0, TF_ANCHOR_END = 1 } TfAnchor;
00118 
00119 [
00120     object,
00121     uuid(aa80e801-2021-11d2-93e0-0060b067b86e),
00122     pointer_default(unique)
00123 ]
00124 interface ITfThreadMgr: IUnknown
00125 {
00126     HRESULT Activate(
00127         [out] TfClientId *ptid);
00128 
00129     HRESULT Deactivate();
00130 
00131     HRESULT CreateDocumentMgr(
00132         [out] ITfDocumentMgr **ppdim);
00133 
00134     HRESULT EnumDocumentMgrs(
00135         [out] IEnumTfDocumentMgrs **ppEnum);
00136 
00137     HRESULT GetFocus(
00138         [out] ITfDocumentMgr **ppdimFocus);
00139 
00140     HRESULT SetFocus(
00141         [in] ITfDocumentMgr *pdimFocus);
00142 
00143     HRESULT AssociateFocus(
00144         [in] HWND hwnd,
00145         [in, unique] ITfDocumentMgr *pdimNew,
00146         [out] ITfDocumentMgr **ppdimPrev);
00147 
00148     HRESULT IsThreadFocus(
00149         [out] BOOL *pfThreadFocus);
00150 
00151     HRESULT GetFunctionProvider(
00152         [in] REFCLSID clsid,
00153         [out] ITfFunctionProvider **ppFuncProv);
00154 
00155     HRESULT EnumFunctionProviders(
00156         [out] IEnumTfFunctionProviders **ppEnum);
00157 
00158     HRESULT GetGlobalCompartment(
00159         [out] ITfCompartmentMgr **ppCompMgr);
00160 };
00161 
00162 [
00163     object,
00164     uuid(d7540241-f9a1-4364-befc-dbcd2c4395b7),
00165     pointer_default(unique)
00166 ]
00167 interface ITfCompositionView : IUnknown
00168 {
00169     HRESULT GetOwnerClsid([out] CLSID *pclsid);
00170 
00171     HRESULT GetRange([out] ITfRange **ppRange);
00172 }
00173 
00174 [
00175     object,
00176     uuid(aa80e7f4-2021-11d2-93e0-0060b067b86e),
00177     pointer_default(unique)
00178 ]
00179 interface ITfDocumentMgr: IUnknown
00180 {
00181     HRESULT CreateContext(
00182         [in] TfClientId tidOwner,
00183         [in] DWORD dwFlags,
00184         [in, unique] IUnknown *punk,
00185         [out] ITfContext **ppic,
00186         [out] TfEditCookie *pecTextStore);
00187 
00188     HRESULT Push(
00189         [in] ITfContext *pic);
00190 
00191     const DWORD TF_POPF_ALL = 0x0001;
00192 
00193     HRESULT Pop(
00194         [in] DWORD dwFlags);
00195 
00196     HRESULT GetTop(
00197         [out] ITfContext **ppic);
00198 
00199     HRESULT GetBase(
00200         [out] ITfContext **ppic);
00201 
00202     HRESULT EnumContexts(
00203         [out] IEnumTfContexts **ppEnum);
00204 };
00205 
00206 [
00207     object,
00208     uuid(aa80e7fd-2021-11d2-93e0-0060b067b86e),
00209     pointer_default(unique)
00210 ]
00211 interface ITfContext : IUnknown
00212 {
00213     const DWORD TF_ES_ASYNCDONTCARE = 0x0;
00214     const DWORD TF_ES_SYNC          = 0x1;
00215     const DWORD TF_ES_READ          = 0x2;
00216     const DWORD TF_ES_READWRITE     = 0x6;
00217     const DWORD TF_ES_ASYNC         = 0x8;
00218 
00219     HRESULT RequestEditSession(
00220         [in] TfClientId tid,
00221         [in] ITfEditSession *pes,
00222         [in] DWORD dwFlags,
00223         [out] HRESULT *phrSession);
00224 
00225     HRESULT InWriteSession(
00226         [in] TfClientId tid,
00227         [out] BOOL *pfWriteSession);
00228 
00229     typedef [uuid(1690be9b-d3e9-49f6-8d8b-51b905af4c43)] enum { TF_AE_NONE, TF_AE_START, TF_AE_END } TfActiveSelEnd;
00230 
00231     typedef [uuid(36ae42a4-6989-4bdc-b48a-6137b7bf2e42)] struct TF_SELECTIONSTYLE
00232     {
00233         TfActiveSelEnd ase;
00234         BOOL fInterimChar;
00235     } TF_SELECTIONSTYLE;
00236 
00237     typedef [uuid(75eb22f2-b0bf-46a8-8006-975a3b6efcf1)] struct TF_SELECTION
00238     {
00239         ITfRange *range;
00240         TF_SELECTIONSTYLE style;
00241     } TF_SELECTION;
00242 
00243     const ULONG TF_DEFAULT_SELECTION =  TS_DEFAULT_SELECTION;
00244 
00245     HRESULT GetSelection(
00246         [in] TfEditCookie ec,
00247         [in] ULONG ulIndex,
00248         [in] ULONG ulCount,
00249         [out, size_is(ulCount), length_is(*pcFetched)] TF_SELECTION *pSelection,
00250         [out] ULONG *pcFetched);
00251 
00252     HRESULT SetSelection(
00253         [in] TfEditCookie ec,
00254         [in] ULONG ulCount,
00255         [in, size_is(ulCount)] const TF_SELECTION *pSelection);
00256 
00257     HRESULT GetStart(
00258         [in] TfEditCookie ec,
00259         [out] ITfRange **ppStart);
00260 
00261     HRESULT GetEnd(
00262         [in] TfEditCookie ec,
00263         [out] ITfRange **ppEnd);
00264 
00265     typedef [uuid(bc7d979a-846a-444d-afef-0a9bfa82b961)] TS_STATUS TF_STATUS;
00266     const DWORD TF_SD_READONLY    = TS_SD_READONLY;
00267     const DWORD TF_SD_LOADING     = TS_SD_LOADING;
00268     const DWORD TF_SS_DISJOINTSEL = TS_SS_DISJOINTSEL;
00269     const DWORD TF_SS_REGIONS     = TS_SS_REGIONS;
00270     const DWORD TF_SS_TRANSITORY  = TS_SS_TRANSITORY;
00271 
00272 
00273     HRESULT GetActiveView(
00274         [out] ITfContextView **ppView);
00275 
00276     HRESULT EnumViews(
00277         [out] IEnumTfContextViews **ppEnum);
00278 
00279     HRESULT GetStatus(
00280         [out] TF_STATUS *pdcs);
00281 
00282     HRESULT GetProperty(
00283         [in] REFGUID guidProp,
00284         [out] ITfProperty **ppProp);
00285 
00286     HRESULT GetAppProperty(
00287         [in] REFGUID guidProp,
00288         [out] ITfReadOnlyProperty **ppProp);
00289 
00290     HRESULT TrackProperties(
00291         [in, size_is(cProp)] const GUID **prgProp,
00292         [in] ULONG cProp,
00293         [in, size_is(cAppProp)] const GUID **prgAppProp,
00294         [in] ULONG cAppProp,
00295         [out] ITfReadOnlyProperty **ppProperty);
00296 
00297     HRESULT EnumProperties(
00298         [out] IEnumTfProperties **ppEnum);
00299 
00300     HRESULT GetDocumentMgr(
00301         [out] ITfDocumentMgr **ppDm);
00302 
00303     HRESULT CreateRangeBackup(
00304         [in] TfEditCookie ec,
00305         [in] ITfRange *pRange,
00306         [out] ITfRangeBackup **ppBackup);
00307 
00308 };
00309 
00310 [
00311   object,
00312   uuid(4ea48a35-60ae-446f-8fd6-e6a8d82459f7),
00313   pointer_default(unique)
00314 ]
00315 interface ITfSource : IUnknown
00316 {
00317     HRESULT AdviseSink(
00318         [in] REFIID riid,
00319         [in, iid_is(riid)] IUnknown *punk,
00320         [out] DWORD *pdwCookie);
00321 
00322     HRESULT UnadviseSink(
00323         [in] DWORD dwCookie);
00324 };
00325 
00326 [
00327   object,
00328   local,
00329   uuid(1F02B6C5-7842-4EE6-8A0B-9A24183A95CA),
00330   pointer_default(unique)
00331 ]
00332 interface ITfInputProcessorProfiles : IUnknown
00333 {
00334     HRESULT Register(
00335         [in] REFCLSID rclsid);
00336 
00337     HRESULT Unregister(
00338         [in] REFCLSID rclsid);
00339 
00340     HRESULT AddLanguageProfile(
00341         [in] REFCLSID rclsid,
00342         [in] LANGID langid,
00343         [in] REFGUID guidProfile,
00344         [in, size_is(cchDesc)] const WCHAR *pchDesc,
00345         [in] ULONG cchDesc,
00346         [in, size_is(cchFile)] const WCHAR *pchIconFile,
00347         [in] ULONG cchFile,
00348         [in] ULONG uIconIndex);
00349 
00350     HRESULT RemoveLanguageProfile(
00351         [in] REFCLSID rclsid,
00352         [in] LANGID langid,
00353         [in] REFGUID guidProfile);
00354 
00355     HRESULT EnumInputProcessorInfo(
00356         [out] IEnumGUID **ppEnum);
00357 
00358     HRESULT GetDefaultLanguageProfile(
00359         [in] LANGID langid,
00360         [in] REFGUID catid,
00361         [out] CLSID *pclsid,
00362         [out] GUID *pguidProfile);
00363 
00364     HRESULT SetDefaultLanguageProfile(
00365         [in] LANGID langid,
00366         [in] REFCLSID rclsid,
00367         [in] REFGUID guidProfiles);
00368 
00369     HRESULT ActivateLanguageProfile(
00370         [in] REFCLSID rclsid,
00371         [in] LANGID langid,
00372         [in] REFGUID guidProfiles);
00373 
00374     HRESULT GetActiveLanguageProfile(
00375         [in] REFCLSID rclsid,
00376         [out] LANGID *plangid,
00377         [out] GUID *pguidProfile);
00378 
00379     HRESULT GetLanguageProfileDescription(
00380         [in] REFCLSID rclsid,
00381         [in] LANGID langid,
00382         [in] REFGUID guidProfile,
00383         [out] BSTR *pbstrProfile);
00384 
00385     HRESULT GetCurrentLanguage(
00386         [out] LANGID *plangid);
00387 
00388     HRESULT ChangeCurrentLanguage(
00389         [in] LANGID langid);
00390 
00391     HRESULT GetLanguageList(
00392         [out] LANGID **ppLangId,
00393         [out] ULONG *pulCount);
00394 
00395     HRESULT EnumLanguageProfiles(
00396         [in] LANGID langid,
00397         [out] IEnumTfLanguageProfiles **ppEnum);
00398 
00399     HRESULT EnableLanguageProfile(
00400         [in] REFCLSID rclsid,
00401         [in] LANGID langid,
00402         [in] REFGUID guidProfile,
00403         [in] BOOL fEnable);
00404 
00405     HRESULT IsEnabledLanguageProfile(
00406         [in] REFCLSID rclsid,
00407         [in] LANGID langid,
00408         [in] REFGUID guidProfile,
00409         [out] BOOL *pfEnable);
00410 
00411     HRESULT EnableLanguageProfileByDefault(
00412         [in] REFCLSID rclsid,
00413         [in] LANGID langid,
00414         [in] REFGUID guidProfile,
00415         [in] BOOL fEnable);
00416 
00417     HRESULT SubstituteKeyboardLayout(
00418         [in] REFCLSID rclsid,
00419         [in] LANGID langid,
00420         [in] REFGUID guidProfile,
00421         [in] HKL hKL);
00422 };
00423 
00424 typedef [uuid(c4cc07f1-80cc-4a7b-bc54-98512782cbe3)]
00425 enum {
00426     TF_LS_NONE      = 0,
00427     TF_LS_SOLID     = 1,
00428     TF_LS_DOT       = 2,
00429     TF_LS_DASH      = 3,
00430     TF_LS_SQUIGGLE  = 4
00431 } TF_DA_LINESTYLE;
00432 
00433 typedef [uuid(d9b92e21-084a-401b-9c64-1e6dad91a1ab)]
00434 enum {
00435     TF_CT_NONE      = 0,
00436     TF_CT_SYSCOLOR  = 1,
00437     TF_CT_COLORREF  = 2
00438 } TF_DA_COLORTYPE;
00439 
00440 typedef [uuid(90d0cb5e-6520-4a0f-b47c-c39bd955f0d6)]
00441 struct TF_DA_COLOR {
00442     TF_DA_COLORTYPE type;
00443     [switch_type(TF_DA_COLORTYPE), switch_is(type)]
00444     union {
00445         [case(TF_CT_SYSCOLOR)] int nIndex;
00446         [case(TF_CT_COLORREF)] COLORREF cr;
00447     };
00448 } TF_DA_COLOR;
00449 
00450 typedef [uuid(33d2fe4b-6c24-4f67-8d75-3bc1819e4126)]
00451 enum {
00452     TF_ATTR_INPUT                = 0,
00453     TF_ATTR_TARGET_CONVERTED     = 1,
00454     TF_ATTR_CONVERTED            = 2,
00455     TF_ATTR_TARGET_NOTCONVERTED  = 3,
00456     TF_ATTR_INPUT_ERROR          = 4,
00457     TF_ATTR_FIXEDCONVERTED       = 5,
00458     TF_ATTR_OTHER                = -1
00459 } TF_DA_ATTR_INFO;
00460 
00461 typedef [uuid(1bf1c305-419b-4182-a4d2-9bfadc3f021f)]
00462 struct TF_DISPLAYATTRIBUTE {
00463     TF_DA_COLOR      crText;
00464     TF_DA_COLOR      crBk;
00465     TF_DA_LINESTYLE  lsStyle;
00466     BOOL             fBoldLine;
00467     TF_DA_COLOR      crLine;
00468     TF_DA_ATTR_INFO  bAttr;
00469 } TF_DISPLAYATTRIBUTE;
00470 
00471 [
00472     object,
00473     uuid(70528852-2f26-4aea-8c96-215150578932),
00474     pointer_default(unique)
00475 ]
00476 interface ITfDisplayAttributeInfo : IUnknown
00477 {
00478     HRESULT GetGUID([out] GUID *pguid);
00479 
00480     HRESULT GetDescription([out] BSTR *pbstrDesc);
00481 
00482     HRESULT GetAttributeInfo([out] TF_DISPLAYATTRIBUTE *pda);
00483 
00484     HRESULT SetAttributeInfo([in] const TF_DISPLAYATTRIBUTE *pda);
00485 
00486     HRESULT Reset();
00487 }
00488 
00489 [
00490     object,
00491     uuid(7cef04d7-cb75-4e80-a7ab-5f5bc7d332de),
00492     pointer_default(unique)
00493 ]
00494 interface IEnumTfDisplayAttributeInfo : IUnknown
00495 {
00496     HRESULT Clone([out] IEnumTfDisplayAttributeInfo **ppEnum);
00497 
00498     HRESULT Next(
00499             [in] ULONG ulCount,
00500             [out, size_is(ulCount), length_is(*pcFetched)] ITfDisplayAttributeInfo **rgInfo,
00501             [out] ULONG *pcFetched);
00502 
00503     HRESULT Reset();
00504 
00505     HRESULT Skip([in] ULONG ulCount);
00506 }
00507 
00508 [
00509     object,
00510     local,
00511     uuid(8ded7393-5db1-475c-9e71-a39111b0ff67),
00512     pointer_default(unique)
00513 ]
00514 interface ITfDisplayAttributeMgr : IUnknown
00515 {
00516     HRESULT OnUpdateInfo();
00517 
00518     HRESULT EnumDisplayAttributeInfo([out] IEnumTfDisplayAttributeInfo **ppEnum);
00519 
00520     HRESULT GetDisplayAttributeInfo(
00521             [in] REFGUID guid,
00522             [out] ITfDisplayAttributeInfo **ppInfo,
00523             [out] CLSID *pclsidOwner);
00524 
00525 }
00526 
00527 [
00528   object,
00529   local,
00530   uuid(c3acefb5-f69d-4905-938f-fcadcf4be830),
00531   pointer_default(unique)
00532 ]
00533 interface ITfCategoryMgr : IUnknown
00534 {
00535     HRESULT RegisterCategory([in] REFCLSID rclsid,
00536                              [in] REFGUID rcatid,
00537                              [in] REFGUID rguid);
00538 
00539     HRESULT UnregisterCategory([in] REFCLSID rclsid,
00540                                [in] REFGUID rcatid,
00541                                [in] REFGUID rguid);
00542 
00543     HRESULT EnumCategoriesInItem([in] REFGUID rguid,
00544                                  [out] IEnumGUID **ppEnum);
00545 
00546     HRESULT EnumItemsInCategory([in] REFGUID rcatid,
00547                                 [out] IEnumGUID **ppEnum);
00548 
00549     HRESULT FindClosestCategory([in] REFGUID rguid,
00550                                 [out] GUID *pcatid,
00551                                 [in, size_is(ulCount)] const GUID **ppcatidList,
00552                                 [in] ULONG ulCount);
00553 
00554     HRESULT RegisterGUIDDescription([in] REFCLSID rclsid,
00555                                     [in] REFGUID rguid,
00556                                     [in, size_is(cch)] const WCHAR *pchDesc,
00557                                     [in] ULONG cch);
00558 
00559     HRESULT UnregisterGUIDDescription([in] REFCLSID rclsid,
00560                                       [in] REFGUID rguid);
00561 
00562     HRESULT GetGUIDDescription([in] REFGUID rguid,
00563                                [out] BSTR *pbstrDesc);
00564 
00565     HRESULT RegisterGUIDDWORD([in] REFCLSID rclsid,
00566                               [in] REFGUID rguid,
00567                               [in] DWORD dw);
00568 
00569     HRESULT UnregisterGUIDDWORD([in] REFCLSID rclsid,
00570                                 [in] REFGUID rguid);
00571 
00572     HRESULT GetGUIDDWORD([in] REFGUID rguid,
00573                          [out] DWORD *pdw);
00574 
00575     HRESULT RegisterGUID([in] REFGUID rguid,
00576                          [out] TfGuidAtom *pguidatom);
00577 
00578     HRESULT GetGUID([in] TfGuidAtom guidatom,
00579                     [out] GUID *pguid);
00580 
00581     HRESULT IsEqualTfGuidAtom([in] TfGuidAtom guidatom,
00582                               [in] REFGUID rguid,
00583                               [out] BOOL *pfEqual);
00584 };
00585 
00586 [
00587   object,
00588   uuid(8127d409-ccd3-4683-967a-b43d5b482bf7),
00589   pointer_default(unique)
00590 ]
00591 interface ITfTextEditSink : IUnknown
00592 {
00593     HRESULT OnEndEdit(
00594         [in] ITfContext *pic,
00595         [in] TfEditCookie ecReadOnly,
00596         [in] ITfEditRecord *pEditRecord);
00597 };
00598 
00599 [
00600     object,
00601     uuid(5F20AA40-B57A-4F34-96AB-3576F377CC79),
00602     pointer_default(unique)
00603 ]
00604 interface ITfContextOwnerCompositionSink : IUnknown
00605 {
00606     HRESULT OnStartComposition(
00607         [in] ITfCompositionView *pComposition,
00608         [out] BOOL *pfOk);
00609 
00610     HRESULT OnUpdateComposition(
00611         [in] ITfCompositionView *pComposition,
00612         [in] ITfRange *pRangeNew);
00613 
00614     HRESULT OnEndComposition(
00615         [in] ITfCompositionView *pComposition);
00616 };
00617 
00618 [
00619   object,
00620   uuid(3d61bf11-ac5f-42c8-a4cb-931bcc28c744),
00621   pointer_default(unique)
00622 ]
00623 interface IEnumTfLanguageProfiles : IUnknown
00624 {
00625     HRESULT Clone(
00626         [out] IEnumTfLanguageProfiles **ppEnum);
00627 
00628     HRESULT Next(
00629         [in] ULONG ulCount,
00630         [out, size_is(ulCount), length_is(*pcFetch)] TF_LANGUAGEPROFILE *pProfile,
00631         [out] ULONG *pcFetch);
00632 
00633     HRESULT Reset();
00634 
00635     HRESULT Skip(
00636         [in] ULONG ulCount);
00637 };
00638 
00639 [
00640   object,
00641   local,
00642   uuid(aa80e7f7-2021-11d2-93e0-0060b067b86e),
00643   pointer_default(unique)
00644 ]
00645 interface ITfTextInputProcessor : IUnknown
00646 {
00647     HRESULT Activate(
00648         [in] ITfThreadMgr *ptim,
00649         [in] TfClientId tid);
00650 
00651     HRESULT Deactivate();
00652 };
00653 
00654 [
00655   object,
00656   uuid(aa80e80e-2021-11d2-93e0-0060b067b86e),
00657   pointer_default(unique)
00658 ]
00659 interface ITfThreadMgrEventSink : IUnknown
00660 {
00661     HRESULT OnInitDocumentMgr(
00662         [in] ITfDocumentMgr *pdim);
00663 
00664     HRESULT OnUninitDocumentMgr(
00665         [in] ITfDocumentMgr *pdim);
00666 
00667     HRESULT OnSetFocus(
00668         [in] ITfDocumentMgr *pdimFocus,
00669         [in] ITfDocumentMgr *pdimPrevFocus);
00670 
00671     HRESULT OnPushContext(
00672         [in] ITfContext *pic);
00673 
00674     HRESULT OnPopContext(
00675         [in] ITfContext *pic);
00676 };
00677 
00678 [
00679   object,
00680   local,
00681   uuid(aa80e7f0-2021-11d2-93e0-0060b067b86e),
00682   pointer_default(unique)
00683 ]
00684 interface ITfKeystrokeMgr : IUnknown
00685 {
00686     HRESULT AdviseKeyEventSink(
00687         [in] TfClientId tid,
00688         [in] ITfKeyEventSink *pSink,
00689         [in] BOOL fForeground);
00690 
00691     HRESULT UnadviseKeyEventSink(
00692         [in] TfClientId tid);
00693 
00694     HRESULT GetForeground(
00695         [out] CLSID *pclsid);
00696 
00697     HRESULT TestKeyDown(
00698         [in] WPARAM wParam,
00699         [in] LPARAM lParam,
00700         [out] BOOL *pfEaten);
00701 
00702     HRESULT TestKeyUp(
00703         [in] WPARAM wParam,
00704         [in] LPARAM lParam,
00705         [out] BOOL *pfEaten);
00706 
00707     HRESULT KeyDown(
00708         [in] WPARAM wParam,
00709         [in] LPARAM lParam,
00710         [out] BOOL *pfEaten);
00711 
00712     HRESULT KeyUp(
00713         [in] WPARAM wParam,
00714         [in] LPARAM lParam,
00715         [out] BOOL *pfEaten);
00716 
00717     HRESULT GetPreservedKey(
00718         [in] ITfContext *pic,
00719         [in] const TF_PRESERVEDKEY *pprekey,
00720         [out] GUID *pguid);
00721 
00722     HRESULT IsPreservedKey(
00723         [in] REFGUID rguid,
00724         [in] const TF_PRESERVEDKEY *pprekey,
00725         [out] BOOL *pfRegistered);
00726 
00727     HRESULT PreserveKey(
00728         [in] TfClientId tid,
00729         [in] REFGUID rguid,
00730         [in] const TF_PRESERVEDKEY *prekey,
00731         [in, size_is(cchDesc)] const WCHAR *pchDesc,
00732         [in] ULONG cchDesc);
00733 
00734     HRESULT UnpreserveKey(
00735         [in] REFGUID rguid,
00736         [in] const TF_PRESERVEDKEY *pprekey);
00737 
00738     HRESULT SetPreservedKeyDescription(
00739         [in] REFGUID rguid,
00740         [in, size_is(cchDesc)] const WCHAR *pchDesc,
00741         [in] ULONG cchDesc);
00742 
00743     HRESULT GetPreservedKeyDescription(
00744         [in] REFGUID rguid,
00745         [out] BSTR *pbstrDesc);
00746 
00747     HRESULT SimulatePreservedKey(
00748         [in] ITfContext *pic,
00749         [in] REFGUID rguid,
00750         [out] BOOL *pfEaten);
00751 };
00752 
00753 [
00754   object,
00755   local,
00756   uuid(aa80e7f5-2021-11d2-93e0-0060b067b86e),
00757   pointer_default(unique)
00758 ]
00759 interface ITfKeyEventSink : IUnknown
00760 {
00761     HRESULT OnSetFocus(
00762         [in] BOOL fForeground);
00763 
00764     HRESULT OnTestKeyDown(
00765         [in] ITfContext *pic,
00766         [in] WPARAM wParam,
00767         [in] LPARAM lParam,
00768         [out] BOOL *pfEaten);
00769 
00770     HRESULT OnTestKeyUp(
00771         [in] ITfContext *pic,
00772         [in] WPARAM wParam,
00773         [in] LPARAM lParam,
00774         [out] BOOL *pfEaten);
00775 
00776     HRESULT OnKeyDown(
00777         [in] ITfContext *pic,
00778         [in] WPARAM wParam,
00779         [in] LPARAM lParam,
00780         [out] BOOL *pfEaten);
00781 
00782     HRESULT OnKeyUp(
00783         [in] ITfContext *pic,
00784         [in] WPARAM wParam,
00785         [in] LPARAM lParam,
00786         [out] BOOL *pfEaten);
00787 
00788     HRESULT OnPreservedKey(
00789         [in] ITfContext *pic,
00790         [in] REFGUID rguid,
00791         [out] BOOL *pfEaten);
00792 };
00793 
00794 [
00795   object,
00796   local,
00797   uuid(8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c),
00798   pointer_default(unique)
00799 ]
00800 interface ITfMessagePump : IUnknown
00801 {
00802     HRESULT PeekMessageA(
00803         [out] LPMSG pMsg,
00804         [in] HWND hwnd,
00805         [in] UINT wMsgFilterMin,
00806         [in] UINT wMsgFilterMax,
00807         [in] UINT wRemoveMsg,
00808         [out] BOOL *pfResult);
00809 
00810     HRESULT GetMessageA(
00811         [out] LPMSG pMsg,
00812         [in] HWND hwnd,
00813         [in] UINT wMsgFilterMin,
00814         [in] UINT wMsgFilterMax,
00815         [out] BOOL *pfResult);
00816 
00817     HRESULT PeekMessageW(
00818         [out] LPMSG pMsg,
00819         [in] HWND hwnd,
00820         [in] UINT wMsgFilterMin,
00821         [in] UINT wMsgFilterMax,
00822         [in] UINT wRemoveMsg,
00823         [out] BOOL *pfResult);
00824 
00825     HRESULT GetMessageW(
00826         [out] LPMSG pMsg,
00827         [in] HWND hwnd,
00828         [in] UINT wMsgFilterMin,
00829         [in] UINT wMsgFilterMax,
00830         [out] BOOL *pfResult);
00831 };
00832 
00833 [
00834   object,
00835   local,
00836   uuid(d60a7b49-1b9f-4be2-b702-47e9dc05dec3),
00837   pointer_default(unique)
00838 ]
00839 interface ITfClientId : IUnknown
00840 {
00841     HRESULT GetClientId(
00842         [in] REFCLSID rclsid,
00843         [out] TfClientId *ptid);
00844 };
00845 
00846 [
00847   object,
00848   uuid(43c9fe15-f494-4c17-9de2-b8a4ac350aa8),
00849   pointer_default(unique)
00850 ]
00851 interface ITfLanguageProfileNotifySink : IUnknown
00852 {
00853     HRESULT OnLanguageChange(
00854         [in] LANGID langid,
00855         [out] BOOL *pfAccept);
00856 
00857     HRESULT OnLanguageChanged();
00858 }
00859 
00860 [
00861   object,
00862   uuid(aa80e803-2021-11d2-93e0-0060b067b86e),
00863   pointer_default(unique)
00864 ]
00865 interface ITfEditSession : IUnknown
00866 {
00867     HRESULT DoEditSession(
00868         [in] TfEditCookie ec);
00869 }
00870 
00871 [
00872   object,
00873   uuid(aa80e7ff-2021-11d2-93e0-0060b067b86e),
00874   pointer_default(unique)
00875 ]
00876 interface ITfRange : IUnknown
00877 {
00878     const WCHAR TF_CHAR_EMBEDDED     = TS_CHAR_EMBEDDED;
00879 
00880     typedef [uuid(cf610f06-2882-46f6-abe5-298568b664c4)] enum { TF_GRAVITY_BACKWARD = 0, TF_GRAVITY_FORWARD = 1 } TfGravity;
00881 
00882     typedef [uuid(1e512533-bbdc-4530-9a8e-a1dc0af67468)] enum { TF_SD_BACKWARD = 0, TF_SD_FORWARD = 1 } TfShiftDir;
00883 
00884     const DWORD TF_HF_OBJECT         = 1;
00885     const DWORD TF_TF_MOVESTART      = 1;
00886     const DWORD TF_TF_IGNOREEND      = 2;
00887     const DWORD TF_ST_CORRECTION     = 1;
00888     const DWORD TF_IE_CORRECTION     = 1;
00889 
00890     typedef [uuid(49930d51-7d93-448c-a48c-fea5dac192b1)] struct  TF_HALTCOND
00891     {
00892         ITfRange *pHaltRange;
00893         TfAnchor aHaltPos;
00894         DWORD dwFlags;
00895     } TF_HALTCOND;
00896 
00897     HRESULT GetText(
00898         [in] TfEditCookie ec,
00899         [in] DWORD dwFlags,
00900         [out, size_is(cchMax), length_is(*pcch)] WCHAR *pchText,
00901         [in] ULONG cchMax,
00902         [out] ULONG *pcch);
00903 
00904     HRESULT SetText(
00905         [in] TfEditCookie ec,
00906         [in] DWORD dwFlags,
00907         [in, size_is(cch), unique] const WCHAR *pchText,
00908         [in] LONG cch);
00909 
00910     HRESULT GetFormattedText(
00911         [in] TfEditCookie ec,
00912         [out] IDataObject **ppDataObject);
00913 
00914     HRESULT GetEmbedded(
00915         [in] TfEditCookie ec,
00916         [in] REFGUID rguidService,
00917         [in] REFIID riid,
00918         [out, iid_is(riid)] IUnknown **ppunk);
00919 
00920     HRESULT InsertEmbedded(
00921         [in] TfEditCookie ec,
00922         [in] DWORD dwFlags,
00923         [in] IDataObject *pDataObject);
00924 
00925     HRESULT ShiftStart(
00926         [in] TfEditCookie ec,
00927         [in] LONG cchReq,
00928         [out] LONG *pcch,
00929         [in, unique] const TF_HALTCOND *pHalt);
00930 
00931     HRESULT ShiftEnd(
00932         [in] TfEditCookie ec,
00933         [in] LONG cchReq,
00934         [out] LONG *pcch,
00935         [in, unique] const TF_HALTCOND *pHalt);
00936 
00937     HRESULT ShiftStartToRange(
00938         [in] TfEditCookie ec,
00939         [in] ITfRange *pRange,
00940         [in] TfAnchor aPos);
00941 
00942     HRESULT ShiftEndToRange(
00943         [in] TfEditCookie ec,
00944         [in] ITfRange *pRange,
00945         [in] TfAnchor aPos);
00946 
00947     HRESULT ShiftStartRegion(
00948         [in] TfEditCookie ec,
00949         [in] TfShiftDir dir,
00950         [out] BOOL *pfNoRegion);
00951 
00952     HRESULT ShiftEndRegion(
00953         [in] TfEditCookie ec,
00954         [in] TfShiftDir dir,
00955         [out] BOOL *pfNoRegion);
00956 
00957     HRESULT IsEmpty(
00958         [in] TfEditCookie ec,
00959         [out] BOOL *pfEmpty);
00960 
00961     HRESULT Collapse(
00962         [in] TfEditCookie ec,
00963         [in] TfAnchor aPos);
00964 
00965     HRESULT IsEqualStart(
00966         [in] TfEditCookie ec,
00967         [in] ITfRange *pWith,
00968         [in] TfAnchor aPos,
00969         [out] BOOL *pfEqual);
00970 
00971     HRESULT IsEqualEnd(
00972         [in] TfEditCookie ec,
00973         [in] ITfRange *pWith,
00974         [in] TfAnchor aPos,
00975         [out] BOOL *pfEqual);
00976 
00977     HRESULT CompareStart(
00978         [in] TfEditCookie ec,
00979         [in] ITfRange *pWith,
00980         [in] TfAnchor aPos,
00981         [out] LONG *plResult);
00982 
00983     HRESULT CompareEnd(
00984         [in] TfEditCookie ec,
00985         [in] ITfRange *pWith,
00986         [in] TfAnchor aPos,
00987         [out] LONG *plResult);
00988 
00989     HRESULT AdjustForInsert(
00990         [in] TfEditCookie ec,
00991         [in] ULONG cchInsert,
00992         [out] BOOL *pfInsertOk);
00993 
00994     HRESULT GetGravity(
00995         [out] TfGravity *pgStart,
00996         [out] TfGravity *pgEnd);
00997 
00998     HRESULT SetGravity(
00999         [in] TfEditCookie ec,
01000         [in] TfGravity gStart,
01001         [in] TfGravity gEnd);
01002 
01003     HRESULT Clone(
01004         [out] ITfRange **ppClone);
01005 
01006     HRESULT GetContext(
01007         [out] ITfContext **ppContext);
01008 };
01009 
01010 [
01011     object,
01012     uuid(057a6296-029b-4154-b79a-0d461d4ea94c),
01013     pointer_default(unique)
01014 ]
01015 interface ITfRangeACP : ITfRange
01016 {
01017     HRESULT GetExtent([out] LONG *pacpAnchor,
01018                       [out] LONG *pcch);
01019 
01020     HRESULT SetExtent([in] LONG acpAnchor,
01021                       [in] LONG cch);
01022 }
01023 
01024 [
01025     object,
01026     uuid(55ce16ba-3014-41c1-9ceb-fade1446ac6c),
01027     pointer_default(unique)
01028 ]
01029 interface ITfInsertAtSelection : IUnknown
01030 {
01031     const DWORD TF_IAS_NOQUERY   = 0x1;
01032     const DWORD TF_IAS_QUERYONLY = 0x2;
01033     const DWORD TF_IAS_NO_DEFAULT_COMPOSITION = 0x80000000;
01034 
01035     HRESULT InsertTextAtSelection(
01036         [in] TfEditCookie ec,
01037         [in] DWORD dwFlags,
01038         [in, size_is(cch)] const WCHAR *pchText,
01039         [in] LONG cch,
01040         [out] ITfRange **ppRange);
01041 
01042     HRESULT InsertEmbeddedAtSelection(
01043         [in] TfEditCookie ec,
01044         [in] DWORD dwFlags,
01045         [in] IDataObject *pDataObject,
01046         [out] ITfRange **ppRange);
01047 };
01048 
01049 [
01050     object,
01051     uuid(6834b120-88cb-11d2-bf45-00105a2799b5),
01052     pointer_default(unique)
01053 ]
01054 interface ITfPropertyStore : IUnknown
01055 {
01056     const DWORD TF_TU_CORRECTION = 0x1;
01057 
01058     HRESULT GetType([out] GUID *pguid);
01059 
01060     HRESULT GetDataType([out] DWORD *pdwReserved);
01061 
01062     HRESULT GetData([out] VARIANT *pvarValue);
01063 
01064     HRESULT OnTextUpdated(
01065             [in] DWORD dwFlags,
01066             [in] ITfRange *pRangeNew,
01067             [out] BOOL *pfAccept);
01068 
01069     HRESULT Shrink(
01070             [in] ITfRange *pRangeNew,
01071             [out] BOOL *pfFree);
01072 
01073     HRESULT Divide(
01074             [in] ITfRange *pRangeThis,
01075             [in] ITfRange *pRangeNew,
01076             [out] ITfPropertyStore **ppPropStore);
01077 
01078     HRESULT Clone(
01079             [out] ITfPropertyStore **pPropStore);
01080 
01081     HRESULT GetPropertyRangeCreator(
01082             [out] CLSID *pclsid);
01083 
01084     HRESULT Serialize(
01085             [in] IStream *pStream,
01086             [out] ULONG *pcb);
01087 }
01088 
01089 [
01090     object,
01091     uuid(f99d3f40-8e32-11d2-bf46-00105a2799b5),
01092     pointer_default(unique)
01093 ]
01094 interface IEnumTfRanges : IUnknown
01095 {
01096     HRESULT Clone([out] IEnumTfRanges **ppEnum);
01097 
01098     HRESULT Next(
01099             [in] ULONG ulCount,
01100             [out, size_is(ulCount), length_is(*pcFetched)] ITfRange **ppRange,
01101             [out] ULONG *pcFetched);
01102 
01103     HRESULT Reset();
01104 
01105     HRESULT Skip(ULONG ulCount);
01106 }
01107 
01108 [
01109     object,
01110     uuid(5efd22Ba-7838-46cb-88e2-cadb14124f8f),
01111     pointer_default(unique)
01112 ]
01113 interface IEnumITfCompositionView : IUnknown
01114 {
01115     HRESULT Clone([out] IEnumITfCompositionView **ppEnum);
01116 
01117     HRESULT Next(
01118             [in] ULONG ulCount,
01119             [out, size_is(ulCount), length_is(*pcFetched)] ITfCompositionView **rgCompositionView,
01120             [out] ULONG *pcFetched);
01121 
01122     HRESULT Reset();
01123 
01124     HRESULT Skip([in] ULONG ulCount);
01125 }
01126 
01127 [
01128     object,
01129     uuid(20168d64-5a8f-4a5a-b7bd-cfa29f4D0fd9),
01130     pointer_default(unique)
01131 ]
01132 interface ITfComposition : IUnknown
01133 {
01134     HRESULT GetRange([out] ITfRange **ppRange);
01135 
01136     HRESULT ShiftStart(
01137             [in] TfEditCookie ecWrite,
01138             [in] ITfRange *pNewStart);
01139 
01140     HRESULT ShiftEnd(
01141             [in] TfEditCookie ecWrite,
01142             [in] ITfRange *pNewEnd);
01143 
01144     HRESULT EndComposition([in] TfEditCookie ecWrite);
01145 }
01146 
01147 [
01148     object,
01149     uuid(a781718c-579a-4b15-a280-32b8577acc5e),
01150     pointer_default(unique)
01151 ]
01152 interface ITfCompositionSink : IUnknown
01153 {
01154     HRESULT OnCompositionTerminated(
01155             [in] TfEditCookie ecWrite,
01156             [in] ITfComposition *pComposition);
01157 }
01158 
01159 [
01160     object,
01161     uuid(d40C8aae-aC92-4fc7-9a11-0ee0e23aa39b),
01162     pointer_default(unique)
01163 ]
01164 interface ITfContextComposition : IUnknown
01165 {
01166     HRESULT StartComposition(
01167             [in] TfEditCookie ecWrite,
01168             [in] ITfRange *pCompositionRange,
01169             [in] ITfCompositionSink *pSink,
01170             [out] ITfComposition **ppComposition);
01171 
01172     HRESULT EnumCompositions([out] IEnumITfCompositionView **ppEnum);
01173 
01174     HRESULT FindComposition(
01175             [in] TfEditCookie ecRead,
01176             [in] ITfRange *pTestRange,
01177             [out] IEnumITfCompositionView **ppEnum);
01178 
01179     HRESULT TakeOwnership(
01180             [in] TfEditCookie ecWrite,
01181             [in] ITfCompositionView *pComposition,
01182             [in] ITfCompositionSink *pSink,
01183             [out] ITfComposition **ppComposition);
01184 }
01185 
01186 [
01187     object,
01188     uuid(86462810-593b-4916-9764-19c08e9ce110),
01189     pointer_default(unique)
01190 ]
01191 interface ITfContextOwnerCompositionServices : ITfContextComposition
01192 {
01193     HRESULT TerminateComposition([in] ITfCompositionView *pComposition);
01194 }
01195 
01196 [
01197     object,
01198     uuid(17d49a3d-f8b8-4b2f-b254-52319dd64c53),
01199     pointer_default(unique)
01200 ]
01201 interface ITfReadOnlyProperty : IUnknown
01202 {
01203     HRESULT GetType([out] GUID *pguid);
01204 
01205     HRESULT EnumRanges(
01206             [in] TfEditCookie ec,
01207             [out] IEnumTfRanges **ppEnum,
01208             [in] ITfRange *pTargetRange);
01209 
01210     HRESULT GetValue(
01211             [in] TfEditCookie ec,
01212             [in] ITfRange *pRange,
01213             [out] VARIANT *pvarValue);
01214 
01215     HRESULT GetContext([out] ITfContext **ppContext);
01216 }
01217 
01218 [
01219     object,
01220     uuid(e2449660-9542-11d2-bf46-00105a2799b5),
01221     pointer_default(unique)
01222 ]
01223 interface ITfProperty : ITfReadOnlyProperty
01224 {
01225     HRESULT FindRange(
01226             [in] TfEditCookie ec,
01227             [in] ITfRange *pRange,
01228             [out] ITfRange **ppRange,
01229             [in] TfAnchor aPos);
01230 
01231     HRESULT SetValueStore(
01232             [in] TfEditCookie ec,
01233             [in] ITfRange *pRange,
01234             [in] ITfPropertyStore *pPropStore);
01235 
01236     HRESULT SetValue(
01237             [in] TfEditCookie ec,
01238             [in] ITfRange *pRange,
01239             [in] const VARIANT *pvarValue);
01240 
01241     HRESULT Clear(
01242             [in] TfEditCookie ec,
01243             [in] ITfRange *pRange);
01244 }
01245 
01246 [
01247   object,
01248   uuid(bb08f7a9-607a-4384-8623-056892b64371),
01249   pointer_default(unique)
01250 ]
01251 interface ITfCompartment : IUnknown
01252 {
01253     HRESULT SetValue(
01254         [in] TfClientId tid,
01255         [in] const VARIANT *pvarValue);
01256 
01257     HRESULT GetValue(
01258         [out] VARIANT *pvarValue);
01259 };
01260 
01261 [
01262   object,
01263   uuid(7dcf57ac-18ad-438b-824d-979bffb74b7c),
01264   pointer_default(unique)
01265 ]
01266 interface ITfCompartmentMgr : IUnknown
01267 {
01268     HRESULT GetCompartment(
01269         [in] REFGUID rguid,
01270         [out] ITfCompartment **ppcomp);
01271 
01272     HRESULT ClearCompartment(
01273         [in] TfClientId tid,
01274         [in] REFGUID rguid);
01275 
01276     HRESULT EnumCompartments(
01277         [out] IEnumGUID **ppEnum);
01278 };
01279 
01280 [
01281   object,
01282   uuid(743abd5f-f26d-48df-8cc5-238492419b64),
01283   pointer_default(unique)
01284 ]
01285 interface ITfCompartmentEventSink : IUnknown
01286 {
01287     HRESULT OnChange(
01288         [in] REFGUID rguid);
01289 }
01290 
01291 [
01292   object,
01293   uuid(8f1a7ea6-1654-4502-a86e-b2902344d507),
01294   pointer_default(unique)
01295 ]
01296 interface IEnumTfContexts : IUnknown
01297 {
01298     HRESULT Clone(
01299         [out] IEnumTfContexts **ppEnum);
01300 
01301     HRESULT Next(
01302         [in] ULONG ulCount,
01303         [out, size_is(ulCount), length_is(*pcFetched)] ITfContext **rgContext,
01304         [out] ULONG *pcFetched);
01305 
01306     HRESULT Reset();
01307 
01308     HRESULT Skip(
01309         [in] ULONG ulCount);
01310 };
01311 
01312 [
01313   object,
01314   uuid(aa80e808-2021-11d2-93e0-0060b067b86e),
01315   pointer_default(unique)
01316 ]
01317 interface IEnumTfDocumentMgrs : IUnknown
01318 {
01319     HRESULT Clone(
01320         [out] IEnumTfDocumentMgrs **ppEnum);
01321 
01322     HRESULT Next(
01323         [in] ULONG ulCount,
01324         [out, size_is(ulCount), length_is(*pcFetched)] ITfDocumentMgr **rgDocumentMgr,
01325         [out] ULONG *pcFetched);
01326 
01327     HRESULT Reset();
01328 
01329     HRESULT Skip(
01330         [in] ULONG ulCount);
01331 };
01332 
01333 [
01334   object,
01335   uuid(73131f9c-56a9-49dd-b0ee-d046633f7528),
01336   pointer_default(unique)
01337 ]
01338 interface ITfSourceSingle : IUnknown
01339 {
01340     HRESULT AdviseSingleSink(
01341         [in] TfClientId tid,
01342         [in] REFIID riid,
01343         [in, iid_is(riid)] IUnknown *punk);
01344 
01345     HRESULT UnadviseSingleSink(
01346         [in] TfClientId tid,
01347         [in] REFIID riid);
01348 };
01349 
01350 [
01351   object,
01352   local,
01353   uuid(c0f1db0c-3a20-405c-a303-96b6010a885f),
01354   pointer_default(unique)
01355 ]
01356 interface ITfThreadFocusSink : IUnknown
01357 {
01358     HRESULT OnSetThreadFocus();
01359 
01360     HRESULT OnKillThreadFocus();
01361 };
01362 
01363 [
01364   object,
01365   uuid(101d6610-0990-11d3-8df0-00105a2799b5),
01366   pointer_default(unique)
01367 ]
01368 interface ITfFunctionProvider : IUnknown
01369 {
01370     HRESULT GetType(
01371         [out] GUID *pguid);
01372 
01373     HRESULT GetDescription(
01374         [out] BSTR *pbstrDesc);
01375 
01376     HRESULT GetFunction(
01377         [in] REFGUID rguid,
01378         [in] REFIID riid,
01379         [out, iid_is(riid)] IUnknown **ppunk);
01380 }
01381 
01382 [
01383   object,
01384   uuid(e4b24db0-0990-11d3-8df0-00105a2799b5),
01385   pointer_default(unique)
01386 ]
01387 interface IEnumTfFunctionProviders : IUnknown
01388 {
01389     HRESULT Clone(
01390         [out] IEnumTfFunctionProviders **ppEnum);
01391 
01392     HRESULT Next(
01393         [in] ULONG ulCount,
01394         [out, size_is(ulCount), length_is(*pcFetch)] ITfFunctionProvider **ppCmdobj,
01395         [out] ULONG *pcFetch);
01396 
01397     HRESULT Reset();
01398 
01399     HRESULT Skip(
01400         [in] ULONG ulCount);
01401 };
01402 
01403 [
01404   object,
01405   uuid(2433bf8e-0f9b-435c-ba2c-180611978c30),
01406   pointer_default(unique)
01407 ]
01408 interface ITfContextView : IUnknown
01409 {
01410     HRESULT GetRangeFromPoint(
01411         [in] TfEditCookie ec,
01412         [in] const POINT *ppt,
01413         [in] DWORD dwFlags,
01414         [out] ITfRange **ppRange);
01415 
01416     HRESULT GetTextExt(
01417         [in] TfEditCookie ec,
01418         [in] ITfRange *pRange,
01419         [out] RECT *prc,
01420         [out] BOOL *pfClipped);
01421 
01422     HRESULT GetScreenExt(
01423         [out] RECT *prc);
01424 
01425     HRESULT GetWnd(
01426         [out] HWND *phwnd);
01427 };
01428 
01429 [
01430   object,
01431   uuid(f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78),
01432   pointer_default(unique)
01433 ]
01434 interface IEnumTfContextViews : IUnknown
01435 {
01436     HRESULT Clone(
01437         [out] IEnumTfContextViews **ppEnum);
01438 
01439     HRESULT Next(
01440         [in] ULONG ulCount,
01441         [out, size_is(ulCount), length_is(*pcFetched)] ITfContextView **rgViews,
01442         [out] ULONG *pcFetched);
01443 
01444     HRESULT Reset();
01445 
01446     HRESULT Skip(
01447         [in] ULONG ulCount);
01448 };
01449 
01450 [
01451   object,
01452   uuid(19188cb0-aca9-11d2-afc5-00105a2799b5),
01453   pointer_default(unique)
01454 ]
01455 interface IEnumTfProperties : IUnknown
01456 {
01457     HRESULT Clone(
01458         [out] IEnumTfProperties **ppEnum);
01459 
01460     HRESULT Next(
01461         [in] ULONG ulCount,
01462         [out, size_is(ulCount), length_is(*pcFetched)] ITfProperty **ppProp,
01463         [out] ULONG *pcFetched);
01464 
01465     HRESULT Reset();
01466 
01467     HRESULT Skip(
01468         [in] ULONG ulCount);
01469 }
01470 
01471 [
01472   object,
01473   uuid(463a506d-6992-49d2-9b88-93d55e70bb16),
01474   pointer_default(unique)
01475 ]
01476 interface ITfRangeBackup : IUnknown
01477 {
01478     HRESULT Restore(
01479         [in] TfEditCookie ec,
01480         [in] ITfRange *pRange);
01481 };
01482 
01483 [
01484   object,
01485   uuid(42d4d099-7c1a-4a89-b836-6c6f22160df0),
01486   pointer_default(unique)
01487 ]
01488 interface ITfEditRecord : IUnknown
01489 {
01490     const DWORD TF_GTP_INCL_TEXT = 0x1;
01491 
01492     HRESULT GetSelectionStatus(
01493         [out] BOOL *pfChanged);
01494 
01495     HRESULT GetTextAndPropertyUpdates(
01496         [in] DWORD dwFlags,
01497         [in, size_is(cProperties)] const GUID **prgProperties,
01498         [in] ULONG cProperties,
01499         [out] IEnumTfRanges **ppEnum);
01500 };

Generated on Sat May 26 2012 04:30:32 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.