TextStor.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:92k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for textstor.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __textstor_h__
  27. #define __textstor_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ITextStoreACP_FWD_DEFINED__
  33. #define __ITextStoreACP_FWD_DEFINED__
  34. typedef interface ITextStoreACP ITextStoreACP;
  35. #endif  /* __ITextStoreACP_FWD_DEFINED__ */
  36. #ifndef __ITextStoreACPSink_FWD_DEFINED__
  37. #define __ITextStoreACPSink_FWD_DEFINED__
  38. typedef interface ITextStoreACPSink ITextStoreACPSink;
  39. #endif  /* __ITextStoreACPSink_FWD_DEFINED__ */
  40. #ifndef __IAnchor_FWD_DEFINED__
  41. #define __IAnchor_FWD_DEFINED__
  42. typedef interface IAnchor IAnchor;
  43. #endif  /* __IAnchor_FWD_DEFINED__ */
  44. #ifndef __ITextStoreAnchor_FWD_DEFINED__
  45. #define __ITextStoreAnchor_FWD_DEFINED__
  46. typedef interface ITextStoreAnchor ITextStoreAnchor;
  47. #endif  /* __ITextStoreAnchor_FWD_DEFINED__ */
  48. #ifndef __ITextStoreAnchorSink_FWD_DEFINED__
  49. #define __ITextStoreAnchorSink_FWD_DEFINED__
  50. typedef interface ITextStoreAnchorSink ITextStoreAnchorSink;
  51. #endif  /* __ITextStoreAnchorSink_FWD_DEFINED__ */
  52. /* header files for imported files */
  53. #include "oaidl.h"
  54. #ifdef __cplusplus
  55. extern "C"{
  56. #endif 
  57. void * __RPC_USER MIDL_user_allocate(size_t);
  58. void __RPC_USER MIDL_user_free( void * ); 
  59. /* interface __MIDL_itf_textstor_0000 */
  60. /* [local] */ 
  61. DEFINE_GUID (GUID_TS_SERVICE_DATAOBJECT, 0x6086fbb5, 0xe225, 0x46ce, 0xa7, 0x70, 0xc1, 0xbb, 0xd3, 0xe0, 0x5d, 0x7b);
  62. DEFINE_GUID (GUID_TS_SERVICE_ACCESSIBLE, 0xf9786200, 0xa5bf, 0x4a0f, 0x8c, 0x24, 0xfb, 0x16, 0xf5, 0xd1, 0xaa, 0xbb);
  63. DEFINE_GUID (GUID_TS_SERVICE_ACTIVEX,    0xea937a50, 0xc9a6, 0x4b7d, 0x89, 0x4a, 0x49, 0xd9, 0x9b, 0x78, 0x48, 0x34);
  64. #define TS_E_INVALIDPOS      MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200)
  65. #define TS_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)
  66. #define TS_E_NOOBJECT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202)
  67. #define TS_E_NOSERVICE       MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0203)
  68. #define TS_E_NOINTERFACE     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0204)
  69. #define TS_E_NOSELECTION     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0205)
  70. #define TS_E_NOLAYOUT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0206)
  71. #define TS_E_INVALIDPOINT    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0207)
  72. #define TS_E_SYNCHRONOUS     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0208)
  73. #define TS_E_READONLY        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209)
  74. #define TS_E_FORMAT          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x020a)
  75. #define TS_S_ASYNC           MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0300)
  76. #define TS_AS_TEXT_CHANGE ( 0x1 )
  77. #define TS_AS_SEL_CHANGE ( 0x2 )
  78. #define TS_AS_LAYOUT_CHANGE ( 0x4 )
  79. #define TS_AS_ATTR_CHANGE ( 0x8 )
  80. #define TS_AS_STATUS_CHANGE ( 0x10 )
  81. #define TS_AS_ALL_SINKS ( TS_AS_TEXT_CHANGE | TS_AS_SEL_CHANGE | TS_AS_LAYOUT_CHANGE | TS_AS_ATTR_CHANGE | TS_AS_STATUS_CHANGE )
  82. #define TS_LF_SYNC ( 0x1 )
  83. #define TS_LF_READ ( 0x2 )
  84. #define TS_LF_READWRITE ( 0x6 )
  85. #define TS_SD_READONLY ( 0x1 )
  86. #define TS_SD_LOADING ( 0x2 )
  87. #define TS_SS_DISJOINTSEL ( 0x1 )
  88. #define TS_SS_REGIONS ( 0x2 )
  89. #define TS_SS_TRANSITORY ( 0x4 )
  90. #define TS_SS_NOHIDDENTEXT ( 0x8 )
  91. #define TS_SD_MASKALL ( TS_SD_READONLY | TS_SD_LOADING )
  92. #define TS_ST_CORRECTION ( 0x1 )
  93. #define TS_IE_CORRECTION ( 0x1 )
  94. #define TS_IE_COMPOSITION ( 0x2 )
  95. #define TS_TC_CORRECTION ( 0x1 )
  96. #define TS_IAS_NOQUERY ( 0x1 )
  97. #define TS_IAS_QUERYONLY ( 0x2 )
  98. typedef /* [uuid] */  DECLSPEC_UUID("fec4f516-c503-45b1-a5fd-7a3d8ab07049") struct TS_STATUS
  99.     {
  100.     DWORD dwDynamicFlags;
  101.     DWORD dwStaticFlags;
  102.     }  TS_STATUS;
  103. typedef /* [uuid] */  DECLSPEC_UUID("f3181bd6-bcf0-41d3-a81c-474b17ec38fb") struct TS_TEXTCHANGE
  104.     {
  105.     LONG acpStart;
  106.     LONG acpOldEnd;
  107.     LONG acpNewEnd;
  108.     }  TS_TEXTCHANGE;
  109. typedef /* [public][public][public][public][public][public][public][public][uuid] */  DECLSPEC_UUID("05fcf85b-5e9c-4c3e-ab71-29471d4f38e7") 
  110. enum __MIDL___MIDL_itf_textstor_0000_0001
  111.     { TS_AE_NONE = 0,
  112. TS_AE_START = 1,
  113. TS_AE_END = 2
  114.     }  TsActiveSelEnd;
  115. typedef /* [uuid] */  DECLSPEC_UUID("7ecc3ffa-8f73-4d91-98ed-76f8ac5b1600") struct TS_SELECTIONSTYLE
  116.     {
  117.     TsActiveSelEnd ase;
  118.     BOOL fInterimChar;
  119.     }  TS_SELECTIONSTYLE;
  120. typedef /* [uuid] */  DECLSPEC_UUID("c4b9c33b-8a0d-4426-bebe-d444a4701fe9") struct TS_SELECTION_ACP
  121.     {
  122.     LONG acpStart;
  123.     LONG acpEnd;
  124.     TS_SELECTIONSTYLE style;
  125.     }  TS_SELECTION_ACP;
  126. typedef /* [uuid] */  DECLSPEC_UUID("b03413d2-0723-4c4e-9e08-2e9c1ff3772b") struct TS_SELECTION_ANCHOR
  127.     {
  128.     IAnchor *paStart;
  129.     IAnchor *paEnd;
  130.     TS_SELECTIONSTYLE style;
  131.     }  TS_SELECTION_ANCHOR;
  132. #define TS_DEFAULT_SELECTION ( ( ULONG  )-1 )
  133. #define GXFPF_ROUND_NEAREST ( 0x1 )
  134. #define GXFPF_NEAREST ( 0x2 )
  135. #define TS_CHAR_EMBEDDED ( 0xfffc )
  136. #define TS_CHAR_REGION ( 0 )
  137. #define TS_CHAR_REPLACEMENT ( 0xfffd )
  138. typedef /* [uuid] */  DECLSPEC_UUID("ef3457d9-8446-49a7-a9e6-b50d9d5f3fd9") GUID TS_ATTRID;
  139. typedef /* [uuid] */  DECLSPEC_UUID("2cc2b33f-1174-4507-b8d9-5bc0eb37c197") struct TS_ATTRVAL
  140.     {
  141.     TS_ATTRID idAttr;
  142.     DWORD dwOverlapId;
  143.     VARIANT varValue;
  144.     }  TS_ATTRVAL;
  145. #define TS_ATTR_FIND_BACKWARDS ( 0x1 )
  146. #define TS_ATTR_FIND_WANT_OFFSET ( 0x2 )
  147. #define TS_ATTR_FIND_UPDATESTART ( 0x4 )
  148. #define TS_ATTR_FIND_WANT_VALUE ( 0x8 )
  149. #define TS_ATTR_FIND_WANT_END ( 0x10 )
  150. #define TS_ATTR_FIND_HIDDEN ( 0x20 )
  151. typedef /* [uuid] */  DECLSPEC_UUID("1faf509e-44c1-458e-950a-38a96705a62b") DWORD TsViewCookie;
  152. #define TS_VCOOKIE_NUL ( 0xffffffff )
  153. typedef /* [public][public][public][uuid] */  DECLSPEC_UUID("7899d7c4-5f07-493c-a89a-fac8e777f476") 
  154. enum __MIDL___MIDL_itf_textstor_0000_0002
  155.     { TS_LC_CREATE = 0,
  156. TS_LC_CHANGE = 1,
  157. TS_LC_DESTROY = 2
  158.     }  TsLayoutCode;
  159. typedef /* [public][public][public][uuid] */  DECLSPEC_UUID("033b0df0-f193-4170-b47b-141afc247878") 
  160. enum __MIDL___MIDL_itf_textstor_0000_0003
  161.     { TS_RT_PLAIN = 0,
  162. TS_RT_HIDDEN = TS_RT_PLAIN + 1,
  163. TS_RT_OPAQUE = TS_RT_HIDDEN + 1
  164.     }  TsRunType;
  165. typedef /* [uuid] */  DECLSPEC_UUID("a6231949-37c5-4b74-a24e-2a26c327201d") struct TS_RUNINFO
  166.     {
  167.     ULONG uCount;
  168.     TsRunType type;
  169.     }  TS_RUNINFO;
  170. extern RPC_IF_HANDLE __MIDL_itf_textstor_0000_v0_0_c_ifspec;
  171. extern RPC_IF_HANDLE __MIDL_itf_textstor_0000_v0_0_s_ifspec;
  172. #ifndef __ITextStoreACP_INTERFACE_DEFINED__
  173. #define __ITextStoreACP_INTERFACE_DEFINED__
  174. /* interface ITextStoreACP */
  175. /* [unique][uuid][object] */ 
  176. EXTERN_C const IID IID_ITextStoreACP;
  177. #if defined(__cplusplus) && !defined(CINTERFACE)
  178.     
  179.     MIDL_INTERFACE("28888fe3-c2a0-483a-a3ea-8cb1ce51ff3d")
  180.     ITextStoreACP : public IUnknown
  181.     {
  182.     public:
  183.         virtual HRESULT STDMETHODCALLTYPE AdviseSink( 
  184.             /* [in] */ REFIID riid,
  185.             /* [iid_is][in] */ IUnknown *punk,
  186.             /* [in] */ DWORD dwMask) = 0;
  187.         
  188.         virtual HRESULT STDMETHODCALLTYPE UnadviseSink( 
  189.             /* [in] */ IUnknown *punk) = 0;
  190.         
  191.         virtual HRESULT STDMETHODCALLTYPE RequestLock( 
  192.             /* [in] */ DWORD dwLockFlags,
  193.             /* [out] */ HRESULT *phrSession) = 0;
  194.         
  195.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  196.             /* [out] */ TS_STATUS *pdcs) = 0;
  197.         
  198.         virtual HRESULT STDMETHODCALLTYPE QueryInsert( 
  199.             /* [in] */ LONG acpTestStart,
  200.             /* [in] */ LONG acpTestEnd,
  201.             /* [in] */ ULONG cch,
  202.             /* [out] */ LONG *pacpResultStart,
  203.             /* [out] */ LONG *pacpResultEnd) = 0;
  204.         
  205.         virtual HRESULT STDMETHODCALLTYPE GetSelection( 
  206.             /* [in] */ ULONG ulIndex,
  207.             /* [in] */ ULONG ulCount,
  208.             /* [length_is][size_is][out] */ TS_SELECTION_ACP *pSelection,
  209.             /* [out] */ ULONG *pcFetched) = 0;
  210.         
  211.         virtual HRESULT STDMETHODCALLTYPE SetSelection( 
  212.             /* [in] */ ULONG ulCount,
  213.             /* [size_is][in] */ const TS_SELECTION_ACP *pSelection) = 0;
  214.         
  215.         virtual HRESULT STDMETHODCALLTYPE GetText( 
  216.             /* [in] */ LONG acpStart,
  217.             /* [in] */ LONG acpEnd,
  218.             /* [length_is][size_is][out] */ WCHAR *pchPlain,
  219.             /* [in] */ ULONG cchPlainReq,
  220.             /* [out] */ ULONG *pcchPlainRet,
  221.             /* [length_is][size_is][out] */ TS_RUNINFO *prgRunInfo,
  222.             /* [in] */ ULONG cRunInfoReq,
  223.             /* [out] */ ULONG *pcRunInfoRet,
  224.             /* [out] */ LONG *pacpNext) = 0;
  225.         
  226.         virtual HRESULT STDMETHODCALLTYPE SetText( 
  227.             /* [in] */ DWORD dwFlags,
  228.             /* [in] */ LONG acpStart,
  229.             /* [in] */ LONG acpEnd,
  230.             /* [size_is][in] */ const WCHAR *pchText,
  231.             /* [in] */ ULONG cch,
  232.             /* [out] */ TS_TEXTCHANGE *pChange) = 0;
  233.         
  234.         virtual HRESULT STDMETHODCALLTYPE GetFormattedText( 
  235.             /* [in] */ LONG acpStart,
  236.             /* [in] */ LONG acpEnd,
  237.             /* [out] */ IDataObject **ppDataObject) = 0;
  238.         
  239.         virtual HRESULT STDMETHODCALLTYPE GetEmbedded( 
  240.             /* [in] */ LONG acpPos,
  241.             /* [in] */ REFGUID rguidService,
  242.             /* [in] */ REFIID riid,
  243.             /* [iid_is][out] */ IUnknown **ppunk) = 0;
  244.         
  245.         virtual HRESULT STDMETHODCALLTYPE QueryInsertEmbedded( 
  246.             /* [in] */ const GUID *pguidService,
  247.             /* [in] */ const FORMATETC *pFormatEtc,
  248.             /* [out] */ BOOL *pfInsertable) = 0;
  249.         
  250.         virtual HRESULT STDMETHODCALLTYPE InsertEmbedded( 
  251.             /* [in] */ DWORD dwFlags,
  252.             /* [in] */ LONG acpStart,
  253.             /* [in] */ LONG acpEnd,
  254.             /* [in] */ IDataObject *pDataObject,
  255.             /* [out] */ TS_TEXTCHANGE *pChange) = 0;
  256.         
  257.         virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection( 
  258.             /* [in] */ DWORD dwFlags,
  259.             /* [size_is][in] */ const WCHAR *pchText,
  260.             /* [in] */ ULONG cch,
  261.             /* [out] */ LONG *pacpStart,
  262.             /* [out] */ LONG *pacpEnd,
  263.             /* [out] */ TS_TEXTCHANGE *pChange) = 0;
  264.         
  265.         virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection( 
  266.             /* [in] */ DWORD dwFlags,
  267.             /* [in] */ IDataObject *pDataObject,
  268.             /* [out] */ LONG *pacpStart,
  269.             /* [out] */ LONG *pacpEnd,
  270.             /* [out] */ TS_TEXTCHANGE *pChange) = 0;
  271.         
  272.         virtual HRESULT STDMETHODCALLTYPE RequestSupportedAttrs( 
  273.             /* [in] */ DWORD dwFlags,
  274.             /* [in] */ ULONG cFilterAttrs,
  275.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs) = 0;
  276.         
  277.         virtual HRESULT STDMETHODCALLTYPE RequestAttrsAtPosition( 
  278.             /* [in] */ LONG acpPos,
  279.             /* [in] */ ULONG cFilterAttrs,
  280.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  281.             /* [in] */ DWORD dwFlags) = 0;
  282.         
  283.         virtual HRESULT STDMETHODCALLTYPE RequestAttrsTransitioningAtPosition( 
  284.             /* [in] */ LONG acpPos,
  285.             /* [in] */ ULONG cFilterAttrs,
  286.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  287.             /* [in] */ DWORD dwFlags) = 0;
  288.         
  289.         virtual HRESULT STDMETHODCALLTYPE FindNextAttrTransition( 
  290.             /* [in] */ LONG acpStart,
  291.             /* [in] */ LONG acpHalt,
  292.             /* [in] */ ULONG cFilterAttrs,
  293.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  294.             /* [in] */ DWORD dwFlags,
  295.             /* [out] */ LONG *pacpNext,
  296.             /* [out] */ BOOL *pfFound,
  297.             /* [out] */ LONG *plFoundOffset) = 0;
  298.         
  299.         virtual HRESULT STDMETHODCALLTYPE RetrieveRequestedAttrs( 
  300.             /* [in] */ ULONG ulCount,
  301.             /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  302.             /* [out] */ ULONG *pcFetched) = 0;
  303.         
  304.         virtual HRESULT STDMETHODCALLTYPE GetEndACP( 
  305.             /* [out] */ LONG *pacp) = 0;
  306.         
  307.         virtual HRESULT STDMETHODCALLTYPE GetActiveView( 
  308.             /* [out] */ TsViewCookie *pvcView) = 0;
  309.         
  310.         virtual HRESULT STDMETHODCALLTYPE GetACPFromPoint( 
  311.             /* [in] */ TsViewCookie vcView,
  312.             /* [in] */ const POINT *ptScreen,
  313.             /* [in] */ DWORD dwFlags,
  314.             /* [out] */ LONG *pacp) = 0;
  315.         
  316.         virtual HRESULT STDMETHODCALLTYPE GetTextExt( 
  317.             /* [in] */ TsViewCookie vcView,
  318.             /* [in] */ LONG acpStart,
  319.             /* [in] */ LONG acpEnd,
  320.             /* [out] */ RECT *prc,
  321.             /* [out] */ BOOL *pfClipped) = 0;
  322.         
  323.         virtual HRESULT STDMETHODCALLTYPE GetScreenExt( 
  324.             /* [in] */ TsViewCookie vcView,
  325.             /* [out] */ RECT *prc) = 0;
  326.         
  327.         virtual HRESULT STDMETHODCALLTYPE GetWnd( 
  328.             /* [in] */ TsViewCookie vcView,
  329.             /* [out] */ HWND *phwnd) = 0;
  330.         
  331.     };
  332.     
  333. #else  /* C style interface */
  334.     typedef struct ITextStoreACPVtbl
  335.     {
  336.         BEGIN_INTERFACE
  337.         
  338.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  339.             ITextStoreACP * This,
  340.             /* [in] */ REFIID riid,
  341.             /* [iid_is][out] */ void **ppvObject);
  342.         
  343.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  344.             ITextStoreACP * This);
  345.         
  346.         ULONG ( STDMETHODCALLTYPE *Release )( 
  347.             ITextStoreACP * This);
  348.         
  349.         HRESULT ( STDMETHODCALLTYPE *AdviseSink )( 
  350.             ITextStoreACP * This,
  351.             /* [in] */ REFIID riid,
  352.             /* [iid_is][in] */ IUnknown *punk,
  353.             /* [in] */ DWORD dwMask);
  354.         
  355.         HRESULT ( STDMETHODCALLTYPE *UnadviseSink )( 
  356.             ITextStoreACP * This,
  357.             /* [in] */ IUnknown *punk);
  358.         
  359.         HRESULT ( STDMETHODCALLTYPE *RequestLock )( 
  360.             ITextStoreACP * This,
  361.             /* [in] */ DWORD dwLockFlags,
  362.             /* [out] */ HRESULT *phrSession);
  363.         
  364.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  365.             ITextStoreACP * This,
  366.             /* [out] */ TS_STATUS *pdcs);
  367.         
  368.         HRESULT ( STDMETHODCALLTYPE *QueryInsert )( 
  369.             ITextStoreACP * This,
  370.             /* [in] */ LONG acpTestStart,
  371.             /* [in] */ LONG acpTestEnd,
  372.             /* [in] */ ULONG cch,
  373.             /* [out] */ LONG *pacpResultStart,
  374.             /* [out] */ LONG *pacpResultEnd);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
  377.             ITextStoreACP * This,
  378.             /* [in] */ ULONG ulIndex,
  379.             /* [in] */ ULONG ulCount,
  380.             /* [length_is][size_is][out] */ TS_SELECTION_ACP *pSelection,
  381.             /* [out] */ ULONG *pcFetched);
  382.         
  383.         HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
  384.             ITextStoreACP * This,
  385.             /* [in] */ ULONG ulCount,
  386.             /* [size_is][in] */ const TS_SELECTION_ACP *pSelection);
  387.         
  388.         HRESULT ( STDMETHODCALLTYPE *GetText )( 
  389.             ITextStoreACP * This,
  390.             /* [in] */ LONG acpStart,
  391.             /* [in] */ LONG acpEnd,
  392.             /* [length_is][size_is][out] */ WCHAR *pchPlain,
  393.             /* [in] */ ULONG cchPlainReq,
  394.             /* [out] */ ULONG *pcchPlainRet,
  395.             /* [length_is][size_is][out] */ TS_RUNINFO *prgRunInfo,
  396.             /* [in] */ ULONG cRunInfoReq,
  397.             /* [out] */ ULONG *pcRunInfoRet,
  398.             /* [out] */ LONG *pacpNext);
  399.         
  400.         HRESULT ( STDMETHODCALLTYPE *SetText )( 
  401.             ITextStoreACP * This,
  402.             /* [in] */ DWORD dwFlags,
  403.             /* [in] */ LONG acpStart,
  404.             /* [in] */ LONG acpEnd,
  405.             /* [size_is][in] */ const WCHAR *pchText,
  406.             /* [in] */ ULONG cch,
  407.             /* [out] */ TS_TEXTCHANGE *pChange);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *GetFormattedText )( 
  410.             ITextStoreACP * This,
  411.             /* [in] */ LONG acpStart,
  412.             /* [in] */ LONG acpEnd,
  413.             /* [out] */ IDataObject **ppDataObject);
  414.         
  415.         HRESULT ( STDMETHODCALLTYPE *GetEmbedded )( 
  416.             ITextStoreACP * This,
  417.             /* [in] */ LONG acpPos,
  418.             /* [in] */ REFGUID rguidService,
  419.             /* [in] */ REFIID riid,
  420.             /* [iid_is][out] */ IUnknown **ppunk);
  421.         
  422.         HRESULT ( STDMETHODCALLTYPE *QueryInsertEmbedded )( 
  423.             ITextStoreACP * This,
  424.             /* [in] */ const GUID *pguidService,
  425.             /* [in] */ const FORMATETC *pFormatEtc,
  426.             /* [out] */ BOOL *pfInsertable);
  427.         
  428.         HRESULT ( STDMETHODCALLTYPE *InsertEmbedded )( 
  429.             ITextStoreACP * This,
  430.             /* [in] */ DWORD dwFlags,
  431.             /* [in] */ LONG acpStart,
  432.             /* [in] */ LONG acpEnd,
  433.             /* [in] */ IDataObject *pDataObject,
  434.             /* [out] */ TS_TEXTCHANGE *pChange);
  435.         
  436.         HRESULT ( STDMETHODCALLTYPE *InsertTextAtSelection )( 
  437.             ITextStoreACP * This,
  438.             /* [in] */ DWORD dwFlags,
  439.             /* [size_is][in] */ const WCHAR *pchText,
  440.             /* [in] */ ULONG cch,
  441.             /* [out] */ LONG *pacpStart,
  442.             /* [out] */ LONG *pacpEnd,
  443.             /* [out] */ TS_TEXTCHANGE *pChange);
  444.         
  445.         HRESULT ( STDMETHODCALLTYPE *InsertEmbeddedAtSelection )( 
  446.             ITextStoreACP * This,
  447.             /* [in] */ DWORD dwFlags,
  448.             /* [in] */ IDataObject *pDataObject,
  449.             /* [out] */ LONG *pacpStart,
  450.             /* [out] */ LONG *pacpEnd,
  451.             /* [out] */ TS_TEXTCHANGE *pChange);
  452.         
  453.         HRESULT ( STDMETHODCALLTYPE *RequestSupportedAttrs )( 
  454.             ITextStoreACP * This,
  455.             /* [in] */ DWORD dwFlags,
  456.             /* [in] */ ULONG cFilterAttrs,
  457.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs);
  458.         
  459.         HRESULT ( STDMETHODCALLTYPE *RequestAttrsAtPosition )( 
  460.             ITextStoreACP * This,
  461.             /* [in] */ LONG acpPos,
  462.             /* [in] */ ULONG cFilterAttrs,
  463.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  464.             /* [in] */ DWORD dwFlags);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE *RequestAttrsTransitioningAtPosition )( 
  467.             ITextStoreACP * This,
  468.             /* [in] */ LONG acpPos,
  469.             /* [in] */ ULONG cFilterAttrs,
  470.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  471.             /* [in] */ DWORD dwFlags);
  472.         
  473.         HRESULT ( STDMETHODCALLTYPE *FindNextAttrTransition )( 
  474.             ITextStoreACP * This,
  475.             /* [in] */ LONG acpStart,
  476.             /* [in] */ LONG acpHalt,
  477.             /* [in] */ ULONG cFilterAttrs,
  478.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  479.             /* [in] */ DWORD dwFlags,
  480.             /* [out] */ LONG *pacpNext,
  481.             /* [out] */ BOOL *pfFound,
  482.             /* [out] */ LONG *plFoundOffset);
  483.         
  484.         HRESULT ( STDMETHODCALLTYPE *RetrieveRequestedAttrs )( 
  485.             ITextStoreACP * This,
  486.             /* [in] */ ULONG ulCount,
  487.             /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  488.             /* [out] */ ULONG *pcFetched);
  489.         
  490.         HRESULT ( STDMETHODCALLTYPE *GetEndACP )( 
  491.             ITextStoreACP * This,
  492.             /* [out] */ LONG *pacp);
  493.         
  494.         HRESULT ( STDMETHODCALLTYPE *GetActiveView )( 
  495.             ITextStoreACP * This,
  496.             /* [out] */ TsViewCookie *pvcView);
  497.         
  498.         HRESULT ( STDMETHODCALLTYPE *GetACPFromPoint )( 
  499.             ITextStoreACP * This,
  500.             /* [in] */ TsViewCookie vcView,
  501.             /* [in] */ const POINT *ptScreen,
  502.             /* [in] */ DWORD dwFlags,
  503.             /* [out] */ LONG *pacp);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE *GetTextExt )( 
  506.             ITextStoreACP * This,
  507.             /* [in] */ TsViewCookie vcView,
  508.             /* [in] */ LONG acpStart,
  509.             /* [in] */ LONG acpEnd,
  510.             /* [out] */ RECT *prc,
  511.             /* [out] */ BOOL *pfClipped);
  512.         
  513.         HRESULT ( STDMETHODCALLTYPE *GetScreenExt )( 
  514.             ITextStoreACP * This,
  515.             /* [in] */ TsViewCookie vcView,
  516.             /* [out] */ RECT *prc);
  517.         
  518.         HRESULT ( STDMETHODCALLTYPE *GetWnd )( 
  519.             ITextStoreACP * This,
  520.             /* [in] */ TsViewCookie vcView,
  521.             /* [out] */ HWND *phwnd);
  522.         
  523.         END_INTERFACE
  524.     } ITextStoreACPVtbl;
  525.     interface ITextStoreACP
  526.     {
  527.         CONST_VTBL struct ITextStoreACPVtbl *lpVtbl;
  528.     };
  529.     
  530. #ifdef COBJMACROS
  531. #define ITextStoreACP_QueryInterface(This,riid,ppvObject)
  532.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  533. #define ITextStoreACP_AddRef(This)
  534.     (This)->lpVtbl -> AddRef(This)
  535. #define ITextStoreACP_Release(This)
  536.     (This)->lpVtbl -> Release(This)
  537. #define ITextStoreACP_AdviseSink(This,riid,punk,dwMask)
  538.     (This)->lpVtbl -> AdviseSink(This,riid,punk,dwMask)
  539. #define ITextStoreACP_UnadviseSink(This,punk)
  540.     (This)->lpVtbl -> UnadviseSink(This,punk)
  541. #define ITextStoreACP_RequestLock(This,dwLockFlags,phrSession)
  542.     (This)->lpVtbl -> RequestLock(This,dwLockFlags,phrSession)
  543. #define ITextStoreACP_GetStatus(This,pdcs)
  544.     (This)->lpVtbl -> GetStatus(This,pdcs)
  545. #define ITextStoreACP_QueryInsert(This,acpTestStart,acpTestEnd,cch,pacpResultStart,pacpResultEnd)
  546.     (This)->lpVtbl -> QueryInsert(This,acpTestStart,acpTestEnd,cch,pacpResultStart,pacpResultEnd)
  547. #define ITextStoreACP_GetSelection(This,ulIndex,ulCount,pSelection,pcFetched)
  548.     (This)->lpVtbl -> GetSelection(This,ulIndex,ulCount,pSelection,pcFetched)
  549. #define ITextStoreACP_SetSelection(This,ulCount,pSelection)
  550.     (This)->lpVtbl -> SetSelection(This,ulCount,pSelection)
  551. #define ITextStoreACP_GetText(This,acpStart,acpEnd,pchPlain,cchPlainReq,pcchPlainRet,prgRunInfo,cRunInfoReq,pcRunInfoRet,pacpNext)
  552.     (This)->lpVtbl -> GetText(This,acpStart,acpEnd,pchPlain,cchPlainReq,pcchPlainRet,prgRunInfo,cRunInfoReq,pcRunInfoRet,pacpNext)
  553. #define ITextStoreACP_SetText(This,dwFlags,acpStart,acpEnd,pchText,cch,pChange)
  554.     (This)->lpVtbl -> SetText(This,dwFlags,acpStart,acpEnd,pchText,cch,pChange)
  555. #define ITextStoreACP_GetFormattedText(This,acpStart,acpEnd,ppDataObject)
  556.     (This)->lpVtbl -> GetFormattedText(This,acpStart,acpEnd,ppDataObject)
  557. #define ITextStoreACP_GetEmbedded(This,acpPos,rguidService,riid,ppunk)
  558.     (This)->lpVtbl -> GetEmbedded(This,acpPos,rguidService,riid,ppunk)
  559. #define ITextStoreACP_QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  560.     (This)->lpVtbl -> QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  561. #define ITextStoreACP_InsertEmbedded(This,dwFlags,acpStart,acpEnd,pDataObject,pChange)
  562.     (This)->lpVtbl -> InsertEmbedded(This,dwFlags,acpStart,acpEnd,pDataObject,pChange)
  563. #define ITextStoreACP_InsertTextAtSelection(This,dwFlags,pchText,cch,pacpStart,pacpEnd,pChange)
  564.     (This)->lpVtbl -> InsertTextAtSelection(This,dwFlags,pchText,cch,pacpStart,pacpEnd,pChange)
  565. #define ITextStoreACP_InsertEmbeddedAtSelection(This,dwFlags,pDataObject,pacpStart,pacpEnd,pChange)
  566.     (This)->lpVtbl -> InsertEmbeddedAtSelection(This,dwFlags,pDataObject,pacpStart,pacpEnd,pChange)
  567. #define ITextStoreACP_RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs)
  568.     (This)->lpVtbl -> RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs)
  569. #define ITextStoreACP_RequestAttrsAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags)
  570.     (This)->lpVtbl -> RequestAttrsAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags)
  571. #define ITextStoreACP_RequestAttrsTransitioningAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags)
  572.     (This)->lpVtbl -> RequestAttrsTransitioningAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags)
  573. #define ITextStoreACP_FindNextAttrTransition(This,acpStart,acpHalt,cFilterAttrs,paFilterAttrs,dwFlags,pacpNext,pfFound,plFoundOffset)
  574.     (This)->lpVtbl -> FindNextAttrTransition(This,acpStart,acpHalt,cFilterAttrs,paFilterAttrs,dwFlags,pacpNext,pfFound,plFoundOffset)
  575. #define ITextStoreACP_RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched)
  576.     (This)->lpVtbl -> RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched)
  577. #define ITextStoreACP_GetEndACP(This,pacp)
  578.     (This)->lpVtbl -> GetEndACP(This,pacp)
  579. #define ITextStoreACP_GetActiveView(This,pvcView)
  580.     (This)->lpVtbl -> GetActiveView(This,pvcView)
  581. #define ITextStoreACP_GetACPFromPoint(This,vcView,ptScreen,dwFlags,pacp)
  582.     (This)->lpVtbl -> GetACPFromPoint(This,vcView,ptScreen,dwFlags,pacp)
  583. #define ITextStoreACP_GetTextExt(This,vcView,acpStart,acpEnd,prc,pfClipped)
  584.     (This)->lpVtbl -> GetTextExt(This,vcView,acpStart,acpEnd,prc,pfClipped)
  585. #define ITextStoreACP_GetScreenExt(This,vcView,prc)
  586.     (This)->lpVtbl -> GetScreenExt(This,vcView,prc)
  587. #define ITextStoreACP_GetWnd(This,vcView,phwnd)
  588.     (This)->lpVtbl -> GetWnd(This,vcView,phwnd)
  589. #endif /* COBJMACROS */
  590. #endif  /* C style interface */
  591. HRESULT STDMETHODCALLTYPE ITextStoreACP_AdviseSink_Proxy( 
  592.     ITextStoreACP * This,
  593.     /* [in] */ REFIID riid,
  594.     /* [iid_is][in] */ IUnknown *punk,
  595.     /* [in] */ DWORD dwMask);
  596. void __RPC_STUB ITextStoreACP_AdviseSink_Stub(
  597.     IRpcStubBuffer *This,
  598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  599.     PRPC_MESSAGE _pRpcMessage,
  600.     DWORD *_pdwStubPhase);
  601. HRESULT STDMETHODCALLTYPE ITextStoreACP_UnadviseSink_Proxy( 
  602.     ITextStoreACP * This,
  603.     /* [in] */ IUnknown *punk);
  604. void __RPC_STUB ITextStoreACP_UnadviseSink_Stub(
  605.     IRpcStubBuffer *This,
  606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  607.     PRPC_MESSAGE _pRpcMessage,
  608.     DWORD *_pdwStubPhase);
  609. HRESULT STDMETHODCALLTYPE ITextStoreACP_RequestLock_Proxy( 
  610.     ITextStoreACP * This,
  611.     /* [in] */ DWORD dwLockFlags,
  612.     /* [out] */ HRESULT *phrSession);
  613. void __RPC_STUB ITextStoreACP_RequestLock_Stub(
  614.     IRpcStubBuffer *This,
  615.     IRpcChannelBuffer *_pRpcChannelBuffer,
  616.     PRPC_MESSAGE _pRpcMessage,
  617.     DWORD *_pdwStubPhase);
  618. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetStatus_Proxy( 
  619.     ITextStoreACP * This,
  620.     /* [out] */ TS_STATUS *pdcs);
  621. void __RPC_STUB ITextStoreACP_GetStatus_Stub(
  622.     IRpcStubBuffer *This,
  623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  624.     PRPC_MESSAGE _pRpcMessage,
  625.     DWORD *_pdwStubPhase);
  626. HRESULT STDMETHODCALLTYPE ITextStoreACP_QueryInsert_Proxy( 
  627.     ITextStoreACP * This,
  628.     /* [in] */ LONG acpTestStart,
  629.     /* [in] */ LONG acpTestEnd,
  630.     /* [in] */ ULONG cch,
  631.     /* [out] */ LONG *pacpResultStart,
  632.     /* [out] */ LONG *pacpResultEnd);
  633. void __RPC_STUB ITextStoreACP_QueryInsert_Stub(
  634.     IRpcStubBuffer *This,
  635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  636.     PRPC_MESSAGE _pRpcMessage,
  637.     DWORD *_pdwStubPhase);
  638. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetSelection_Proxy( 
  639.     ITextStoreACP * This,
  640.     /* [in] */ ULONG ulIndex,
  641.     /* [in] */ ULONG ulCount,
  642.     /* [length_is][size_is][out] */ TS_SELECTION_ACP *pSelection,
  643.     /* [out] */ ULONG *pcFetched);
  644. void __RPC_STUB ITextStoreACP_GetSelection_Stub(
  645.     IRpcStubBuffer *This,
  646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  647.     PRPC_MESSAGE _pRpcMessage,
  648.     DWORD *_pdwStubPhase);
  649. HRESULT STDMETHODCALLTYPE ITextStoreACP_SetSelection_Proxy( 
  650.     ITextStoreACP * This,
  651.     /* [in] */ ULONG ulCount,
  652.     /* [size_is][in] */ const TS_SELECTION_ACP *pSelection);
  653. void __RPC_STUB ITextStoreACP_SetSelection_Stub(
  654.     IRpcStubBuffer *This,
  655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  656.     PRPC_MESSAGE _pRpcMessage,
  657.     DWORD *_pdwStubPhase);
  658. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetText_Proxy( 
  659.     ITextStoreACP * This,
  660.     /* [in] */ LONG acpStart,
  661.     /* [in] */ LONG acpEnd,
  662.     /* [length_is][size_is][out] */ WCHAR *pchPlain,
  663.     /* [in] */ ULONG cchPlainReq,
  664.     /* [out] */ ULONG *pcchPlainRet,
  665.     /* [length_is][size_is][out] */ TS_RUNINFO *prgRunInfo,
  666.     /* [in] */ ULONG cRunInfoReq,
  667.     /* [out] */ ULONG *pcRunInfoRet,
  668.     /* [out] */ LONG *pacpNext);
  669. void __RPC_STUB ITextStoreACP_GetText_Stub(
  670.     IRpcStubBuffer *This,
  671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  672.     PRPC_MESSAGE _pRpcMessage,
  673.     DWORD *_pdwStubPhase);
  674. HRESULT STDMETHODCALLTYPE ITextStoreACP_SetText_Proxy( 
  675.     ITextStoreACP * This,
  676.     /* [in] */ DWORD dwFlags,
  677.     /* [in] */ LONG acpStart,
  678.     /* [in] */ LONG acpEnd,
  679.     /* [size_is][in] */ const WCHAR *pchText,
  680.     /* [in] */ ULONG cch,
  681.     /* [out] */ TS_TEXTCHANGE *pChange);
  682. void __RPC_STUB ITextStoreACP_SetText_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetFormattedText_Proxy( 
  688.     ITextStoreACP * This,
  689.     /* [in] */ LONG acpStart,
  690.     /* [in] */ LONG acpEnd,
  691.     /* [out] */ IDataObject **ppDataObject);
  692. void __RPC_STUB ITextStoreACP_GetFormattedText_Stub(
  693.     IRpcStubBuffer *This,
  694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  695.     PRPC_MESSAGE _pRpcMessage,
  696.     DWORD *_pdwStubPhase);
  697. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetEmbedded_Proxy( 
  698.     ITextStoreACP * This,
  699.     /* [in] */ LONG acpPos,
  700.     /* [in] */ REFGUID rguidService,
  701.     /* [in] */ REFIID riid,
  702.     /* [iid_is][out] */ IUnknown **ppunk);
  703. void __RPC_STUB ITextStoreACP_GetEmbedded_Stub(
  704.     IRpcStubBuffer *This,
  705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  706.     PRPC_MESSAGE _pRpcMessage,
  707.     DWORD *_pdwStubPhase);
  708. HRESULT STDMETHODCALLTYPE ITextStoreACP_QueryInsertEmbedded_Proxy( 
  709.     ITextStoreACP * This,
  710.     /* [in] */ const GUID *pguidService,
  711.     /* [in] */ const FORMATETC *pFormatEtc,
  712.     /* [out] */ BOOL *pfInsertable);
  713. void __RPC_STUB ITextStoreACP_QueryInsertEmbedded_Stub(
  714.     IRpcStubBuffer *This,
  715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  716.     PRPC_MESSAGE _pRpcMessage,
  717.     DWORD *_pdwStubPhase);
  718. HRESULT STDMETHODCALLTYPE ITextStoreACP_InsertEmbedded_Proxy( 
  719.     ITextStoreACP * This,
  720.     /* [in] */ DWORD dwFlags,
  721.     /* [in] */ LONG acpStart,
  722.     /* [in] */ LONG acpEnd,
  723.     /* [in] */ IDataObject *pDataObject,
  724.     /* [out] */ TS_TEXTCHANGE *pChange);
  725. void __RPC_STUB ITextStoreACP_InsertEmbedded_Stub(
  726.     IRpcStubBuffer *This,
  727.     IRpcChannelBuffer *_pRpcChannelBuffer,
  728.     PRPC_MESSAGE _pRpcMessage,
  729.     DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE ITextStoreACP_InsertTextAtSelection_Proxy( 
  731.     ITextStoreACP * This,
  732.     /* [in] */ DWORD dwFlags,
  733.     /* [size_is][in] */ const WCHAR *pchText,
  734.     /* [in] */ ULONG cch,
  735.     /* [out] */ LONG *pacpStart,
  736.     /* [out] */ LONG *pacpEnd,
  737.     /* [out] */ TS_TEXTCHANGE *pChange);
  738. void __RPC_STUB ITextStoreACP_InsertTextAtSelection_Stub(
  739.     IRpcStubBuffer *This,
  740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  741.     PRPC_MESSAGE _pRpcMessage,
  742.     DWORD *_pdwStubPhase);
  743. HRESULT STDMETHODCALLTYPE ITextStoreACP_InsertEmbeddedAtSelection_Proxy( 
  744.     ITextStoreACP * This,
  745.     /* [in] */ DWORD dwFlags,
  746.     /* [in] */ IDataObject *pDataObject,
  747.     /* [out] */ LONG *pacpStart,
  748.     /* [out] */ LONG *pacpEnd,
  749.     /* [out] */ TS_TEXTCHANGE *pChange);
  750. void __RPC_STUB ITextStoreACP_InsertEmbeddedAtSelection_Stub(
  751.     IRpcStubBuffer *This,
  752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  753.     PRPC_MESSAGE _pRpcMessage,
  754.     DWORD *_pdwStubPhase);
  755. HRESULT STDMETHODCALLTYPE ITextStoreACP_RequestSupportedAttrs_Proxy( 
  756.     ITextStoreACP * This,
  757.     /* [in] */ DWORD dwFlags,
  758.     /* [in] */ ULONG cFilterAttrs,
  759.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs);
  760. void __RPC_STUB ITextStoreACP_RequestSupportedAttrs_Stub(
  761.     IRpcStubBuffer *This,
  762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  763.     PRPC_MESSAGE _pRpcMessage,
  764.     DWORD *_pdwStubPhase);
  765. HRESULT STDMETHODCALLTYPE ITextStoreACP_RequestAttrsAtPosition_Proxy( 
  766.     ITextStoreACP * This,
  767.     /* [in] */ LONG acpPos,
  768.     /* [in] */ ULONG cFilterAttrs,
  769.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  770.     /* [in] */ DWORD dwFlags);
  771. void __RPC_STUB ITextStoreACP_RequestAttrsAtPosition_Stub(
  772.     IRpcStubBuffer *This,
  773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  774.     PRPC_MESSAGE _pRpcMessage,
  775.     DWORD *_pdwStubPhase);
  776. HRESULT STDMETHODCALLTYPE ITextStoreACP_RequestAttrsTransitioningAtPosition_Proxy( 
  777.     ITextStoreACP * This,
  778.     /* [in] */ LONG acpPos,
  779.     /* [in] */ ULONG cFilterAttrs,
  780.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  781.     /* [in] */ DWORD dwFlags);
  782. void __RPC_STUB ITextStoreACP_RequestAttrsTransitioningAtPosition_Stub(
  783.     IRpcStubBuffer *This,
  784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  785.     PRPC_MESSAGE _pRpcMessage,
  786.     DWORD *_pdwStubPhase);
  787. HRESULT STDMETHODCALLTYPE ITextStoreACP_FindNextAttrTransition_Proxy( 
  788.     ITextStoreACP * This,
  789.     /* [in] */ LONG acpStart,
  790.     /* [in] */ LONG acpHalt,
  791.     /* [in] */ ULONG cFilterAttrs,
  792.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  793.     /* [in] */ DWORD dwFlags,
  794.     /* [out] */ LONG *pacpNext,
  795.     /* [out] */ BOOL *pfFound,
  796.     /* [out] */ LONG *plFoundOffset);
  797. void __RPC_STUB ITextStoreACP_FindNextAttrTransition_Stub(
  798.     IRpcStubBuffer *This,
  799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  800.     PRPC_MESSAGE _pRpcMessage,
  801.     DWORD *_pdwStubPhase);
  802. HRESULT STDMETHODCALLTYPE ITextStoreACP_RetrieveRequestedAttrs_Proxy( 
  803.     ITextStoreACP * This,
  804.     /* [in] */ ULONG ulCount,
  805.     /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  806.     /* [out] */ ULONG *pcFetched);
  807. void __RPC_STUB ITextStoreACP_RetrieveRequestedAttrs_Stub(
  808.     IRpcStubBuffer *This,
  809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  810.     PRPC_MESSAGE _pRpcMessage,
  811.     DWORD *_pdwStubPhase);
  812. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetEndACP_Proxy( 
  813.     ITextStoreACP * This,
  814.     /* [out] */ LONG *pacp);
  815. void __RPC_STUB ITextStoreACP_GetEndACP_Stub(
  816.     IRpcStubBuffer *This,
  817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  818.     PRPC_MESSAGE _pRpcMessage,
  819.     DWORD *_pdwStubPhase);
  820. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetActiveView_Proxy( 
  821.     ITextStoreACP * This,
  822.     /* [out] */ TsViewCookie *pvcView);
  823. void __RPC_STUB ITextStoreACP_GetActiveView_Stub(
  824.     IRpcStubBuffer *This,
  825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  826.     PRPC_MESSAGE _pRpcMessage,
  827.     DWORD *_pdwStubPhase);
  828. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetACPFromPoint_Proxy( 
  829.     ITextStoreACP * This,
  830.     /* [in] */ TsViewCookie vcView,
  831.     /* [in] */ const POINT *ptScreen,
  832.     /* [in] */ DWORD dwFlags,
  833.     /* [out] */ LONG *pacp);
  834. void __RPC_STUB ITextStoreACP_GetACPFromPoint_Stub(
  835.     IRpcStubBuffer *This,
  836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  837.     PRPC_MESSAGE _pRpcMessage,
  838.     DWORD *_pdwStubPhase);
  839. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetTextExt_Proxy( 
  840.     ITextStoreACP * This,
  841.     /* [in] */ TsViewCookie vcView,
  842.     /* [in] */ LONG acpStart,
  843.     /* [in] */ LONG acpEnd,
  844.     /* [out] */ RECT *prc,
  845.     /* [out] */ BOOL *pfClipped);
  846. void __RPC_STUB ITextStoreACP_GetTextExt_Stub(
  847.     IRpcStubBuffer *This,
  848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  849.     PRPC_MESSAGE _pRpcMessage,
  850.     DWORD *_pdwStubPhase);
  851. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetScreenExt_Proxy( 
  852.     ITextStoreACP * This,
  853.     /* [in] */ TsViewCookie vcView,
  854.     /* [out] */ RECT *prc);
  855. void __RPC_STUB ITextStoreACP_GetScreenExt_Stub(
  856.     IRpcStubBuffer *This,
  857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  858.     PRPC_MESSAGE _pRpcMessage,
  859.     DWORD *_pdwStubPhase);
  860. HRESULT STDMETHODCALLTYPE ITextStoreACP_GetWnd_Proxy( 
  861.     ITextStoreACP * This,
  862.     /* [in] */ TsViewCookie vcView,
  863.     /* [out] */ HWND *phwnd);
  864. void __RPC_STUB ITextStoreACP_GetWnd_Stub(
  865.     IRpcStubBuffer *This,
  866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  867.     PRPC_MESSAGE _pRpcMessage,
  868.     DWORD *_pdwStubPhase);
  869. #endif  /* __ITextStoreACP_INTERFACE_DEFINED__ */
  870. #ifndef __ITextStoreACPSink_INTERFACE_DEFINED__
  871. #define __ITextStoreACPSink_INTERFACE_DEFINED__
  872. /* interface ITextStoreACPSink */
  873. /* [unique][uuid][object] */ 
  874. EXTERN_C const IID IID_ITextStoreACPSink;
  875. #if defined(__cplusplus) && !defined(CINTERFACE)
  876.     
  877.     MIDL_INTERFACE("22d44c94-a419-4542-a272-ae26093ececf")
  878.     ITextStoreACPSink : public IUnknown
  879.     {
  880.     public:
  881.         virtual HRESULT STDMETHODCALLTYPE OnTextChange( 
  882.             /* [in] */ DWORD dwFlags,
  883.             /* [in] */ const TS_TEXTCHANGE *pChange) = 0;
  884.         
  885.         virtual HRESULT STDMETHODCALLTYPE OnSelectionChange( void) = 0;
  886.         
  887.         virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( 
  888.             /* [in] */ TsLayoutCode lcode,
  889.             /* [in] */ TsViewCookie vcView) = 0;
  890.         
  891.         virtual HRESULT STDMETHODCALLTYPE OnStatusChange( 
  892.             /* [in] */ DWORD dwFlags) = 0;
  893.         
  894.         virtual HRESULT STDMETHODCALLTYPE OnAttrsChange( 
  895.             /* [in] */ LONG acpStart,
  896.             /* [in] */ LONG acpEnd,
  897.             /* [in] */ ULONG cAttrs,
  898.             /* [size_is][in] */ const TS_ATTRID *paAttrs) = 0;
  899.         
  900.         virtual HRESULT STDMETHODCALLTYPE OnLockGranted( 
  901.             /* [in] */ DWORD dwLockFlags) = 0;
  902.         
  903.         virtual HRESULT STDMETHODCALLTYPE OnStartEditTransaction( void) = 0;
  904.         
  905.         virtual HRESULT STDMETHODCALLTYPE OnEndEditTransaction( void) = 0;
  906.         
  907.     };
  908.     
  909. #else  /* C style interface */
  910.     typedef struct ITextStoreACPSinkVtbl
  911.     {
  912.         BEGIN_INTERFACE
  913.         
  914.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  915.             ITextStoreACPSink * This,
  916.             /* [in] */ REFIID riid,
  917.             /* [iid_is][out] */ void **ppvObject);
  918.         
  919.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  920.             ITextStoreACPSink * This);
  921.         
  922.         ULONG ( STDMETHODCALLTYPE *Release )( 
  923.             ITextStoreACPSink * This);
  924.         
  925.         HRESULT ( STDMETHODCALLTYPE *OnTextChange )( 
  926.             ITextStoreACPSink * This,
  927.             /* [in] */ DWORD dwFlags,
  928.             /* [in] */ const TS_TEXTCHANGE *pChange);
  929.         
  930.         HRESULT ( STDMETHODCALLTYPE *OnSelectionChange )( 
  931.             ITextStoreACPSink * This);
  932.         
  933.         HRESULT ( STDMETHODCALLTYPE *OnLayoutChange )( 
  934.             ITextStoreACPSink * This,
  935.             /* [in] */ TsLayoutCode lcode,
  936.             /* [in] */ TsViewCookie vcView);
  937.         
  938.         HRESULT ( STDMETHODCALLTYPE *OnStatusChange )( 
  939.             ITextStoreACPSink * This,
  940.             /* [in] */ DWORD dwFlags);
  941.         
  942.         HRESULT ( STDMETHODCALLTYPE *OnAttrsChange )( 
  943.             ITextStoreACPSink * This,
  944.             /* [in] */ LONG acpStart,
  945.             /* [in] */ LONG acpEnd,
  946.             /* [in] */ ULONG cAttrs,
  947.             /* [size_is][in] */ const TS_ATTRID *paAttrs);
  948.         
  949.         HRESULT ( STDMETHODCALLTYPE *OnLockGranted )( 
  950.             ITextStoreACPSink * This,
  951.             /* [in] */ DWORD dwLockFlags);
  952.         
  953.         HRESULT ( STDMETHODCALLTYPE *OnStartEditTransaction )( 
  954.             ITextStoreACPSink * This);
  955.         
  956.         HRESULT ( STDMETHODCALLTYPE *OnEndEditTransaction )( 
  957.             ITextStoreACPSink * This);
  958.         
  959.         END_INTERFACE
  960.     } ITextStoreACPSinkVtbl;
  961.     interface ITextStoreACPSink
  962.     {
  963.         CONST_VTBL struct ITextStoreACPSinkVtbl *lpVtbl;
  964.     };
  965.     
  966. #ifdef COBJMACROS
  967. #define ITextStoreACPSink_QueryInterface(This,riid,ppvObject)
  968.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  969. #define ITextStoreACPSink_AddRef(This)
  970.     (This)->lpVtbl -> AddRef(This)
  971. #define ITextStoreACPSink_Release(This)
  972.     (This)->lpVtbl -> Release(This)
  973. #define ITextStoreACPSink_OnTextChange(This,dwFlags,pChange)
  974.     (This)->lpVtbl -> OnTextChange(This,dwFlags,pChange)
  975. #define ITextStoreACPSink_OnSelectionChange(This)
  976.     (This)->lpVtbl -> OnSelectionChange(This)
  977. #define ITextStoreACPSink_OnLayoutChange(This,lcode,vcView)
  978.     (This)->lpVtbl -> OnLayoutChange(This,lcode,vcView)
  979. #define ITextStoreACPSink_OnStatusChange(This,dwFlags)
  980.     (This)->lpVtbl -> OnStatusChange(This,dwFlags)
  981. #define ITextStoreACPSink_OnAttrsChange(This,acpStart,acpEnd,cAttrs,paAttrs)
  982.     (This)->lpVtbl -> OnAttrsChange(This,acpStart,acpEnd,cAttrs,paAttrs)
  983. #define ITextStoreACPSink_OnLockGranted(This,dwLockFlags)
  984.     (This)->lpVtbl -> OnLockGranted(This,dwLockFlags)
  985. #define ITextStoreACPSink_OnStartEditTransaction(This)
  986.     (This)->lpVtbl -> OnStartEditTransaction(This)
  987. #define ITextStoreACPSink_OnEndEditTransaction(This)
  988.     (This)->lpVtbl -> OnEndEditTransaction(This)
  989. #endif /* COBJMACROS */
  990. #endif  /* C style interface */
  991. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnTextChange_Proxy( 
  992.     ITextStoreACPSink * This,
  993.     /* [in] */ DWORD dwFlags,
  994.     /* [in] */ const TS_TEXTCHANGE *pChange);
  995. void __RPC_STUB ITextStoreACPSink_OnTextChange_Stub(
  996.     IRpcStubBuffer *This,
  997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  998.     PRPC_MESSAGE _pRpcMessage,
  999.     DWORD *_pdwStubPhase);
  1000. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnSelectionChange_Proxy( 
  1001.     ITextStoreACPSink * This);
  1002. void __RPC_STUB ITextStoreACPSink_OnSelectionChange_Stub(
  1003.     IRpcStubBuffer *This,
  1004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1005.     PRPC_MESSAGE _pRpcMessage,
  1006.     DWORD *_pdwStubPhase);
  1007. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnLayoutChange_Proxy( 
  1008.     ITextStoreACPSink * This,
  1009.     /* [in] */ TsLayoutCode lcode,
  1010.     /* [in] */ TsViewCookie vcView);
  1011. void __RPC_STUB ITextStoreACPSink_OnLayoutChange_Stub(
  1012.     IRpcStubBuffer *This,
  1013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1014.     PRPC_MESSAGE _pRpcMessage,
  1015.     DWORD *_pdwStubPhase);
  1016. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnStatusChange_Proxy( 
  1017.     ITextStoreACPSink * This,
  1018.     /* [in] */ DWORD dwFlags);
  1019. void __RPC_STUB ITextStoreACPSink_OnStatusChange_Stub(
  1020.     IRpcStubBuffer *This,
  1021.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1022.     PRPC_MESSAGE _pRpcMessage,
  1023.     DWORD *_pdwStubPhase);
  1024. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnAttrsChange_Proxy( 
  1025.     ITextStoreACPSink * This,
  1026.     /* [in] */ LONG acpStart,
  1027.     /* [in] */ LONG acpEnd,
  1028.     /* [in] */ ULONG cAttrs,
  1029.     /* [size_is][in] */ const TS_ATTRID *paAttrs);
  1030. void __RPC_STUB ITextStoreACPSink_OnAttrsChange_Stub(
  1031.     IRpcStubBuffer *This,
  1032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1033.     PRPC_MESSAGE _pRpcMessage,
  1034.     DWORD *_pdwStubPhase);
  1035. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnLockGranted_Proxy( 
  1036.     ITextStoreACPSink * This,
  1037.     /* [in] */ DWORD dwLockFlags);
  1038. void __RPC_STUB ITextStoreACPSink_OnLockGranted_Stub(
  1039.     IRpcStubBuffer *This,
  1040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1041.     PRPC_MESSAGE _pRpcMessage,
  1042.     DWORD *_pdwStubPhase);
  1043. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnStartEditTransaction_Proxy( 
  1044.     ITextStoreACPSink * This);
  1045. void __RPC_STUB ITextStoreACPSink_OnStartEditTransaction_Stub(
  1046.     IRpcStubBuffer *This,
  1047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1048.     PRPC_MESSAGE _pRpcMessage,
  1049.     DWORD *_pdwStubPhase);
  1050. HRESULT STDMETHODCALLTYPE ITextStoreACPSink_OnEndEditTransaction_Proxy( 
  1051.     ITextStoreACPSink * This);
  1052. void __RPC_STUB ITextStoreACPSink_OnEndEditTransaction_Stub(
  1053.     IRpcStubBuffer *This,
  1054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1055.     PRPC_MESSAGE _pRpcMessage,
  1056.     DWORD *_pdwStubPhase);
  1057. #endif  /* __ITextStoreACPSink_INTERFACE_DEFINED__ */
  1058. #ifndef __IAnchor_INTERFACE_DEFINED__
  1059. #define __IAnchor_INTERFACE_DEFINED__
  1060. /* interface IAnchor */
  1061. /* [unique][uuid][object] */ 
  1062. typedef /* [public][public][public][uuid] */  DECLSPEC_UUID("daa8601e-7695-426f-9bb7-498a6aa64b68") 
  1063. enum __MIDL_IAnchor_0001
  1064.     { TS_GR_BACKWARD = 0,
  1065. TS_GR_FORWARD = 1
  1066.     }  TsGravity;
  1067. typedef /* [public][public][uuid] */  DECLSPEC_UUID("898e19df-4fb4-4af3-8daf-9b3c1145c79d") 
  1068. enum __MIDL_IAnchor_0002
  1069.     { TS_SD_BACKWARD = 0,
  1070. TS_SD_FORWARD = 1
  1071.     }  TsShiftDir;
  1072. #define TS_CH_PRECEDING_DEL ( 1 )
  1073. #define TS_CH_FOLLOWING_DEL ( 2 )
  1074. #define TS_SHIFT_COUNT_HIDDEN ( 0x1 )
  1075. #define TS_SHIFT_HALT_HIDDEN ( 0x2 )
  1076. #define TS_SHIFT_HALT_VISIBLE ( 0x4 )
  1077. #define TS_SHIFT_COUNT_ONLY ( 0x8 )
  1078. EXTERN_C const IID IID_IAnchor;
  1079. #if defined(__cplusplus) && !defined(CINTERFACE)
  1080.     
  1081.     MIDL_INTERFACE("0feb7e34-5a60-4356-8ef7-abdec2ff7cf8")
  1082.     IAnchor : public IUnknown
  1083.     {
  1084.     public:
  1085.         virtual HRESULT STDMETHODCALLTYPE SetGravity( 
  1086.             /* [in] */ TsGravity gravity) = 0;
  1087.         
  1088.         virtual HRESULT STDMETHODCALLTYPE GetGravity( 
  1089.             /* [out] */ TsGravity *pgravity) = 0;
  1090.         
  1091.         virtual HRESULT STDMETHODCALLTYPE IsEqual( 
  1092.             /* [in] */ IAnchor *paWith,
  1093.             /* [out] */ BOOL *pfEqual) = 0;
  1094.         
  1095.         virtual HRESULT STDMETHODCALLTYPE Compare( 
  1096.             /* [in] */ IAnchor *paWith,
  1097.             /* [out] */ LONG *plResult) = 0;
  1098.         
  1099.         virtual HRESULT STDMETHODCALLTYPE Shift( 
  1100.             /* [in] */ DWORD dwFlags,
  1101.             /* [in] */ LONG cchReq,
  1102.             /* [out] */ LONG *pcch,
  1103.             /* [in] */ IAnchor *paHaltAnchor) = 0;
  1104.         
  1105.         virtual HRESULT STDMETHODCALLTYPE ShiftTo( 
  1106.             /* [in] */ IAnchor *paSite) = 0;
  1107.         
  1108.         virtual HRESULT STDMETHODCALLTYPE ShiftRegion( 
  1109.             /* [in] */ DWORD dwFlags,
  1110.             /* [in] */ TsShiftDir dir,
  1111.             /* [out] */ BOOL *pfNoRegion) = 0;
  1112.         
  1113.         virtual HRESULT STDMETHODCALLTYPE SetChangeHistoryMask( 
  1114.             /* [in] */ DWORD dwMask) = 0;
  1115.         
  1116.         virtual HRESULT STDMETHODCALLTYPE GetChangeHistory( 
  1117.             /* [out] */ DWORD *pdwHistory) = 0;
  1118.         
  1119.         virtual HRESULT STDMETHODCALLTYPE ClearChangeHistory( void) = 0;
  1120.         
  1121.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1122.             /* [out] */ IAnchor **ppaClone) = 0;
  1123.         
  1124.     };
  1125.     
  1126. #else  /* C style interface */
  1127.     typedef struct IAnchorVtbl
  1128.     {
  1129.         BEGIN_INTERFACE
  1130.         
  1131.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1132.             IAnchor * This,
  1133.             /* [in] */ REFIID riid,
  1134.             /* [iid_is][out] */ void **ppvObject);
  1135.         
  1136.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1137.             IAnchor * This);
  1138.         
  1139.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1140.             IAnchor * This);
  1141.         
  1142.         HRESULT ( STDMETHODCALLTYPE *SetGravity )( 
  1143.             IAnchor * This,
  1144.             /* [in] */ TsGravity gravity);
  1145.         
  1146.         HRESULT ( STDMETHODCALLTYPE *GetGravity )( 
  1147.             IAnchor * This,
  1148.             /* [out] */ TsGravity *pgravity);
  1149.         
  1150.         HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
  1151.             IAnchor * This,
  1152.             /* [in] */ IAnchor *paWith,
  1153.             /* [out] */ BOOL *pfEqual);
  1154.         
  1155.         HRESULT ( STDMETHODCALLTYPE *Compare )( 
  1156.             IAnchor * This,
  1157.             /* [in] */ IAnchor *paWith,
  1158.             /* [out] */ LONG *plResult);
  1159.         
  1160.         HRESULT ( STDMETHODCALLTYPE *Shift )( 
  1161.             IAnchor * This,
  1162.             /* [in] */ DWORD dwFlags,
  1163.             /* [in] */ LONG cchReq,
  1164.             /* [out] */ LONG *pcch,
  1165.             /* [in] */ IAnchor *paHaltAnchor);
  1166.         
  1167.         HRESULT ( STDMETHODCALLTYPE *ShiftTo )( 
  1168.             IAnchor * This,
  1169.             /* [in] */ IAnchor *paSite);
  1170.         
  1171.         HRESULT ( STDMETHODCALLTYPE *ShiftRegion )( 
  1172.             IAnchor * This,
  1173.             /* [in] */ DWORD dwFlags,
  1174.             /* [in] */ TsShiftDir dir,
  1175.             /* [out] */ BOOL *pfNoRegion);
  1176.         
  1177.         HRESULT ( STDMETHODCALLTYPE *SetChangeHistoryMask )( 
  1178.             IAnchor * This,
  1179.             /* [in] */ DWORD dwMask);
  1180.         
  1181.         HRESULT ( STDMETHODCALLTYPE *GetChangeHistory )( 
  1182.             IAnchor * This,
  1183.             /* [out] */ DWORD *pdwHistory);
  1184.         
  1185.         HRESULT ( STDMETHODCALLTYPE *ClearChangeHistory )( 
  1186.             IAnchor * This);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1189.             IAnchor * This,
  1190.             /* [out] */ IAnchor **ppaClone);
  1191.         
  1192.         END_INTERFACE
  1193.     } IAnchorVtbl;
  1194.     interface IAnchor
  1195.     {
  1196.         CONST_VTBL struct IAnchorVtbl *lpVtbl;
  1197.     };
  1198.     
  1199. #ifdef COBJMACROS
  1200. #define IAnchor_QueryInterface(This,riid,ppvObject)
  1201.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1202. #define IAnchor_AddRef(This)
  1203.     (This)->lpVtbl -> AddRef(This)
  1204. #define IAnchor_Release(This)
  1205.     (This)->lpVtbl -> Release(This)
  1206. #define IAnchor_SetGravity(This,gravity)
  1207.     (This)->lpVtbl -> SetGravity(This,gravity)
  1208. #define IAnchor_GetGravity(This,pgravity)
  1209.     (This)->lpVtbl -> GetGravity(This,pgravity)
  1210. #define IAnchor_IsEqual(This,paWith,pfEqual)
  1211.     (This)->lpVtbl -> IsEqual(This,paWith,pfEqual)
  1212. #define IAnchor_Compare(This,paWith,plResult)
  1213.     (This)->lpVtbl -> Compare(This,paWith,plResult)
  1214. #define IAnchor_Shift(This,dwFlags,cchReq,pcch,paHaltAnchor)
  1215.     (This)->lpVtbl -> Shift(This,dwFlags,cchReq,pcch,paHaltAnchor)
  1216. #define IAnchor_ShiftTo(This,paSite)
  1217.     (This)->lpVtbl -> ShiftTo(This,paSite)
  1218. #define IAnchor_ShiftRegion(This,dwFlags,dir,pfNoRegion)
  1219.     (This)->lpVtbl -> ShiftRegion(This,dwFlags,dir,pfNoRegion)
  1220. #define IAnchor_SetChangeHistoryMask(This,dwMask)
  1221.     (This)->lpVtbl -> SetChangeHistoryMask(This,dwMask)
  1222. #define IAnchor_GetChangeHistory(This,pdwHistory)
  1223.     (This)->lpVtbl -> GetChangeHistory(This,pdwHistory)
  1224. #define IAnchor_ClearChangeHistory(This)
  1225.     (This)->lpVtbl -> ClearChangeHistory(This)
  1226. #define IAnchor_Clone(This,ppaClone)
  1227.     (This)->lpVtbl -> Clone(This,ppaClone)
  1228. #endif /* COBJMACROS */
  1229. #endif  /* C style interface */
  1230. HRESULT STDMETHODCALLTYPE IAnchor_SetGravity_Proxy( 
  1231.     IAnchor * This,
  1232.     /* [in] */ TsGravity gravity);
  1233. void __RPC_STUB IAnchor_SetGravity_Stub(
  1234.     IRpcStubBuffer *This,
  1235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1236.     PRPC_MESSAGE _pRpcMessage,
  1237.     DWORD *_pdwStubPhase);
  1238. HRESULT STDMETHODCALLTYPE IAnchor_GetGravity_Proxy( 
  1239.     IAnchor * This,
  1240.     /* [out] */ TsGravity *pgravity);
  1241. void __RPC_STUB IAnchor_GetGravity_Stub(
  1242.     IRpcStubBuffer *This,
  1243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1244.     PRPC_MESSAGE _pRpcMessage,
  1245.     DWORD *_pdwStubPhase);
  1246. HRESULT STDMETHODCALLTYPE IAnchor_IsEqual_Proxy( 
  1247.     IAnchor * This,
  1248.     /* [in] */ IAnchor *paWith,
  1249.     /* [out] */ BOOL *pfEqual);
  1250. void __RPC_STUB IAnchor_IsEqual_Stub(
  1251.     IRpcStubBuffer *This,
  1252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1253.     PRPC_MESSAGE _pRpcMessage,
  1254.     DWORD *_pdwStubPhase);
  1255. HRESULT STDMETHODCALLTYPE IAnchor_Compare_Proxy( 
  1256.     IAnchor * This,
  1257.     /* [in] */ IAnchor *paWith,
  1258.     /* [out] */ LONG *plResult);
  1259. void __RPC_STUB IAnchor_Compare_Stub(
  1260.     IRpcStubBuffer *This,
  1261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1262.     PRPC_MESSAGE _pRpcMessage,
  1263.     DWORD *_pdwStubPhase);
  1264. HRESULT STDMETHODCALLTYPE IAnchor_Shift_Proxy( 
  1265.     IAnchor * This,
  1266.     /* [in] */ DWORD dwFlags,
  1267.     /* [in] */ LONG cchReq,
  1268.     /* [out] */ LONG *pcch,
  1269.     /* [in] */ IAnchor *paHaltAnchor);
  1270. void __RPC_STUB IAnchor_Shift_Stub(
  1271.     IRpcStubBuffer *This,
  1272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1273.     PRPC_MESSAGE _pRpcMessage,
  1274.     DWORD *_pdwStubPhase);
  1275. HRESULT STDMETHODCALLTYPE IAnchor_ShiftTo_Proxy( 
  1276.     IAnchor * This,
  1277.     /* [in] */ IAnchor *paSite);
  1278. void __RPC_STUB IAnchor_ShiftTo_Stub(
  1279.     IRpcStubBuffer *This,
  1280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1281.     PRPC_MESSAGE _pRpcMessage,
  1282.     DWORD *_pdwStubPhase);
  1283. HRESULT STDMETHODCALLTYPE IAnchor_ShiftRegion_Proxy( 
  1284.     IAnchor * This,
  1285.     /* [in] */ DWORD dwFlags,
  1286.     /* [in] */ TsShiftDir dir,
  1287.     /* [out] */ BOOL *pfNoRegion);
  1288. void __RPC_STUB IAnchor_ShiftRegion_Stub(
  1289.     IRpcStubBuffer *This,
  1290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1291.     PRPC_MESSAGE _pRpcMessage,
  1292.     DWORD *_pdwStubPhase);
  1293. HRESULT STDMETHODCALLTYPE IAnchor_SetChangeHistoryMask_Proxy( 
  1294.     IAnchor * This,
  1295.     /* [in] */ DWORD dwMask);
  1296. void __RPC_STUB IAnchor_SetChangeHistoryMask_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301. HRESULT STDMETHODCALLTYPE IAnchor_GetChangeHistory_Proxy( 
  1302.     IAnchor * This,
  1303.     /* [out] */ DWORD *pdwHistory);
  1304. void __RPC_STUB IAnchor_GetChangeHistory_Stub(
  1305.     IRpcStubBuffer *This,
  1306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1307.     PRPC_MESSAGE _pRpcMessage,
  1308.     DWORD *_pdwStubPhase);
  1309. HRESULT STDMETHODCALLTYPE IAnchor_ClearChangeHistory_Proxy( 
  1310.     IAnchor * This);
  1311. void __RPC_STUB IAnchor_ClearChangeHistory_Stub(
  1312.     IRpcStubBuffer *This,
  1313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1314.     PRPC_MESSAGE _pRpcMessage,
  1315.     DWORD *_pdwStubPhase);
  1316. HRESULT STDMETHODCALLTYPE IAnchor_Clone_Proxy( 
  1317.     IAnchor * This,
  1318.     /* [out] */ IAnchor **ppaClone);
  1319. void __RPC_STUB IAnchor_Clone_Stub(
  1320.     IRpcStubBuffer *This,
  1321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1322.     PRPC_MESSAGE _pRpcMessage,
  1323.     DWORD *_pdwStubPhase);
  1324. #endif  /* __IAnchor_INTERFACE_DEFINED__ */
  1325. #ifndef __ITextStoreAnchor_INTERFACE_DEFINED__
  1326. #define __ITextStoreAnchor_INTERFACE_DEFINED__
  1327. /* interface ITextStoreAnchor */
  1328. /* [unique][uuid][object] */ 
  1329. #define TS_GTA_HIDDEN ( 0x1 )
  1330. #define TS_GEA_HIDDEN ( 0x1 )
  1331. EXTERN_C const IID IID_ITextStoreAnchor;
  1332. #if defined(__cplusplus) && !defined(CINTERFACE)
  1333.     
  1334.     MIDL_INTERFACE("9b2077b0-5f18-4dec-bee9-3cc722f5dfe0")
  1335.     ITextStoreAnchor : public IUnknown
  1336.     {
  1337.     public:
  1338.         virtual HRESULT STDMETHODCALLTYPE AdviseSink( 
  1339.             /* [in] */ REFIID riid,
  1340.             /* [iid_is][in] */ IUnknown *punk,
  1341.             /* [in] */ DWORD dwMask) = 0;
  1342.         
  1343.         virtual HRESULT STDMETHODCALLTYPE UnadviseSink( 
  1344.             /* [in] */ IUnknown *punk) = 0;
  1345.         
  1346.         virtual HRESULT STDMETHODCALLTYPE RequestLock( 
  1347.             /* [in] */ DWORD dwLockFlags,
  1348.             /* [out] */ HRESULT *phrSession) = 0;
  1349.         
  1350.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  1351.             /* [out] */ TS_STATUS *pdcs) = 0;
  1352.         
  1353.         virtual HRESULT STDMETHODCALLTYPE QueryInsert( 
  1354.             /* [in] */ IAnchor *paTestStart,
  1355.             /* [in] */ IAnchor *paTestEnd,
  1356.             /* [in] */ ULONG cch,
  1357.             /* [out] */ IAnchor **ppaResultStart,
  1358.             /* [out] */ IAnchor **ppaResultEnd) = 0;
  1359.         
  1360.         virtual HRESULT STDMETHODCALLTYPE GetSelection( 
  1361.             /* [in] */ ULONG ulIndex,
  1362.             /* [in] */ ULONG ulCount,
  1363.             /* [length_is][size_is][out] */ TS_SELECTION_ANCHOR *pSelection,
  1364.             /* [out] */ ULONG *pcFetched) = 0;
  1365.         
  1366.         virtual HRESULT STDMETHODCALLTYPE SetSelection( 
  1367.             /* [in] */ ULONG ulCount,
  1368.             /* [size_is][in] */ const TS_SELECTION_ANCHOR *pSelection) = 0;
  1369.         
  1370.         virtual HRESULT STDMETHODCALLTYPE GetText( 
  1371.             /* [in] */ DWORD dwFlags,
  1372.             /* [in] */ IAnchor *paStart,
  1373.             /* [in] */ IAnchor *paEnd,
  1374.             /* [length_is][size_is][out] */ WCHAR *pchText,
  1375.             /* [in] */ ULONG cchReq,
  1376.             /* [out] */ ULONG *pcch,
  1377.             /* [in] */ BOOL fUpdateAnchor) = 0;
  1378.         
  1379.         virtual HRESULT STDMETHODCALLTYPE SetText( 
  1380.             /* [in] */ DWORD dwFlags,
  1381.             /* [in] */ IAnchor *paStart,
  1382.             /* [in] */ IAnchor *paEnd,
  1383.             /* [size_is][in] */ const WCHAR *pchText,
  1384.             /* [in] */ ULONG cch) = 0;
  1385.         
  1386.         virtual HRESULT STDMETHODCALLTYPE GetFormattedText( 
  1387.             /* [in] */ IAnchor *paStart,
  1388.             /* [in] */ IAnchor *paEnd,
  1389.             /* [out] */ IDataObject **ppDataObject) = 0;
  1390.         
  1391.         virtual HRESULT STDMETHODCALLTYPE GetEmbedded( 
  1392.             /* [in] */ DWORD dwFlags,
  1393.             /* [in] */ IAnchor *paPos,
  1394.             /* [in] */ REFGUID rguidService,
  1395.             /* [in] */ REFIID riid,
  1396.             /* [iid_is][out] */ IUnknown **ppunk) = 0;
  1397.         
  1398.         virtual HRESULT STDMETHODCALLTYPE InsertEmbedded( 
  1399.             /* [in] */ DWORD dwFlags,
  1400.             /* [in] */ IAnchor *paStart,
  1401.             /* [in] */ IAnchor *paEnd,
  1402.             /* [in] */ IDataObject *pDataObject) = 0;
  1403.         
  1404.         virtual HRESULT STDMETHODCALLTYPE RequestSupportedAttrs( 
  1405.             /* [in] */ DWORD dwFlags,
  1406.             /* [in] */ ULONG cFilterAttrs,
  1407.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs) = 0;
  1408.         
  1409.         virtual HRESULT STDMETHODCALLTYPE RequestAttrsAtPosition( 
  1410.             /* [in] */ IAnchor *paPos,
  1411.             /* [in] */ ULONG cFilterAttrs,
  1412.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1413.             /* [in] */ DWORD dwFlags) = 0;
  1414.         
  1415.         virtual HRESULT STDMETHODCALLTYPE RequestAttrsTransitioningAtPosition( 
  1416.             /* [in] */ IAnchor *paPos,
  1417.             /* [in] */ ULONG cFilterAttrs,
  1418.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1419.             /* [in] */ DWORD dwFlags) = 0;
  1420.         
  1421.         virtual HRESULT STDMETHODCALLTYPE FindNextAttrTransition( 
  1422.             /* [in] */ IAnchor *paStart,
  1423.             /* [in] */ IAnchor *paHalt,
  1424.             /* [in] */ ULONG cFilterAttrs,
  1425.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1426.             /* [in] */ DWORD dwFlags,
  1427.             /* [out] */ BOOL *pfFound,
  1428.             /* [out] */ LONG *plFoundOffset) = 0;
  1429.         
  1430.         virtual HRESULT STDMETHODCALLTYPE RetrieveRequestedAttrs( 
  1431.             /* [in] */ ULONG ulCount,
  1432.             /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  1433.             /* [out] */ ULONG *pcFetched) = 0;
  1434.         
  1435.         virtual HRESULT STDMETHODCALLTYPE GetStart( 
  1436.             /* [out] */ IAnchor **ppaStart) = 0;
  1437.         
  1438.         virtual HRESULT STDMETHODCALLTYPE GetEnd( 
  1439.             /* [out] */ IAnchor **ppaEnd) = 0;
  1440.         
  1441.         virtual HRESULT STDMETHODCALLTYPE GetActiveView( 
  1442.             /* [out] */ TsViewCookie *pvcView) = 0;
  1443.         
  1444.         virtual HRESULT STDMETHODCALLTYPE GetAnchorFromPoint( 
  1445.             /* [in] */ TsViewCookie vcView,
  1446.             /* [in] */ const POINT *ptScreen,
  1447.             /* [in] */ DWORD dwFlags,
  1448.             /* [out] */ IAnchor **ppaSite) = 0;
  1449.         
  1450.         virtual HRESULT STDMETHODCALLTYPE GetTextExt( 
  1451.             /* [in] */ TsViewCookie vcView,
  1452.             /* [in] */ IAnchor *paStart,
  1453.             /* [in] */ IAnchor *paEnd,
  1454.             /* [out] */ RECT *prc,
  1455.             /* [out] */ BOOL *pfClipped) = 0;
  1456.         
  1457.         virtual HRESULT STDMETHODCALLTYPE GetScreenExt( 
  1458.             /* [in] */ TsViewCookie vcView,
  1459.             /* [out] */ RECT *prc) = 0;
  1460.         
  1461.         virtual HRESULT STDMETHODCALLTYPE GetWnd( 
  1462.             /* [in] */ TsViewCookie vcView,
  1463.             /* [out] */ HWND *phwnd) = 0;
  1464.         
  1465.         virtual HRESULT STDMETHODCALLTYPE QueryInsertEmbedded( 
  1466.             /* [in] */ const GUID *pguidService,
  1467.             /* [in] */ const FORMATETC *pFormatEtc,
  1468.             /* [out] */ BOOL *pfInsertable) = 0;
  1469.         
  1470.         virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection( 
  1471.             /* [in] */ DWORD dwFlags,
  1472.             /* [size_is][in] */ const WCHAR *pchText,
  1473.             /* [in] */ ULONG cch,
  1474.             /* [out] */ IAnchor **ppaStart,
  1475.             /* [out] */ IAnchor **ppaEnd) = 0;
  1476.         
  1477.         virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection( 
  1478.             /* [in] */ DWORD dwFlags,
  1479.             /* [in] */ IDataObject *pDataObject,
  1480.             /* [out] */ IAnchor **ppaStart,
  1481.             /* [out] */ IAnchor **ppaEnd) = 0;
  1482.         
  1483.     };
  1484.     
  1485. #else  /* C style interface */
  1486.     typedef struct ITextStoreAnchorVtbl
  1487.     {
  1488.         BEGIN_INTERFACE
  1489.         
  1490.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1491.             ITextStoreAnchor * This,
  1492.             /* [in] */ REFIID riid,
  1493.             /* [iid_is][out] */ void **ppvObject);
  1494.         
  1495.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1496.             ITextStoreAnchor * This);
  1497.         
  1498.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1499.             ITextStoreAnchor * This);
  1500.         
  1501.         HRESULT ( STDMETHODCALLTYPE *AdviseSink )( 
  1502.             ITextStoreAnchor * This,
  1503.             /* [in] */ REFIID riid,
  1504.             /* [iid_is][in] */ IUnknown *punk,
  1505.             /* [in] */ DWORD dwMask);
  1506.         
  1507.         HRESULT ( STDMETHODCALLTYPE *UnadviseSink )( 
  1508.             ITextStoreAnchor * This,
  1509.             /* [in] */ IUnknown *punk);
  1510.         
  1511.         HRESULT ( STDMETHODCALLTYPE *RequestLock )( 
  1512.             ITextStoreAnchor * This,
  1513.             /* [in] */ DWORD dwLockFlags,
  1514.             /* [out] */ HRESULT *phrSession);
  1515.         
  1516.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  1517.             ITextStoreAnchor * This,
  1518.             /* [out] */ TS_STATUS *pdcs);
  1519.         
  1520.         HRESULT ( STDMETHODCALLTYPE *QueryInsert )( 
  1521.             ITextStoreAnchor * This,
  1522.             /* [in] */ IAnchor *paTestStart,
  1523.             /* [in] */ IAnchor *paTestEnd,
  1524.             /* [in] */ ULONG cch,
  1525.             /* [out] */ IAnchor **ppaResultStart,
  1526.             /* [out] */ IAnchor **ppaResultEnd);
  1527.         
  1528.         HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
  1529.             ITextStoreAnchor * This,
  1530.             /* [in] */ ULONG ulIndex,
  1531.             /* [in] */ ULONG ulCount,
  1532.             /* [length_is][size_is][out] */ TS_SELECTION_ANCHOR *pSelection,
  1533.             /* [out] */ ULONG *pcFetched);
  1534.         
  1535.         HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
  1536.             ITextStoreAnchor * This,
  1537.             /* [in] */ ULONG ulCount,
  1538.             /* [size_is][in] */ const TS_SELECTION_ANCHOR *pSelection);
  1539.         
  1540.         HRESULT ( STDMETHODCALLTYPE *GetText )( 
  1541.             ITextStoreAnchor * This,
  1542.             /* [in] */ DWORD dwFlags,
  1543.             /* [in] */ IAnchor *paStart,
  1544.             /* [in] */ IAnchor *paEnd,
  1545.             /* [length_is][size_is][out] */ WCHAR *pchText,
  1546.             /* [in] */ ULONG cchReq,
  1547.             /* [out] */ ULONG *pcch,
  1548.             /* [in] */ BOOL fUpdateAnchor);
  1549.         
  1550.         HRESULT ( STDMETHODCALLTYPE *SetText )( 
  1551.             ITextStoreAnchor * This,
  1552.             /* [in] */ DWORD dwFlags,
  1553.             /* [in] */ IAnchor *paStart,
  1554.             /* [in] */ IAnchor *paEnd,
  1555.             /* [size_is][in] */ const WCHAR *pchText,
  1556.             /* [in] */ ULONG cch);
  1557.         
  1558.         HRESULT ( STDMETHODCALLTYPE *GetFormattedText )( 
  1559.             ITextStoreAnchor * This,
  1560.             /* [in] */ IAnchor *paStart,
  1561.             /* [in] */ IAnchor *paEnd,
  1562.             /* [out] */ IDataObject **ppDataObject);
  1563.         
  1564.         HRESULT ( STDMETHODCALLTYPE *GetEmbedded )( 
  1565.             ITextStoreAnchor * This,
  1566.             /* [in] */ DWORD dwFlags,
  1567.             /* [in] */ IAnchor *paPos,
  1568.             /* [in] */ REFGUID rguidService,
  1569.             /* [in] */ REFIID riid,
  1570.             /* [iid_is][out] */ IUnknown **ppunk);
  1571.         
  1572.         HRESULT ( STDMETHODCALLTYPE *InsertEmbedded )( 
  1573.             ITextStoreAnchor * This,
  1574.             /* [in] */ DWORD dwFlags,
  1575.             /* [in] */ IAnchor *paStart,
  1576.             /* [in] */ IAnchor *paEnd,
  1577.             /* [in] */ IDataObject *pDataObject);
  1578.         
  1579.         HRESULT ( STDMETHODCALLTYPE *RequestSupportedAttrs )( 
  1580.             ITextStoreAnchor * This,
  1581.             /* [in] */ DWORD dwFlags,
  1582.             /* [in] */ ULONG cFilterAttrs,
  1583.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs);
  1584.         
  1585.         HRESULT ( STDMETHODCALLTYPE *RequestAttrsAtPosition )( 
  1586.             ITextStoreAnchor * This,
  1587.             /* [in] */ IAnchor *paPos,
  1588.             /* [in] */ ULONG cFilterAttrs,
  1589.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1590.             /* [in] */ DWORD dwFlags);
  1591.         
  1592.         HRESULT ( STDMETHODCALLTYPE *RequestAttrsTransitioningAtPosition )( 
  1593.             ITextStoreAnchor * This,
  1594.             /* [in] */ IAnchor *paPos,
  1595.             /* [in] */ ULONG cFilterAttrs,
  1596.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1597.             /* [in] */ DWORD dwFlags);
  1598.         
  1599.         HRESULT ( STDMETHODCALLTYPE *FindNextAttrTransition )( 
  1600.             ITextStoreAnchor * This,
  1601.             /* [in] */ IAnchor *paStart,
  1602.             /* [in] */ IAnchor *paHalt,
  1603.             /* [in] */ ULONG cFilterAttrs,
  1604.             /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1605.             /* [in] */ DWORD dwFlags,
  1606.             /* [out] */ BOOL *pfFound,
  1607.             /* [out] */ LONG *plFoundOffset);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE *RetrieveRequestedAttrs )( 
  1610.             ITextStoreAnchor * This,
  1611.             /* [in] */ ULONG ulCount,
  1612.             /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  1613.             /* [out] */ ULONG *pcFetched);
  1614.         
  1615.         HRESULT ( STDMETHODCALLTYPE *GetStart )( 
  1616.             ITextStoreAnchor * This,
  1617.             /* [out] */ IAnchor **ppaStart);
  1618.         
  1619.         HRESULT ( STDMETHODCALLTYPE *GetEnd )( 
  1620.             ITextStoreAnchor * This,
  1621.             /* [out] */ IAnchor **ppaEnd);
  1622.         
  1623.         HRESULT ( STDMETHODCALLTYPE *GetActiveView )( 
  1624.             ITextStoreAnchor * This,
  1625.             /* [out] */ TsViewCookie *pvcView);
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE *GetAnchorFromPoint )( 
  1628.             ITextStoreAnchor * This,
  1629.             /* [in] */ TsViewCookie vcView,
  1630.             /* [in] */ const POINT *ptScreen,
  1631.             /* [in] */ DWORD dwFlags,
  1632.             /* [out] */ IAnchor **ppaSite);
  1633.         
  1634.         HRESULT ( STDMETHODCALLTYPE *GetTextExt )( 
  1635.             ITextStoreAnchor * This,
  1636.             /* [in] */ TsViewCookie vcView,
  1637.             /* [in] */ IAnchor *paStart,
  1638.             /* [in] */ IAnchor *paEnd,
  1639.             /* [out] */ RECT *prc,
  1640.             /* [out] */ BOOL *pfClipped);
  1641.         
  1642.         HRESULT ( STDMETHODCALLTYPE *GetScreenExt )( 
  1643.             ITextStoreAnchor * This,
  1644.             /* [in] */ TsViewCookie vcView,
  1645.             /* [out] */ RECT *prc);
  1646.         
  1647.         HRESULT ( STDMETHODCALLTYPE *GetWnd )( 
  1648.             ITextStoreAnchor * This,
  1649.             /* [in] */ TsViewCookie vcView,
  1650.             /* [out] */ HWND *phwnd);
  1651.         
  1652.         HRESULT ( STDMETHODCALLTYPE *QueryInsertEmbedded )( 
  1653.             ITextStoreAnchor * This,
  1654.             /* [in] */ const GUID *pguidService,
  1655.             /* [in] */ const FORMATETC *pFormatEtc,
  1656.             /* [out] */ BOOL *pfInsertable);
  1657.         
  1658.         HRESULT ( STDMETHODCALLTYPE *InsertTextAtSelection )( 
  1659.             ITextStoreAnchor * This,
  1660.             /* [in] */ DWORD dwFlags,
  1661.             /* [size_is][in] */ const WCHAR *pchText,
  1662.             /* [in] */ ULONG cch,
  1663.             /* [out] */ IAnchor **ppaStart,
  1664.             /* [out] */ IAnchor **ppaEnd);
  1665.         
  1666.         HRESULT ( STDMETHODCALLTYPE *InsertEmbeddedAtSelection )( 
  1667.             ITextStoreAnchor * This,
  1668.             /* [in] */ DWORD dwFlags,
  1669.             /* [in] */ IDataObject *pDataObject,
  1670.             /* [out] */ IAnchor **ppaStart,
  1671.             /* [out] */ IAnchor **ppaEnd);
  1672.         
  1673.         END_INTERFACE
  1674.     } ITextStoreAnchorVtbl;
  1675.     interface ITextStoreAnchor
  1676.     {
  1677.         CONST_VTBL struct ITextStoreAnchorVtbl *lpVtbl;
  1678.     };
  1679.     
  1680. #ifdef COBJMACROS
  1681. #define ITextStoreAnchor_QueryInterface(This,riid,ppvObject)
  1682.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1683. #define ITextStoreAnchor_AddRef(This)
  1684.     (This)->lpVtbl -> AddRef(This)
  1685. #define ITextStoreAnchor_Release(This)
  1686.     (This)->lpVtbl -> Release(This)
  1687. #define ITextStoreAnchor_AdviseSink(This,riid,punk,dwMask)
  1688.     (This)->lpVtbl -> AdviseSink(This,riid,punk,dwMask)
  1689. #define ITextStoreAnchor_UnadviseSink(This,punk)
  1690.     (This)->lpVtbl -> UnadviseSink(This,punk)
  1691. #define ITextStoreAnchor_RequestLock(This,dwLockFlags,phrSession)
  1692.     (This)->lpVtbl -> RequestLock(This,dwLockFlags,phrSession)
  1693. #define ITextStoreAnchor_GetStatus(This,pdcs)
  1694.     (This)->lpVtbl -> GetStatus(This,pdcs)
  1695. #define ITextStoreAnchor_QueryInsert(This,paTestStart,paTestEnd,cch,ppaResultStart,ppaResultEnd)
  1696.     (This)->lpVtbl -> QueryInsert(This,paTestStart,paTestEnd,cch,ppaResultStart,ppaResultEnd)
  1697. #define ITextStoreAnchor_GetSelection(This,ulIndex,ulCount,pSelection,pcFetched)
  1698.     (This)->lpVtbl -> GetSelection(This,ulIndex,ulCount,pSelection,pcFetched)
  1699. #define ITextStoreAnchor_SetSelection(This,ulCount,pSelection)
  1700.     (This)->lpVtbl -> SetSelection(This,ulCount,pSelection)
  1701. #define ITextStoreAnchor_GetText(This,dwFlags,paStart,paEnd,pchText,cchReq,pcch,fUpdateAnchor)
  1702.     (This)->lpVtbl -> GetText(This,dwFlags,paStart,paEnd,pchText,cchReq,pcch,fUpdateAnchor)
  1703. #define ITextStoreAnchor_SetText(This,dwFlags,paStart,paEnd,pchText,cch)
  1704.     (This)->lpVtbl -> SetText(This,dwFlags,paStart,paEnd,pchText,cch)
  1705. #define ITextStoreAnchor_GetFormattedText(This,paStart,paEnd,ppDataObject)
  1706.     (This)->lpVtbl -> GetFormattedText(This,paStart,paEnd,ppDataObject)
  1707. #define ITextStoreAnchor_GetEmbedded(This,dwFlags,paPos,rguidService,riid,ppunk)
  1708.     (This)->lpVtbl -> GetEmbedded(This,dwFlags,paPos,rguidService,riid,ppunk)
  1709. #define ITextStoreAnchor_InsertEmbedded(This,dwFlags,paStart,paEnd,pDataObject)
  1710.     (This)->lpVtbl -> InsertEmbedded(This,dwFlags,paStart,paEnd,pDataObject)
  1711. #define ITextStoreAnchor_RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs)
  1712.     (This)->lpVtbl -> RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs)
  1713. #define ITextStoreAnchor_RequestAttrsAtPosition(This,paPos,cFilterAttrs,paFilterAttrs,dwFlags)
  1714.     (This)->lpVtbl -> RequestAttrsAtPosition(This,paPos,cFilterAttrs,paFilterAttrs,dwFlags)
  1715. #define ITextStoreAnchor_RequestAttrsTransitioningAtPosition(This,paPos,cFilterAttrs,paFilterAttrs,dwFlags)
  1716.     (This)->lpVtbl -> RequestAttrsTransitioningAtPosition(This,paPos,cFilterAttrs,paFilterAttrs,dwFlags)
  1717. #define ITextStoreAnchor_FindNextAttrTransition(This,paStart,paHalt,cFilterAttrs,paFilterAttrs,dwFlags,pfFound,plFoundOffset)
  1718.     (This)->lpVtbl -> FindNextAttrTransition(This,paStart,paHalt,cFilterAttrs,paFilterAttrs,dwFlags,pfFound,plFoundOffset)
  1719. #define ITextStoreAnchor_RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched)
  1720.     (This)->lpVtbl -> RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched)
  1721. #define ITextStoreAnchor_GetStart(This,ppaStart)
  1722.     (This)->lpVtbl -> GetStart(This,ppaStart)
  1723. #define ITextStoreAnchor_GetEnd(This,ppaEnd)
  1724.     (This)->lpVtbl -> GetEnd(This,ppaEnd)
  1725. #define ITextStoreAnchor_GetActiveView(This,pvcView)
  1726.     (This)->lpVtbl -> GetActiveView(This,pvcView)
  1727. #define ITextStoreAnchor_GetAnchorFromPoint(This,vcView,ptScreen,dwFlags,ppaSite)
  1728.     (This)->lpVtbl -> GetAnchorFromPoint(This,vcView,ptScreen,dwFlags,ppaSite)
  1729. #define ITextStoreAnchor_GetTextExt(This,vcView,paStart,paEnd,prc,pfClipped)
  1730.     (This)->lpVtbl -> GetTextExt(This,vcView,paStart,paEnd,prc,pfClipped)
  1731. #define ITextStoreAnchor_GetScreenExt(This,vcView,prc)
  1732.     (This)->lpVtbl -> GetScreenExt(This,vcView,prc)
  1733. #define ITextStoreAnchor_GetWnd(This,vcView,phwnd)
  1734.     (This)->lpVtbl -> GetWnd(This,vcView,phwnd)
  1735. #define ITextStoreAnchor_QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  1736.     (This)->lpVtbl -> QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  1737. #define ITextStoreAnchor_InsertTextAtSelection(This,dwFlags,pchText,cch,ppaStart,ppaEnd)
  1738.     (This)->lpVtbl -> InsertTextAtSelection(This,dwFlags,pchText,cch,ppaStart,ppaEnd)
  1739. #define ITextStoreAnchor_InsertEmbeddedAtSelection(This,dwFlags,pDataObject,ppaStart,ppaEnd)
  1740.     (This)->lpVtbl -> InsertEmbeddedAtSelection(This,dwFlags,pDataObject,ppaStart,ppaEnd)
  1741. #endif /* COBJMACROS */
  1742. #endif  /* C style interface */
  1743. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_AdviseSink_Proxy( 
  1744.     ITextStoreAnchor * This,
  1745.     /* [in] */ REFIID riid,
  1746.     /* [iid_is][in] */ IUnknown *punk,
  1747.     /* [in] */ DWORD dwMask);
  1748. void __RPC_STUB ITextStoreAnchor_AdviseSink_Stub(
  1749.     IRpcStubBuffer *This,
  1750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1751.     PRPC_MESSAGE _pRpcMessage,
  1752.     DWORD *_pdwStubPhase);
  1753. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_UnadviseSink_Proxy( 
  1754.     ITextStoreAnchor * This,
  1755.     /* [in] */ IUnknown *punk);
  1756. void __RPC_STUB ITextStoreAnchor_UnadviseSink_Stub(
  1757.     IRpcStubBuffer *This,
  1758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1759.     PRPC_MESSAGE _pRpcMessage,
  1760.     DWORD *_pdwStubPhase);
  1761. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_RequestLock_Proxy( 
  1762.     ITextStoreAnchor * This,
  1763.     /* [in] */ DWORD dwLockFlags,
  1764.     /* [out] */ HRESULT *phrSession);
  1765. void __RPC_STUB ITextStoreAnchor_RequestLock_Stub(
  1766.     IRpcStubBuffer *This,
  1767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1768.     PRPC_MESSAGE _pRpcMessage,
  1769.     DWORD *_pdwStubPhase);
  1770. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetStatus_Proxy( 
  1771.     ITextStoreAnchor * This,
  1772.     /* [out] */ TS_STATUS *pdcs);
  1773. void __RPC_STUB ITextStoreAnchor_GetStatus_Stub(
  1774.     IRpcStubBuffer *This,
  1775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1776.     PRPC_MESSAGE _pRpcMessage,
  1777.     DWORD *_pdwStubPhase);
  1778. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_QueryInsert_Proxy( 
  1779.     ITextStoreAnchor * This,
  1780.     /* [in] */ IAnchor *paTestStart,
  1781.     /* [in] */ IAnchor *paTestEnd,
  1782.     /* [in] */ ULONG cch,
  1783.     /* [out] */ IAnchor **ppaResultStart,
  1784.     /* [out] */ IAnchor **ppaResultEnd);
  1785. void __RPC_STUB ITextStoreAnchor_QueryInsert_Stub(
  1786.     IRpcStubBuffer *This,
  1787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1788.     PRPC_MESSAGE _pRpcMessage,
  1789.     DWORD *_pdwStubPhase);
  1790. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetSelection_Proxy( 
  1791.     ITextStoreAnchor * This,
  1792.     /* [in] */ ULONG ulIndex,
  1793.     /* [in] */ ULONG ulCount,
  1794.     /* [length_is][size_is][out] */ TS_SELECTION_ANCHOR *pSelection,
  1795.     /* [out] */ ULONG *pcFetched);
  1796. void __RPC_STUB ITextStoreAnchor_GetSelection_Stub(
  1797.     IRpcStubBuffer *This,
  1798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1799.     PRPC_MESSAGE _pRpcMessage,
  1800.     DWORD *_pdwStubPhase);
  1801. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_SetSelection_Proxy( 
  1802.     ITextStoreAnchor * This,
  1803.     /* [in] */ ULONG ulCount,
  1804.     /* [size_is][in] */ const TS_SELECTION_ANCHOR *pSelection);
  1805. void __RPC_STUB ITextStoreAnchor_SetSelection_Stub(
  1806.     IRpcStubBuffer *This,
  1807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1808.     PRPC_MESSAGE _pRpcMessage,
  1809.     DWORD *_pdwStubPhase);
  1810. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetText_Proxy( 
  1811.     ITextStoreAnchor * This,
  1812.     /* [in] */ DWORD dwFlags,
  1813.     /* [in] */ IAnchor *paStart,
  1814.     /* [in] */ IAnchor *paEnd,
  1815.     /* [length_is][size_is][out] */ WCHAR *pchText,
  1816.     /* [in] */ ULONG cchReq,
  1817.     /* [out] */ ULONG *pcch,
  1818.     /* [in] */ BOOL fUpdateAnchor);
  1819. void __RPC_STUB ITextStoreAnchor_GetText_Stub(
  1820.     IRpcStubBuffer *This,
  1821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1822.     PRPC_MESSAGE _pRpcMessage,
  1823.     DWORD *_pdwStubPhase);
  1824. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_SetText_Proxy( 
  1825.     ITextStoreAnchor * This,
  1826.     /* [in] */ DWORD dwFlags,
  1827.     /* [in] */ IAnchor *paStart,
  1828.     /* [in] */ IAnchor *paEnd,
  1829.     /* [size_is][in] */ const WCHAR *pchText,
  1830.     /* [in] */ ULONG cch);
  1831. void __RPC_STUB ITextStoreAnchor_SetText_Stub(
  1832.     IRpcStubBuffer *This,
  1833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1834.     PRPC_MESSAGE _pRpcMessage,
  1835.     DWORD *_pdwStubPhase);
  1836. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetFormattedText_Proxy( 
  1837.     ITextStoreAnchor * This,
  1838.     /* [in] */ IAnchor *paStart,
  1839.     /* [in] */ IAnchor *paEnd,
  1840.     /* [out] */ IDataObject **ppDataObject);
  1841. void __RPC_STUB ITextStoreAnchor_GetFormattedText_Stub(
  1842.     IRpcStubBuffer *This,
  1843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1844.     PRPC_MESSAGE _pRpcMessage,
  1845.     DWORD *_pdwStubPhase);
  1846. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetEmbedded_Proxy( 
  1847.     ITextStoreAnchor * This,
  1848.     /* [in] */ DWORD dwFlags,
  1849.     /* [in] */ IAnchor *paPos,
  1850.     /* [in] */ REFGUID rguidService,
  1851.     /* [in] */ REFIID riid,
  1852.     /* [iid_is][out] */ IUnknown **ppunk);
  1853. void __RPC_STUB ITextStoreAnchor_GetEmbedded_Stub(
  1854.     IRpcStubBuffer *This,
  1855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1856.     PRPC_MESSAGE _pRpcMessage,
  1857.     DWORD *_pdwStubPhase);
  1858. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_InsertEmbedded_Proxy( 
  1859.     ITextStoreAnchor * This,
  1860.     /* [in] */ DWORD dwFlags,
  1861.     /* [in] */ IAnchor *paStart,
  1862.     /* [in] */ IAnchor *paEnd,
  1863.     /* [in] */ IDataObject *pDataObject);
  1864. void __RPC_STUB ITextStoreAnchor_InsertEmbedded_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_RequestSupportedAttrs_Proxy( 
  1870.     ITextStoreAnchor * This,
  1871.     /* [in] */ DWORD dwFlags,
  1872.     /* [in] */ ULONG cFilterAttrs,
  1873.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs);
  1874. void __RPC_STUB ITextStoreAnchor_RequestSupportedAttrs_Stub(
  1875.     IRpcStubBuffer *This,
  1876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1877.     PRPC_MESSAGE _pRpcMessage,
  1878.     DWORD *_pdwStubPhase);
  1879. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_RequestAttrsAtPosition_Proxy( 
  1880.     ITextStoreAnchor * This,
  1881.     /* [in] */ IAnchor *paPos,
  1882.     /* [in] */ ULONG cFilterAttrs,
  1883.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1884.     /* [in] */ DWORD dwFlags);
  1885. void __RPC_STUB ITextStoreAnchor_RequestAttrsAtPosition_Stub(
  1886.     IRpcStubBuffer *This,
  1887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1888.     PRPC_MESSAGE _pRpcMessage,
  1889.     DWORD *_pdwStubPhase);
  1890. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_RequestAttrsTransitioningAtPosition_Proxy( 
  1891.     ITextStoreAnchor * This,
  1892.     /* [in] */ IAnchor *paPos,
  1893.     /* [in] */ ULONG cFilterAttrs,
  1894.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1895.     /* [in] */ DWORD dwFlags);
  1896. void __RPC_STUB ITextStoreAnchor_RequestAttrsTransitioningAtPosition_Stub(
  1897.     IRpcStubBuffer *This,
  1898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1899.     PRPC_MESSAGE _pRpcMessage,
  1900.     DWORD *_pdwStubPhase);
  1901. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_FindNextAttrTransition_Proxy( 
  1902.     ITextStoreAnchor * This,
  1903.     /* [in] */ IAnchor *paStart,
  1904.     /* [in] */ IAnchor *paHalt,
  1905.     /* [in] */ ULONG cFilterAttrs,
  1906.     /* [unique][size_is][in] */ const TS_ATTRID *paFilterAttrs,
  1907.     /* [in] */ DWORD dwFlags,
  1908.     /* [out] */ BOOL *pfFound,
  1909.     /* [out] */ LONG *plFoundOffset);
  1910. void __RPC_STUB ITextStoreAnchor_FindNextAttrTransition_Stub(
  1911.     IRpcStubBuffer *This,
  1912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1913.     PRPC_MESSAGE _pRpcMessage,
  1914.     DWORD *_pdwStubPhase);
  1915. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_RetrieveRequestedAttrs_Proxy( 
  1916.     ITextStoreAnchor * This,
  1917.     /* [in] */ ULONG ulCount,
  1918.     /* [length_is][size_is][out] */ TS_ATTRVAL *paAttrVals,
  1919.     /* [out] */ ULONG *pcFetched);
  1920. void __RPC_STUB ITextStoreAnchor_RetrieveRequestedAttrs_Stub(
  1921.     IRpcStubBuffer *This,
  1922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1923.     PRPC_MESSAGE _pRpcMessage,
  1924.     DWORD *_pdwStubPhase);
  1925. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetStart_Proxy( 
  1926.     ITextStoreAnchor * This,
  1927.     /* [out] */ IAnchor **ppaStart);
  1928. void __RPC_STUB ITextStoreAnchor_GetStart_Stub(
  1929.     IRpcStubBuffer *This,
  1930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1931.     PRPC_MESSAGE _pRpcMessage,
  1932.     DWORD *_pdwStubPhase);
  1933. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetEnd_Proxy( 
  1934.     ITextStoreAnchor * This,
  1935.     /* [out] */ IAnchor **ppaEnd);
  1936. void __RPC_STUB ITextStoreAnchor_GetEnd_Stub(
  1937.     IRpcStubBuffer *This,
  1938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1939.     PRPC_MESSAGE _pRpcMessage,
  1940.     DWORD *_pdwStubPhase);
  1941. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetActiveView_Proxy( 
  1942.     ITextStoreAnchor * This,
  1943.     /* [out] */ TsViewCookie *pvcView);
  1944. void __RPC_STUB ITextStoreAnchor_GetActiveView_Stub(
  1945.     IRpcStubBuffer *This,
  1946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1947.     PRPC_MESSAGE _pRpcMessage,
  1948.     DWORD *_pdwStubPhase);
  1949. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetAnchorFromPoint_Proxy( 
  1950.     ITextStoreAnchor * This,
  1951.     /* [in] */ TsViewCookie vcView,
  1952.     /* [in] */ const POINT *ptScreen,
  1953.     /* [in] */ DWORD dwFlags,
  1954.     /* [out] */ IAnchor **ppaSite);
  1955. void __RPC_STUB ITextStoreAnchor_GetAnchorFromPoint_Stub(
  1956.     IRpcStubBuffer *This,
  1957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1958.     PRPC_MESSAGE _pRpcMessage,
  1959.     DWORD *_pdwStubPhase);
  1960. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetTextExt_Proxy( 
  1961.     ITextStoreAnchor * This,
  1962.     /* [in] */ TsViewCookie vcView,
  1963.     /* [in] */ IAnchor *paStart,
  1964.     /* [in] */ IAnchor *paEnd,
  1965.     /* [out] */ RECT *prc,
  1966.     /* [out] */ BOOL *pfClipped);
  1967. void __RPC_STUB ITextStoreAnchor_GetTextExt_Stub(
  1968.     IRpcStubBuffer *This,
  1969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1970.     PRPC_MESSAGE _pRpcMessage,
  1971.     DWORD *_pdwStubPhase);
  1972. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetScreenExt_Proxy( 
  1973.     ITextStoreAnchor * This,
  1974.     /* [in] */ TsViewCookie vcView,
  1975.     /* [out] */ RECT *prc);
  1976. void __RPC_STUB ITextStoreAnchor_GetScreenExt_Stub(
  1977.     IRpcStubBuffer *This,
  1978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1979.     PRPC_MESSAGE _pRpcMessage,
  1980.     DWORD *_pdwStubPhase);
  1981. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_GetWnd_Proxy( 
  1982.     ITextStoreAnchor * This,
  1983.     /* [in] */ TsViewCookie vcView,
  1984.     /* [out] */ HWND *phwnd);
  1985. void __RPC_STUB ITextStoreAnchor_GetWnd_Stub(
  1986.     IRpcStubBuffer *This,
  1987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1988.     PRPC_MESSAGE _pRpcMessage,
  1989.     DWORD *_pdwStubPhase);
  1990. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_QueryInsertEmbedded_Proxy( 
  1991.     ITextStoreAnchor * This,
  1992.     /* [in] */ const GUID *pguidService,
  1993.     /* [in] */ const FORMATETC *pFormatEtc,
  1994.     /* [out] */ BOOL *pfInsertable);
  1995. void __RPC_STUB ITextStoreAnchor_QueryInsertEmbedded_Stub(
  1996.     IRpcStubBuffer *This,
  1997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1998.     PRPC_MESSAGE _pRpcMessage,
  1999.     DWORD *_pdwStubPhase);
  2000. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_InsertTextAtSelection_Proxy( 
  2001.     ITextStoreAnchor * This,
  2002.     /* [in] */ DWORD dwFlags,
  2003.     /* [size_is][in] */ const WCHAR *pchText,
  2004.     /* [in] */ ULONG cch,
  2005.     /* [out] */ IAnchor **ppaStart,
  2006.     /* [out] */ IAnchor **ppaEnd);
  2007. void __RPC_STUB ITextStoreAnchor_InsertTextAtSelection_Stub(
  2008.     IRpcStubBuffer *This,
  2009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2010.     PRPC_MESSAGE _pRpcMessage,
  2011.     DWORD *_pdwStubPhase);
  2012. HRESULT STDMETHODCALLTYPE ITextStoreAnchor_InsertEmbeddedAtSelection_Proxy( 
  2013.     ITextStoreAnchor * This,
  2014.     /* [in] */ DWORD dwFlags,
  2015.     /* [in] */ IDataObject *pDataObject,
  2016.     /* [out] */ IAnchor **ppaStart,
  2017.     /* [out] */ IAnchor **ppaEnd);
  2018. void __RPC_STUB ITextStoreAnchor_InsertEmbeddedAtSelection_Stub(
  2019.     IRpcStubBuffer *This,
  2020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2021.     PRPC_MESSAGE _pRpcMessage,
  2022.     DWORD *_pdwStubPhase);
  2023. #endif  /* __ITextStoreAnchor_INTERFACE_DEFINED__ */
  2024. #ifndef __ITextStoreAnchorSink_INTERFACE_DEFINED__
  2025. #define __ITextStoreAnchorSink_INTERFACE_DEFINED__
  2026. /* interface ITextStoreAnchorSink */
  2027. /* [unique][uuid][object] */ 
  2028. EXTERN_C const IID IID_ITextStoreAnchorSink;
  2029. #if defined(__cplusplus) && !defined(CINTERFACE)
  2030.     
  2031.     MIDL_INTERFACE("aa80e905-2021-11d2-93e0-0060b067b86e")
  2032.     ITextStoreAnchorSink : public IUnknown
  2033.     {
  2034.     public:
  2035.         virtual HRESULT STDMETHODCALLTYPE OnTextChange( 
  2036.             /* [in] */ DWORD dwFlags,
  2037.             /* [in] */ IAnchor *paStart,
  2038.             /* [in] */ IAnchor *paEnd) = 0;
  2039.         
  2040.         virtual HRESULT STDMETHODCALLTYPE OnSelectionChange( void) = 0;
  2041.         
  2042.         virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( 
  2043.             /* [in] */ TsLayoutCode lcode,
  2044.             /* [in] */ TsViewCookie vcView) = 0;
  2045.         
  2046.         virtual HRESULT STDMETHODCALLTYPE OnStatusChange( 
  2047.             /* [in] */ DWORD dwFlags) = 0;
  2048.         
  2049.         virtual HRESULT STDMETHODCALLTYPE OnAttrsChange( 
  2050.             /* [in] */ IAnchor *paStart,
  2051.             /* [in] */ IAnchor *paEnd,
  2052.             /* [in] */ ULONG cAttrs,
  2053.             /* [size_is][in] */ const TS_ATTRID *paAttrs) = 0;
  2054.         
  2055.         virtual HRESULT STDMETHODCALLTYPE OnLockGranted( 
  2056.             /* [in] */ DWORD dwLockFlags) = 0;
  2057.         
  2058.         virtual HRESULT STDMETHODCALLTYPE OnStartEditTransaction( void) = 0;
  2059.         
  2060.         virtual HRESULT STDMETHODCALLTYPE OnEndEditTransaction( void) = 0;
  2061.         
  2062.     };
  2063.     
  2064. #else  /* C style interface */
  2065.     typedef struct ITextStoreAnchorSinkVtbl
  2066.     {
  2067.         BEGIN_INTERFACE
  2068.         
  2069.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2070.             ITextStoreAnchorSink * This,
  2071.             /* [in] */ REFIID riid,
  2072.             /* [iid_is][out] */ void **ppvObject);
  2073.         
  2074.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2075.             ITextStoreAnchorSink * This);
  2076.         
  2077.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2078.             ITextStoreAnchorSink * This);
  2079.         
  2080.         HRESULT ( STDMETHODCALLTYPE *OnTextChange )( 
  2081.             ITextStoreAnchorSink * This,
  2082.             /* [in] */ DWORD dwFlags,
  2083.             /* [in] */ IAnchor *paStart,
  2084.             /* [in] */ IAnchor *paEnd);
  2085.         
  2086.         HRESULT ( STDMETHODCALLTYPE *OnSelectionChange )( 
  2087.             ITextStoreAnchorSink * This);
  2088.         
  2089.         HRESULT ( STDMETHODCALLTYPE *OnLayoutChange )( 
  2090.             ITextStoreAnchorSink * This,
  2091.             /* [in] */ TsLayoutCode lcode,
  2092.             /* [in] */ TsViewCookie vcView);
  2093.         
  2094.         HRESULT ( STDMETHODCALLTYPE *OnStatusChange )( 
  2095.             ITextStoreAnchorSink * This,
  2096.             /* [in] */ DWORD dwFlags);
  2097.         
  2098.         HRESULT ( STDMETHODCALLTYPE *OnAttrsChange )( 
  2099.             ITextStoreAnchorSink * This,
  2100.             /* [in] */ IAnchor *paStart,
  2101.             /* [in] */ IAnchor *paEnd,
  2102.             /* [in] */ ULONG cAttrs,
  2103.             /* [size_is][in] */ const TS_ATTRID *paAttrs);
  2104.         
  2105.         HRESULT ( STDMETHODCALLTYPE *OnLockGranted )( 
  2106.             ITextStoreAnchorSink * This,
  2107.             /* [in] */ DWORD dwLockFlags);
  2108.         
  2109.         HRESULT ( STDMETHODCALLTYPE *OnStartEditTransaction )( 
  2110.             ITextStoreAnchorSink * This);
  2111.         
  2112.         HRESULT ( STDMETHODCALLTYPE *OnEndEditTransaction )( 
  2113.             ITextStoreAnchorSink * This);
  2114.         
  2115.         END_INTERFACE
  2116.     } ITextStoreAnchorSinkVtbl;
  2117.     interface ITextStoreAnchorSink
  2118.     {
  2119.         CONST_VTBL struct ITextStoreAnchorSinkVtbl *lpVtbl;
  2120.     };
  2121.     
  2122. #ifdef COBJMACROS
  2123. #define ITextStoreAnchorSink_QueryInterface(This,riid,ppvObject)
  2124.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2125. #define ITextStoreAnchorSink_AddRef(This)
  2126.     (This)->lpVtbl -> AddRef(This)
  2127. #define ITextStoreAnchorSink_Release(This)
  2128.     (This)->lpVtbl -> Release(This)
  2129. #define ITextStoreAnchorSink_OnTextChange(This,dwFlags,paStart,paEnd)
  2130.     (This)->lpVtbl -> OnTextChange(This,dwFlags,paStart,paEnd)
  2131. #define ITextStoreAnchorSink_OnSelectionChange(This)
  2132.     (This)->lpVtbl -> OnSelectionChange(This)
  2133. #define ITextStoreAnchorSink_OnLayoutChange(This,lcode,vcView)
  2134.     (This)->lpVtbl -> OnLayoutChange(This,lcode,vcView)
  2135. #define ITextStoreAnchorSink_OnStatusChange(This,dwFlags)
  2136.     (This)->lpVtbl -> OnStatusChange(This,dwFlags)
  2137. #define ITextStoreAnchorSink_OnAttrsChange(This,paStart,paEnd,cAttrs,paAttrs)
  2138.     (This)->lpVtbl -> OnAttrsChange(This,paStart,paEnd,cAttrs,paAttrs)
  2139. #define ITextStoreAnchorSink_OnLockGranted(This,dwLockFlags)
  2140.     (This)->lpVtbl -> OnLockGranted(This,dwLockFlags)
  2141. #define ITextStoreAnchorSink_OnStartEditTransaction(This)
  2142.     (This)->lpVtbl -> OnStartEditTransaction(This)
  2143. #define ITextStoreAnchorSink_OnEndEditTransaction(This)
  2144.     (This)->lpVtbl -> OnEndEditTransaction(This)
  2145. #endif /* COBJMACROS */
  2146. #endif  /* C style interface */
  2147. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnTextChange_Proxy( 
  2148.     ITextStoreAnchorSink * This,
  2149.     /* [in] */ DWORD dwFlags,
  2150.     /* [in] */ IAnchor *paStart,
  2151.     /* [in] */ IAnchor *paEnd);
  2152. void __RPC_STUB ITextStoreAnchorSink_OnTextChange_Stub(
  2153.     IRpcStubBuffer *This,
  2154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2155.     PRPC_MESSAGE _pRpcMessage,
  2156.     DWORD *_pdwStubPhase);
  2157. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnSelectionChange_Proxy( 
  2158.     ITextStoreAnchorSink * This);
  2159. void __RPC_STUB ITextStoreAnchorSink_OnSelectionChange_Stub(
  2160.     IRpcStubBuffer *This,
  2161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2162.     PRPC_MESSAGE _pRpcMessage,
  2163.     DWORD *_pdwStubPhase);
  2164. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnLayoutChange_Proxy( 
  2165.     ITextStoreAnchorSink * This,
  2166.     /* [in] */ TsLayoutCode lcode,
  2167.     /* [in] */ TsViewCookie vcView);
  2168. void __RPC_STUB ITextStoreAnchorSink_OnLayoutChange_Stub(
  2169.     IRpcStubBuffer *This,
  2170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2171.     PRPC_MESSAGE _pRpcMessage,
  2172.     DWORD *_pdwStubPhase);
  2173. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnStatusChange_Proxy( 
  2174.     ITextStoreAnchorSink * This,
  2175.     /* [in] */ DWORD dwFlags);
  2176. void __RPC_STUB ITextStoreAnchorSink_OnStatusChange_Stub(
  2177.     IRpcStubBuffer *This,
  2178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2179.     PRPC_MESSAGE _pRpcMessage,
  2180.     DWORD *_pdwStubPhase);
  2181. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnAttrsChange_Proxy( 
  2182.     ITextStoreAnchorSink * This,
  2183.     /* [in] */ IAnchor *paStart,
  2184.     /* [in] */ IAnchor *paEnd,
  2185.     /* [in] */ ULONG cAttrs,
  2186.     /* [size_is][in] */ const TS_ATTRID *paAttrs);
  2187. void __RPC_STUB ITextStoreAnchorSink_OnAttrsChange_Stub(
  2188.     IRpcStubBuffer *This,
  2189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2190.     PRPC_MESSAGE _pRpcMessage,
  2191.     DWORD *_pdwStubPhase);
  2192. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnLockGranted_Proxy( 
  2193.     ITextStoreAnchorSink * This,
  2194.     /* [in] */ DWORD dwLockFlags);
  2195. void __RPC_STUB ITextStoreAnchorSink_OnLockGranted_Stub(
  2196.     IRpcStubBuffer *This,
  2197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2198.     PRPC_MESSAGE _pRpcMessage,
  2199.     DWORD *_pdwStubPhase);
  2200. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnStartEditTransaction_Proxy( 
  2201.     ITextStoreAnchorSink * This);
  2202. void __RPC_STUB ITextStoreAnchorSink_OnStartEditTransaction_Stub(
  2203.     IRpcStubBuffer *This,
  2204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2205.     PRPC_MESSAGE _pRpcMessage,
  2206.     DWORD *_pdwStubPhase);
  2207. HRESULT STDMETHODCALLTYPE ITextStoreAnchorSink_OnEndEditTransaction_Proxy( 
  2208.     ITextStoreAnchorSink * This);
  2209. void __RPC_STUB ITextStoreAnchorSink_OnEndEditTransaction_Stub(
  2210.     IRpcStubBuffer *This,
  2211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2212.     PRPC_MESSAGE _pRpcMessage,
  2213.     DWORD *_pdwStubPhase);
  2214. #endif  /* __ITextStoreAnchorSink_INTERFACE_DEFINED__ */
  2215. /* Additional Prototypes for ALL interfaces */
  2216. unsigned long             __RPC_USER  CLIPFORMAT_UserSize(     unsigned long *, unsigned long            , CLIPFORMAT * ); 
  2217. unsigned char * __RPC_USER  CLIPFORMAT_UserMarshal(  unsigned long *, unsigned char *, CLIPFORMAT * ); 
  2218. unsigned char * __RPC_USER  CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT * ); 
  2219. void                      __RPC_USER  CLIPFORMAT_UserFree(     unsigned long *, CLIPFORMAT * ); 
  2220. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
  2221. unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
  2222. unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
  2223. void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 
  2224. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  2225. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  2226. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  2227. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  2228. /* end of Additional Prototypes */
  2229. #ifdef __cplusplus
  2230. }
  2231. #endif
  2232. #endif