Advertisement
Guest User

msctf_TLB.pas

a guest
Jul 13th, 2012
1,039
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 102.71 KB | None | 0 0
  1. unit msctf_TLB;
  2.  
  3. // ************************************************************************ //
  4. // WARNING                                                                    
  5. // -------                                                                    
  6. // The types declared in this file were generated from data read from a      
  7. // Type Library. If this type library is explicitly or indirectly (via        
  8. // another type library referring to this type library) re-imported, or the  
  9. // 'Refresh' command of the Type Library Editor activated while editing the  
  10. // Type Library, the contents of this file will be regenerated and all        
  11. // manual modifications will be lost.                                        
  12. // ************************************************************************ //
  13.  
  14. // $Rev: 45604 $
  15. // File generated on 7/13/2012 11:00:13 AM from Type Library described below.
  16.  
  17. // ************************************************************************  //
  18. // Type Lib: msctf.tlb (1)
  19. // LIBID: {17D32760-6055-473B-8269-8E35F86948BC}
  20. // LCID: 409
  21. // Helpfile:
  22. // HelpString: MSCTF 1.0 Type Library
  23. // DepndLst:
  24. //   (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
  25. // SYS_KIND: SYS_WIN32
  26. // Errors:
  27. //   Hint: Symbol 'type' renamed to 'type_'
  28. // Cmdline:
  29. //   tlibimp  -p msctf.tlb
  30. // ************************************************************************ //
  31. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
  32. {$WARN SYMBOL_PLATFORM OFF}
  33. {$WRITEABLECONST ON}
  34. {$VARPROPSETTER ON}
  35. {$ALIGN 4}
  36.  
  37. interface
  38.  
  39. uses Winapi.Windows, System.Classes, System.Variants, System.Win.StdVCL, Vcl.Graphics, Winapi.ActiveX;
  40.  
  41.  
  42. // *********************************************************************//
  43. // GUIDS declared in the TypeLibrary. Following prefixes are used:        
  44. //   Type Libraries     : LIBID_xxxx                                      
  45. //   CoClasses          : CLASS_xxxx                                      
  46. //   DISPInterfaces     : DIID_xxxx                                      
  47. //   Non-DISP interfaces: IID_xxxx                                        
  48. // *********************************************************************//
  49. const
  50.   // TypeLibrary Major and minor versions
  51.   msctfMajorVersion = 1;
  52.   msctfMinorVersion = 0;
  53.  
  54.   LIBID_msctf: TGUID = '{17D32760-6055-473B-8269-8E35F86948BC}';
  55.  
  56.   IID_ITfThreadMgrEventSink: TGUID = '{AA80E80E-2021-11D2-93E0-0060B067B86E}';
  57.   IID_ITfDocumentMgr: TGUID = '{AA80E7F4-2021-11D2-93E0-0060B067B86E}';
  58.   IID_ITfContext: TGUID = '{AA80E7FD-2021-11D2-93E0-0060B067B86E}';
  59.   IID_ITfEditSession: TGUID = '{AA80E803-2021-11D2-93E0-0060B067B86E}';
  60.   IID_ITfRange: TGUID = '{AA80E7FF-2021-11D2-93E0-0060B067B86E}';
  61.   IID_IDataObject: TGUID = '{0000010E-0000-0000-C000-000000000046}';
  62.   IID_IEnumFORMATETC: TGUID = '{00000103-0000-0000-C000-000000000046}';
  63.   IID_IAdviseSink: TGUID = '{0000010F-0000-0000-C000-000000000046}';
  64.   IID_IPersist: TGUID = '{0000010C-0000-0000-C000-000000000046}';
  65.   IID_IPersistStream: TGUID = '{00000109-0000-0000-C000-000000000046}';
  66.   IID_IMoniker: TGUID = '{0000000F-0000-0000-C000-000000000046}';
  67.   IID_ISequentialStream: TGUID = '{0C733A30-2A1C-11CE-ADE5-00AA0044773D}';
  68.   IID_IStream: TGUID = '{0000000C-0000-0000-C000-000000000046}';
  69.   IID_IBindCtx: TGUID = '{0000000E-0000-0000-C000-000000000046}';
  70.   IID_IRunningObjectTable: TGUID = '{00000010-0000-0000-C000-000000000046}';
  71.   IID_IEnumMoniker: TGUID = '{00000102-0000-0000-C000-000000000046}';
  72.   IID_IEnumString: TGUID = '{00000101-0000-0000-C000-000000000046}';
  73.   IID_IEnumSTATDATA: TGUID = '{00000105-0000-0000-C000-000000000046}';
  74.   IID_ITfContextView: TGUID = '{2433BF8E-0F9B-435C-BA2C-180611978C30}';
  75.   IID_IEnumTfContextViews: TGUID = '{F0C0F8DD-CF38-44E1-BB0F-68CF0D551C78}';
  76.   IID_ITfReadOnlyProperty: TGUID = '{17D49A3D-F8B8-4B2F-B254-52319DD64C53}';
  77.   IID_ITfProperty: TGUID = '{E2449660-9542-11D2-BF46-00105A2799B5}';
  78.   IID_IEnumTfRanges: TGUID = '{F99D3F40-8E32-11D2-BF46-00105A2799B5}';
  79.   IID_ITfPropertyStore: TGUID = '{6834B120-88CB-11D2-BF45-00105A2799B5}';
  80.   IID_IEnumTfProperties: TGUID = '{19188CB0-ACA9-11D2-AFC5-00105A2799B5}';
  81.   IID_ITfRangeBackup: TGUID = '{463A506D-6992-49D2-9B88-93D55E70BB16}';
  82.   IID_IEnumTfContexts: TGUID = '{8F1A7EA6-1654-4502-A86E-B2902344D507}';
  83.   IID_ITfTextInputProcessor: TGUID = '{AA80E7F7-2021-11D2-93E0-0060B067B86E}';
  84.   IID_ITfThreadMgr: TGUID = '{AA80E801-2021-11D2-93E0-0060B067B86E}';
  85.   IID_IEnumTfDocumentMgrs: TGUID = '{AA80E808-2021-11D2-93E0-0060B067B86E}';
  86.   IID_ITfFunctionProvider: TGUID = '{101D6610-0990-11D3-8DF0-00105A2799B5}';
  87.   IID_IEnumTfFunctionProviders: TGUID = '{E4B24DB0-0990-11D3-8DF0-00105A2799B5}';
  88.   IID_ITfCompartmentMgr: TGUID = '{7DCF57AC-18AD-438B-824D-979BFFB74B7C}';
  89.   IID_ITfCompartment: TGUID = '{BB08F7A9-607A-4384-8623-056892B64371}';
  90.   IID_IEnumGUID: TGUID = '{0002E000-0000-0000-C000-000000000046}';
  91.   IID_ITfRangeACP: TGUID = '{057A6296-029B-4154-B79A-0D461D4EA94C}';
  92.   IID_ITfPersistentPropertyLoaderACP: TGUID = '{4EF89150-0807-11D3-8DF0-00105A2799B5}';
  93.   IID_ITfKeyEventSink: TGUID = '{AA80E7F5-2021-11D2-93E0-0060B067B86E}';
  94.   IID_ITfSource: TGUID = '{4EA48A35-60AE-446F-8FD6-E6A8D82459F7}';
  95.   IID_ITfMouseSink: TGUID = '{A1ADAAA2-3A24-449D-AC96-5183E7F5C217}';
  96.   IID_IEnumTfLanguageProfiles: TGUID = '{3D61BF11-AC5F-42C8-A4CB-931BCC28C744}';
  97.   IID_ITfUIElement: TGUID = '{EA1EA137-19DF-11D7-A6D2-00065B84435C}';
  98.   IID_IEnumTfUIElements: TGUID = '{887AA91E-ACBA-4931-84DA-3C5208CF543F}';
  99.   IID_IEnumTfInputProcessorProfiles: TGUID = '{71C6E74D-0F28-11D8-A82A-00065B84435C}';
  100.   IID_ITfThreadMgrEx: TGUID = '{3E90ADE3-7594-4CB0-BB58-69628F5F458C}';
  101.   IID_ITfConfigureSystemKeystrokeFeed: TGUID = '{0D2C969A-BC9C-437C-84EE-951C49B1A764}';
  102.   IID_ITfCompositionView: TGUID = '{D7540241-F9A1-4364-BEFC-DBCD2C4395B7}';
  103.   IID_IEnumITfCompositionView: TGUID = '{5EFD22BA-7838-46CB-88E2-CADB14124F8F}';
  104.   IID_ITfComposition: TGUID = '{20168D64-5A8F-4A5A-B7BD-CFA29F4D0FD9}';
  105.   IID_ITfCompositionSink: TGUID = '{A781718C-579A-4B15-A280-32B8577ACC5E}';
  106.   IID_ITfContextComposition: TGUID = '{D40C8AAE-AC92-4FC7-9A11-0EE0E23AA39B}';
  107.   IID_ITfContextOwnerCompositionServices: TGUID = '{86462810-593B-4916-9764-19C08E9CE110}';
  108.   IID_ITfContextOwnerCompositionSink: TGUID = '{5F20AA40-B57A-4F34-96AB-3576F377CC79}';
  109.   IID_ITfQueryEmbedded: TGUID = '{0FAB9BDB-D250-4169-84E5-6BE118FDD7A8}';
  110.   IID_ITfInsertAtSelection: TGUID = '{55CE16BA-3014-41C1-9CEB-FADE1446AC6C}';
  111.   IID_ITfCleanupContextSink: TGUID = '{01689689-7ACB-4E9B-AB7C-7EA46B12B522}';
  112.   IID_ITfCleanupContextDurationSink: TGUID = '{45C35144-154E-4797-BED8-D33AE7BF8794}';
  113.   IID_IEnumTfPropertyValue: TGUID = '{8ED8981B-7C10-4D7D-9FB3-AB72E9C75F72}';
  114.   IID_ITfMouseTracker: TGUID = '{09D146CD-A544-4132-925B-7AFA8EF322D0}';
  115.   IID_ITfMouseTrackerACP: TGUID = '{3BDD78E2-C16E-47FD-B883-CE6FACC1A208}';
  116.   IID_ITfEditRecord: TGUID = '{42D4D099-7C1A-4A89-B836-6C6F22160DF0}';
  117.   IID_ITfTextEditSink: TGUID = '{8127D409-CCD3-4683-967A-B43D5B482BF7}';
  118.   IID_ITfTextLayoutSink: TGUID = '{2AF2D06A-DD5B-4927-A0B4-54F19C91FADE}';
  119.   IID_ITfStatusSink: TGUID = '{6B7D8D73-B267-4F69-B32E-1CA321CE4F45}';
  120.   IID_ITfEditTransactionSink: TGUID = '{708FBF70-B520-416B-B06C-2C41AB44F8BA}';
  121.   IID_ITfContextOwner: TGUID = '{AA80E80C-2021-11D2-93E0-0060B067B86E}';
  122.   IID_ITfContextOwnerServices: TGUID = '{B23EB630-3E1C-11D3-A745-0050040AB407}';
  123.   IID_ITfContextKeyEventSink: TGUID = '{0552BA5D-C835-4934-BF50-846AAA67432F}';
  124.   IID_ITextStoreACPServices: TGUID = '{AA80E901-2021-11D2-93E0-0060B067B86E}';
  125.   IID_ITfCreatePropertyStore: TGUID = '{2463FBF0-B0AF-11D2-AFC5-00105A2799B5}';
  126.   IID_ITfCompartmentEventSink: TGUID = '{743ABD5F-F26D-48DF-8CC5-238492419B64}';
  127.   IID_ITfFunction: TGUID = '{DB593490-098F-11D3-8DF0-00105A2799B5}';
  128.   IID_ITfInputProcessorProfiles: TGUID = '{1F02B6C5-7842-4EE6-8A0B-9A24183A95CA}';
  129.   IID_ITfInputProcessorProfilesEx: TGUID = '{892F230F-FE00-4A41-A98E-FCD6DE0D35EF}';
  130.   IID_ITfInputProcessorProfileSubstituteLayout: TGUID = '{4FD67194-1002-4513-BFF2-C0DDF6258552}';
  131.   IID_ITfActiveLanguageProfileNotifySink: TGUID = '{B246CB75-A93E-4652-BF8C-B3FE0CFD7E57}';
  132.   IID_ITfLanguageProfileNotifySink: TGUID = '{43C9FE15-F494-4C17-9DE2-B8A4AC350AA8}';
  133.   IID_ITfInputProcessorProfileMgr: TGUID = '{71C6E74C-0F28-11D8-A82A-00065B84435C}';
  134.   IID_ITfInputProcessorProfileActivationSink: TGUID = '{71C6E74E-0F28-11D8-A82A-00065B84435C}';
  135.   IID_ITfKeystrokeMgr: TGUID = '{AA80E7F0-2021-11D2-93E0-0060B067B86E}';
  136.   IID_ITfKeyTraceEventSink: TGUID = '{1CD4C13B-1C36-4191-A70A-7F3E611F367D}';
  137.   IID_ITfPreservedKeyNotifySink: TGUID = '{6F77C993-D2B1-446E-853E-5912EFC8A286}';
  138.   IID_ITfMessagePump: TGUID = '{8F1B8AD8-0B6B-4874-90C5-BD76011E8F7C}';
  139.   IID_ITfThreadFocusSink: TGUID = '{C0F1DB0C-3A20-405C-A303-96B6010A885F}';
  140.   IID_ITfTextInputProcessorEx: TGUID = '{6E4E2102-F9CD-433D-B496-303CE03A6507}';
  141.   IID_ITfClientId: TGUID = '{D60A7B49-1B9F-4BE2-B702-47E9DC05DEC3}';
  142.   IID_ITfDisplayAttributeInfo: TGUID = '{70528852-2F26-4AEA-8C96-215150578932}';
  143.   IID_IEnumTfDisplayAttributeInfo: TGUID = '{7CEF04D7-CB75-4E80-A7AB-5F5BC7D332DE}';
  144.   IID_ITfDisplayAttributeProvider: TGUID = '{FEE47777-163C-4769-996A-6E9C50AD8F54}';
  145.   IID_ITfDisplayAttributeMgr: TGUID = '{8DED7393-5DB1-475C-9E71-A39111B0FF67}';
  146.   IID_ITfDisplayAttributeNotifySink: TGUID = '{AD56F402-E162-4F25-908F-7D577CF9BDA9}';
  147.   IID_ITfCategoryMgr: TGUID = '{C3ACEFB5-F69D-4905-938F-FCADCF4BE830}';
  148.   IID_ITfSourceSingle: TGUID = '{73131F9C-56A9-49DD-B0EE-D046633F7528}';
  149.   IID_ITfUIElementMgr: TGUID = '{EA1EA135-19DF-11D7-A6D2-00065B84435C}';
  150.   IID_ITfUIElementSink: TGUID = '{EA1EA136-19DF-11D7-A6D2-00065B84435C}';
  151.   IID_ITfCandidateListUIElement: TGUID = '{EA1EA138-19DF-11D7-A6D2-00065B84435C}';
  152.   IID_ITfCandidateListUIElementBehavior: TGUID = '{85FAD185-58CE-497A-9460-355366B64B9A}';
  153.   IID_ITfReadingInformationUIElement: TGUID = '{EA1EA139-19DF-11D7-A6D2-00065B84435C}';
  154.   IID_ITfTransitoryExtensionUIElement: TGUID = '{858F956A-972F-42A2-A2F2-0321E1ABE209}';
  155.   IID_ITfTransitoryExtensionSink: TGUID = '{A615096F-1C57-4813-8A15-55EE6E5A839C}';
  156.   IID_ITfToolTipUIElement: TGUID = '{52B18B5C-555D-46B2-B00A-FA680144FBDB}';
  157.   IID_ITfReverseConversionList: TGUID = '{151D69F0-86F4-4674-B721-56911E797F47}';
  158.   IID_ITfReverseConversion: TGUID = '{A415E162-157D-417D-8A8C-0AB26C7D2781}';
  159.   IID_ITfReverseConversionMgr: TGUID = '{B643C236-C493-41B6-ABB3-692412775CC4}';
  160.  
  161. // *********************************************************************//
  162. // Declaration of Enumerations defined in Type Library                    
  163. // *********************************************************************//
  164. // Constants for enum __MIDL_ITfContext_0001
  165. type
  166.   __MIDL_ITfContext_0001 = TOleEnum;
  167. const
  168.   TF_AE_NONE = $00000000;
  169.   TF_AE_START = $00000001;
  170.   TF_AE_END = $00000002;
  171.  
  172. // Constants for enum __MIDL___MIDL_itf_msctf_0000_0000_0001
  173. type
  174.   __MIDL___MIDL_itf_msctf_0000_0000_0001 = TOleEnum;
  175. const
  176.   TF_ANCHOR_START = $00000000;
  177.   TF_ANCHOR_END = $00000001;
  178.  
  179. // Constants for enum __MIDL_ITfRange_0002
  180. type
  181.   __MIDL_ITfRange_0002 = TOleEnum;
  182. const
  183.   TF_SD_BACKWARD = $00000000;
  184.   TF_SD_FORWARD = $00000001;
  185.  
  186. // Constants for enum __MIDL_ITfRange_0001
  187. type
  188.   __MIDL_ITfRange_0001 = TOleEnum;
  189. const
  190.   TF_GRAVITY_BACKWARD = $00000000;
  191.   TF_GRAVITY_FORWARD = $00000001;
  192.  
  193. // Constants for enum __MIDL_ITfTextLayoutSink_0001
  194. type
  195.   __MIDL_ITfTextLayoutSink_0001 = TOleEnum;
  196. const
  197.   TF_LC_CREATE = $00000000;
  198.   TF_LC_CHANGE = $00000001;
  199.   TF_LC_DESTROY = $00000002;
  200.  
  201. // Constants for enum __MIDL___MIDL_itf_msctf_0001_0068_0001
  202. type
  203.   __MIDL___MIDL_itf_msctf_0001_0068_0001 = TOleEnum;
  204. const
  205.   TF_LS_NONE = $00000000;
  206.   TF_LS_SOLID = $00000001;
  207.   TF_LS_DOT = $00000002;
  208.   TF_LS_DASH = $00000003;
  209.   TF_LS_SQUIGGLE = $00000004;
  210.  
  211. // Constants for enum __MIDL___MIDL_itf_msctf_0001_0068_0002
  212. type
  213.   __MIDL___MIDL_itf_msctf_0001_0068_0002 = TOleEnum;
  214. const
  215.   TF_CT_NONE = $00000000;
  216.   TF_CT_SYSCOLOR = $00000001;
  217.   TF_CT_COLORREF = $00000002;
  218.  
  219. // Constants for enum __MIDL___MIDL_itf_msctf_0001_0068_0004
  220. type
  221.   __MIDL___MIDL_itf_msctf_0001_0068_0004 = TOleEnum;
  222. const
  223.   TF_ATTR_INPUT = $00000000;
  224.   TF_ATTR_TARGET_CONVERTED = $00000001;
  225.   TF_ATTR_CONVERTED = $00000002;
  226.   TF_ATTR_TARGET_NOTCONVERTED = $00000003;
  227.   TF_ATTR_INPUT_ERROR = $00000004;
  228.   TF_ATTR_FIXEDCONVERTED = $00000005;
  229.   TF_ATTR_OTHER = $FFFFFFFF;
  230.  
  231. type
  232.  
  233. // *********************************************************************//
  234. // Forward declaration of types defined in TypeLibrary                    
  235. // *********************************************************************//
  236.   ITfThreadMgrEventSink = interface;
  237.   ITfDocumentMgr = interface;
  238.   ITfContext = interface;
  239.   ITfEditSession = interface;
  240.   ITfRange = interface;
  241.   IDataObject = interface;
  242.   IEnumFORMATETC = interface;
  243.   IAdviseSink = interface;
  244.   IPersist = interface;
  245.   IPersistStream = interface;
  246.   IMoniker = interface;
  247.   ISequentialStream = interface;
  248.   IStream = interface;
  249.   IBindCtx = interface;
  250.   IRunningObjectTable = interface;
  251.   IEnumMoniker = interface;
  252.   IEnumString = interface;
  253.   IEnumSTATDATA = interface;
  254.   ITfContextView = interface;
  255.   IEnumTfContextViews = interface;
  256.   ITfReadOnlyProperty = interface;
  257.   ITfProperty = interface;
  258.   IEnumTfRanges = interface;
  259.   ITfPropertyStore = interface;
  260.   IEnumTfProperties = interface;
  261.   ITfRangeBackup = interface;
  262.   IEnumTfContexts = interface;
  263.   ITfTextInputProcessor = interface;
  264.   ITfThreadMgr = interface;
  265.   IEnumTfDocumentMgrs = interface;
  266.   ITfFunctionProvider = interface;
  267.   IEnumTfFunctionProviders = interface;
  268.   ITfCompartmentMgr = interface;
  269.   ITfCompartment = interface;
  270.   IEnumGUID = interface;
  271.   ITfRangeACP = interface;
  272.   ITfPersistentPropertyLoaderACP = interface;
  273.   ITfKeyEventSink = interface;
  274.   ITfSource = interface;
  275.   ITfMouseSink = interface;
  276.   IEnumTfLanguageProfiles = interface;
  277.   ITfUIElement = interface;
  278.   IEnumTfUIElements = interface;
  279.   IEnumTfInputProcessorProfiles = interface;
  280.   ITfThreadMgrEx = interface;
  281.   ITfConfigureSystemKeystrokeFeed = interface;
  282.   ITfCompositionView = interface;
  283.   IEnumITfCompositionView = interface;
  284.   ITfComposition = interface;
  285.   ITfCompositionSink = interface;
  286.   ITfContextComposition = interface;
  287.   ITfContextOwnerCompositionServices = interface;
  288.   ITfContextOwnerCompositionSink = interface;
  289.   ITfQueryEmbedded = interface;
  290.   ITfInsertAtSelection = interface;
  291.   ITfCleanupContextSink = interface;
  292.   ITfCleanupContextDurationSink = interface;
  293.   IEnumTfPropertyValue = interface;
  294.   ITfMouseTracker = interface;
  295.   ITfMouseTrackerACP = interface;
  296.   ITfEditRecord = interface;
  297.   ITfTextEditSink = interface;
  298.   ITfTextLayoutSink = interface;
  299.   ITfStatusSink = interface;
  300.   ITfEditTransactionSink = interface;
  301.   ITfContextOwner = interface;
  302.   ITfContextOwnerServices = interface;
  303.   ITfContextKeyEventSink = interface;
  304.   ITextStoreACPServices = interface;
  305.   ITfCreatePropertyStore = interface;
  306.   ITfCompartmentEventSink = interface;
  307.   ITfFunction = interface;
  308.   ITfInputProcessorProfiles = interface;
  309.   ITfInputProcessorProfilesEx = interface;
  310.   ITfInputProcessorProfileSubstituteLayout = interface;
  311.   ITfActiveLanguageProfileNotifySink = interface;
  312.   ITfLanguageProfileNotifySink = interface;
  313.   ITfInputProcessorProfileMgr = interface;
  314.   ITfInputProcessorProfileActivationSink = interface;
  315.   ITfKeystrokeMgr = interface;
  316.   ITfKeyTraceEventSink = interface;
  317.   ITfPreservedKeyNotifySink = interface;
  318.   ITfMessagePump = interface;
  319.   ITfThreadFocusSink = interface;
  320.   ITfTextInputProcessorEx = interface;
  321.   ITfClientId = interface;
  322.   ITfDisplayAttributeInfo = interface;
  323.   IEnumTfDisplayAttributeInfo = interface;
  324.   ITfDisplayAttributeProvider = interface;
  325.   ITfDisplayAttributeMgr = interface;
  326.   ITfDisplayAttributeNotifySink = interface;
  327.   ITfCategoryMgr = interface;
  328.   ITfSourceSingle = interface;
  329.   ITfUIElementMgr = interface;
  330.   ITfUIElementSink = interface;
  331.   ITfCandidateListUIElement = interface;
  332.   ITfCandidateListUIElementBehavior = interface;
  333.   ITfReadingInformationUIElement = interface;
  334.   ITfTransitoryExtensionUIElement = interface;
  335.   ITfTransitoryExtensionSink = interface;
  336.   ITfToolTipUIElement = interface;
  337.   ITfReverseConversionList = interface;
  338.   ITfReverseConversion = interface;
  339.   ITfReverseConversionMgr = interface;
  340.  
  341. // *********************************************************************//
  342. // Declaration of structures, unions and aliases.                        
  343. // *********************************************************************//
  344.   wireCLIPFORMAT = ^_userCLIPFORMAT;
  345.   wireSTGMEDIUM = ^_userSTGMEDIUM;
  346.   wireFLAG_STGMEDIUM = ^_userFLAG_STGMEDIUM;
  347.   wireASYNC_STGMEDIUM = ^_userSTGMEDIUM;
  348.   wireHWND = ^_RemotableHandle;
  349.   PUserType1 = ^GUID; {*}
  350.   PUserType2 = ^TF_SELECTION; {*}
  351.   PPUserType1 = ^PUserType1; {*}
  352.   PWord1 = ^Word; {*}
  353.   PUserType3 = ^TF_HALTCOND; {*}
  354.   PUserType4 = ^tagFORMATETC; {*}
  355.   PPUserType2 = ^wireFLAG_STGMEDIUM; {*}
  356.   PPUserType3 = ^wireASYNC_STGMEDIUM; {*}
  357.   PByte1 = ^Byte; {*}
  358.   PUserType5 = ^tagBIND_OPTS2; {*}
  359.   PUserType6 = ^_FILETIME; {*}
  360.   PUserType7 = ^tagPOINT; {*}
  361.   POleVariant1 = ^OleVariant; {*}
  362.   PUserType8 = ^TF_PERSISTENT_PROPERTY_HEADER_ACP; {*}
  363.   PUserType9 = ^TF_PRESERVEDKEY; {*}
  364.   PUserType10 = ^TF_DISPLAYATTRIBUTE; {*}
  365.   PSYSUINT1 = ^SYSUINT; {*}
  366.  
  367.   UINT_PTR = LongWord;
  368.   HKL = UINT_PTR;
  369.  
  370.   __MIDL___MIDL_itf_msctf_0006_0001_0001 = record
  371.     Data1: LongWord;
  372.     Data2: Word;
  373.     Data3: Word;
  374.     Data4: array[0..7] of Byte;
  375.   end;
  376.  
  377.   GUID = __MIDL___MIDL_itf_msctf_0006_0001_0001;
  378.   TfClientId = LongWord;
  379.   TfEditCookie = LongWord;
  380.  
  381.   tagDVTARGETDEVICE = record
  382.     tdSize: LongWord;
  383.     tdDriverNameOffset: Word;
  384.     tdDeviceNameOffset: Word;
  385.     tdPortNameOffset: Word;
  386.     tdExtDevmodeOffset: Word;
  387.     tdData: ^Byte;
  388.   end;
  389.  
  390.   __MIDL_IWinTypes_0001 = record
  391.     case Integer of
  392.       0: (dwValue: LongWord);
  393.       1: (pwszName: PWideChar);
  394.   end;
  395.  
  396.   _userCLIPFORMAT = record
  397.     fContext: Integer;
  398.     u: __MIDL_IWinTypes_0001;
  399.   end;
  400.  
  401.   tagFORMATETC = record
  402.     cfFormat: wireCLIPFORMAT;
  403.     ptd: ^tagDVTARGETDEVICE;
  404.     dwAspect: LongWord;
  405.     lindex: Integer;
  406.     tymed: LongWord;
  407.   end;
  408.  
  409.  
  410.   _BYTE_BLOB = record
  411.     clSize: LongWord;
  412.     abData: ^Byte;
  413.   end;
  414.  
  415. {$ALIGN 8}
  416.   __MIDL_IWinTypes_0004 = record
  417.     case Integer of
  418.       0: (hInproc: Integer);
  419.       1: (hRemote: ^_BYTE_BLOB);
  420.       2: (hInproc64: Int64);
  421.   end;
  422.  
  423.   _userHMETAFILE = record
  424.     fContext: Integer;
  425.     u: __MIDL_IWinTypes_0004;
  426.   end;
  427.  
  428. {$ALIGN 4}
  429.   _remoteMETAFILEPICT = record
  430.     mm: Integer;
  431.     xExt: Integer;
  432.     yExt: Integer;
  433.     hMF: ^_userHMETAFILE;
  434.   end;
  435.  
  436. {$ALIGN 8}
  437.   __MIDL_IWinTypes_0005 = record
  438.     case Integer of
  439.       0: (hInproc: Integer);
  440.       1: (hRemote: ^_remoteMETAFILEPICT);
  441.       2: (hInproc64: Int64);
  442.   end;
  443.  
  444.   _userHMETAFILEPICT = record
  445.     fContext: Integer;
  446.     u: __MIDL_IWinTypes_0005;
  447.   end;
  448.  
  449.   __MIDL_IWinTypes_0006 = record
  450.     case Integer of
  451.       0: (hInproc: Integer);
  452.       1: (hRemote: ^_BYTE_BLOB);
  453.       2: (hInproc64: Int64);
  454.   end;
  455.  
  456.   _userHENHMETAFILE = record
  457.     fContext: Integer;
  458.     u: __MIDL_IWinTypes_0006;
  459.   end;
  460.  
  461. {$ALIGN 4}
  462.   _userBITMAP = record
  463.     bmType: Integer;
  464.     bmWidth: Integer;
  465.     bmHeight: Integer;
  466.     bmWidthBytes: Integer;
  467.     bmPlanes: Word;
  468.     bmBitsPixel: Word;
  469.     cbSize: LongWord;
  470.     pBuffer: ^Byte;
  471.   end;
  472.  
  473. {$ALIGN 8}
  474.   __MIDL_IWinTypes_0007 = record
  475.     case Integer of
  476.       0: (hInproc: Integer);
  477.       1: (hRemote: ^_userBITMAP);
  478.       2: (hInproc64: Int64);
  479.   end;
  480.  
  481.   _userHBITMAP = record
  482.     fContext: Integer;
  483.     u: __MIDL_IWinTypes_0007;
  484.   end;
  485.  
  486. {$ALIGN 1}
  487.   tagPALETTEENTRY = record
  488.     peRed: Byte;
  489.     peGreen: Byte;
  490.     peBlue: Byte;
  491.     peFlags: Byte;
  492.   end;
  493.  
  494. {$ALIGN 2}
  495.   tagLOGPALETTE = record
  496.     palVersion: Word;
  497.     palNumEntries: Word;
  498.     palPalEntry: ^tagPALETTEENTRY;
  499.   end;
  500.  
  501. {$ALIGN 8}
  502.   __MIDL_IWinTypes_0008 = record
  503.     case Integer of
  504.       0: (hInproc: Integer);
  505.       1: (hRemote: ^tagLOGPALETTE);
  506.       2: (hInproc64: Int64);
  507.   end;
  508.  
  509.   _userHPALETTE = record
  510.     fContext: Integer;
  511.     u: __MIDL_IWinTypes_0008;
  512.   end;
  513.  
  514. {$ALIGN 4}
  515.   _FLAGGED_BYTE_BLOB = record
  516.     fFlags: LongWord;
  517.     clSize: LongWord;
  518.     abData: ^Byte;
  519.   end;
  520.  
  521. {$ALIGN 8}
  522.   __MIDL_IWinTypes_0003 = record
  523.     case Integer of
  524.       0: (hInproc: Integer);
  525.       1: (hRemote: ^_FLAGGED_BYTE_BLOB);
  526.       2: (hInproc64: Int64);
  527.   end;
  528.  
  529.   _userHGLOBAL = record
  530.     fContext: Integer;
  531.     u: __MIDL_IWinTypes_0003;
  532.   end;
  533.  
  534. {$ALIGN 4}
  535.   __MIDL_IAdviseSink_0002 = record
  536.     case Integer of
  537.       0: (hBitmap: ^_userHBITMAP);
  538.       1: (hPalette: ^_userHPALETTE);
  539.       2: (hGeneric: ^_userHGLOBAL);
  540.   end;
  541.  
  542.   _GDI_OBJECT = record
  543.     ObjectType: LongWord;
  544.     u: __MIDL_IAdviseSink_0002;
  545.   end;
  546.  
  547.   __MIDL_IAdviseSink_0003 = record
  548.     case Integer of
  549.       0: (hMetaFilePict: ^_userHMETAFILEPICT);
  550.       1: (hHEnhMetaFile: ^_userHENHMETAFILE);
  551.       2: (hGdiHandle: ^_GDI_OBJECT);
  552.       3: (hGlobal: ^_userHGLOBAL);
  553.       4: (lpszFileName: PWideChar);
  554.       5: (pstm: ^_BYTE_BLOB);
  555.       6: (pstg: ^_BYTE_BLOB);
  556.   end;
  557.  
  558.   _STGMEDIUM_UNION = record
  559.     tymed: LongWord;
  560.     u: __MIDL_IAdviseSink_0003;
  561.   end;
  562.  
  563.   _userSTGMEDIUM = record
  564.     DUMMYUNIONNAME: _STGMEDIUM_UNION;
  565.     pUnkForRelease: IUnknown;
  566.   end;
  567.  
  568.  
  569.   _userFLAG_STGMEDIUM = record
  570.     ContextFlags: Integer;
  571.     fPassOwnership: Integer;
  572.     Stgmed: _userSTGMEDIUM;
  573.   end;
  574.  
  575.  
  576. {$ALIGN 8}
  577.   _LARGE_INTEGER = record
  578.     QuadPart: Int64;
  579.   end;
  580.  
  581.   _ULARGE_INTEGER = record
  582.     QuadPart: Largeuint;
  583.   end;
  584.  
  585. {$ALIGN 4}
  586.   _FILETIME = record
  587.     dwLowDateTime: LongWord;
  588.     dwHighDateTime: LongWord;
  589.   end;
  590.  
  591. {$ALIGN 8}
  592.   tagSTATSTG = record
  593.     pwcsName: PWideChar;
  594.     type_: LongWord;
  595.     cbSize: _ULARGE_INTEGER;
  596.     mtime: _FILETIME;
  597.     ctime: _FILETIME;
  598.     atime: _FILETIME;
  599.     grfMode: LongWord;
  600.     grfLocksSupported: LongWord;
  601.     clsid: GUID;
  602.     grfStateBits: LongWord;
  603.     reserved: LongWord;
  604.   end;
  605.  
  606. {$ALIGN 4}
  607.   _COAUTHIDENTITY = record
  608.     User: ^Word;
  609.     UserLength: LongWord;
  610.     Domain: ^Word;
  611.     DomainLength: LongWord;
  612.     Password: ^Word;
  613.     PasswordLength: LongWord;
  614.     Flags: LongWord;
  615.   end;
  616.  
  617.   _COAUTHINFO = record
  618.     dwAuthnSvc: LongWord;
  619.     dwAuthzSvc: LongWord;
  620.     pwszServerPrincName: PWideChar;
  621.     dwAuthnLevel: LongWord;
  622.     dwImpersonationLevel: LongWord;
  623.     pAuthIdentityData: ^_COAUTHIDENTITY;
  624.     dwCapabilities: LongWord;
  625.   end;
  626.  
  627.   _COSERVERINFO = record
  628.     dwReserved1: LongWord;
  629.     pwszName: PWideChar;
  630.     pAuthInfo: ^_COAUTHINFO;
  631.     dwReserved2: LongWord;
  632.   end;
  633.  
  634.   tagBIND_OPTS2 = record
  635.     cbStruct: LongWord;
  636.     grfFlags: LongWord;
  637.     grfMode: LongWord;
  638.     dwTickCountDeadline: LongWord;
  639.     dwTrackFlags: LongWord;
  640.     dwClassContext: LongWord;
  641.     locale: LongWord;
  642.     pServerInfo: ^_COSERVERINFO;
  643.   end;
  644.  
  645.   tagSTATDATA = record
  646.     formatetc: tagFORMATETC;
  647.     advf: LongWord;
  648.     pAdvSink: IAdviseSink;
  649.     dwConnection: LongWord;
  650.   end;
  651.  
  652.   TfAnchor = __MIDL___MIDL_itf_msctf_0000_0000_0001;
  653.  
  654.   TF_HALTCOND = record
  655.     pHaltRange: ITfRange;
  656.     aHaltPos: TfAnchor;
  657.     dwFlags: LongWord;
  658.   end;
  659.  
  660.   TfShiftDir = __MIDL_ITfRange_0002;
  661.   TfGravity = __MIDL_ITfRange_0001;
  662.   TfActiveSelEnd = __MIDL_ITfContext_0001;
  663.  
  664.   TF_SELECTIONSTYLE = record
  665.     ase: TfActiveSelEnd;
  666.     fInterimChar: Integer;
  667.   end;
  668.  
  669.   TF_SELECTION = record
  670.     range: ITfRange;
  671.     style: TF_SELECTIONSTYLE;
  672.   end;
  673.  
  674.   tagPOINT = record
  675.     x: Integer;
  676.     y: Integer;
  677.   end;
  678.  
  679.   tagRECT = record
  680.     left: Integer;
  681.     top: Integer;
  682.     right: Integer;
  683.     bottom: Integer;
  684.   end;
  685.  
  686.  
  687.   __MIDL_IWinTypes_0009 = record
  688.     case Integer of
  689.       0: (hInproc: Integer);
  690.       1: (hRemote: Integer);
  691.   end;
  692.  
  693.   _RemotableHandle = record
  694.     fContext: Integer;
  695.     u: __MIDL_IWinTypes_0009;
  696.   end;
  697.  
  698.   TS_STATUS = record
  699.     dwDynamicFlags: LongWord;
  700.     dwStaticFlags: LongWord;
  701.   end;
  702.  
  703.   TF_STATUS = TS_STATUS;
  704.  
  705.   TF_PERSISTENT_PROPERTY_HEADER_ACP = record
  706.     guidType: GUID;
  707.     ichStart: Integer;
  708.     cch: Integer;
  709.     cb: LongWord;
  710.     dwPrivate: LongWord;
  711.     clsidTIP: GUID;
  712.   end;
  713.  
  714.   LONG_PTR = Integer;
  715.  
  716.   TF_LANGUAGEPROFILE = record
  717.     clsid: GUID;
  718.     langid: Word;
  719.     catid: GUID;
  720.     fActive: Integer;
  721.     guidProfile: GUID;
  722.   end;
  723.  
  724.   TF_INPUTPROCESSORPROFILE = record
  725.     dwProfileType: LongWord;
  726.     langid: Word;
  727.     clsid: GUID;
  728.     guidProfile: GUID;
  729.     catid: GUID;
  730.     hklSubstitute: HKL;
  731.     dwCaps: LongWord;
  732.     HKL: HKL;
  733.     dwFlags: LongWord;
  734.   end;
  735.  
  736.   TfGuidAtom = LongWord;
  737.  
  738. {$ALIGN 8}
  739.   TF_PROPERTYVAL = record
  740.     guidId: GUID;
  741.     varValue: OleVariant;
  742.   end;
  743.  
  744.   TfLayoutCode = __MIDL_ITfTextLayoutSink_0001;
  745.  
  746. {$ALIGN 4}
  747.   TF_PRESERVEDKEY = record
  748.     uVKey: SYSUINT;
  749.     uModifiers: SYSUINT;
  750.   end;
  751.  
  752.   tagMSG = record
  753.     hwnd: wireHWND;
  754.     message: SYSUINT;
  755.     wParam: UINT_PTR;
  756.     lParam: LONG_PTR;
  757.     time: LongWord;
  758.     pt: tagPOINT;
  759.   end;
  760.  
  761.   TF_DA_LINESTYLE = __MIDL___MIDL_itf_msctf_0001_0068_0001;
  762.   TF_DA_COLORTYPE = __MIDL___MIDL_itf_msctf_0001_0068_0002;
  763.  
  764.   __MIDL___MIDL_itf_msctf_0001_0068_0003 = record
  765.     case Integer of
  766.       0: (nIndex: SYSINT);
  767.       1: (cr: LongWord);
  768.   end;
  769.  
  770.   TF_DA_COLOR = record
  771.     type_: TF_DA_COLORTYPE;
  772.     __MIDL____MIDL_itf_msctf_0001_00680000: __MIDL___MIDL_itf_msctf_0001_0068_0003;
  773.   end;
  774.  
  775.   TF_DA_ATTR_INFO = __MIDL___MIDL_itf_msctf_0001_0068_0004;
  776.  
  777.   TF_DISPLAYATTRIBUTE = record
  778.     crText: TF_DA_COLOR;
  779.     crBk: TF_DA_COLOR;
  780.     lsStyle: TF_DA_LINESTYLE;
  781.     fBoldLine: Integer;
  782.     crLine: TF_DA_COLOR;
  783.     bAttr: TF_DA_ATTR_INFO;
  784.   end;
  785.  
  786.  
  787. // *********************************************************************//
  788. // Interface: ITfThreadMgrEventSink
  789. // Flags:     (0)
  790. // GUID:      {AA80E80E-2021-11D2-93E0-0060B067B86E}
  791. // *********************************************************************//
  792.   ITfThreadMgrEventSink = interface(IUnknown)
  793.     ['{AA80E80E-2021-11D2-93E0-0060B067B86E}']
  794.     function OnInitDocumentMgr(const pdim: ITfDocumentMgr): HResult; stdcall;
  795.     function OnUninitDocumentMgr(const pdim: ITfDocumentMgr): HResult; stdcall;
  796.     function OnSetFocus(const pdimFocus: ITfDocumentMgr; const pdimPrevFocus: ITfDocumentMgr): HResult; stdcall;
  797.     function OnPushContext(const pic: ITfContext): HResult; stdcall;
  798.     function OnPopContext(const pic: ITfContext): HResult; stdcall;
  799.   end;
  800.  
  801. // *********************************************************************//
  802. // Interface: ITfDocumentMgr
  803. // Flags:     (0)
  804. // GUID:      {AA80E7F4-2021-11D2-93E0-0060B067B86E}
  805. // *********************************************************************//
  806.   ITfDocumentMgr = interface(IUnknown)
  807.     ['{AA80E7F4-2021-11D2-93E0-0060B067B86E}']
  808.     function CreateContext(tidOwner: TfClientId; dwFlags: LongWord; const punk: IUnknown;
  809.                            out ppic: ITfContext; out pecTextStore: TfEditCookie): HResult; stdcall;
  810.     function Push(const pic: ITfContext): HResult; stdcall;
  811.     function Pop(dwFlags: LongWord): HResult; stdcall;
  812.     function GetTop(out ppic: ITfContext): HResult; stdcall;
  813.     function GetBase(out ppic: ITfContext): HResult; stdcall;
  814.     function EnumContexts(out ppenum: IEnumTfContexts): HResult; stdcall;
  815.   end;
  816.  
  817. // *********************************************************************//
  818. // Interface: ITfContext
  819. // Flags:     (0)
  820. // GUID:      {AA80E7FD-2021-11D2-93E0-0060B067B86E}
  821. // *********************************************************************//
  822.   ITfContext = interface(IUnknown)
  823.     ['{AA80E7FD-2021-11D2-93E0-0060B067B86E}']
  824.     function RequestEditSession(tid: TfClientId; const pes: ITfEditSession; dwFlags: LongWord;
  825.                                 out phrSession: HResult): HResult; stdcall;
  826.     function InWriteSession(tid: TfClientId; out pfWriteSession: Integer): HResult; stdcall;
  827.     function GetSelection(ec: TfEditCookie; ulIndex: LongWord; ulCount: LongWord;
  828.                           out pSelection: TF_SELECTION; out pcFetched: LongWord): HResult; stdcall;
  829.     function SetSelection(ec: TfEditCookie; ulCount: LongWord; var pSelection: TF_SELECTION): HResult; stdcall;
  830.     function GetStart(ec: TfEditCookie; out ppStart: ITfRange): HResult; stdcall;
  831.     function GetEnd(ec: TfEditCookie; out ppEnd: ITfRange): HResult; stdcall;
  832.     function GetActiveView(out ppView: ITfContextView): HResult; stdcall;
  833.     function EnumViews(out ppenum: IEnumTfContextViews): HResult; stdcall;
  834.     function GetStatus(out pdcs: TF_STATUS): HResult; stdcall;
  835.     function GetProperty(var guidProp: GUID; out ppProp: ITfProperty): HResult; stdcall;
  836.     function GetAppProperty(var guidProp: GUID; out ppProp: ITfReadOnlyProperty): HResult; stdcall;
  837.     function TrackProperties(prgProp: PPUserType1; cProp: LongWord; prgAppProp: PPUserType1;
  838.                              cAppProp: LongWord; out ppProperty: ITfReadOnlyProperty): HResult; stdcall;
  839.     function EnumProperties(out ppenum: IEnumTfProperties): HResult; stdcall;
  840.     function GetDocumentMgr(out ppDm: ITfDocumentMgr): HResult; stdcall;
  841.     function CreateRangeBackup(ec: TfEditCookie; const pRange: ITfRange;
  842.                                out ppBackup: ITfRangeBackup): HResult; stdcall;
  843.   end;
  844.  
  845. // *********************************************************************//
  846. // Interface: ITfEditSession
  847. // Flags:     (0)
  848. // GUID:      {AA80E803-2021-11D2-93E0-0060B067B86E}
  849. // *********************************************************************//
  850.   ITfEditSession = interface(IUnknown)
  851.     ['{AA80E803-2021-11D2-93E0-0060B067B86E}']
  852.     function DoEditSession(ec: TfEditCookie): HResult; stdcall;
  853.   end;
  854.  
  855. // *********************************************************************//
  856. // Interface: ITfRange
  857. // Flags:     (0)
  858. // GUID:      {AA80E7FF-2021-11D2-93E0-0060B067B86E}
  859. // *********************************************************************//
  860.   ITfRange = interface(IUnknown)
  861.     ['{AA80E7FF-2021-11D2-93E0-0060B067B86E}']
  862.     function GetText(ec: TfEditCookie; dwFlags: LongWord; out pchText: Word; cchMax: LongWord;
  863.                      out pcch: LongWord): HResult; stdcall;
  864.     function SetText(ec: TfEditCookie; dwFlags: LongWord; var pchText: Word; cch: Integer): HResult; stdcall;
  865.     function GetFormattedText(ec: TfEditCookie; out ppDataObject: IDataObject): HResult; stdcall;
  866.     function GetEmbedded(ec: TfEditCookie; var rguidService: GUID; var riid: GUID;
  867.                          out ppunk: IUnknown): HResult; stdcall;
  868.     function InsertEmbedded(ec: TfEditCookie; dwFlags: LongWord; const pDataObject: IDataObject): HResult; stdcall;
  869.     function ShiftStart(ec: TfEditCookie; cchReq: Integer; out pcch: Integer; var pHalt: TF_HALTCOND): HResult; stdcall;
  870.     function ShiftEnd(ec: TfEditCookie; cchReq: Integer; out pcch: Integer; var pHalt: TF_HALTCOND): HResult; stdcall;
  871.     function ShiftStartToRange(ec: TfEditCookie; const pRange: ITfRange; aPos: TfAnchor): HResult; stdcall;
  872.     function ShiftEndToRange(ec: TfEditCookie; const pRange: ITfRange; aPos: TfAnchor): HResult; stdcall;
  873.     function ShiftStartRegion(ec: TfEditCookie; dir: TfShiftDir; out pfNoRegion: Integer): HResult; stdcall;
  874.     function ShiftEndRegion(ec: TfEditCookie; dir: TfShiftDir; out pfNoRegion: Integer): HResult; stdcall;
  875.     function IsEmpty(ec: TfEditCookie; out pfEmpty: Integer): HResult; stdcall;
  876.     function Collapse(ec: TfEditCookie; aPos: TfAnchor): HResult; stdcall;
  877.     function IsEqualStart(ec: TfEditCookie; const pWith: ITfRange; aPos: TfAnchor;
  878.                           out pfEqual: Integer): HResult; stdcall;
  879.     function IsEqualEnd(ec: TfEditCookie; const pWith: ITfRange; aPos: TfAnchor;
  880.                         out pfEqual: Integer): HResult; stdcall;
  881.     function CompareStart(ec: TfEditCookie; const pWith: ITfRange; aPos: TfAnchor;
  882.                           out plResult: Integer): HResult; stdcall;
  883.     function CompareEnd(ec: TfEditCookie; const pWith: ITfRange; aPos: TfAnchor;
  884.                         out plResult: Integer): HResult; stdcall;
  885.     function AdjustForInsert(ec: TfEditCookie; cchInsert: LongWord; out pfInsertOk: Integer): HResult; stdcall;
  886.     function GetGravity(out pgStart: TfGravity; out pgEnd: TfGravity): HResult; stdcall;
  887.     function SetGravity(ec: TfEditCookie; gStart: TfGravity; gEnd: TfGravity): HResult; stdcall;
  888.     function Clone(out ppClone: ITfRange): HResult; stdcall;
  889.     function GetContext(out ppContext: ITfContext): HResult; stdcall;
  890.   end;
  891.  
  892. // *********************************************************************//
  893. // Interface: IDataObject
  894. // Flags:     (0)
  895. // GUID:      {0000010E-0000-0000-C000-000000000046}
  896. // *********************************************************************//
  897.   IDataObject = interface(IUnknown)
  898.     ['{0000010E-0000-0000-C000-000000000046}']
  899.     function RemoteGetData(var pformatetcIn: tagFORMATETC; out pRemoteMedium: wireSTGMEDIUM): HResult; stdcall;
  900.     function RemoteGetDataHere(var pformatetc: tagFORMATETC; var pRemoteMedium: wireSTGMEDIUM): HResult; stdcall;
  901.     function QueryGetData(var pformatetc: tagFORMATETC): HResult; stdcall;
  902.     function GetCanonicalFormatEtc(var pformatectIn: tagFORMATETC; out pformatetcOut: tagFORMATETC): HResult; stdcall;
  903.     function RemoteSetData(var pformatetc: tagFORMATETC; pmedium: PPUserType2; fRelease: Integer): HResult; stdcall;
  904.     function EnumFormatEtc(dwDirection: LongWord; out ppenumFormatEtc: IEnumFORMATETC): HResult; stdcall;
  905.     function DAdvise(var pformatetc: tagFORMATETC; advf: LongWord; const pAdvSink: IAdviseSink;
  906.                      out pdwConnection: LongWord): HResult; stdcall;
  907.     function DUnadvise(dwConnection: LongWord): HResult; stdcall;
  908.     function EnumDAdvise(out ppenumAdvise: IEnumSTATDATA): HResult; stdcall;
  909.   end;
  910.  
  911. // *********************************************************************//
  912. // Interface: IEnumFORMATETC
  913. // Flags:     (0)
  914. // GUID:      {00000103-0000-0000-C000-000000000046}
  915. // *********************************************************************//
  916.   IEnumFORMATETC = interface(IUnknown)
  917.     ['{00000103-0000-0000-C000-000000000046}']
  918.     function RemoteNext(celt: LongWord; out rgelt: tagFORMATETC; out pceltFetched: LongWord): HResult; stdcall;
  919.     function Skip(celt: LongWord): HResult; stdcall;
  920.     function Reset: HResult; stdcall;
  921.     function Clone(out ppenum: IEnumFORMATETC): HResult; stdcall;
  922.   end;
  923.  
  924. // *********************************************************************//
  925. // Interface: IAdviseSink
  926. // Flags:     (0)
  927. // GUID:      {0000010F-0000-0000-C000-000000000046}
  928. // *********************************************************************//
  929.   IAdviseSink = interface(IUnknown)
  930.     ['{0000010F-0000-0000-C000-000000000046}']
  931.     function RemoteOnDataChange(var pformatetc: tagFORMATETC; pStgmed: PPUserType3): HResult; stdcall;
  932.     function RemoteOnViewChange(dwAspect: LongWord; lindex: Integer): HResult; stdcall;
  933.     function RemoteOnRename(const pmk: IMoniker): HResult; stdcall;
  934.     function RemoteOnSave: HResult; stdcall;
  935.     function RemoteOnClose: HResult; stdcall;
  936.   end;
  937.  
  938. // *********************************************************************//
  939. // Interface: IPersist
  940. // Flags:     (0)
  941. // GUID:      {0000010C-0000-0000-C000-000000000046}
  942. // *********************************************************************//
  943.   IPersist = interface(IUnknown)
  944.     ['{0000010C-0000-0000-C000-000000000046}']
  945.     function GetClassID(out pClassID: GUID): HResult; stdcall;
  946.   end;
  947.  
  948. // *********************************************************************//
  949. // Interface: IPersistStream
  950. // Flags:     (0)
  951. // GUID:      {00000109-0000-0000-C000-000000000046}
  952. // *********************************************************************//
  953.   IPersistStream = interface(IPersist)
  954.     ['{00000109-0000-0000-C000-000000000046}']
  955.     function IsDirty: HResult; stdcall;
  956.     function Load(const pstm: IStream): HResult; stdcall;
  957.     function Save(const pstm: IStream; fClearDirty: Integer): HResult; stdcall;
  958.     function GetSizeMax(out pcbSize: _ULARGE_INTEGER): HResult; stdcall;
  959.   end;
  960.  
  961. // *********************************************************************//
  962. // Interface: IMoniker
  963. // Flags:     (0)
  964. // GUID:      {0000000F-0000-0000-C000-000000000046}
  965. // *********************************************************************//
  966.   IMoniker = interface(IPersistStream)
  967.     ['{0000000F-0000-0000-C000-000000000046}']
  968.     function RemoteBindToObject(const pbc: IBindCtx; const pmkToLeft: IMoniker;
  969.                                 var riidResult: GUID; out ppvResult: IUnknown): HResult; stdcall;
  970.     function RemoteBindToStorage(const pbc: IBindCtx; const pmkToLeft: IMoniker; var riid: GUID;
  971.                                  out ppvObj: IUnknown): HResult; stdcall;
  972.     function Reduce(const pbc: IBindCtx; dwReduceHowFar: LongWord; var ppmkToLeft: IMoniker;
  973.                     out ppmkReduced: IMoniker): HResult; stdcall;
  974.     function ComposeWith(const pmkRight: IMoniker; fOnlyIfNotGeneric: Integer;
  975.                          out ppmkComposite: IMoniker): HResult; stdcall;
  976.     function Enum(fForward: Integer; out ppenumMoniker: IEnumMoniker): HResult; stdcall;
  977.     function IsEqual(const pmkOtherMoniker: IMoniker): HResult; stdcall;
  978.     function Hash(out pdwHash: LongWord): HResult; stdcall;
  979.     function IsRunning(const pbc: IBindCtx; const pmkToLeft: IMoniker;
  980.                        const pmkNewlyRunning: IMoniker): HResult; stdcall;
  981.     function GetTimeOfLastChange(const pbc: IBindCtx; const pmkToLeft: IMoniker;
  982.                                  out pfiletime: _FILETIME): HResult; stdcall;
  983.     function Inverse(out ppmk: IMoniker): HResult; stdcall;
  984.     function CommonPrefixWith(const pmkOther: IMoniker; out ppmkPrefix: IMoniker): HResult; stdcall;
  985.     function RelativePathTo(const pmkOther: IMoniker; out ppmkRelPath: IMoniker): HResult; stdcall;
  986.     function GetDisplayName(const pbc: IBindCtx; const pmkToLeft: IMoniker;
  987.                             out ppszDisplayName: PWideChar): HResult; stdcall;
  988.     function ParseDisplayName(const pbc: IBindCtx; const pmkToLeft: IMoniker;
  989.                               pszDisplayName: PWideChar; out pchEaten: LongWord;
  990.                               out ppmkOut: IMoniker): HResult; stdcall;
  991.     function IsSystemMoniker(out pdwMksys: LongWord): HResult; stdcall;
  992.   end;
  993.  
  994. // *********************************************************************//
  995. // Interface: ISequentialStream
  996. // Flags:     (0)
  997. // GUID:      {0C733A30-2A1C-11CE-ADE5-00AA0044773D}
  998. // *********************************************************************//
  999.   ISequentialStream = interface(IUnknown)
  1000.     ['{0C733A30-2A1C-11CE-ADE5-00AA0044773D}']
  1001.     function RemoteRead(out pv: Byte; cb: LongWord; out pcbRead: LongWord): HResult; stdcall;
  1002.     function RemoteWrite(var pv: Byte; cb: LongWord; out pcbWritten: LongWord): HResult; stdcall;
  1003.   end;
  1004.  
  1005. // *********************************************************************//
  1006. // Interface: IStream
  1007. // Flags:     (0)
  1008. // GUID:      {0000000C-0000-0000-C000-000000000046}
  1009. // *********************************************************************//
  1010.   IStream = interface(ISequentialStream)
  1011.     ['{0000000C-0000-0000-C000-000000000046}']
  1012.     function RemoteSeek(dlibMove: _LARGE_INTEGER; dwOrigin: LongWord;
  1013.                         out plibNewPosition: _ULARGE_INTEGER): HResult; stdcall;
  1014.     function SetSize(libNewSize: _ULARGE_INTEGER): HResult; stdcall;
  1015.     function RemoteCopyTo(const pstm: IStream; cb: _ULARGE_INTEGER; out pcbRead: _ULARGE_INTEGER;
  1016.                           out pcbWritten: _ULARGE_INTEGER): HResult; stdcall;
  1017.     function Commit(grfCommitFlags: LongWord): HResult; stdcall;
  1018.     function Revert: HResult; stdcall;
  1019.     function LockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
  1020.     function UnlockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
  1021.     function Stat(out pstatstg: tagSTATSTG; grfStatFlag: LongWord): HResult; stdcall;
  1022.     function Clone(out ppstm: IStream): HResult; stdcall;
  1023.   end;
  1024.  
  1025. // *********************************************************************//
  1026. // Interface: IBindCtx
  1027. // Flags:     (0)
  1028. // GUID:      {0000000E-0000-0000-C000-000000000046}
  1029. // *********************************************************************//
  1030.   IBindCtx = interface(IUnknown)
  1031.     ['{0000000E-0000-0000-C000-000000000046}']
  1032.     function RegisterObjectBound(const punk: IUnknown): HResult; stdcall;
  1033.     function RevokeObjectBound(const punk: IUnknown): HResult; stdcall;
  1034.     function ReleaseBoundObjects: HResult; stdcall;
  1035.     function RemoteSetBindOptions(var pbindopts: tagBIND_OPTS2): HResult; stdcall;
  1036.     function RemoteGetBindOptions(var pbindopts: tagBIND_OPTS2): HResult; stdcall;
  1037.     function GetRunningObjectTable(out pprot: IRunningObjectTable): HResult; stdcall;
  1038.     function RegisterObjectParam(pszKey: PWideChar; const punk: IUnknown): HResult; stdcall;
  1039.     function GetObjectParam(pszKey: PWideChar; out ppunk: IUnknown): HResult; stdcall;
  1040.     function EnumObjectParam(out ppenum: IEnumString): HResult; stdcall;
  1041.     function RevokeObjectParam(pszKey: PWideChar): HResult; stdcall;
  1042.   end;
  1043.  
  1044. // *********************************************************************//
  1045. // Interface: IRunningObjectTable
  1046. // Flags:     (0)
  1047. // GUID:      {00000010-0000-0000-C000-000000000046}
  1048. // *********************************************************************//
  1049.   IRunningObjectTable = interface(IUnknown)
  1050.     ['{00000010-0000-0000-C000-000000000046}']
  1051.     function Register(grfFlags: LongWord; const punkObject: IUnknown;
  1052.                       const pmkObjectName: IMoniker; out pdwRegister: LongWord): HResult; stdcall;
  1053.     function Revoke(dwRegister: LongWord): HResult; stdcall;
  1054.     function IsRunning(const pmkObjectName: IMoniker): HResult; stdcall;
  1055.     function GetObject(const pmkObjectName: IMoniker; out ppunkObject: IUnknown): HResult; stdcall;
  1056.     function NoteChangeTime(dwRegister: LongWord; var pfiletime: _FILETIME): HResult; stdcall;
  1057.     function GetTimeOfLastChange(const pmkObjectName: IMoniker; out pfiletime: _FILETIME): HResult; stdcall;
  1058.     function EnumRunning(out ppenumMoniker: IEnumMoniker): HResult; stdcall;
  1059.   end;
  1060.  
  1061. // *********************************************************************//
  1062. // Interface: IEnumMoniker
  1063. // Flags:     (0)
  1064. // GUID:      {00000102-0000-0000-C000-000000000046}
  1065. // *********************************************************************//
  1066.   IEnumMoniker = interface(IUnknown)
  1067.     ['{00000102-0000-0000-C000-000000000046}']
  1068.     function RemoteNext(celt: LongWord; out rgelt: IMoniker; out pceltFetched: LongWord): HResult; stdcall;
  1069.     function Skip(celt: LongWord): HResult; stdcall;
  1070.     function Reset: HResult; stdcall;
  1071.     function Clone(out ppenum: IEnumMoniker): HResult; stdcall;
  1072.   end;
  1073.  
  1074. // *********************************************************************//
  1075. // Interface: IEnumString
  1076. // Flags:     (0)
  1077. // GUID:      {00000101-0000-0000-C000-000000000046}
  1078. // *********************************************************************//
  1079.   IEnumString = interface(IUnknown)
  1080.     ['{00000101-0000-0000-C000-000000000046}']
  1081.     function RemoteNext(celt: LongWord; out rgelt: PWideChar; out pceltFetched: LongWord): HResult; stdcall;
  1082.     function Skip(celt: LongWord): HResult; stdcall;
  1083.     function Reset: HResult; stdcall;
  1084.     function Clone(out ppenum: IEnumString): HResult; stdcall;
  1085.   end;
  1086.  
  1087. // *********************************************************************//
  1088. // Interface: IEnumSTATDATA
  1089. // Flags:     (0)
  1090. // GUID:      {00000105-0000-0000-C000-000000000046}
  1091. // *********************************************************************//
  1092.   IEnumSTATDATA = interface(IUnknown)
  1093.     ['{00000105-0000-0000-C000-000000000046}']
  1094.     function RemoteNext(celt: LongWord; out rgelt: tagSTATDATA; out pceltFetched: LongWord): HResult; stdcall;
  1095.     function Skip(celt: LongWord): HResult; stdcall;
  1096.     function Reset: HResult; stdcall;
  1097.     function Clone(out ppenum: IEnumSTATDATA): HResult; stdcall;
  1098.   end;
  1099.  
  1100. // *********************************************************************//
  1101. // Interface: ITfContextView
  1102. // Flags:     (0)
  1103. // GUID:      {2433BF8E-0F9B-435C-BA2C-180611978C30}
  1104. // *********************************************************************//
  1105.   ITfContextView = interface(IUnknown)
  1106.     ['{2433BF8E-0F9B-435C-BA2C-180611978C30}']
  1107.     function GetRangeFromPoint(ec: TfEditCookie; var ppt: tagPOINT; dwFlags: LongWord;
  1108.                                out ppRange: ITfRange): HResult; stdcall;
  1109.     function GetTextExt(ec: TfEditCookie; const pRange: ITfRange; out prc: tagRECT;
  1110.                         out pfClipped: Integer): HResult; stdcall;
  1111.     function GetScreenExt(out prc: tagRECT): HResult; stdcall;
  1112.     function GetWnd(out phwnd: wireHWND): HResult; stdcall;
  1113.   end;
  1114.  
  1115. // *********************************************************************//
  1116. // Interface: IEnumTfContextViews
  1117. // Flags:     (0)
  1118. // GUID:      {F0C0F8DD-CF38-44E1-BB0F-68CF0D551C78}
  1119. // *********************************************************************//
  1120.   IEnumTfContextViews = interface(IUnknown)
  1121.     ['{F0C0F8DD-CF38-44E1-BB0F-68CF0D551C78}']
  1122.     function Clone(out ppenum: IEnumTfContextViews): HResult; stdcall;
  1123.     function Next(ulCount: LongWord; out rgViews: ITfContextView; out pcFetched: LongWord): HResult; stdcall;
  1124.     function Reset: HResult; stdcall;
  1125.     function Skip(ulCount: LongWord): HResult; stdcall;
  1126.   end;
  1127.  
  1128. // *********************************************************************//
  1129. // Interface: ITfReadOnlyProperty
  1130. // Flags:     (0)
  1131. // GUID:      {17D49A3D-F8B8-4B2F-B254-52319DD64C53}
  1132. // *********************************************************************//
  1133.   ITfReadOnlyProperty = interface(IUnknown)
  1134.     ['{17D49A3D-F8B8-4B2F-B254-52319DD64C53}']
  1135.     function GetType(out pguid: GUID): HResult; stdcall;
  1136.     function EnumRanges(ec: TfEditCookie; out ppenum: IEnumTfRanges; const pTargetRange: ITfRange): HResult; stdcall;
  1137.     function GetValue(ec: TfEditCookie; const pRange: ITfRange; out pvarValue: OleVariant): HResult; stdcall;
  1138.     function GetContext(out ppContext: ITfContext): HResult; stdcall;
  1139.   end;
  1140.  
  1141. // *********************************************************************//
  1142. // Interface: ITfProperty
  1143. // Flags:     (0)
  1144. // GUID:      {E2449660-9542-11D2-BF46-00105A2799B5}
  1145. // *********************************************************************//
  1146.   ITfProperty = interface(ITfReadOnlyProperty)
  1147.     ['{E2449660-9542-11D2-BF46-00105A2799B5}']
  1148.     function FindRange(ec: TfEditCookie; const pRange: ITfRange; out ppRange: ITfRange;
  1149.                        aPos: TfAnchor): HResult; stdcall;
  1150.     function SetValueStore(ec: TfEditCookie; const pRange: ITfRange;
  1151.                            const pPropStore: ITfPropertyStore): HResult; stdcall;
  1152.     function SetValue(ec: TfEditCookie; const pRange: ITfRange; const pvarValue: OleVariant): HResult; stdcall;
  1153.     function Clear(ec: TfEditCookie; const pRange: ITfRange): HResult; stdcall;
  1154.   end;
  1155.  
  1156. // *********************************************************************//
  1157. // Interface: IEnumTfRanges
  1158. // Flags:     (0)
  1159. // GUID:      {F99D3F40-8E32-11D2-BF46-00105A2799B5}
  1160. // *********************************************************************//
  1161.   IEnumTfRanges = interface(IUnknown)
  1162.     ['{F99D3F40-8E32-11D2-BF46-00105A2799B5}']
  1163.     function Clone(out ppenum: IEnumTfRanges): HResult; stdcall;
  1164.     function Next(ulCount: LongWord; out ppRange: ITfRange; out pcFetched: LongWord): HResult; stdcall;
  1165.     function Reset: HResult; stdcall;
  1166.     function Skip(ulCount: LongWord): HResult; stdcall;
  1167.   end;
  1168.  
  1169. // *********************************************************************//
  1170. // Interface: ITfPropertyStore
  1171. // Flags:     (0)
  1172. // GUID:      {6834B120-88CB-11D2-BF45-00105A2799B5}
  1173. // *********************************************************************//
  1174.   ITfPropertyStore = interface(IUnknown)
  1175.     ['{6834B120-88CB-11D2-BF45-00105A2799B5}']
  1176.     function GetType(out pguid: GUID): HResult; stdcall;
  1177.     function GetDataType(out pdwReserved: LongWord): HResult; stdcall;
  1178.     function GetData(out pvarValue: OleVariant): HResult; stdcall;
  1179.     function OnTextUpdated(dwFlags: LongWord; const pRangeNew: ITfRange; out pfAccept: Integer): HResult; stdcall;
  1180.     function Shrink(const pRangeNew: ITfRange; out pfFree: Integer): HResult; stdcall;
  1181.     function Divide(const pRangeThis: ITfRange; const pRangeNew: ITfRange;
  1182.                     out ppPropStore: ITfPropertyStore): HResult; stdcall;
  1183.     function Clone(out pPropStore: ITfPropertyStore): HResult; stdcall;
  1184.     function GetPropertyRangeCreator(out pclsid: GUID): HResult; stdcall;
  1185.     function Serialize(const pStream: IStream; out pcb: LongWord): HResult; stdcall;
  1186.   end;
  1187.  
  1188. // *********************************************************************//
  1189. // Interface: IEnumTfProperties
  1190. // Flags:     (0)
  1191. // GUID:      {19188CB0-ACA9-11D2-AFC5-00105A2799B5}
  1192. // *********************************************************************//
  1193.   IEnumTfProperties = interface(IUnknown)
  1194.     ['{19188CB0-ACA9-11D2-AFC5-00105A2799B5}']
  1195.     function Clone(out ppenum: IEnumTfProperties): HResult; stdcall;
  1196.     function Next(ulCount: LongWord; out ppProp: ITfProperty; out pcFetched: LongWord): HResult; stdcall;
  1197.     function Reset: HResult; stdcall;
  1198.     function Skip(ulCount: LongWord): HResult; stdcall;
  1199.   end;
  1200.  
  1201. // *********************************************************************//
  1202. // Interface: ITfRangeBackup
  1203. // Flags:     (0)
  1204. // GUID:      {463A506D-6992-49D2-9B88-93D55E70BB16}
  1205. // *********************************************************************//
  1206.   ITfRangeBackup = interface(IUnknown)
  1207.     ['{463A506D-6992-49D2-9B88-93D55E70BB16}']
  1208.     function Restore(ec: TfEditCookie; const pRange: ITfRange): HResult; stdcall;
  1209.   end;
  1210.  
  1211. // *********************************************************************//
  1212. // Interface: IEnumTfContexts
  1213. // Flags:     (0)
  1214. // GUID:      {8F1A7EA6-1654-4502-A86E-B2902344D507}
  1215. // *********************************************************************//
  1216.   IEnumTfContexts = interface(IUnknown)
  1217.     ['{8F1A7EA6-1654-4502-A86E-B2902344D507}']
  1218.     function Clone(out ppenum: IEnumTfContexts): HResult; stdcall;
  1219.     function Next(ulCount: LongWord; out rgContext: ITfContext; out pcFetched: LongWord): HResult; stdcall;
  1220.     function Reset: HResult; stdcall;
  1221.     function Skip(ulCount: LongWord): HResult; stdcall;
  1222.   end;
  1223.  
  1224. // *********************************************************************//
  1225. // Interface: ITfTextInputProcessor
  1226. // Flags:     (0)
  1227. // GUID:      {AA80E7F7-2021-11D2-93E0-0060B067B86E}
  1228. // *********************************************************************//
  1229.   ITfTextInputProcessor = interface(IUnknown)
  1230.     ['{AA80E7F7-2021-11D2-93E0-0060B067B86E}']
  1231.     function Activate(const ptim: ITfThreadMgr; tid: TfClientId): HResult; stdcall;
  1232.     function Deactivate: HResult; stdcall;
  1233.   end;
  1234.  
  1235. // *********************************************************************//
  1236. // Interface: ITfThreadMgr
  1237. // Flags:     (0)
  1238. // GUID:      {AA80E801-2021-11D2-93E0-0060B067B86E}
  1239. // *********************************************************************//
  1240.   ITfThreadMgr = interface(IUnknown)
  1241.     ['{AA80E801-2021-11D2-93E0-0060B067B86E}']
  1242.     function Activate(out ptid: TfClientId): HResult; stdcall;
  1243.     function Deactivate: HResult; stdcall;
  1244.     function CreateDocumentMgr(out ppdim: ITfDocumentMgr): HResult; stdcall;
  1245.     function EnumDocumentMgrs(out ppenum: IEnumTfDocumentMgrs): HResult; stdcall;
  1246.     function GetFocus(out ppdimFocus: ITfDocumentMgr): HResult; stdcall;
  1247.     function SetFocus(const pdimFocus: ITfDocumentMgr): HResult; stdcall;
  1248.     function AssociateFocus(var hwnd: _RemotableHandle; const pdimNew: ITfDocumentMgr;
  1249.                             out ppdimPrev: ITfDocumentMgr): HResult; stdcall;
  1250.     function IsThreadFocus(out pfThreadFocus: Integer): HResult; stdcall;
  1251.     function GetFunctionProvider(var clsid: GUID; out ppFuncProv: ITfFunctionProvider): HResult; stdcall;
  1252.     function EnumFunctionProviders(out ppenum: IEnumTfFunctionProviders): HResult; stdcall;
  1253.     function GetGlobalCompartment(out ppCompMgr: ITfCompartmentMgr): HResult; stdcall;
  1254.   end;
  1255.  
  1256. // *********************************************************************//
  1257. // Interface: IEnumTfDocumentMgrs
  1258. // Flags:     (0)
  1259. // GUID:      {AA80E808-2021-11D2-93E0-0060B067B86E}
  1260. // *********************************************************************//
  1261.   IEnumTfDocumentMgrs = interface(IUnknown)
  1262.     ['{AA80E808-2021-11D2-93E0-0060B067B86E}']
  1263.     function Clone(out ppenum: IEnumTfDocumentMgrs): HResult; stdcall;
  1264.     function Next(ulCount: LongWord; out rgDocumentMgr: ITfDocumentMgr; out pcFetched: LongWord): HResult; stdcall;
  1265.     function Reset: HResult; stdcall;
  1266.     function Skip(ulCount: LongWord): HResult; stdcall;
  1267.   end;
  1268.  
  1269. // *********************************************************************//
  1270. // Interface: ITfFunctionProvider
  1271. // Flags:     (0)
  1272. // GUID:      {101D6610-0990-11D3-8DF0-00105A2799B5}
  1273. // *********************************************************************//
  1274.   ITfFunctionProvider = interface(IUnknown)
  1275.     ['{101D6610-0990-11D3-8DF0-00105A2799B5}']
  1276.     function GetType(out pguid: GUID): HResult; stdcall;
  1277.     function GetDescription(out pbstrDesc: WideString): HResult; stdcall;
  1278.     function GetFunction(var rguid: GUID; var riid: GUID; out ppunk: IUnknown): HResult; stdcall;
  1279.   end;
  1280.  
  1281. // *********************************************************************//
  1282. // Interface: IEnumTfFunctionProviders
  1283. // Flags:     (0)
  1284. // GUID:      {E4B24DB0-0990-11D3-8DF0-00105A2799B5}
  1285. // *********************************************************************//
  1286.   IEnumTfFunctionProviders = interface(IUnknown)
  1287.     ['{E4B24DB0-0990-11D3-8DF0-00105A2799B5}']
  1288.     function Clone(out ppenum: IEnumTfFunctionProviders): HResult; stdcall;
  1289.     function Next(ulCount: LongWord; out ppCmdobj: ITfFunctionProvider; out pcFetch: LongWord): HResult; stdcall;
  1290.     function Reset: HResult; stdcall;
  1291.     function Skip(ulCount: LongWord): HResult; stdcall;
  1292.   end;
  1293.  
  1294. // *********************************************************************//
  1295. // Interface: ITfCompartmentMgr
  1296. // Flags:     (0)
  1297. // GUID:      {7DCF57AC-18AD-438B-824D-979BFFB74B7C}
  1298. // *********************************************************************//
  1299.   ITfCompartmentMgr = interface(IUnknown)
  1300.     ['{7DCF57AC-18AD-438B-824D-979BFFB74B7C}']
  1301.     function GetCompartment(var rguid: GUID; out ppcomp: ITfCompartment): HResult; stdcall;
  1302.     function ClearCompartment(tid: TfClientId; var rguid: GUID): HResult; stdcall;
  1303.     function EnumCompartments(out ppenum: IEnumGUID): HResult; stdcall;
  1304.   end;
  1305.  
  1306. // *********************************************************************//
  1307. // Interface: ITfCompartment
  1308. // Flags:     (0)
  1309. // GUID:      {BB08F7A9-607A-4384-8623-056892B64371}
  1310. // *********************************************************************//
  1311.   ITfCompartment = interface(IUnknown)
  1312.     ['{BB08F7A9-607A-4384-8623-056892B64371}']
  1313.     function SetValue(tid: TfClientId; const pvarValue: OleVariant): HResult; stdcall;
  1314.     function GetValue(out pvarValue: OleVariant): HResult; stdcall;
  1315.   end;
  1316.  
  1317. // *********************************************************************//
  1318. // Interface: IEnumGUID
  1319. // Flags:     (0)
  1320. // GUID:      {0002E000-0000-0000-C000-000000000046}
  1321. // *********************************************************************//
  1322.   IEnumGUID = interface(IUnknown)
  1323.     ['{0002E000-0000-0000-C000-000000000046}']
  1324.     function RemoteNext(celt: LongWord; out rgelt: GUID; out pceltFetched: LongWord): HResult; stdcall;
  1325.     function Skip(celt: LongWord): HResult; stdcall;
  1326.     function Reset: HResult; stdcall;
  1327.     function Clone(out ppenum: IEnumGUID): HResult; stdcall;
  1328.   end;
  1329.  
  1330. // *********************************************************************//
  1331. // Interface: ITfRangeACP
  1332. // Flags:     (0)
  1333. // GUID:      {057A6296-029B-4154-B79A-0D461D4EA94C}
  1334. // *********************************************************************//
  1335.   ITfRangeACP = interface(ITfRange)
  1336.     ['{057A6296-029B-4154-B79A-0D461D4EA94C}']
  1337.     function GetExtent(out pacpAnchor: Integer; out pcch: Integer): HResult; stdcall;
  1338.     function SetExtent(acpAnchor: Integer; cch: Integer): HResult; stdcall;
  1339.   end;
  1340.  
  1341. // *********************************************************************//
  1342. // Interface: ITfPersistentPropertyLoaderACP
  1343. // Flags:     (0)
  1344. // GUID:      {4EF89150-0807-11D3-8DF0-00105A2799B5}
  1345. // *********************************************************************//
  1346.   ITfPersistentPropertyLoaderACP = interface(IUnknown)
  1347.     ['{4EF89150-0807-11D3-8DF0-00105A2799B5}']
  1348.     function LoadProperty(var pHdr: TF_PERSISTENT_PROPERTY_HEADER_ACP; out ppStream: IStream): HResult; stdcall;
  1349.   end;
  1350.  
  1351. // *********************************************************************//
  1352. // Interface: ITfKeyEventSink
  1353. // Flags:     (0)
  1354. // GUID:      {AA80E7F5-2021-11D2-93E0-0060B067B86E}
  1355. // *********************************************************************//
  1356.   ITfKeyEventSink = interface(IUnknown)
  1357.     ['{AA80E7F5-2021-11D2-93E0-0060B067B86E}']
  1358.     function OnSetFocus(fForeground: Integer): HResult; stdcall;
  1359.     function OnTestKeyDown(const pic: ITfContext; wParam: UINT_PTR; lParam: LONG_PTR;
  1360.                            out pfEaten: Integer): HResult; stdcall;
  1361.     function OnTestKeyUp(const pic: ITfContext; wParam: UINT_PTR; lParam: LONG_PTR;
  1362.                          out pfEaten: Integer): HResult; stdcall;
  1363.     function OnKeyDown(const pic: ITfContext; wParam: UINT_PTR; lParam: LONG_PTR;
  1364.                        out pfEaten: Integer): HResult; stdcall;
  1365.     function OnKeyUp(const pic: ITfContext; wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1366.     function OnPreservedKey(const pic: ITfContext; var rguid: GUID; out pfEaten: Integer): HResult; stdcall;
  1367.   end;
  1368.  
  1369. // *********************************************************************//
  1370. // Interface: ITfSource
  1371. // Flags:     (0)
  1372. // GUID:      {4EA48A35-60AE-446F-8FD6-E6A8D82459F7}
  1373. // *********************************************************************//
  1374.   ITfSource = interface(IUnknown)
  1375.     ['{4EA48A35-60AE-446F-8FD6-E6A8D82459F7}']
  1376.     function AdviseSink(var riid: GUID; const punk: IUnknown; out pdwCookie: LongWord): HResult; stdcall;
  1377.     function UnadviseSink(dwCookie: LongWord): HResult; stdcall;
  1378.   end;
  1379.  
  1380. // *********************************************************************//
  1381. // Interface: ITfMouseSink
  1382. // Flags:     (0)
  1383. // GUID:      {A1ADAAA2-3A24-449D-AC96-5183E7F5C217}
  1384. // *********************************************************************//
  1385.   ITfMouseSink = interface(IUnknown)
  1386.     ['{A1ADAAA2-3A24-449D-AC96-5183E7F5C217}']
  1387.     function OnMouseEvent(uEdge: LongWord; uQuadrant: LongWord; dwBtnStatus: LongWord;
  1388.                           out pfEaten: Integer): HResult; stdcall;
  1389.   end;
  1390.  
  1391. // *********************************************************************//
  1392. // Interface: IEnumTfLanguageProfiles
  1393. // Flags:     (0)
  1394. // GUID:      {3D61BF11-AC5F-42C8-A4CB-931BCC28C744}
  1395. // *********************************************************************//
  1396.   IEnumTfLanguageProfiles = interface(IUnknown)
  1397.     ['{3D61BF11-AC5F-42C8-A4CB-931BCC28C744}']
  1398.     function Clone(out ppenum: IEnumTfLanguageProfiles): HResult; stdcall;
  1399.     function Next(ulCount: LongWord; out pProfile: TF_LANGUAGEPROFILE; out pcFetch: LongWord): HResult; stdcall;
  1400.     function Reset: HResult; stdcall;
  1401.     function Skip(ulCount: LongWord): HResult; stdcall;
  1402.   end;
  1403.  
  1404. // *********************************************************************//
  1405. // Interface: ITfUIElement
  1406. // Flags:     (0)
  1407. // GUID:      {EA1EA137-19DF-11D7-A6D2-00065B84435C}
  1408. // *********************************************************************//
  1409.   ITfUIElement = interface(IUnknown)
  1410.     ['{EA1EA137-19DF-11D7-A6D2-00065B84435C}']
  1411.     function GetDescription(out pbstrDescription: WideString): HResult; stdcall;
  1412.     function GetGUID(out pguid: GUID): HResult; stdcall;
  1413.     function Show(bShow: Integer): HResult; stdcall;
  1414.     function IsShown(out pbShow: Integer): HResult; stdcall;
  1415.   end;
  1416.  
  1417. // *********************************************************************//
  1418. // Interface: IEnumTfUIElements
  1419. // Flags:     (0)
  1420. // GUID:      {887AA91E-ACBA-4931-84DA-3C5208CF543F}
  1421. // *********************************************************************//
  1422.   IEnumTfUIElements = interface(IUnknown)
  1423.     ['{887AA91E-ACBA-4931-84DA-3C5208CF543F}']
  1424.     function Clone(out ppenum: IEnumTfUIElements): HResult; stdcall;
  1425.     function Next(ulCount: LongWord; out ppElement: ITfUIElement; out pcFetched: LongWord): HResult; stdcall;
  1426.     function Reset: HResult; stdcall;
  1427.     function Skip(ulCount: LongWord): HResult; stdcall;
  1428.   end;
  1429.  
  1430. // *********************************************************************//
  1431. // Interface: IEnumTfInputProcessorProfiles
  1432. // Flags:     (0)
  1433. // GUID:      {71C6E74D-0F28-11D8-A82A-00065B84435C}
  1434. // *********************************************************************//
  1435.   IEnumTfInputProcessorProfiles = interface(IUnknown)
  1436.     ['{71C6E74D-0F28-11D8-A82A-00065B84435C}']
  1437.     function Clone(out ppenum: IEnumTfInputProcessorProfiles): HResult; stdcall;
  1438.     function Next(ulCount: LongWord; out pProfile: TF_INPUTPROCESSORPROFILE; out pcFetch: LongWord): HResult; stdcall;
  1439.     function Reset: HResult; stdcall;
  1440.     function Skip(ulCount: LongWord): HResult; stdcall;
  1441.   end;
  1442.  
  1443. // *********************************************************************//
  1444. // Interface: ITfThreadMgrEx
  1445. // Flags:     (0)
  1446. // GUID:      {3E90ADE3-7594-4CB0-BB58-69628F5F458C}
  1447. // *********************************************************************//
  1448.   ITfThreadMgrEx = interface(ITfThreadMgr)
  1449.     ['{3E90ADE3-7594-4CB0-BB58-69628F5F458C}']
  1450.     function ActivateEx(out ptid: TfClientId; dwFlags: LongWord): HResult; stdcall;
  1451.     function GetActiveFlags(out lpdwFlags: LongWord): HResult; stdcall;
  1452.   end;
  1453.  
  1454. // *********************************************************************//
  1455. // Interface: ITfConfigureSystemKeystrokeFeed
  1456. // Flags:     (0)
  1457. // GUID:      {0D2C969A-BC9C-437C-84EE-951C49B1A764}
  1458. // *********************************************************************//
  1459.   ITfConfigureSystemKeystrokeFeed = interface(IUnknown)
  1460.     ['{0D2C969A-BC9C-437C-84EE-951C49B1A764}']
  1461.     function DisableSystemKeystrokeFeed: HResult; stdcall;
  1462.     function EnableSystemKeystrokeFeed: HResult; stdcall;
  1463.   end;
  1464.  
  1465. // *********************************************************************//
  1466. // Interface: ITfCompositionView
  1467. // Flags:     (0)
  1468. // GUID:      {D7540241-F9A1-4364-BEFC-DBCD2C4395B7}
  1469. // *********************************************************************//
  1470.   ITfCompositionView = interface(IUnknown)
  1471.     ['{D7540241-F9A1-4364-BEFC-DBCD2C4395B7}']
  1472.     function GetOwnerClsid(out pclsid: GUID): HResult; stdcall;
  1473.     function GetRange(out ppRange: ITfRange): HResult; stdcall;
  1474.   end;
  1475.  
  1476. // *********************************************************************//
  1477. // Interface: IEnumITfCompositionView
  1478. // Flags:     (0)
  1479. // GUID:      {5EFD22BA-7838-46CB-88E2-CADB14124F8F}
  1480. // *********************************************************************//
  1481.   IEnumITfCompositionView = interface(IUnknown)
  1482.     ['{5EFD22BA-7838-46CB-88E2-CADB14124F8F}']
  1483.     function Clone(out ppenum: IEnumITfCompositionView): HResult; stdcall;
  1484.     function Next(ulCount: LongWord; out rgCompositionView: ITfCompositionView;
  1485.                   out pcFetched: LongWord): HResult; stdcall;
  1486.     function Reset: HResult; stdcall;
  1487.     function Skip(ulCount: LongWord): HResult; stdcall;
  1488.   end;
  1489.  
  1490. // *********************************************************************//
  1491. // Interface: ITfComposition
  1492. // Flags:     (0)
  1493. // GUID:      {20168D64-5A8F-4A5A-B7BD-CFA29F4D0FD9}
  1494. // *********************************************************************//
  1495.   ITfComposition = interface(IUnknown)
  1496.     ['{20168D64-5A8F-4A5A-B7BD-CFA29F4D0FD9}']
  1497.     function GetRange(out ppRange: ITfRange): HResult; stdcall;
  1498.     function ShiftStart(ecWrite: TfEditCookie; const pNewStart: ITfRange): HResult; stdcall;
  1499.     function ShiftEnd(ecWrite: TfEditCookie; const pNewEnd: ITfRange): HResult; stdcall;
  1500.     function EndComposition(ecWrite: TfEditCookie): HResult; stdcall;
  1501.   end;
  1502.  
  1503. // *********************************************************************//
  1504. // Interface: ITfCompositionSink
  1505. // Flags:     (0)
  1506. // GUID:      {A781718C-579A-4B15-A280-32B8577ACC5E}
  1507. // *********************************************************************//
  1508.   ITfCompositionSink = interface(IUnknown)
  1509.     ['{A781718C-579A-4B15-A280-32B8577ACC5E}']
  1510.     function OnCompositionTerminated(ecWrite: TfEditCookie; const pComposition: ITfComposition): HResult; stdcall;
  1511.   end;
  1512.  
  1513. // *********************************************************************//
  1514. // Interface: ITfContextComposition
  1515. // Flags:     (0)
  1516. // GUID:      {D40C8AAE-AC92-4FC7-9A11-0EE0E23AA39B}
  1517. // *********************************************************************//
  1518.   ITfContextComposition = interface(IUnknown)
  1519.     ['{D40C8AAE-AC92-4FC7-9A11-0EE0E23AA39B}']
  1520.     function StartComposition(ecWrite: TfEditCookie; const pCompositionRange: ITfRange;
  1521.                               const pSink: ITfCompositionSink; out ppComposition: ITfComposition): HResult; stdcall;
  1522.     function EnumCompositions(out ppenum: IEnumITfCompositionView): HResult; stdcall;
  1523.     function FindComposition(ecRead: TfEditCookie; const pTestRange: ITfRange;
  1524.                              out ppenum: IEnumITfCompositionView): HResult; stdcall;
  1525.     function TakeOwnership(ecWrite: TfEditCookie; const pComposition: ITfCompositionView;
  1526.                            const pSink: ITfCompositionSink; out ppComposition: ITfComposition): HResult; stdcall;
  1527.   end;
  1528.  
  1529. // *********************************************************************//
  1530. // Interface: ITfContextOwnerCompositionServices
  1531. // Flags:     (0)
  1532. // GUID:      {86462810-593B-4916-9764-19C08E9CE110}
  1533. // *********************************************************************//
  1534.   ITfContextOwnerCompositionServices = interface(ITfContextComposition)
  1535.     ['{86462810-593B-4916-9764-19C08E9CE110}']
  1536.     function TerminateComposition(const pComposition: ITfCompositionView): HResult; stdcall;
  1537.   end;
  1538.  
  1539. // *********************************************************************//
  1540. // Interface: ITfContextOwnerCompositionSink
  1541. // Flags:     (0)
  1542. // GUID:      {5F20AA40-B57A-4F34-96AB-3576F377CC79}
  1543. // *********************************************************************//
  1544.   ITfContextOwnerCompositionSink = interface(IUnknown)
  1545.     ['{5F20AA40-B57A-4F34-96AB-3576F377CC79}']
  1546.     function OnStartComposition(const pComposition: ITfCompositionView; out pfOk: Integer): HResult; stdcall;
  1547.     function OnUpdateComposition(const pComposition: ITfCompositionView; const pRangeNew: ITfRange): HResult; stdcall;
  1548.     function OnEndComposition(const pComposition: ITfCompositionView): HResult; stdcall;
  1549.   end;
  1550.  
  1551. // *********************************************************************//
  1552. // Interface: ITfQueryEmbedded
  1553. // Flags:     (0)
  1554. // GUID:      {0FAB9BDB-D250-4169-84E5-6BE118FDD7A8}
  1555. // *********************************************************************//
  1556.   ITfQueryEmbedded = interface(IUnknown)
  1557.     ['{0FAB9BDB-D250-4169-84E5-6BE118FDD7A8}']
  1558.     function QueryInsertEmbedded(var pguidService: GUID; var pformatetc: tagFORMATETC;
  1559.                                  out pfInsertable: Integer): HResult; stdcall;
  1560.   end;
  1561.  
  1562. // *********************************************************************//
  1563. // Interface: ITfInsertAtSelection
  1564. // Flags:     (0)
  1565. // GUID:      {55CE16BA-3014-41C1-9CEB-FADE1446AC6C}
  1566. // *********************************************************************//
  1567.   ITfInsertAtSelection = interface(IUnknown)
  1568.     ['{55CE16BA-3014-41C1-9CEB-FADE1446AC6C}']
  1569.     function InsertTextAtSelection(ec: TfEditCookie; dwFlags: LongWord; var pchText: Word;
  1570.                                    cch: Integer; out ppRange: ITfRange): HResult; stdcall;
  1571.     function InsertEmbeddedAtSelection(ec: TfEditCookie; dwFlags: LongWord;
  1572.                                        const pDataObject: IDataObject; out ppRange: ITfRange): HResult; stdcall;
  1573.   end;
  1574.  
  1575. // *********************************************************************//
  1576. // Interface: ITfCleanupContextSink
  1577. // Flags:     (0)
  1578. // GUID:      {01689689-7ACB-4E9B-AB7C-7EA46B12B522}
  1579. // *********************************************************************//
  1580.   ITfCleanupContextSink = interface(IUnknown)
  1581.     ['{01689689-7ACB-4E9B-AB7C-7EA46B12B522}']
  1582.     function OnCleanupContext(ecWrite: TfEditCookie; const pic: ITfContext): HResult; stdcall;
  1583.   end;
  1584.  
  1585. // *********************************************************************//
  1586. // Interface: ITfCleanupContextDurationSink
  1587. // Flags:     (0)
  1588. // GUID:      {45C35144-154E-4797-BED8-D33AE7BF8794}
  1589. // *********************************************************************//
  1590.   ITfCleanupContextDurationSink = interface(IUnknown)
  1591.     ['{45C35144-154E-4797-BED8-D33AE7BF8794}']
  1592.     function OnStartCleanupContext: HResult; stdcall;
  1593.     function OnEndCleanupContext: HResult; stdcall;
  1594.   end;
  1595.  
  1596. // *********************************************************************//
  1597. // Interface: IEnumTfPropertyValue
  1598. // Flags:     (0)
  1599. // GUID:      {8ED8981B-7C10-4D7D-9FB3-AB72E9C75F72}
  1600. // *********************************************************************//
  1601.   IEnumTfPropertyValue = interface(IUnknown)
  1602.     ['{8ED8981B-7C10-4D7D-9FB3-AB72E9C75F72}']
  1603.     function Clone(out ppenum: IEnumTfPropertyValue): HResult; stdcall;
  1604.     function Next(ulCount: LongWord; out rgValues: TF_PROPERTYVAL; out pcFetched: LongWord): HResult; stdcall;
  1605.     function Reset: HResult; stdcall;
  1606.     function Skip(ulCount: LongWord): HResult; stdcall;
  1607.   end;
  1608.  
  1609. // *********************************************************************//
  1610. // Interface: ITfMouseTracker
  1611. // Flags:     (0)
  1612. // GUID:      {09D146CD-A544-4132-925B-7AFA8EF322D0}
  1613. // *********************************************************************//
  1614.   ITfMouseTracker = interface(IUnknown)
  1615.     ['{09D146CD-A544-4132-925B-7AFA8EF322D0}']
  1616.     function AdviseMouseSink(const range: ITfRange; const pSink: ITfMouseSink;
  1617.                              out pdwCookie: LongWord): HResult; stdcall;
  1618.     function UnadviseMouseSink(dwCookie: LongWord): HResult; stdcall;
  1619.   end;
  1620.  
  1621. // *********************************************************************//
  1622. // Interface: ITfMouseTrackerACP
  1623. // Flags:     (0)
  1624. // GUID:      {3BDD78E2-C16E-47FD-B883-CE6FACC1A208}
  1625. // *********************************************************************//
  1626.   ITfMouseTrackerACP = interface(IUnknown)
  1627.     ['{3BDD78E2-C16E-47FD-B883-CE6FACC1A208}']
  1628.     function AdviseMouseSink(const range: ITfRangeACP; const pSink: ITfMouseSink;
  1629.                              out pdwCookie: LongWord): HResult; stdcall;
  1630.     function UnadviseMouseSink(dwCookie: LongWord): HResult; stdcall;
  1631.   end;
  1632.  
  1633. // *********************************************************************//
  1634. // Interface: ITfEditRecord
  1635. // Flags:     (0)
  1636. // GUID:      {42D4D099-7C1A-4A89-B836-6C6F22160DF0}
  1637. // *********************************************************************//
  1638.   ITfEditRecord = interface(IUnknown)
  1639.     ['{42D4D099-7C1A-4A89-B836-6C6F22160DF0}']
  1640.     function GetSelectionStatus(out pfChanged: Integer): HResult; stdcall;
  1641.     function GetTextAndPropertyUpdates(dwFlags: LongWord; prgProperties: PPUserType1;
  1642.                                        cProperties: LongWord; out ppenum: IEnumTfRanges): HResult; stdcall;
  1643.   end;
  1644.  
  1645. // *********************************************************************//
  1646. // Interface: ITfTextEditSink
  1647. // Flags:     (0)
  1648. // GUID:      {8127D409-CCD3-4683-967A-B43D5B482BF7}
  1649. // *********************************************************************//
  1650.   ITfTextEditSink = interface(IUnknown)
  1651.     ['{8127D409-CCD3-4683-967A-B43D5B482BF7}']
  1652.     function OnEndEdit(const pic: ITfContext; ecReadOnly: TfEditCookie;
  1653.                        const pEditRecord: ITfEditRecord): HResult; stdcall;
  1654.   end;
  1655.  
  1656. // *********************************************************************//
  1657. // Interface: ITfTextLayoutSink
  1658. // Flags:     (0)
  1659. // GUID:      {2AF2D06A-DD5B-4927-A0B4-54F19C91FADE}
  1660. // *********************************************************************//
  1661.   ITfTextLayoutSink = interface(IUnknown)
  1662.     ['{2AF2D06A-DD5B-4927-A0B4-54F19C91FADE}']
  1663.     function OnLayoutChange(const pic: ITfContext; lcode: TfLayoutCode; const pView: ITfContextView): HResult; stdcall;
  1664.   end;
  1665.  
  1666. // *********************************************************************//
  1667. // Interface: ITfStatusSink
  1668. // Flags:     (0)
  1669. // GUID:      {6B7D8D73-B267-4F69-B32E-1CA321CE4F45}
  1670. // *********************************************************************//
  1671.   ITfStatusSink = interface(IUnknown)
  1672.     ['{6B7D8D73-B267-4F69-B32E-1CA321CE4F45}']
  1673.     function OnStatusChange(const pic: ITfContext; dwFlags: LongWord): HResult; stdcall;
  1674.   end;
  1675.  
  1676. // *********************************************************************//
  1677. // Interface: ITfEditTransactionSink
  1678. // Flags:     (0)
  1679. // GUID:      {708FBF70-B520-416B-B06C-2C41AB44F8BA}
  1680. // *********************************************************************//
  1681.   ITfEditTransactionSink = interface(IUnknown)
  1682.     ['{708FBF70-B520-416B-B06C-2C41AB44F8BA}']
  1683.     function OnStartEditTransaction(const pic: ITfContext): HResult; stdcall;
  1684.     function OnEndEditTransaction(const pic: ITfContext): HResult; stdcall;
  1685.   end;
  1686.  
  1687. // *********************************************************************//
  1688. // Interface: ITfContextOwner
  1689. // Flags:     (0)
  1690. // GUID:      {AA80E80C-2021-11D2-93E0-0060B067B86E}
  1691. // *********************************************************************//
  1692.   ITfContextOwner = interface(IUnknown)
  1693.     ['{AA80E80C-2021-11D2-93E0-0060B067B86E}']
  1694.     function GetACPFromPoint(var ptScreen: tagPOINT; dwFlags: LongWord; out pacp: Integer): HResult; stdcall;
  1695.     function GetTextExt(acpStart: Integer; acpEnd: Integer; out prc: tagRECT; out pfClipped: Integer): HResult; stdcall;
  1696.     function GetScreenExt(out prc: tagRECT): HResult; stdcall;
  1697.     function GetStatus(out pdcs: TF_STATUS): HResult; stdcall;
  1698.     function GetWnd(out phwnd: wireHWND): HResult; stdcall;
  1699.     function GetAttribute(var rguidAttribute: GUID; out pvarValue: OleVariant): HResult; stdcall;
  1700.   end;
  1701.  
  1702. // *********************************************************************//
  1703. // Interface: ITfContextOwnerServices
  1704. // Flags:     (0)
  1705. // GUID:      {B23EB630-3E1C-11D3-A745-0050040AB407}
  1706. // *********************************************************************//
  1707.   ITfContextOwnerServices = interface(IUnknown)
  1708.     ['{B23EB630-3E1C-11D3-A745-0050040AB407}']
  1709.     function OnLayoutChange: HResult; stdcall;
  1710.     function OnStatusChange(dwFlags: LongWord): HResult; stdcall;
  1711.     function OnAttributeChange(var rguidAttribute: GUID): HResult; stdcall;
  1712.     function Serialize(const pProp: ITfProperty; const pRange: ITfRange;
  1713.                        out pHdr: TF_PERSISTENT_PROPERTY_HEADER_ACP; const pStream: IStream): HResult; stdcall;
  1714.     function Unserialize(const pProp: ITfProperty; var pHdr: TF_PERSISTENT_PROPERTY_HEADER_ACP;
  1715.                          const pStream: IStream; const pLoader: ITfPersistentPropertyLoaderACP): HResult; stdcall;
  1716.     function ForceLoadProperty(const pProp: ITfProperty): HResult; stdcall;
  1717.     function CreateRange(acpStart: Integer; acpEnd: Integer; out ppRange: ITfRangeACP): HResult; stdcall;
  1718.   end;
  1719.  
  1720. // *********************************************************************//
  1721. // Interface: ITfContextKeyEventSink
  1722. // Flags:     (0)
  1723. // GUID:      {0552BA5D-C835-4934-BF50-846AAA67432F}
  1724. // *********************************************************************//
  1725.   ITfContextKeyEventSink = interface(IUnknown)
  1726.     ['{0552BA5D-C835-4934-BF50-846AAA67432F}']
  1727.     function OnKeyDown(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1728.     function OnKeyUp(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1729.     function OnTestKeyDown(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1730.     function OnTestKeyUp(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1731.   end;
  1732.  
  1733. // *********************************************************************//
  1734. // Interface: ITextStoreACPServices
  1735. // Flags:     (0)
  1736. // GUID:      {AA80E901-2021-11D2-93E0-0060B067B86E}
  1737. // *********************************************************************//
  1738.   ITextStoreACPServices = interface(IUnknown)
  1739.     ['{AA80E901-2021-11D2-93E0-0060B067B86E}']
  1740.     function Serialize(const pProp: ITfProperty; const pRange: ITfRange;
  1741.                        out pHdr: TF_PERSISTENT_PROPERTY_HEADER_ACP; const pStream: IStream): HResult; stdcall;
  1742.     function Unserialize(const pProp: ITfProperty; var pHdr: TF_PERSISTENT_PROPERTY_HEADER_ACP;
  1743.                          const pStream: IStream; const pLoader: ITfPersistentPropertyLoaderACP): HResult; stdcall;
  1744.     function ForceLoadProperty(const pProp: ITfProperty): HResult; stdcall;
  1745.     function CreateRange(acpStart: Integer; acpEnd: Integer; out ppRange: ITfRangeACP): HResult; stdcall;
  1746.   end;
  1747.  
  1748. // *********************************************************************//
  1749. // Interface: ITfCreatePropertyStore
  1750. // Flags:     (0)
  1751. // GUID:      {2463FBF0-B0AF-11D2-AFC5-00105A2799B5}
  1752. // *********************************************************************//
  1753.   ITfCreatePropertyStore = interface(IUnknown)
  1754.     ['{2463FBF0-B0AF-11D2-AFC5-00105A2799B5}']
  1755.     function IsStoreSerializable(var guidProp: GUID; const pRange: ITfRange;
  1756.                                  const pPropStore: ITfPropertyStore; out pfSerializable: Integer): HResult; stdcall;
  1757.     function CreatePropertyStore(var guidProp: GUID; const pRange: ITfRange; cb: LongWord;
  1758.                                  const pStream: IStream; out ppStore: ITfPropertyStore): HResult; stdcall;
  1759.   end;
  1760.  
  1761. // *********************************************************************//
  1762. // Interface: ITfCompartmentEventSink
  1763. // Flags:     (0)
  1764. // GUID:      {743ABD5F-F26D-48DF-8CC5-238492419B64}
  1765. // *********************************************************************//
  1766.   ITfCompartmentEventSink = interface(IUnknown)
  1767.     ['{743ABD5F-F26D-48DF-8CC5-238492419B64}']
  1768.     function OnChange(var rguid: GUID): HResult; stdcall;
  1769.   end;
  1770.  
  1771. // *********************************************************************//
  1772. // Interface: ITfFunction
  1773. // Flags:     (0)
  1774. // GUID:      {DB593490-098F-11D3-8DF0-00105A2799B5}
  1775. // *********************************************************************//
  1776.   ITfFunction = interface(IUnknown)
  1777.     ['{DB593490-098F-11D3-8DF0-00105A2799B5}']
  1778.     function GetDisplayName(out pbstrName: WideString): HResult; stdcall;
  1779.   end;
  1780.  
  1781. // *********************************************************************//
  1782. // Interface: ITfInputProcessorProfiles
  1783. // Flags:     (0)
  1784. // GUID:      {1F02B6C5-7842-4EE6-8A0B-9A24183A95CA}
  1785. // *********************************************************************//
  1786.   ITfInputProcessorProfiles = interface(IUnknown)
  1787.     ['{1F02B6C5-7842-4EE6-8A0B-9A24183A95CA}']
  1788.     function Register(var rclsid: GUID): HResult; stdcall;
  1789.     function Unregister(var rclsid: GUID): HResult; stdcall;
  1790.     function AddLanguageProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1791.                                 var pchDesc: Word; cchDesc: LongWord; var pchIconFile: Word;
  1792.                                 cchFile: LongWord; uIconIndex: LongWord): HResult; stdcall;
  1793.     function RemoveLanguageProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID): HResult; stdcall;
  1794.     function EnumInputProcessorInfo(out ppenum: IEnumGUID): HResult; stdcall;
  1795.     function GetDefaultLanguageProfile(langid: Word; var catid: GUID; out pclsid: GUID;
  1796.                                        out pguidProfile: GUID): HResult; stdcall;
  1797.     function SetDefaultLanguageProfile(langid: Word; var rclsid: GUID; var guidProfiles: GUID): HResult; stdcall;
  1798.     function ActivateLanguageProfile(var rclsid: GUID; langid: Word; var guidProfiles: GUID): HResult; stdcall;
  1799.     function GetActiveLanguageProfile(var rclsid: GUID; out plangid: Word; out pguidProfile: GUID): HResult; stdcall;
  1800.     function GetLanguageProfileDescription(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1801.                                            out pbstrProfile: WideString): HResult; stdcall;
  1802.     function GetCurrentLanguage(out plangid: Word): HResult; stdcall;
  1803.     function ChangeCurrentLanguage(langid: Word): HResult; stdcall;
  1804.     function GetLanguageList(out ppLangId: PWord1; out pulCount: LongWord): HResult; stdcall;
  1805.     function EnumLanguageProfiles(langid: Word; out ppenum: IEnumTfLanguageProfiles): HResult; stdcall;
  1806.     function EnableLanguageProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1807.                                    fEnable: Integer): HResult; stdcall;
  1808.     function IsEnabledLanguageProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1809.                                       out pfEnable: Integer): HResult; stdcall;
  1810.     function EnableLanguageProfileByDefault(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1811.                                             fEnable: Integer): HResult; stdcall;
  1812.     function SubstituteKeyboardLayout(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1813.                                       HKL: HKL): HResult; stdcall;
  1814.   end;
  1815.  
  1816. // *********************************************************************//
  1817. // Interface: ITfInputProcessorProfilesEx
  1818. // Flags:     (0)
  1819. // GUID:      {892F230F-FE00-4A41-A98E-FCD6DE0D35EF}
  1820. // *********************************************************************//
  1821.   ITfInputProcessorProfilesEx = interface(ITfInputProcessorProfiles)
  1822.     ['{892F230F-FE00-4A41-A98E-FCD6DE0D35EF}']
  1823.     function SetLanguageProfileDisplayName(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1824.                                            var pchFile: Word; cchFile: LongWord; uResId: LongWord): HResult; stdcall;
  1825.   end;
  1826.  
  1827. // *********************************************************************//
  1828. // Interface: ITfInputProcessorProfileSubstituteLayout
  1829. // Flags:     (0)
  1830. // GUID:      {4FD67194-1002-4513-BFF2-C0DDF6258552}
  1831. // *********************************************************************//
  1832.   ITfInputProcessorProfileSubstituteLayout = interface(IUnknown)
  1833.     ['{4FD67194-1002-4513-BFF2-C0DDF6258552}']
  1834.     function GetSubstituteKeyboardLayout(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1835.                                          out phKL: HKL): HResult; stdcall;
  1836.   end;
  1837.  
  1838. // *********************************************************************//
  1839. // Interface: ITfActiveLanguageProfileNotifySink
  1840. // Flags:     (0)
  1841. // GUID:      {B246CB75-A93E-4652-BF8C-B3FE0CFD7E57}
  1842. // *********************************************************************//
  1843.   ITfActiveLanguageProfileNotifySink = interface(IUnknown)
  1844.     ['{B246CB75-A93E-4652-BF8C-B3FE0CFD7E57}']
  1845.     function OnActivated(var clsid: GUID; var guidProfile: GUID; fActivated: Integer): HResult; stdcall;
  1846.   end;
  1847.  
  1848. // *********************************************************************//
  1849. // Interface: ITfLanguageProfileNotifySink
  1850. // Flags:     (0)
  1851. // GUID:      {43C9FE15-F494-4C17-9DE2-B8A4AC350AA8}
  1852. // *********************************************************************//
  1853.   ITfLanguageProfileNotifySink = interface(IUnknown)
  1854.     ['{43C9FE15-F494-4C17-9DE2-B8A4AC350AA8}']
  1855.     function OnLanguageChange(langid: Word; out pfAccept: Integer): HResult; stdcall;
  1856.     function OnLanguageChanged: HResult; stdcall;
  1857.   end;
  1858.  
  1859. // *********************************************************************//
  1860. // Interface: ITfInputProcessorProfileMgr
  1861. // Flags:     (0)
  1862. // GUID:      {71C6E74C-0F28-11D8-A82A-00065B84435C}
  1863. // *********************************************************************//
  1864.   ITfInputProcessorProfileMgr = interface(IUnknown)
  1865.     ['{71C6E74C-0F28-11D8-A82A-00065B84435C}']
  1866.     function ActivateProfile(dwProfileType: LongWord; langid: Word; var clsid: GUID;
  1867.                              var guidProfile: GUID; HKL: HKL; dwFlags: LongWord): HResult; stdcall;
  1868.     function DeactivateProfile(dwProfileType: LongWord; langid: Word; var clsid: GUID;
  1869.                                var guidProfile: GUID; HKL: HKL; dwFlags: LongWord): HResult; stdcall;
  1870.     function GetProfile(dwProfileType: LongWord; langid: Word; var clsid: GUID;
  1871.                         var guidProfile: GUID; HKL: HKL; out pProfile: TF_INPUTPROCESSORPROFILE): HResult; stdcall;
  1872.     function EnumProfiles(langid: Word; out ppenum: IEnumTfInputProcessorProfiles): HResult; stdcall;
  1873.     function ReleaseInputProcessor(var rclsid: GUID; dwFlags: LongWord): HResult; stdcall;
  1874.     function RegisterProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1875.                              var pchDesc: Word; cchDesc: LongWord; var pchIconFile: Word;
  1876.                              cchFile: LongWord; uIconIndex: LongWord; hklSubstitute: HKL;
  1877.                              dwPreferredLayout: LongWord; bEnabledByDefault: Integer;
  1878.                              dwFlags: LongWord): HResult; stdcall;
  1879.     function UnregisterProfile(var rclsid: GUID; langid: Word; var guidProfile: GUID;
  1880.                                dwFlags: LongWord): HResult; stdcall;
  1881.     function GetActiveProfile(var catid: GUID; out pProfile: TF_INPUTPROCESSORPROFILE): HResult; stdcall;
  1882.   end;
  1883.  
  1884. // *********************************************************************//
  1885. // Interface: ITfInputProcessorProfileActivationSink
  1886. // Flags:     (0)
  1887. // GUID:      {71C6E74E-0F28-11D8-A82A-00065B84435C}
  1888. // *********************************************************************//
  1889.   ITfInputProcessorProfileActivationSink = interface(IUnknown)
  1890.     ['{71C6E74E-0F28-11D8-A82A-00065B84435C}']
  1891.     function OnActivated(dwProfileType: LongWord; langid: Word; var clsid: GUID; var catid: GUID;
  1892.                          var guidProfile: GUID; HKL: HKL; dwFlags: LongWord): HResult; stdcall;
  1893.   end;
  1894.  
  1895. // *********************************************************************//
  1896. // Interface: ITfKeystrokeMgr
  1897. // Flags:     (0)
  1898. // GUID:      {AA80E7F0-2021-11D2-93E0-0060B067B86E}
  1899. // *********************************************************************//
  1900.   ITfKeystrokeMgr = interface(IUnknown)
  1901.     ['{AA80E7F0-2021-11D2-93E0-0060B067B86E}']
  1902.     function AdviseKeyEventSink(tid: TfClientId; const pSink: ITfKeyEventSink; fForeground: Integer): HResult; stdcall;
  1903.     function UnadviseKeyEventSink(tid: TfClientId): HResult; stdcall;
  1904.     function GetForeground(out pclsid: GUID): HResult; stdcall;
  1905.     function TestKeyDown(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1906.     function TestKeyUp(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1907.     function KeyDown(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1908.     function KeyUp(wParam: UINT_PTR; lParam: LONG_PTR; out pfEaten: Integer): HResult; stdcall;
  1909.     function GetPreservedKey(const pic: ITfContext; var pprekey: TF_PRESERVEDKEY; out pguid: GUID): HResult; stdcall;
  1910.     function IsPreservedKey(var rguid: GUID; var pprekey: TF_PRESERVEDKEY; out pfRegistered: Integer): HResult; stdcall;
  1911.     function PreserveKey(tid: TfClientId; var rguid: GUID; var prekey: TF_PRESERVEDKEY;
  1912.                          var pchDesc: Word; cchDesc: LongWord): HResult; stdcall;
  1913.     function UnpreserveKey(var rguid: GUID; var pprekey: TF_PRESERVEDKEY): HResult; stdcall;
  1914.     function SetPreservedKeyDescription(var rguid: GUID; var pchDesc: Word; cchDesc: LongWord): HResult; stdcall;
  1915.     function GetPreservedKeyDescription(var rguid: GUID; out pbstrDesc: WideString): HResult; stdcall;
  1916.     function SimulatePreservedKey(const pic: ITfContext; var rguid: GUID; out pfEaten: Integer): HResult; stdcall;
  1917.   end;
  1918.  
  1919. // *********************************************************************//
  1920. // Interface: ITfKeyTraceEventSink
  1921. // Flags:     (0)
  1922. // GUID:      {1CD4C13B-1C36-4191-A70A-7F3E611F367D}
  1923. // *********************************************************************//
  1924.   ITfKeyTraceEventSink = interface(IUnknown)
  1925.     ['{1CD4C13B-1C36-4191-A70A-7F3E611F367D}']
  1926.     function OnKeyTraceDown(wParam: UINT_PTR; lParam: LONG_PTR): HResult; stdcall;
  1927.     function OnKeyTraceUp(wParam: UINT_PTR; lParam: LONG_PTR): HResult; stdcall;
  1928.   end;
  1929.  
  1930. // *********************************************************************//
  1931. // Interface: ITfPreservedKeyNotifySink
  1932. // Flags:     (0)
  1933. // GUID:      {6F77C993-D2B1-446E-853E-5912EFC8A286}
  1934. // *********************************************************************//
  1935.   ITfPreservedKeyNotifySink = interface(IUnknown)
  1936.     ['{6F77C993-D2B1-446E-853E-5912EFC8A286}']
  1937.     function OnUpdated(var pprekey: TF_PRESERVEDKEY): HResult; stdcall;
  1938.   end;
  1939.  
  1940. // *********************************************************************//
  1941. // Interface: ITfMessagePump
  1942. // Flags:     (0)
  1943. // GUID:      {8F1B8AD8-0B6B-4874-90C5-BD76011E8F7C}
  1944. // *********************************************************************//
  1945.   ITfMessagePump = interface(IUnknown)
  1946.     ['{8F1B8AD8-0B6B-4874-90C5-BD76011E8F7C}']
  1947.     function PeekMessageA(out pMsg: tagMSG; var hwnd: _RemotableHandle; wMsgFilterMin: SYSUINT;
  1948.                           wMsgFilterMax: SYSUINT; wRemoveMsg: SYSUINT; out pfResult: Integer): HResult; stdcall;
  1949.     function GetMessageA(out pMsg: tagMSG; var hwnd: _RemotableHandle; wMsgFilterMin: SYSUINT;
  1950.                          wMsgFilterMax: SYSUINT; out pfResult: Integer): HResult; stdcall;
  1951.     function PeekMessageW(out pMsg: tagMSG; var hwnd: _RemotableHandle; wMsgFilterMin: SYSUINT;
  1952.                           wMsgFilterMax: SYSUINT; wRemoveMsg: SYSUINT; out pfResult: Integer): HResult; stdcall;
  1953.     function GetMessageW(out pMsg: tagMSG; var hwnd: _RemotableHandle; wMsgFilterMin: SYSUINT;
  1954.                          wMsgFilterMax: SYSUINT; out pfResult: Integer): HResult; stdcall;
  1955.   end;
  1956.  
  1957. // *********************************************************************//
  1958. // Interface: ITfThreadFocusSink
  1959. // Flags:     (0)
  1960. // GUID:      {C0F1DB0C-3A20-405C-A303-96B6010A885F}
  1961. // *********************************************************************//
  1962.   ITfThreadFocusSink = interface(IUnknown)
  1963.     ['{C0F1DB0C-3A20-405C-A303-96B6010A885F}']
  1964.     function OnSetThreadFocus: HResult; stdcall;
  1965.     function OnKillThreadFocus: HResult; stdcall;
  1966.   end;
  1967.  
  1968. // *********************************************************************//
  1969. // Interface: ITfTextInputProcessorEx
  1970. // Flags:     (0)
  1971. // GUID:      {6E4E2102-F9CD-433D-B496-303CE03A6507}
  1972. // *********************************************************************//
  1973.   ITfTextInputProcessorEx = interface(ITfTextInputProcessor)
  1974.     ['{6E4E2102-F9CD-433D-B496-303CE03A6507}']
  1975.     function ActivateEx(const ptim: ITfThreadMgr; tid: TfClientId; dwFlags: LongWord): HResult; stdcall;
  1976.   end;
  1977.  
  1978. // *********************************************************************//
  1979. // Interface: ITfClientId
  1980. // Flags:     (0)
  1981. // GUID:      {D60A7B49-1B9F-4BE2-B702-47E9DC05DEC3}
  1982. // *********************************************************************//
  1983.   ITfClientId = interface(IUnknown)
  1984.     ['{D60A7B49-1B9F-4BE2-B702-47E9DC05DEC3}']
  1985.     function GetClientId(var rclsid: GUID; out ptid: TfClientId): HResult; stdcall;
  1986.   end;
  1987.  
  1988. // *********************************************************************//
  1989. // Interface: ITfDisplayAttributeInfo
  1990. // Flags:     (0)
  1991. // GUID:      {70528852-2F26-4AEA-8C96-215150578932}
  1992. // *********************************************************************//
  1993.   ITfDisplayAttributeInfo = interface(IUnknown)
  1994.     ['{70528852-2F26-4AEA-8C96-215150578932}']
  1995.     function GetGUID(out pguid: GUID): HResult; stdcall;
  1996.     function GetDescription(out pbstrDesc: WideString): HResult; stdcall;
  1997.     function GetAttributeInfo(out pda: TF_DISPLAYATTRIBUTE): HResult; stdcall;
  1998.     function SetAttributeInfo(var pda: TF_DISPLAYATTRIBUTE): HResult; stdcall;
  1999.     function Reset: HResult; stdcall;
  2000.   end;
  2001.  
  2002. // *********************************************************************//
  2003. // Interface: IEnumTfDisplayAttributeInfo
  2004. // Flags:     (0)
  2005. // GUID:      {7CEF04D7-CB75-4E80-A7AB-5F5BC7D332DE}
  2006. // *********************************************************************//
  2007.   IEnumTfDisplayAttributeInfo = interface(IUnknown)
  2008.     ['{7CEF04D7-CB75-4E80-A7AB-5F5BC7D332DE}']
  2009.     function Clone(out ppenum: IEnumTfDisplayAttributeInfo): HResult; stdcall;
  2010.     function Next(ulCount: LongWord; out rgInfo: ITfDisplayAttributeInfo; out pcFetched: LongWord): HResult; stdcall;
  2011.     function Reset: HResult; stdcall;
  2012.     function Skip(ulCount: LongWord): HResult; stdcall;
  2013.   end;
  2014.  
  2015. // *********************************************************************//
  2016. // Interface: ITfDisplayAttributeProvider
  2017. // Flags:     (0)
  2018. // GUID:      {FEE47777-163C-4769-996A-6E9C50AD8F54}
  2019. // *********************************************************************//
  2020.   ITfDisplayAttributeProvider = interface(IUnknown)
  2021.     ['{FEE47777-163C-4769-996A-6E9C50AD8F54}']
  2022.     function EnumDisplayAttributeInfo(out ppenum: IEnumTfDisplayAttributeInfo): HResult; stdcall;
  2023.     function GetDisplayAttributeInfo(var GUID: GUID; out ppInfo: ITfDisplayAttributeInfo): HResult; stdcall;
  2024.   end;
  2025.  
  2026. // *********************************************************************//
  2027. // Interface: ITfDisplayAttributeMgr
  2028. // Flags:     (0)
  2029. // GUID:      {8DED7393-5DB1-475C-9E71-A39111B0FF67}
  2030. // *********************************************************************//
  2031.   ITfDisplayAttributeMgr = interface(IUnknown)
  2032.     ['{8DED7393-5DB1-475C-9E71-A39111B0FF67}']
  2033.     function OnUpdateInfo: HResult; stdcall;
  2034.     function EnumDisplayAttributeInfo(out ppenum: IEnumTfDisplayAttributeInfo): HResult; stdcall;
  2035.     function GetDisplayAttributeInfo(var GUID: GUID; out ppInfo: ITfDisplayAttributeInfo;
  2036.                                      out pclsidOwner: GUID): HResult; stdcall;
  2037.   end;
  2038.  
  2039. // *********************************************************************//
  2040. // Interface: ITfDisplayAttributeNotifySink
  2041. // Flags:     (0)
  2042. // GUID:      {AD56F402-E162-4F25-908F-7D577CF9BDA9}
  2043. // *********************************************************************//
  2044.   ITfDisplayAttributeNotifySink = interface(IUnknown)
  2045.     ['{AD56F402-E162-4F25-908F-7D577CF9BDA9}']
  2046.     function OnUpdateInfo: HResult; stdcall;
  2047.   end;
  2048.  
  2049. // *********************************************************************//
  2050. // Interface: ITfCategoryMgr
  2051. // Flags:     (0)
  2052. // GUID:      {C3ACEFB5-F69D-4905-938F-FCADCF4BE830}
  2053. // *********************************************************************//
  2054.   ITfCategoryMgr = interface(IUnknown)
  2055.     ['{C3ACEFB5-F69D-4905-938F-FCADCF4BE830}']
  2056.     function RegisterCategory(var rclsid: GUID; var rcatid: GUID; var rguid: GUID): HResult; stdcall;
  2057.     function UnregisterCategory(var rclsid: GUID; var rcatid: GUID; var rguid: GUID): HResult; stdcall;
  2058.     function EnumCategoriesInItem(var rguid: GUID; out ppenum: IEnumGUID): HResult; stdcall;
  2059.     function EnumItemsInCategory(var rcatid: GUID; out ppenum: IEnumGUID): HResult; stdcall;
  2060.     function FindClosestCategory(var rguid: GUID; out pcatid: GUID; ppcatidList: PPUserType1;
  2061.                                  ulCount: LongWord): HResult; stdcall;
  2062.     function RegisterGUIDDescription(var rclsid: GUID; var rguid: GUID; var pchDesc: Word;
  2063.                                      cch: LongWord): HResult; stdcall;
  2064.     function UnregisterGUIDDescription(var rclsid: GUID; var rguid: GUID): HResult; stdcall;
  2065.     function GetGUIDDescription(var rguid: GUID; out pbstrDesc: WideString): HResult; stdcall;
  2066.     function RegisterGUIDDWORD(var rclsid: GUID; var rguid: GUID; dw: LongWord): HResult; stdcall;
  2067.     function UnregisterGUIDDWORD(var rclsid: GUID; var rguid: GUID): HResult; stdcall;
  2068.     function GetGUIDDWORD(var rguid: GUID; out pdw: LongWord): HResult; stdcall;
  2069.     function RegisterGUID(var rguid: GUID; out pguidatom: TfGuidAtom): HResult; stdcall;
  2070.     function GetGUID(guidatom: TfGuidAtom; out pguid: GUID): HResult; stdcall;
  2071.     function IsEqualTfGuidAtom(guidatom: TfGuidAtom; var rguid: GUID; out pfEqual: Integer): HResult; stdcall;
  2072.   end;
  2073.  
  2074. // *********************************************************************//
  2075. // Interface: ITfSourceSingle
  2076. // Flags:     (0)
  2077. // GUID:      {73131F9C-56A9-49DD-B0EE-D046633F7528}
  2078. // *********************************************************************//
  2079.   ITfSourceSingle = interface(IUnknown)
  2080.     ['{73131F9C-56A9-49DD-B0EE-D046633F7528}']
  2081.     function AdviseSingleSink(tid: TfClientId; var riid: GUID; const punk: IUnknown): HResult; stdcall;
  2082.     function UnadviseSingleSink(tid: TfClientId; var riid: GUID): HResult; stdcall;
  2083.   end;
  2084.  
  2085. // *********************************************************************//
  2086. // Interface: ITfUIElementMgr
  2087. // Flags:     (0)
  2088. // GUID:      {EA1EA135-19DF-11D7-A6D2-00065B84435C}
  2089. // *********************************************************************//
  2090.   ITfUIElementMgr = interface(IUnknown)
  2091.     ['{EA1EA135-19DF-11D7-A6D2-00065B84435C}']
  2092.     function BeginUIElement(const pElement: ITfUIElement; var pbShow: Integer;
  2093.                             out pdwUIElementId: LongWord): HResult; stdcall;
  2094.     function UpdateUIElement(dwUIElementId: LongWord): HResult; stdcall;
  2095.     function EndUIElement(dwUIElementId: LongWord): HResult; stdcall;
  2096.     function GetUIElement(dwUIElementId: LongWord; out ppElement: ITfUIElement): HResult; stdcall;
  2097.     function EnumUIElements(out ppenum: IEnumTfUIElements): HResult; stdcall;
  2098.   end;
  2099.  
  2100. // *********************************************************************//
  2101. // Interface: ITfUIElementSink
  2102. // Flags:     (0)
  2103. // GUID:      {EA1EA136-19DF-11D7-A6D2-00065B84435C}
  2104. // *********************************************************************//
  2105.   ITfUIElementSink = interface(IUnknown)
  2106.     ['{EA1EA136-19DF-11D7-A6D2-00065B84435C}']
  2107.     function BeginUIElement(dwUIElementId: LongWord; var pbShow: Integer): HResult; stdcall;
  2108.     function UpdateUIElement(dwUIElementId: LongWord): HResult; stdcall;
  2109.     function EndUIElement(dwUIElementId: LongWord): HResult; stdcall;
  2110.   end;
  2111.  
  2112. // *********************************************************************//
  2113. // Interface: ITfCandidateListUIElement
  2114. // Flags:     (0)
  2115. // GUID:      {EA1EA138-19DF-11D7-A6D2-00065B84435C}
  2116. // *********************************************************************//
  2117.   ITfCandidateListUIElement = interface(ITfUIElement)
  2118.     ['{EA1EA138-19DF-11D7-A6D2-00065B84435C}']
  2119.     function GetUpdatedFlags(out pdwFlags: LongWord): HResult; stdcall;
  2120.     function GetDocumentMgr(out ppdim: ITfDocumentMgr): HResult; stdcall;
  2121.     function GetCount(out puCount: SYSUINT): HResult; stdcall;
  2122.     function GetSelection(out puIndex: SYSUINT): HResult; stdcall;
  2123.     function GetString(uIndex: SYSUINT; out pstr: WideString): HResult; stdcall;
  2124.     function GetPageIndex(out pIndex: SYSUINT; uSize: SYSUINT; out puPageCnt: SYSUINT): HResult; stdcall;
  2125.     function SetPageIndex(var pIndex: SYSUINT; uPageCnt: SYSUINT): HResult; stdcall;
  2126.     function GetCurrentPage(out puPage: SYSUINT): HResult; stdcall;
  2127.   end;
  2128.  
  2129. // *********************************************************************//
  2130. // Interface: ITfCandidateListUIElementBehavior
  2131. // Flags:     (0)
  2132. // GUID:      {85FAD185-58CE-497A-9460-355366B64B9A}
  2133. // *********************************************************************//
  2134.   ITfCandidateListUIElementBehavior = interface(ITfCandidateListUIElement)
  2135.     ['{85FAD185-58CE-497A-9460-355366B64B9A}']
  2136.     function SetSelection(nIndex: SYSUINT): HResult; stdcall;
  2137.     function Finalize: HResult; stdcall;
  2138.     function Abort: HResult; stdcall;
  2139.   end;
  2140.  
  2141. // *********************************************************************//
  2142. // Interface: ITfReadingInformationUIElement
  2143. // Flags:     (0)
  2144. // GUID:      {EA1EA139-19DF-11D7-A6D2-00065B84435C}
  2145. // *********************************************************************//
  2146.   ITfReadingInformationUIElement = interface(ITfUIElement)
  2147.     ['{EA1EA139-19DF-11D7-A6D2-00065B84435C}']
  2148.     function GetUpdatedFlags(out pdwFlags: LongWord): HResult; stdcall;
  2149.     function GetContext(out ppic: ITfContext): HResult; stdcall;
  2150.     function GetString(out pstr: WideString): HResult; stdcall;
  2151.     function GetMaxReadingStringLength(out pcchMax: SYSUINT): HResult; stdcall;
  2152.     function GetErrorIndex(out pErrorIndex: SYSUINT): HResult; stdcall;
  2153.     function IsVerticalOrderPreferred(out pfVertical: Integer): HResult; stdcall;
  2154.   end;
  2155.  
  2156. // *********************************************************************//
  2157. // Interface: ITfTransitoryExtensionUIElement
  2158. // Flags:     (0)
  2159. // GUID:      {858F956A-972F-42A2-A2F2-0321E1ABE209}
  2160. // *********************************************************************//
  2161.   ITfTransitoryExtensionUIElement = interface(ITfUIElement)
  2162.     ['{858F956A-972F-42A2-A2F2-0321E1ABE209}']
  2163.     function GetDocumentMgr(out ppdim: ITfDocumentMgr): HResult; stdcall;
  2164.   end;
  2165.  
  2166. // *********************************************************************//
  2167. // Interface: ITfTransitoryExtensionSink
  2168. // Flags:     (0)
  2169. // GUID:      {A615096F-1C57-4813-8A15-55EE6E5A839C}
  2170. // *********************************************************************//
  2171.   ITfTransitoryExtensionSink = interface(IUnknown)
  2172.     ['{A615096F-1C57-4813-8A15-55EE6E5A839C}']
  2173.     function OnTransitoryExtensionUpdated(const pic: ITfContext; ecReadOnly: TfEditCookie;
  2174.                                           const pResultRange: ITfRange;
  2175.                                           const pCompositionRange: ITfRange;
  2176.                                           out pfDeleteResultRange: Integer): HResult; stdcall;
  2177.   end;
  2178.  
  2179. // *********************************************************************//
  2180. // Interface: ITfToolTipUIElement
  2181. // Flags:     (0)
  2182. // GUID:      {52B18B5C-555D-46B2-B00A-FA680144FBDB}
  2183. // *********************************************************************//
  2184.   ITfToolTipUIElement = interface(ITfUIElement)
  2185.     ['{52B18B5C-555D-46B2-B00A-FA680144FBDB}']
  2186.     function GetString(out pstr: WideString): HResult; stdcall;
  2187.   end;
  2188.  
  2189. // *********************************************************************//
  2190. // Interface: ITfReverseConversionList
  2191. // Flags:     (0)
  2192. // GUID:      {151D69F0-86F4-4674-B721-56911E797F47}
  2193. // *********************************************************************//
  2194.   ITfReverseConversionList = interface(IUnknown)
  2195.     ['{151D69F0-86F4-4674-B721-56911E797F47}']
  2196.     function GetLength(out puIndex: SYSUINT): HResult; stdcall;
  2197.     function GetString(uIndex: SYSUINT; out pbstr: WideString): HResult; stdcall;
  2198.   end;
  2199.  
  2200. // *********************************************************************//
  2201. // Interface: ITfReverseConversion
  2202. // Flags:     (0)
  2203. // GUID:      {A415E162-157D-417D-8A8C-0AB26C7D2781}
  2204. // *********************************************************************//
  2205.   ITfReverseConversion = interface(IUnknown)
  2206.     ['{A415E162-157D-417D-8A8C-0AB26C7D2781}']
  2207.     function DoReverseConversion(lpstr: PWideChar; out ppList: ITfReverseConversionList): HResult; stdcall;
  2208.   end;
  2209.  
  2210. // *********************************************************************//
  2211. // Interface: ITfReverseConversionMgr
  2212. // Flags:     (0)
  2213. // GUID:      {B643C236-C493-41B6-ABB3-692412775CC4}
  2214. // *********************************************************************//
  2215.   ITfReverseConversionMgr = interface(IUnknown)
  2216.     ['{B643C236-C493-41B6-ABB3-692412775CC4}']
  2217.     function GetReverseConversion(langid: Word; var guidProfile: GUID; dwflag: LongWord;
  2218.                                   out ppReverseConversion: ITfReverseConversion): HResult; stdcall;
  2219.   end;
  2220.  
  2221. implementation
  2222.  
  2223. uses System.Win.ComObj;
  2224.  
  2225. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement