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

模拟服务器

开发平台:

C/C++

  1.     (This)->lpVtbl -> get_lineDirection(This,p)
  2. #endif /* COBJMACROS */
  3. #endif  /* C style interface */
  4. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ILineInfo_get_x_Proxy( 
  5.     ILineInfo * This,
  6.     /* [out][retval] */ long *p);
  7. void __RPC_STUB ILineInfo_get_x_Stub(
  8.     IRpcStubBuffer *This,
  9.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10.     PRPC_MESSAGE _pRpcMessage,
  11.     DWORD *_pdwStubPhase);
  12. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ILineInfo_get_baseLine_Proxy( 
  13.     ILineInfo * This,
  14.     /* [out][retval] */ long *p);
  15. void __RPC_STUB ILineInfo_get_baseLine_Stub(
  16.     IRpcStubBuffer *This,
  17.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18.     PRPC_MESSAGE _pRpcMessage,
  19.     DWORD *_pdwStubPhase);
  20. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ILineInfo_get_textDescent_Proxy( 
  21.     ILineInfo * This,
  22.     /* [out][retval] */ long *p);
  23. void __RPC_STUB ILineInfo_get_textDescent_Stub(
  24.     IRpcStubBuffer *This,
  25.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26.     PRPC_MESSAGE _pRpcMessage,
  27.     DWORD *_pdwStubPhase);
  28. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ILineInfo_get_textHeight_Proxy( 
  29.     ILineInfo * This,
  30.     /* [out][retval] */ long *p);
  31. void __RPC_STUB ILineInfo_get_textHeight_Stub(
  32.     IRpcStubBuffer *This,
  33.     IRpcChannelBuffer *_pRpcChannelBuffer,
  34.     PRPC_MESSAGE _pRpcMessage,
  35.     DWORD *_pdwStubPhase);
  36. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ILineInfo_get_lineDirection_Proxy( 
  37.     ILineInfo * This,
  38.     /* [out][retval] */ LONG *p);
  39. void __RPC_STUB ILineInfo_get_lineDirection_Stub(
  40.     IRpcStubBuffer *This,
  41.     IRpcChannelBuffer *_pRpcChannelBuffer,
  42.     PRPC_MESSAGE _pRpcMessage,
  43.     DWORD *_pdwStubPhase);
  44. #endif  /* __ILineInfo_INTERFACE_DEFINED__ */
  45. #ifndef __IDisplayPointer_INTERFACE_DEFINED__
  46. #define __IDisplayPointer_INTERFACE_DEFINED__
  47. /* interface IDisplayPointer */
  48. /* [uuid][unique][object] */ 
  49. EXTERN_C const IID IID_IDisplayPointer;
  50. #if defined(__cplusplus) && !defined(CINTERFACE)
  51.     
  52.     MIDL_INTERFACE("3050f69e-98b5-11cf-bb82-00aa00bdce0b")
  53.     IDisplayPointer : public IUnknown
  54.     {
  55.     public:
  56.         virtual HRESULT STDMETHODCALLTYPE MoveToPoint( 
  57.             /* [in] */ POINT ptPoint,
  58.             /* [in] */ COORD_SYSTEM eCoordSystem,
  59.             /* [in] */ IHTMLElement *pElementContext,
  60.             /* [in] */ DWORD dwHitTestOptions,
  61.             /* [out] */ DWORD *pdwHitTestResults) = 0;
  62.         
  63.         virtual HRESULT STDMETHODCALLTYPE MoveUnit( 
  64.             /* [in] */ DISPLAY_MOVEUNIT eMoveUnit,
  65.             /* [in] */ LONG lXPos) = 0;
  66.         
  67.         virtual HRESULT STDMETHODCALLTYPE PositionMarkupPointer( 
  68.             /* [in] */ IMarkupPointer *pMarkupPointer) = 0;
  69.         
  70.         virtual HRESULT STDMETHODCALLTYPE MoveToPointer( 
  71.             /* [in] */ IDisplayPointer *pDispPointer) = 0;
  72.         
  73.         virtual HRESULT STDMETHODCALLTYPE SetPointerGravity( 
  74.             /* [in] */ POINTER_GRAVITY eGravity) = 0;
  75.         
  76.         virtual HRESULT STDMETHODCALLTYPE GetPointerGravity( 
  77.             /* [out] */ POINTER_GRAVITY *peGravity) = 0;
  78.         
  79.         virtual HRESULT STDMETHODCALLTYPE SetDisplayGravity( 
  80.             /* [in] */ DISPLAY_GRAVITY eGravity) = 0;
  81.         
  82.         virtual HRESULT STDMETHODCALLTYPE GetDisplayGravity( 
  83.             /* [out] */ DISPLAY_GRAVITY *peGravity) = 0;
  84.         
  85.         virtual HRESULT STDMETHODCALLTYPE IsPositioned( 
  86.             /* [out] */ BOOL *pfPositioned) = 0;
  87.         
  88.         virtual HRESULT STDMETHODCALLTYPE Unposition( void) = 0;
  89.         
  90.         virtual HRESULT STDMETHODCALLTYPE IsEqualTo( 
  91.             /* [in] */ IDisplayPointer *pDispPointer,
  92.             /* [out] */ BOOL *pfIsEqual) = 0;
  93.         
  94.         virtual HRESULT STDMETHODCALLTYPE IsLeftOf( 
  95.             /* [in] */ IDisplayPointer *pDispPointer,
  96.             /* [out] */ BOOL *pfIsLeftOf) = 0;
  97.         
  98.         virtual HRESULT STDMETHODCALLTYPE IsRightOf( 
  99.             /* [in] */ IDisplayPointer *pDispPointer,
  100.             /* [out] */ BOOL *pfIsRightOf) = 0;
  101.         
  102.         virtual HRESULT STDMETHODCALLTYPE IsAtBOL( 
  103.             /* [out] */ BOOL *pfBOL) = 0;
  104.         
  105.         virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPointer( 
  106.             /* [in] */ IMarkupPointer *pPointer,
  107.             /* [in] */ IDisplayPointer *pDispLineContext) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( void) = 0;
  110.         
  111.         virtual HRESULT STDMETHODCALLTYPE GetLineInfo( 
  112.             /* [out] */ ILineInfo **ppLineInfo) = 0;
  113.         
  114.         virtual HRESULT STDMETHODCALLTYPE GetFlowElement( 
  115.             /* [out] */ IHTMLElement **ppLayoutElement) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE QueryBreaks( 
  118.             /* [out] */ DWORD *pdwBreaks) = 0;
  119.         
  120.     };
  121.     
  122. #else  /* C style interface */
  123.     typedef struct IDisplayPointerVtbl
  124.     {
  125.         BEGIN_INTERFACE
  126.         
  127.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  128.             IDisplayPointer * This,
  129.             /* [in] */ REFIID riid,
  130.             /* [iid_is][out] */ void **ppvObject);
  131.         
  132.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  133.             IDisplayPointer * This);
  134.         
  135.         ULONG ( STDMETHODCALLTYPE *Release )( 
  136.             IDisplayPointer * This);
  137.         
  138.         HRESULT ( STDMETHODCALLTYPE *MoveToPoint )( 
  139.             IDisplayPointer * This,
  140.             /* [in] */ POINT ptPoint,
  141.             /* [in] */ COORD_SYSTEM eCoordSystem,
  142.             /* [in] */ IHTMLElement *pElementContext,
  143.             /* [in] */ DWORD dwHitTestOptions,
  144.             /* [out] */ DWORD *pdwHitTestResults);
  145.         
  146.         HRESULT ( STDMETHODCALLTYPE *MoveUnit )( 
  147.             IDisplayPointer * This,
  148.             /* [in] */ DISPLAY_MOVEUNIT eMoveUnit,
  149.             /* [in] */ LONG lXPos);
  150.         
  151.         HRESULT ( STDMETHODCALLTYPE *PositionMarkupPointer )( 
  152.             IDisplayPointer * This,
  153.             /* [in] */ IMarkupPointer *pMarkupPointer);
  154.         
  155.         HRESULT ( STDMETHODCALLTYPE *MoveToPointer )( 
  156.             IDisplayPointer * This,
  157.             /* [in] */ IDisplayPointer *pDispPointer);
  158.         
  159.         HRESULT ( STDMETHODCALLTYPE *SetPointerGravity )( 
  160.             IDisplayPointer * This,
  161.             /* [in] */ POINTER_GRAVITY eGravity);
  162.         
  163.         HRESULT ( STDMETHODCALLTYPE *GetPointerGravity )( 
  164.             IDisplayPointer * This,
  165.             /* [out] */ POINTER_GRAVITY *peGravity);
  166.         
  167.         HRESULT ( STDMETHODCALLTYPE *SetDisplayGravity )( 
  168.             IDisplayPointer * This,
  169.             /* [in] */ DISPLAY_GRAVITY eGravity);
  170.         
  171.         HRESULT ( STDMETHODCALLTYPE *GetDisplayGravity )( 
  172.             IDisplayPointer * This,
  173.             /* [out] */ DISPLAY_GRAVITY *peGravity);
  174.         
  175.         HRESULT ( STDMETHODCALLTYPE *IsPositioned )( 
  176.             IDisplayPointer * This,
  177.             /* [out] */ BOOL *pfPositioned);
  178.         
  179.         HRESULT ( STDMETHODCALLTYPE *Unposition )( 
  180.             IDisplayPointer * This);
  181.         
  182.         HRESULT ( STDMETHODCALLTYPE *IsEqualTo )( 
  183.             IDisplayPointer * This,
  184.             /* [in] */ IDisplayPointer *pDispPointer,
  185.             /* [out] */ BOOL *pfIsEqual);
  186.         
  187.         HRESULT ( STDMETHODCALLTYPE *IsLeftOf )( 
  188.             IDisplayPointer * This,
  189.             /* [in] */ IDisplayPointer *pDispPointer,
  190.             /* [out] */ BOOL *pfIsLeftOf);
  191.         
  192.         HRESULT ( STDMETHODCALLTYPE *IsRightOf )( 
  193.             IDisplayPointer * This,
  194.             /* [in] */ IDisplayPointer *pDispPointer,
  195.             /* [out] */ BOOL *pfIsRightOf);
  196.         
  197.         HRESULT ( STDMETHODCALLTYPE *IsAtBOL )( 
  198.             IDisplayPointer * This,
  199.             /* [out] */ BOOL *pfBOL);
  200.         
  201.         HRESULT ( STDMETHODCALLTYPE *MoveToMarkupPointer )( 
  202.             IDisplayPointer * This,
  203.             /* [in] */ IMarkupPointer *pPointer,
  204.             /* [in] */ IDisplayPointer *pDispLineContext);
  205.         
  206.         HRESULT ( STDMETHODCALLTYPE *ScrollIntoView )( 
  207.             IDisplayPointer * This);
  208.         
  209.         HRESULT ( STDMETHODCALLTYPE *GetLineInfo )( 
  210.             IDisplayPointer * This,
  211.             /* [out] */ ILineInfo **ppLineInfo);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *GetFlowElement )( 
  214.             IDisplayPointer * This,
  215.             /* [out] */ IHTMLElement **ppLayoutElement);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE *QueryBreaks )( 
  218.             IDisplayPointer * This,
  219.             /* [out] */ DWORD *pdwBreaks);
  220.         
  221.         END_INTERFACE
  222.     } IDisplayPointerVtbl;
  223.     interface IDisplayPointer
  224.     {
  225.         CONST_VTBL struct IDisplayPointerVtbl *lpVtbl;
  226.     };
  227.     
  228. #ifdef COBJMACROS
  229. #define IDisplayPointer_QueryInterface(This,riid,ppvObject)
  230.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  231. #define IDisplayPointer_AddRef(This)
  232.     (This)->lpVtbl -> AddRef(This)
  233. #define IDisplayPointer_Release(This)
  234.     (This)->lpVtbl -> Release(This)
  235. #define IDisplayPointer_MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults)
  236.     (This)->lpVtbl -> MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults)
  237. #define IDisplayPointer_MoveUnit(This,eMoveUnit,lXPos)
  238.     (This)->lpVtbl -> MoveUnit(This,eMoveUnit,lXPos)
  239. #define IDisplayPointer_PositionMarkupPointer(This,pMarkupPointer)
  240.     (This)->lpVtbl -> PositionMarkupPointer(This,pMarkupPointer)
  241. #define IDisplayPointer_MoveToPointer(This,pDispPointer)
  242.     (This)->lpVtbl -> MoveToPointer(This,pDispPointer)
  243. #define IDisplayPointer_SetPointerGravity(This,eGravity)
  244.     (This)->lpVtbl -> SetPointerGravity(This,eGravity)
  245. #define IDisplayPointer_GetPointerGravity(This,peGravity)
  246.     (This)->lpVtbl -> GetPointerGravity(This,peGravity)
  247. #define IDisplayPointer_SetDisplayGravity(This,eGravity)
  248.     (This)->lpVtbl -> SetDisplayGravity(This,eGravity)
  249. #define IDisplayPointer_GetDisplayGravity(This,peGravity)
  250.     (This)->lpVtbl -> GetDisplayGravity(This,peGravity)
  251. #define IDisplayPointer_IsPositioned(This,pfPositioned)
  252.     (This)->lpVtbl -> IsPositioned(This,pfPositioned)
  253. #define IDisplayPointer_Unposition(This)
  254.     (This)->lpVtbl -> Unposition(This)
  255. #define IDisplayPointer_IsEqualTo(This,pDispPointer,pfIsEqual)
  256.     (This)->lpVtbl -> IsEqualTo(This,pDispPointer,pfIsEqual)
  257. #define IDisplayPointer_IsLeftOf(This,pDispPointer,pfIsLeftOf)
  258.     (This)->lpVtbl -> IsLeftOf(This,pDispPointer,pfIsLeftOf)
  259. #define IDisplayPointer_IsRightOf(This,pDispPointer,pfIsRightOf)
  260.     (This)->lpVtbl -> IsRightOf(This,pDispPointer,pfIsRightOf)
  261. #define IDisplayPointer_IsAtBOL(This,pfBOL)
  262.     (This)->lpVtbl -> IsAtBOL(This,pfBOL)
  263. #define IDisplayPointer_MoveToMarkupPointer(This,pPointer,pDispLineContext)
  264.     (This)->lpVtbl -> MoveToMarkupPointer(This,pPointer,pDispLineContext)
  265. #define IDisplayPointer_ScrollIntoView(This)
  266.     (This)->lpVtbl -> ScrollIntoView(This)
  267. #define IDisplayPointer_GetLineInfo(This,ppLineInfo)
  268.     (This)->lpVtbl -> GetLineInfo(This,ppLineInfo)
  269. #define IDisplayPointer_GetFlowElement(This,ppLayoutElement)
  270.     (This)->lpVtbl -> GetFlowElement(This,ppLayoutElement)
  271. #define IDisplayPointer_QueryBreaks(This,pdwBreaks)
  272.     (This)->lpVtbl -> QueryBreaks(This,pdwBreaks)
  273. #endif /* COBJMACROS */
  274. #endif  /* C style interface */
  275. HRESULT STDMETHODCALLTYPE IDisplayPointer_MoveToPoint_Proxy( 
  276.     IDisplayPointer * This,
  277.     /* [in] */ POINT ptPoint,
  278.     /* [in] */ COORD_SYSTEM eCoordSystem,
  279.     /* [in] */ IHTMLElement *pElementContext,
  280.     /* [in] */ DWORD dwHitTestOptions,
  281.     /* [out] */ DWORD *pdwHitTestResults);
  282. void __RPC_STUB IDisplayPointer_MoveToPoint_Stub(
  283.     IRpcStubBuffer *This,
  284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  285.     PRPC_MESSAGE _pRpcMessage,
  286.     DWORD *_pdwStubPhase);
  287. HRESULT STDMETHODCALLTYPE IDisplayPointer_MoveUnit_Proxy( 
  288.     IDisplayPointer * This,
  289.     /* [in] */ DISPLAY_MOVEUNIT eMoveUnit,
  290.     /* [in] */ LONG lXPos);
  291. void __RPC_STUB IDisplayPointer_MoveUnit_Stub(
  292.     IRpcStubBuffer *This,
  293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  294.     PRPC_MESSAGE _pRpcMessage,
  295.     DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE IDisplayPointer_PositionMarkupPointer_Proxy( 
  297.     IDisplayPointer * This,
  298.     /* [in] */ IMarkupPointer *pMarkupPointer);
  299. void __RPC_STUB IDisplayPointer_PositionMarkupPointer_Stub(
  300.     IRpcStubBuffer *This,
  301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  302.     PRPC_MESSAGE _pRpcMessage,
  303.     DWORD *_pdwStubPhase);
  304. HRESULT STDMETHODCALLTYPE IDisplayPointer_MoveToPointer_Proxy( 
  305.     IDisplayPointer * This,
  306.     /* [in] */ IDisplayPointer *pDispPointer);
  307. void __RPC_STUB IDisplayPointer_MoveToPointer_Stub(
  308.     IRpcStubBuffer *This,
  309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  310.     PRPC_MESSAGE _pRpcMessage,
  311.     DWORD *_pdwStubPhase);
  312. HRESULT STDMETHODCALLTYPE IDisplayPointer_SetPointerGravity_Proxy( 
  313.     IDisplayPointer * This,
  314.     /* [in] */ POINTER_GRAVITY eGravity);
  315. void __RPC_STUB IDisplayPointer_SetPointerGravity_Stub(
  316.     IRpcStubBuffer *This,
  317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  318.     PRPC_MESSAGE _pRpcMessage,
  319.     DWORD *_pdwStubPhase);
  320. HRESULT STDMETHODCALLTYPE IDisplayPointer_GetPointerGravity_Proxy( 
  321.     IDisplayPointer * This,
  322.     /* [out] */ POINTER_GRAVITY *peGravity);
  323. void __RPC_STUB IDisplayPointer_GetPointerGravity_Stub(
  324.     IRpcStubBuffer *This,
  325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  326.     PRPC_MESSAGE _pRpcMessage,
  327.     DWORD *_pdwStubPhase);
  328. HRESULT STDMETHODCALLTYPE IDisplayPointer_SetDisplayGravity_Proxy( 
  329.     IDisplayPointer * This,
  330.     /* [in] */ DISPLAY_GRAVITY eGravity);
  331. void __RPC_STUB IDisplayPointer_SetDisplayGravity_Stub(
  332.     IRpcStubBuffer *This,
  333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  334.     PRPC_MESSAGE _pRpcMessage,
  335.     DWORD *_pdwStubPhase);
  336. HRESULT STDMETHODCALLTYPE IDisplayPointer_GetDisplayGravity_Proxy( 
  337.     IDisplayPointer * This,
  338.     /* [out] */ DISPLAY_GRAVITY *peGravity);
  339. void __RPC_STUB IDisplayPointer_GetDisplayGravity_Stub(
  340.     IRpcStubBuffer *This,
  341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  342.     PRPC_MESSAGE _pRpcMessage,
  343.     DWORD *_pdwStubPhase);
  344. HRESULT STDMETHODCALLTYPE IDisplayPointer_IsPositioned_Proxy( 
  345.     IDisplayPointer * This,
  346.     /* [out] */ BOOL *pfPositioned);
  347. void __RPC_STUB IDisplayPointer_IsPositioned_Stub(
  348.     IRpcStubBuffer *This,
  349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  350.     PRPC_MESSAGE _pRpcMessage,
  351.     DWORD *_pdwStubPhase);
  352. HRESULT STDMETHODCALLTYPE IDisplayPointer_Unposition_Proxy( 
  353.     IDisplayPointer * This);
  354. void __RPC_STUB IDisplayPointer_Unposition_Stub(
  355.     IRpcStubBuffer *This,
  356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  357.     PRPC_MESSAGE _pRpcMessage,
  358.     DWORD *_pdwStubPhase);
  359. HRESULT STDMETHODCALLTYPE IDisplayPointer_IsEqualTo_Proxy( 
  360.     IDisplayPointer * This,
  361.     /* [in] */ IDisplayPointer *pDispPointer,
  362.     /* [out] */ BOOL *pfIsEqual);
  363. void __RPC_STUB IDisplayPointer_IsEqualTo_Stub(
  364.     IRpcStubBuffer *This,
  365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  366.     PRPC_MESSAGE _pRpcMessage,
  367.     DWORD *_pdwStubPhase);
  368. HRESULT STDMETHODCALLTYPE IDisplayPointer_IsLeftOf_Proxy( 
  369.     IDisplayPointer * This,
  370.     /* [in] */ IDisplayPointer *pDispPointer,
  371.     /* [out] */ BOOL *pfIsLeftOf);
  372. void __RPC_STUB IDisplayPointer_IsLeftOf_Stub(
  373.     IRpcStubBuffer *This,
  374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  375.     PRPC_MESSAGE _pRpcMessage,
  376.     DWORD *_pdwStubPhase);
  377. HRESULT STDMETHODCALLTYPE IDisplayPointer_IsRightOf_Proxy( 
  378.     IDisplayPointer * This,
  379.     /* [in] */ IDisplayPointer *pDispPointer,
  380.     /* [out] */ BOOL *pfIsRightOf);
  381. void __RPC_STUB IDisplayPointer_IsRightOf_Stub(
  382.     IRpcStubBuffer *This,
  383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  384.     PRPC_MESSAGE _pRpcMessage,
  385.     DWORD *_pdwStubPhase);
  386. HRESULT STDMETHODCALLTYPE IDisplayPointer_IsAtBOL_Proxy( 
  387.     IDisplayPointer * This,
  388.     /* [out] */ BOOL *pfBOL);
  389. void __RPC_STUB IDisplayPointer_IsAtBOL_Stub(
  390.     IRpcStubBuffer *This,
  391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  392.     PRPC_MESSAGE _pRpcMessage,
  393.     DWORD *_pdwStubPhase);
  394. HRESULT STDMETHODCALLTYPE IDisplayPointer_MoveToMarkupPointer_Proxy( 
  395.     IDisplayPointer * This,
  396.     /* [in] */ IMarkupPointer *pPointer,
  397.     /* [in] */ IDisplayPointer *pDispLineContext);
  398. void __RPC_STUB IDisplayPointer_MoveToMarkupPointer_Stub(
  399.     IRpcStubBuffer *This,
  400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  401.     PRPC_MESSAGE _pRpcMessage,
  402.     DWORD *_pdwStubPhase);
  403. HRESULT STDMETHODCALLTYPE IDisplayPointer_ScrollIntoView_Proxy( 
  404.     IDisplayPointer * This);
  405. void __RPC_STUB IDisplayPointer_ScrollIntoView_Stub(
  406.     IRpcStubBuffer *This,
  407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  408.     PRPC_MESSAGE _pRpcMessage,
  409.     DWORD *_pdwStubPhase);
  410. HRESULT STDMETHODCALLTYPE IDisplayPointer_GetLineInfo_Proxy( 
  411.     IDisplayPointer * This,
  412.     /* [out] */ ILineInfo **ppLineInfo);
  413. void __RPC_STUB IDisplayPointer_GetLineInfo_Stub(
  414.     IRpcStubBuffer *This,
  415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  416.     PRPC_MESSAGE _pRpcMessage,
  417.     DWORD *_pdwStubPhase);
  418. HRESULT STDMETHODCALLTYPE IDisplayPointer_GetFlowElement_Proxy( 
  419.     IDisplayPointer * This,
  420.     /* [out] */ IHTMLElement **ppLayoutElement);
  421. void __RPC_STUB IDisplayPointer_GetFlowElement_Stub(
  422.     IRpcStubBuffer *This,
  423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  424.     PRPC_MESSAGE _pRpcMessage,
  425.     DWORD *_pdwStubPhase);
  426. HRESULT STDMETHODCALLTYPE IDisplayPointer_QueryBreaks_Proxy( 
  427.     IDisplayPointer * This,
  428.     /* [out] */ DWORD *pdwBreaks);
  429. void __RPC_STUB IDisplayPointer_QueryBreaks_Stub(
  430.     IRpcStubBuffer *This,
  431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  432.     PRPC_MESSAGE _pRpcMessage,
  433.     DWORD *_pdwStubPhase);
  434. #endif  /* __IDisplayPointer_INTERFACE_DEFINED__ */
  435. #ifndef __IDisplayServices_INTERFACE_DEFINED__
  436. #define __IDisplayServices_INTERFACE_DEFINED__
  437. /* interface IDisplayServices */
  438. /* [uuid][unique][object] */ 
  439. EXTERN_C const IID IID_IDisplayServices;
  440. #if defined(__cplusplus) && !defined(CINTERFACE)
  441.     
  442.     MIDL_INTERFACE("3050f69d-98b5-11cf-bb82-00aa00bdce0b")
  443.     IDisplayServices : public IUnknown
  444.     {
  445.     public:
  446.         virtual HRESULT STDMETHODCALLTYPE CreateDisplayPointer( 
  447.             /* [out] */ IDisplayPointer **ppDispPointer) = 0;
  448.         
  449.         virtual HRESULT STDMETHODCALLTYPE TransformRect( 
  450.             /* [out][in] */ RECT *pRect,
  451.             /* [in] */ COORD_SYSTEM eSource,
  452.             /* [in] */ COORD_SYSTEM eDestination,
  453.             /* [in] */ IHTMLElement *pIElement) = 0;
  454.         
  455.         virtual HRESULT STDMETHODCALLTYPE TransformPoint( 
  456.             /* [out][in] */ POINT *pPoint,
  457.             /* [in] */ COORD_SYSTEM eSource,
  458.             /* [in] */ COORD_SYSTEM eDestination,
  459.             /* [in] */ IHTMLElement *pIElement) = 0;
  460.         
  461.         virtual HRESULT STDMETHODCALLTYPE GetCaret( 
  462.             /* [out] */ IHTMLCaret **ppCaret) = 0;
  463.         
  464.         virtual HRESULT STDMETHODCALLTYPE GetComputedStyle( 
  465.             /* [in] */ IMarkupPointer *pPointer,
  466.             /* [out] */ IHTMLComputedStyle **ppComputedStyle) = 0;
  467.         
  468.         virtual HRESULT STDMETHODCALLTYPE ScrollRectIntoView( 
  469.             /* [in] */ IHTMLElement *pIElement,
  470.             /* [in] */ RECT rect) = 0;
  471.         
  472.         virtual HRESULT STDMETHODCALLTYPE HasFlowLayout( 
  473.             /* [in] */ IHTMLElement *pIElement,
  474.             /* [out] */ BOOL *pfHasFlowLayout) = 0;
  475.         
  476.     };
  477.     
  478. #else  /* C style interface */
  479.     typedef struct IDisplayServicesVtbl
  480.     {
  481.         BEGIN_INTERFACE
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  484.             IDisplayServices * This,
  485.             /* [in] */ REFIID riid,
  486.             /* [iid_is][out] */ void **ppvObject);
  487.         
  488.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  489.             IDisplayServices * This);
  490.         
  491.         ULONG ( STDMETHODCALLTYPE *Release )( 
  492.             IDisplayServices * This);
  493.         
  494.         HRESULT ( STDMETHODCALLTYPE *CreateDisplayPointer )( 
  495.             IDisplayServices * This,
  496.             /* [out] */ IDisplayPointer **ppDispPointer);
  497.         
  498.         HRESULT ( STDMETHODCALLTYPE *TransformRect )( 
  499.             IDisplayServices * This,
  500.             /* [out][in] */ RECT *pRect,
  501.             /* [in] */ COORD_SYSTEM eSource,
  502.             /* [in] */ COORD_SYSTEM eDestination,
  503.             /* [in] */ IHTMLElement *pIElement);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE *TransformPoint )( 
  506.             IDisplayServices * This,
  507.             /* [out][in] */ POINT *pPoint,
  508.             /* [in] */ COORD_SYSTEM eSource,
  509.             /* [in] */ COORD_SYSTEM eDestination,
  510.             /* [in] */ IHTMLElement *pIElement);
  511.         
  512.         HRESULT ( STDMETHODCALLTYPE *GetCaret )( 
  513.             IDisplayServices * This,
  514.             /* [out] */ IHTMLCaret **ppCaret);
  515.         
  516.         HRESULT ( STDMETHODCALLTYPE *GetComputedStyle )( 
  517.             IDisplayServices * This,
  518.             /* [in] */ IMarkupPointer *pPointer,
  519.             /* [out] */ IHTMLComputedStyle **ppComputedStyle);
  520.         
  521.         HRESULT ( STDMETHODCALLTYPE *ScrollRectIntoView )( 
  522.             IDisplayServices * This,
  523.             /* [in] */ IHTMLElement *pIElement,
  524.             /* [in] */ RECT rect);
  525.         
  526.         HRESULT ( STDMETHODCALLTYPE *HasFlowLayout )( 
  527.             IDisplayServices * This,
  528.             /* [in] */ IHTMLElement *pIElement,
  529.             /* [out] */ BOOL *pfHasFlowLayout);
  530.         
  531.         END_INTERFACE
  532.     } IDisplayServicesVtbl;
  533.     interface IDisplayServices
  534.     {
  535.         CONST_VTBL struct IDisplayServicesVtbl *lpVtbl;
  536.     };
  537.     
  538. #ifdef COBJMACROS
  539. #define IDisplayServices_QueryInterface(This,riid,ppvObject)
  540.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  541. #define IDisplayServices_AddRef(This)
  542.     (This)->lpVtbl -> AddRef(This)
  543. #define IDisplayServices_Release(This)
  544.     (This)->lpVtbl -> Release(This)
  545. #define IDisplayServices_CreateDisplayPointer(This,ppDispPointer)
  546.     (This)->lpVtbl -> CreateDisplayPointer(This,ppDispPointer)
  547. #define IDisplayServices_TransformRect(This,pRect,eSource,eDestination,pIElement)
  548.     (This)->lpVtbl -> TransformRect(This,pRect,eSource,eDestination,pIElement)
  549. #define IDisplayServices_TransformPoint(This,pPoint,eSource,eDestination,pIElement)
  550.     (This)->lpVtbl -> TransformPoint(This,pPoint,eSource,eDestination,pIElement)
  551. #define IDisplayServices_GetCaret(This,ppCaret)
  552.     (This)->lpVtbl -> GetCaret(This,ppCaret)
  553. #define IDisplayServices_GetComputedStyle(This,pPointer,ppComputedStyle)
  554.     (This)->lpVtbl -> GetComputedStyle(This,pPointer,ppComputedStyle)
  555. #define IDisplayServices_ScrollRectIntoView(This,pIElement,rect)
  556.     (This)->lpVtbl -> ScrollRectIntoView(This,pIElement,rect)
  557. #define IDisplayServices_HasFlowLayout(This,pIElement,pfHasFlowLayout)
  558.     (This)->lpVtbl -> HasFlowLayout(This,pIElement,pfHasFlowLayout)
  559. #endif /* COBJMACROS */
  560. #endif  /* C style interface */
  561. HRESULT STDMETHODCALLTYPE IDisplayServices_CreateDisplayPointer_Proxy( 
  562.     IDisplayServices * This,
  563.     /* [out] */ IDisplayPointer **ppDispPointer);
  564. void __RPC_STUB IDisplayServices_CreateDisplayPointer_Stub(
  565.     IRpcStubBuffer *This,
  566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  567.     PRPC_MESSAGE _pRpcMessage,
  568.     DWORD *_pdwStubPhase);
  569. HRESULT STDMETHODCALLTYPE IDisplayServices_TransformRect_Proxy( 
  570.     IDisplayServices * This,
  571.     /* [out][in] */ RECT *pRect,
  572.     /* [in] */ COORD_SYSTEM eSource,
  573.     /* [in] */ COORD_SYSTEM eDestination,
  574.     /* [in] */ IHTMLElement *pIElement);
  575. void __RPC_STUB IDisplayServices_TransformRect_Stub(
  576.     IRpcStubBuffer *This,
  577.     IRpcChannelBuffer *_pRpcChannelBuffer,
  578.     PRPC_MESSAGE _pRpcMessage,
  579.     DWORD *_pdwStubPhase);
  580. HRESULT STDMETHODCALLTYPE IDisplayServices_TransformPoint_Proxy( 
  581.     IDisplayServices * This,
  582.     /* [out][in] */ POINT *pPoint,
  583.     /* [in] */ COORD_SYSTEM eSource,
  584.     /* [in] */ COORD_SYSTEM eDestination,
  585.     /* [in] */ IHTMLElement *pIElement);
  586. void __RPC_STUB IDisplayServices_TransformPoint_Stub(
  587.     IRpcStubBuffer *This,
  588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  589.     PRPC_MESSAGE _pRpcMessage,
  590.     DWORD *_pdwStubPhase);
  591. HRESULT STDMETHODCALLTYPE IDisplayServices_GetCaret_Proxy( 
  592.     IDisplayServices * This,
  593.     /* [out] */ IHTMLCaret **ppCaret);
  594. void __RPC_STUB IDisplayServices_GetCaret_Stub(
  595.     IRpcStubBuffer *This,
  596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  597.     PRPC_MESSAGE _pRpcMessage,
  598.     DWORD *_pdwStubPhase);
  599. HRESULT STDMETHODCALLTYPE IDisplayServices_GetComputedStyle_Proxy( 
  600.     IDisplayServices * This,
  601.     /* [in] */ IMarkupPointer *pPointer,
  602.     /* [out] */ IHTMLComputedStyle **ppComputedStyle);
  603. void __RPC_STUB IDisplayServices_GetComputedStyle_Stub(
  604.     IRpcStubBuffer *This,
  605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  606.     PRPC_MESSAGE _pRpcMessage,
  607.     DWORD *_pdwStubPhase);
  608. HRESULT STDMETHODCALLTYPE IDisplayServices_ScrollRectIntoView_Proxy( 
  609.     IDisplayServices * This,
  610.     /* [in] */ IHTMLElement *pIElement,
  611.     /* [in] */ RECT rect);
  612. void __RPC_STUB IDisplayServices_ScrollRectIntoView_Stub(
  613.     IRpcStubBuffer *This,
  614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  615.     PRPC_MESSAGE _pRpcMessage,
  616.     DWORD *_pdwStubPhase);
  617. HRESULT STDMETHODCALLTYPE IDisplayServices_HasFlowLayout_Proxy( 
  618.     IDisplayServices * This,
  619.     /* [in] */ IHTMLElement *pIElement,
  620.     /* [out] */ BOOL *pfHasFlowLayout);
  621. void __RPC_STUB IDisplayServices_HasFlowLayout_Stub(
  622.     IRpcStubBuffer *This,
  623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  624.     PRPC_MESSAGE _pRpcMessage,
  625.     DWORD *_pdwStubPhase);
  626. #endif  /* __IDisplayServices_INTERFACE_DEFINED__ */
  627. #ifndef __IHtmlDlgSafeHelper_INTERFACE_DEFINED__
  628. #define __IHtmlDlgSafeHelper_INTERFACE_DEFINED__
  629. /* interface IHtmlDlgSafeHelper */
  630. /* [uuid][unique][object] */ 
  631. EXTERN_C const IID IID_IHtmlDlgSafeHelper;
  632. #if defined(__cplusplus) && !defined(CINTERFACE)
  633.     
  634.     MIDL_INTERFACE("3050f81a-98b5-11cf-bb82-00aa00bdce0b")
  635.     IHtmlDlgSafeHelper : public IDispatch
  636.     {
  637.     public:
  638.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE choosecolordlg( 
  639.             /* [in][optional] */ VARIANT initColor,
  640.             /* [out][retval] */ VARIANT *rgbColor) = 0;
  641.         
  642.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCharset( 
  643.             /* [in] */ BSTR fontName,
  644.             /* [out][retval] */ VARIANT *charset) = 0;
  645.         
  646.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Fonts( 
  647.             /* [out][retval] */ IDispatch **p) = 0;
  648.         
  649.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockFormats( 
  650.             /* [out][retval] */ IDispatch **p) = 0;
  651.         
  652.     };
  653.     
  654. #else  /* C style interface */
  655.     typedef struct IHtmlDlgSafeHelperVtbl
  656.     {
  657.         BEGIN_INTERFACE
  658.         
  659.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  660.             IHtmlDlgSafeHelper * This,
  661.             /* [in] */ REFIID riid,
  662.             /* [iid_is][out] */ void **ppvObject);
  663.         
  664.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  665.             IHtmlDlgSafeHelper * This);
  666.         
  667.         ULONG ( STDMETHODCALLTYPE *Release )( 
  668.             IHtmlDlgSafeHelper * This);
  669.         
  670.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  671.             IHtmlDlgSafeHelper * This,
  672.             /* [out] */ UINT *pctinfo);
  673.         
  674.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  675.             IHtmlDlgSafeHelper * This,
  676.             /* [in] */ UINT iTInfo,
  677.             /* [in] */ LCID lcid,
  678.             /* [out] */ ITypeInfo **ppTInfo);
  679.         
  680.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  681.             IHtmlDlgSafeHelper * This,
  682.             /* [in] */ REFIID riid,
  683.             /* [size_is][in] */ LPOLESTR *rgszNames,
  684.             /* [in] */ UINT cNames,
  685.             /* [in] */ LCID lcid,
  686.             /* [size_is][out] */ DISPID *rgDispId);
  687.         
  688.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  689.             IHtmlDlgSafeHelper * This,
  690.             /* [in] */ DISPID dispIdMember,
  691.             /* [in] */ REFIID riid,
  692.             /* [in] */ LCID lcid,
  693.             /* [in] */ WORD wFlags,
  694.             /* [out][in] */ DISPPARAMS *pDispParams,
  695.             /* [out] */ VARIANT *pVarResult,
  696.             /* [out] */ EXCEPINFO *pExcepInfo,
  697.             /* [out] */ UINT *puArgErr);
  698.         
  699.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *choosecolordlg )( 
  700.             IHtmlDlgSafeHelper * This,
  701.             /* [in][optional] */ VARIANT initColor,
  702.             /* [out][retval] */ VARIANT *rgbColor);
  703.         
  704.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCharset )( 
  705.             IHtmlDlgSafeHelper * This,
  706.             /* [in] */ BSTR fontName,
  707.             /* [out][retval] */ VARIANT *charset);
  708.         
  709.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fonts )( 
  710.             IHtmlDlgSafeHelper * This,
  711.             /* [out][retval] */ IDispatch **p);
  712.         
  713.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockFormats )( 
  714.             IHtmlDlgSafeHelper * This,
  715.             /* [out][retval] */ IDispatch **p);
  716.         
  717.         END_INTERFACE
  718.     } IHtmlDlgSafeHelperVtbl;
  719.     interface IHtmlDlgSafeHelper
  720.     {
  721.         CONST_VTBL struct IHtmlDlgSafeHelperVtbl *lpVtbl;
  722.     };
  723.     
  724. #ifdef COBJMACROS
  725. #define IHtmlDlgSafeHelper_QueryInterface(This,riid,ppvObject)
  726.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  727. #define IHtmlDlgSafeHelper_AddRef(This)
  728.     (This)->lpVtbl -> AddRef(This)
  729. #define IHtmlDlgSafeHelper_Release(This)
  730.     (This)->lpVtbl -> Release(This)
  731. #define IHtmlDlgSafeHelper_GetTypeInfoCount(This,pctinfo)
  732.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  733. #define IHtmlDlgSafeHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  734.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  735. #define IHtmlDlgSafeHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  736.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  737. #define IHtmlDlgSafeHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  738.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  739. #define IHtmlDlgSafeHelper_choosecolordlg(This,initColor,rgbColor)
  740.     (This)->lpVtbl -> choosecolordlg(This,initColor,rgbColor)
  741. #define IHtmlDlgSafeHelper_getCharset(This,fontName,charset)
  742.     (This)->lpVtbl -> getCharset(This,fontName,charset)
  743. #define IHtmlDlgSafeHelper_get_Fonts(This,p)
  744.     (This)->lpVtbl -> get_Fonts(This,p)
  745. #define IHtmlDlgSafeHelper_get_BlockFormats(This,p)
  746.     (This)->lpVtbl -> get_BlockFormats(This,p)
  747. #endif /* COBJMACROS */
  748. #endif  /* C style interface */
  749. /* [id] */ HRESULT STDMETHODCALLTYPE IHtmlDlgSafeHelper_choosecolordlg_Proxy( 
  750.     IHtmlDlgSafeHelper * This,
  751.     /* [in][optional] */ VARIANT initColor,
  752.     /* [out][retval] */ VARIANT *rgbColor);
  753. void __RPC_STUB IHtmlDlgSafeHelper_choosecolordlg_Stub(
  754.     IRpcStubBuffer *This,
  755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  756.     PRPC_MESSAGE _pRpcMessage,
  757.     DWORD *_pdwStubPhase);
  758. /* [id] */ HRESULT STDMETHODCALLTYPE IHtmlDlgSafeHelper_getCharset_Proxy( 
  759.     IHtmlDlgSafeHelper * This,
  760.     /* [in] */ BSTR fontName,
  761.     /* [out][retval] */ VARIANT *charset);
  762. void __RPC_STUB IHtmlDlgSafeHelper_getCharset_Stub(
  763.     IRpcStubBuffer *This,
  764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  765.     PRPC_MESSAGE _pRpcMessage,
  766.     DWORD *_pdwStubPhase);
  767. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IHtmlDlgSafeHelper_get_Fonts_Proxy( 
  768.     IHtmlDlgSafeHelper * This,
  769.     /* [out][retval] */ IDispatch **p);
  770. void __RPC_STUB IHtmlDlgSafeHelper_get_Fonts_Stub(
  771.     IRpcStubBuffer *This,
  772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  773.     PRPC_MESSAGE _pRpcMessage,
  774.     DWORD *_pdwStubPhase);
  775. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IHtmlDlgSafeHelper_get_BlockFormats_Proxy( 
  776.     IHtmlDlgSafeHelper * This,
  777.     /* [out][retval] */ IDispatch **p);
  778. void __RPC_STUB IHtmlDlgSafeHelper_get_BlockFormats_Stub(
  779.     IRpcStubBuffer *This,
  780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  781.     PRPC_MESSAGE _pRpcMessage,
  782.     DWORD *_pdwStubPhase);
  783. #endif  /* __IHtmlDlgSafeHelper_INTERFACE_DEFINED__ */
  784. #ifndef __IBlockFormats_INTERFACE_DEFINED__
  785. #define __IBlockFormats_INTERFACE_DEFINED__
  786. /* interface IBlockFormats */
  787. /* [uuid][unique][object] */ 
  788. EXTERN_C const IID IID_IBlockFormats;
  789. #if defined(__cplusplus) && !defined(CINTERFACE)
  790.     
  791.     MIDL_INTERFACE("3050f830-98b5-11cf-bb82-00aa00bdce0b")
  792.     IBlockFormats : public IDispatch
  793.     {
  794.     public:
  795.         virtual /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  796.             /* [out][retval] */ IUnknown **p) = 0;
  797.         
  798.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  799.             /* [out][retval] */ long *p) = 0;
  800.         
  801.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
  802.             /* [in] */ VARIANT *pvarIndex,
  803.             /* [out][retval] */ BSTR *pbstrBlockFormat) = 0;
  804.         
  805.     };
  806.     
  807. #else  /* C style interface */
  808.     typedef struct IBlockFormatsVtbl
  809.     {
  810.         BEGIN_INTERFACE
  811.         
  812.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  813.             IBlockFormats * This,
  814.             /* [in] */ REFIID riid,
  815.             /* [iid_is][out] */ void **ppvObject);
  816.         
  817.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  818.             IBlockFormats * This);
  819.         
  820.         ULONG ( STDMETHODCALLTYPE *Release )( 
  821.             IBlockFormats * This);
  822.         
  823.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  824.             IBlockFormats * This,
  825.             /* [out] */ UINT *pctinfo);
  826.         
  827.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  828.             IBlockFormats * This,
  829.             /* [in] */ UINT iTInfo,
  830.             /* [in] */ LCID lcid,
  831.             /* [out] */ ITypeInfo **ppTInfo);
  832.         
  833.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  834.             IBlockFormats * This,
  835.             /* [in] */ REFIID riid,
  836.             /* [size_is][in] */ LPOLESTR *rgszNames,
  837.             /* [in] */ UINT cNames,
  838.             /* [in] */ LCID lcid,
  839.             /* [size_is][out] */ DISPID *rgDispId);
  840.         
  841.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  842.             IBlockFormats * This,
  843.             /* [in] */ DISPID dispIdMember,
  844.             /* [in] */ REFIID riid,
  845.             /* [in] */ LCID lcid,
  846.             /* [in] */ WORD wFlags,
  847.             /* [out][in] */ DISPPARAMS *pDispParams,
  848.             /* [out] */ VARIANT *pVarResult,
  849.             /* [out] */ EXCEPINFO *pExcepInfo,
  850.             /* [out] */ UINT *puArgErr);
  851.         
  852.         /* [restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  853.             IBlockFormats * This,
  854.             /* [out][retval] */ IUnknown **p);
  855.         
  856.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  857.             IBlockFormats * This,
  858.             /* [out][retval] */ long *p);
  859.         
  860.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  861.             IBlockFormats * This,
  862.             /* [in] */ VARIANT *pvarIndex,
  863.             /* [out][retval] */ BSTR *pbstrBlockFormat);
  864.         
  865.         END_INTERFACE
  866.     } IBlockFormatsVtbl;
  867.     interface IBlockFormats
  868.     {
  869.         CONST_VTBL struct IBlockFormatsVtbl *lpVtbl;
  870.     };
  871.     
  872. #ifdef COBJMACROS
  873. #define IBlockFormats_QueryInterface(This,riid,ppvObject)
  874.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  875. #define IBlockFormats_AddRef(This)
  876.     (This)->lpVtbl -> AddRef(This)
  877. #define IBlockFormats_Release(This)
  878.     (This)->lpVtbl -> Release(This)
  879. #define IBlockFormats_GetTypeInfoCount(This,pctinfo)
  880.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  881. #define IBlockFormats_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  882.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  883. #define IBlockFormats_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  884.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  885. #define IBlockFormats_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  886.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  887. #define IBlockFormats_get__NewEnum(This,p)
  888.     (This)->lpVtbl -> get__NewEnum(This,p)
  889. #define IBlockFormats_get_Count(This,p)
  890.     (This)->lpVtbl -> get_Count(This,p)
  891. #define IBlockFormats_Item(This,pvarIndex,pbstrBlockFormat)
  892.     (This)->lpVtbl -> Item(This,pvarIndex,pbstrBlockFormat)
  893. #endif /* COBJMACROS */
  894. #endif  /* C style interface */
  895. /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IBlockFormats_get__NewEnum_Proxy( 
  896.     IBlockFormats * This,
  897.     /* [out][retval] */ IUnknown **p);
  898. void __RPC_STUB IBlockFormats_get__NewEnum_Stub(
  899.     IRpcStubBuffer *This,
  900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  901.     PRPC_MESSAGE _pRpcMessage,
  902.     DWORD *_pdwStubPhase);
  903. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IBlockFormats_get_Count_Proxy( 
  904.     IBlockFormats * This,
  905.     /* [out][retval] */ long *p);
  906. void __RPC_STUB IBlockFormats_get_Count_Stub(
  907.     IRpcStubBuffer *This,
  908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  909.     PRPC_MESSAGE _pRpcMessage,
  910.     DWORD *_pdwStubPhase);
  911. /* [id] */ HRESULT STDMETHODCALLTYPE IBlockFormats_Item_Proxy( 
  912.     IBlockFormats * This,
  913.     /* [in] */ VARIANT *pvarIndex,
  914.     /* [out][retval] */ BSTR *pbstrBlockFormat);
  915. void __RPC_STUB IBlockFormats_Item_Stub(
  916.     IRpcStubBuffer *This,
  917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  918.     PRPC_MESSAGE _pRpcMessage,
  919.     DWORD *_pdwStubPhase);
  920. #endif  /* __IBlockFormats_INTERFACE_DEFINED__ */
  921. #ifndef __IFontNames_INTERFACE_DEFINED__
  922. #define __IFontNames_INTERFACE_DEFINED__
  923. /* interface IFontNames */
  924. /* [uuid][unique][object] */ 
  925. EXTERN_C const IID IID_IFontNames;
  926. #if defined(__cplusplus) && !defined(CINTERFACE)
  927.     
  928.     MIDL_INTERFACE("3050f839-98b5-11cf-bb82-00aa00bdce0b")
  929.     IFontNames : public IDispatch
  930.     {
  931.     public:
  932.         virtual /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  933.             /* [out][retval] */ IUnknown **p) = 0;
  934.         
  935.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  936.             /* [out][retval] */ long *p) = 0;
  937.         
  938.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
  939.             /* [in] */ VARIANT *pvarIndex,
  940.             /* [out][retval] */ BSTR *pbstrFontName) = 0;
  941.         
  942.     };
  943.     
  944. #else  /* C style interface */
  945.     typedef struct IFontNamesVtbl
  946.     {
  947.         BEGIN_INTERFACE
  948.         
  949.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  950.             IFontNames * This,
  951.             /* [in] */ REFIID riid,
  952.             /* [iid_is][out] */ void **ppvObject);
  953.         
  954.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  955.             IFontNames * This);
  956.         
  957.         ULONG ( STDMETHODCALLTYPE *Release )( 
  958.             IFontNames * This);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  961.             IFontNames * This,
  962.             /* [out] */ UINT *pctinfo);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  965.             IFontNames * This,
  966.             /* [in] */ UINT iTInfo,
  967.             /* [in] */ LCID lcid,
  968.             /* [out] */ ITypeInfo **ppTInfo);
  969.         
  970.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  971.             IFontNames * This,
  972.             /* [in] */ REFIID riid,
  973.             /* [size_is][in] */ LPOLESTR *rgszNames,
  974.             /* [in] */ UINT cNames,
  975.             /* [in] */ LCID lcid,
  976.             /* [size_is][out] */ DISPID *rgDispId);
  977.         
  978.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  979.             IFontNames * This,
  980.             /* [in] */ DISPID dispIdMember,
  981.             /* [in] */ REFIID riid,
  982.             /* [in] */ LCID lcid,
  983.             /* [in] */ WORD wFlags,
  984.             /* [out][in] */ DISPPARAMS *pDispParams,
  985.             /* [out] */ VARIANT *pVarResult,
  986.             /* [out] */ EXCEPINFO *pExcepInfo,
  987.             /* [out] */ UINT *puArgErr);
  988.         
  989.         /* [restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  990.             IFontNames * This,
  991.             /* [out][retval] */ IUnknown **p);
  992.         
  993.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  994.             IFontNames * This,
  995.             /* [out][retval] */ long *p);
  996.         
  997.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  998.             IFontNames * This,
  999.             /* [in] */ VARIANT *pvarIndex,
  1000.             /* [out][retval] */ BSTR *pbstrFontName);
  1001.         
  1002.         END_INTERFACE
  1003.     } IFontNamesVtbl;
  1004.     interface IFontNames
  1005.     {
  1006.         CONST_VTBL struct IFontNamesVtbl *lpVtbl;
  1007.     };
  1008.     
  1009. #ifdef COBJMACROS
  1010. #define IFontNames_QueryInterface(This,riid,ppvObject)
  1011.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1012. #define IFontNames_AddRef(This)
  1013.     (This)->lpVtbl -> AddRef(This)
  1014. #define IFontNames_Release(This)
  1015.     (This)->lpVtbl -> Release(This)
  1016. #define IFontNames_GetTypeInfoCount(This,pctinfo)
  1017.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1018. #define IFontNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1019.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1020. #define IFontNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1021.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1022. #define IFontNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1023.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1024. #define IFontNames_get__NewEnum(This,p)
  1025.     (This)->lpVtbl -> get__NewEnum(This,p)
  1026. #define IFontNames_get_Count(This,p)
  1027.     (This)->lpVtbl -> get_Count(This,p)
  1028. #define IFontNames_Item(This,pvarIndex,pbstrFontName)
  1029.     (This)->lpVtbl -> Item(This,pvarIndex,pbstrFontName)
  1030. #endif /* COBJMACROS */
  1031. #endif  /* C style interface */
  1032. /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IFontNames_get__NewEnum_Proxy( 
  1033.     IFontNames * This,
  1034.     /* [out][retval] */ IUnknown **p);
  1035. void __RPC_STUB IFontNames_get__NewEnum_Stub(
  1036.     IRpcStubBuffer *This,
  1037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1038.     PRPC_MESSAGE _pRpcMessage,
  1039.     DWORD *_pdwStubPhase);
  1040. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IFontNames_get_Count_Proxy( 
  1041.     IFontNames * This,
  1042.     /* [out][retval] */ long *p);
  1043. void __RPC_STUB IFontNames_get_Count_Stub(
  1044.     IRpcStubBuffer *This,
  1045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1046.     PRPC_MESSAGE _pRpcMessage,
  1047.     DWORD *_pdwStubPhase);
  1048. /* [id] */ HRESULT STDMETHODCALLTYPE IFontNames_Item_Proxy( 
  1049.     IFontNames * This,
  1050.     /* [in] */ VARIANT *pvarIndex,
  1051.     /* [out][retval] */ BSTR *pbstrFontName);
  1052. void __RPC_STUB IFontNames_Item_Stub(
  1053.     IRpcStubBuffer *This,
  1054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1055.     PRPC_MESSAGE _pRpcMessage,
  1056.     DWORD *_pdwStubPhase);
  1057. #endif  /* __IFontNames_INTERFACE_DEFINED__ */
  1058. #ifndef __ICSSFilter_INTERFACE_DEFINED__
  1059. #define __ICSSFilter_INTERFACE_DEFINED__
  1060. /* interface ICSSFilter */
  1061. /* [uuid][unique][object] */ 
  1062. EXTERN_C const IID IID_ICSSFilter;
  1063. #if defined(__cplusplus) && !defined(CINTERFACE)
  1064.     
  1065.     MIDL_INTERFACE("3050f3ec-98b5-11cf-bb82-00aa00bdce0b")
  1066.     ICSSFilter : public IUnknown
  1067.     {
  1068.     public:
  1069.         virtual HRESULT STDMETHODCALLTYPE SetSite( 
  1070.             /* [in] */ ICSSFilterSite *pSink) = 0;
  1071.         
  1072.         virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange( 
  1073.             /* [in] */ LONG dispid) = 0;
  1074.         
  1075.     };
  1076.     
  1077. #else  /* C style interface */
  1078.     typedef struct ICSSFilterVtbl
  1079.     {
  1080.         BEGIN_INTERFACE
  1081.         
  1082.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1083.             ICSSFilter * This,
  1084.             /* [in] */ REFIID riid,
  1085.             /* [iid_is][out] */ void **ppvObject);
  1086.         
  1087.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1088.             ICSSFilter * This);
  1089.         
  1090.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1091.             ICSSFilter * This);
  1092.         
  1093.         HRESULT ( STDMETHODCALLTYPE *SetSite )( 
  1094.             ICSSFilter * This,
  1095.             /* [in] */ ICSSFilterSite *pSink);
  1096.         
  1097.         HRESULT ( STDMETHODCALLTYPE *OnAmbientPropertyChange )( 
  1098.             ICSSFilter * This,
  1099.             /* [in] */ LONG dispid);
  1100.         
  1101.         END_INTERFACE
  1102.     } ICSSFilterVtbl;
  1103.     interface ICSSFilter
  1104.     {
  1105.         CONST_VTBL struct ICSSFilterVtbl *lpVtbl;
  1106.     };
  1107.     
  1108. #ifdef COBJMACROS
  1109. #define ICSSFilter_QueryInterface(This,riid,ppvObject)
  1110.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1111. #define ICSSFilter_AddRef(This)
  1112.     (This)->lpVtbl -> AddRef(This)
  1113. #define ICSSFilter_Release(This)
  1114.     (This)->lpVtbl -> Release(This)
  1115. #define ICSSFilter_SetSite(This,pSink)
  1116.     (This)->lpVtbl -> SetSite(This,pSink)
  1117. #define ICSSFilter_OnAmbientPropertyChange(This,dispid)
  1118.     (This)->lpVtbl -> OnAmbientPropertyChange(This,dispid)
  1119. #endif /* COBJMACROS */
  1120. #endif  /* C style interface */
  1121. HRESULT STDMETHODCALLTYPE ICSSFilter_SetSite_Proxy( 
  1122.     ICSSFilter * This,
  1123.     /* [in] */ ICSSFilterSite *pSink);
  1124. void __RPC_STUB ICSSFilter_SetSite_Stub(
  1125.     IRpcStubBuffer *This,
  1126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1127.     PRPC_MESSAGE _pRpcMessage,
  1128.     DWORD *_pdwStubPhase);
  1129. HRESULT STDMETHODCALLTYPE ICSSFilter_OnAmbientPropertyChange_Proxy( 
  1130.     ICSSFilter * This,
  1131.     /* [in] */ LONG dispid);
  1132. void __RPC_STUB ICSSFilter_OnAmbientPropertyChange_Stub(
  1133.     IRpcStubBuffer *This,
  1134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1135.     PRPC_MESSAGE _pRpcMessage,
  1136.     DWORD *_pdwStubPhase);
  1137. #endif  /* __ICSSFilter_INTERFACE_DEFINED__ */
  1138. #ifndef __ISecureUrlHost_INTERFACE_DEFINED__
  1139. #define __ISecureUrlHost_INTERFACE_DEFINED__
  1140. /* interface ISecureUrlHost */
  1141. /* [uuid][unique][object] */ 
  1142. EXTERN_C const IID IID_ISecureUrlHost;
  1143. #if defined(__cplusplus) && !defined(CINTERFACE)
  1144.     
  1145.     MIDL_INTERFACE("c81984c4-74c8-11d2-baa9-00c04fc2040e")
  1146.     ISecureUrlHost : public IUnknown
  1147.     {
  1148.     public:
  1149.         virtual HRESULT STDMETHODCALLTYPE ValidateSecureUrl( 
  1150.             /* [out] */ BOOL *pfAllow,
  1151.             /* [in] */ OLECHAR *pchUrlInQuestion,
  1152.             /* [in] */ DWORD dwFlags) = 0;
  1153.         
  1154.     };
  1155.     
  1156. #else  /* C style interface */
  1157.     typedef struct ISecureUrlHostVtbl
  1158.     {
  1159.         BEGIN_INTERFACE
  1160.         
  1161.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1162.             ISecureUrlHost * This,
  1163.             /* [in] */ REFIID riid,
  1164.             /* [iid_is][out] */ void **ppvObject);
  1165.         
  1166.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1167.             ISecureUrlHost * This);
  1168.         
  1169.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1170.             ISecureUrlHost * This);
  1171.         
  1172.         HRESULT ( STDMETHODCALLTYPE *ValidateSecureUrl )( 
  1173.             ISecureUrlHost * This,
  1174.             /* [out] */ BOOL *pfAllow,
  1175.             /* [in] */ OLECHAR *pchUrlInQuestion,
  1176.             /* [in] */ DWORD dwFlags);
  1177.         
  1178.         END_INTERFACE
  1179.     } ISecureUrlHostVtbl;
  1180.     interface ISecureUrlHost
  1181.     {
  1182.         CONST_VTBL struct ISecureUrlHostVtbl *lpVtbl;
  1183.     };
  1184.     
  1185. #ifdef COBJMACROS
  1186. #define ISecureUrlHost_QueryInterface(This,riid,ppvObject)
  1187.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1188. #define ISecureUrlHost_AddRef(This)
  1189.     (This)->lpVtbl -> AddRef(This)
  1190. #define ISecureUrlHost_Release(This)
  1191.     (This)->lpVtbl -> Release(This)
  1192. #define ISecureUrlHost_ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags)
  1193.     (This)->lpVtbl -> ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags)
  1194. #endif /* COBJMACROS */
  1195. #endif  /* C style interface */
  1196. HRESULT STDMETHODCALLTYPE ISecureUrlHost_ValidateSecureUrl_Proxy( 
  1197.     ISecureUrlHost * This,
  1198.     /* [out] */ BOOL *pfAllow,
  1199.     /* [in] */ OLECHAR *pchUrlInQuestion,
  1200.     /* [in] */ DWORD dwFlags);
  1201. void __RPC_STUB ISecureUrlHost_ValidateSecureUrl_Stub(
  1202.     IRpcStubBuffer *This,
  1203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1204.     PRPC_MESSAGE _pRpcMessage,
  1205.     DWORD *_pdwStubPhase);
  1206. #endif  /* __ISecureUrlHost_INTERFACE_DEFINED__ */
  1207. #ifndef __IMarkupServices_INTERFACE_DEFINED__
  1208. #define __IMarkupServices_INTERFACE_DEFINED__
  1209. /* interface IMarkupServices */
  1210. /* [uuid][unique][object] */ 
  1211. EXTERN_C const IID IID_IMarkupServices;
  1212. #if defined(__cplusplus) && !defined(CINTERFACE)
  1213.     
  1214.     MIDL_INTERFACE("3050f4a0-98b5-11cf-bb82-00aa00bdce0b")
  1215.     IMarkupServices : public IUnknown
  1216.     {
  1217.     public:
  1218.         virtual HRESULT STDMETHODCALLTYPE CreateMarkupPointer( 
  1219.             /* [out] */ IMarkupPointer **ppPointer) = 0;
  1220.         
  1221.         virtual HRESULT STDMETHODCALLTYPE CreateMarkupContainer( 
  1222.             /* [out] */ IMarkupContainer **ppMarkupContainer) = 0;
  1223.         
  1224.         virtual HRESULT STDMETHODCALLTYPE CreateElement( 
  1225.             /* [in] */ ELEMENT_TAG_ID tagID,
  1226.             /* [in] */ OLECHAR *pchAttributes,
  1227.             /* [out] */ IHTMLElement **ppElement) = 0;
  1228.         
  1229.         virtual HRESULT STDMETHODCALLTYPE CloneElement( 
  1230.             /* [in] */ IHTMLElement *pElemCloneThis,
  1231.             /* [out] */ IHTMLElement **ppElementTheClone) = 0;
  1232.         
  1233.         virtual HRESULT STDMETHODCALLTYPE InsertElement( 
  1234.             /* [in] */ IHTMLElement *pElementInsert,
  1235.             /* [in] */ IMarkupPointer *pPointerStart,
  1236.             /* [in] */ IMarkupPointer *pPointerFinish) = 0;
  1237.         
  1238.         virtual HRESULT STDMETHODCALLTYPE RemoveElement( 
  1239.             /* [in] */ IHTMLElement *pElementRemove) = 0;
  1240.         
  1241.         virtual HRESULT STDMETHODCALLTYPE Remove( 
  1242.             /* [in] */ IMarkupPointer *pPointerStart,
  1243.             /* [in] */ IMarkupPointer *pPointerFinish) = 0;
  1244.         
  1245.         virtual HRESULT STDMETHODCALLTYPE Copy( 
  1246.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1247.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1248.             /* [in] */ IMarkupPointer *pPointerTarget) = 0;
  1249.         
  1250.         virtual HRESULT STDMETHODCALLTYPE Move( 
  1251.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1252.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1253.             /* [in] */ IMarkupPointer *pPointerTarget) = 0;
  1254.         
  1255.         virtual HRESULT STDMETHODCALLTYPE InsertText( 
  1256.             /* [in] */ OLECHAR *pchText,
  1257.             /* [in] */ long cch,
  1258.             /* [in] */ IMarkupPointer *pPointerTarget) = 0;
  1259.         
  1260.         virtual HRESULT STDMETHODCALLTYPE ParseString( 
  1261.             /* [in] */ OLECHAR *pchHTML,
  1262.             /* [in] */ DWORD dwFlags,
  1263.             /* [out] */ IMarkupContainer **ppContainerResult,
  1264.             /* [in] */ IMarkupPointer *ppPointerStart,
  1265.             /* [in] */ IMarkupPointer *ppPointerFinish) = 0;
  1266.         
  1267.         virtual HRESULT STDMETHODCALLTYPE ParseGlobal( 
  1268.             /* [in] */ HGLOBAL hglobalHTML,
  1269.             /* [in] */ DWORD dwFlags,
  1270.             /* [out] */ IMarkupContainer **ppContainerResult,
  1271.             /* [in] */ IMarkupPointer *pPointerStart,
  1272.             /* [in] */ IMarkupPointer *pPointerFinish) = 0;
  1273.         
  1274.         virtual HRESULT STDMETHODCALLTYPE IsScopedElement( 
  1275.             /* [in] */ IHTMLElement *pElement,
  1276.             /* [out] */ BOOL *pfScoped) = 0;
  1277.         
  1278.         virtual HRESULT STDMETHODCALLTYPE GetElementTagId( 
  1279.             /* [in] */ IHTMLElement *pElement,
  1280.             /* [out] */ ELEMENT_TAG_ID *ptagId) = 0;
  1281.         
  1282.         virtual HRESULT STDMETHODCALLTYPE GetTagIDForName( 
  1283.             /* [in] */ BSTR bstrName,
  1284.             /* [out] */ ELEMENT_TAG_ID *ptagId) = 0;
  1285.         
  1286.         virtual HRESULT STDMETHODCALLTYPE GetNameForTagID( 
  1287.             /* [in] */ ELEMENT_TAG_ID tagId,
  1288.             /* [out] */ BSTR *pbstrName) = 0;
  1289.         
  1290.         virtual HRESULT STDMETHODCALLTYPE MovePointersToRange( 
  1291.             /* [in] */ IHTMLTxtRange *pIRange,
  1292.             /* [in] */ IMarkupPointer *pPointerStart,
  1293.             /* [in] */ IMarkupPointer *pPointerFinish) = 0;
  1294.         
  1295.         virtual HRESULT STDMETHODCALLTYPE MoveRangeToPointers( 
  1296.             /* [in] */ IMarkupPointer *pPointerStart,
  1297.             /* [in] */ IMarkupPointer *pPointerFinish,
  1298.             /* [in] */ IHTMLTxtRange *pIRange) = 0;
  1299.         
  1300.         virtual HRESULT STDMETHODCALLTYPE BeginUndoUnit( 
  1301.             /* [in] */ OLECHAR *pchTitle) = 0;
  1302.         
  1303.         virtual HRESULT STDMETHODCALLTYPE EndUndoUnit( void) = 0;
  1304.         
  1305.     };
  1306.     
  1307. #else  /* C style interface */
  1308.     typedef struct IMarkupServicesVtbl
  1309.     {
  1310.         BEGIN_INTERFACE
  1311.         
  1312.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1313.             IMarkupServices * This,
  1314.             /* [in] */ REFIID riid,
  1315.             /* [iid_is][out] */ void **ppvObject);
  1316.         
  1317.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1318.             IMarkupServices * This);
  1319.         
  1320.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1321.             IMarkupServices * This);
  1322.         
  1323.         HRESULT ( STDMETHODCALLTYPE *CreateMarkupPointer )( 
  1324.             IMarkupServices * This,
  1325.             /* [out] */ IMarkupPointer **ppPointer);
  1326.         
  1327.         HRESULT ( STDMETHODCALLTYPE *CreateMarkupContainer )( 
  1328.             IMarkupServices * This,
  1329.             /* [out] */ IMarkupContainer **ppMarkupContainer);
  1330.         
  1331.         HRESULT ( STDMETHODCALLTYPE *CreateElement )( 
  1332.             IMarkupServices * This,
  1333.             /* [in] */ ELEMENT_TAG_ID tagID,
  1334.             /* [in] */ OLECHAR *pchAttributes,
  1335.             /* [out] */ IHTMLElement **ppElement);
  1336.         
  1337.         HRESULT ( STDMETHODCALLTYPE *CloneElement )( 
  1338.             IMarkupServices * This,
  1339.             /* [in] */ IHTMLElement *pElemCloneThis,
  1340.             /* [out] */ IHTMLElement **ppElementTheClone);
  1341.         
  1342.         HRESULT ( STDMETHODCALLTYPE *InsertElement )( 
  1343.             IMarkupServices * This,
  1344.             /* [in] */ IHTMLElement *pElementInsert,
  1345.             /* [in] */ IMarkupPointer *pPointerStart,
  1346.             /* [in] */ IMarkupPointer *pPointerFinish);
  1347.         
  1348.         HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
  1349.             IMarkupServices * This,
  1350.             /* [in] */ IHTMLElement *pElementRemove);
  1351.         
  1352.         HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1353.             IMarkupServices * This,
  1354.             /* [in] */ IMarkupPointer *pPointerStart,
  1355.             /* [in] */ IMarkupPointer *pPointerFinish);
  1356.         
  1357.         HRESULT ( STDMETHODCALLTYPE *Copy )( 
  1358.             IMarkupServices * This,
  1359.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1360.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1361.             /* [in] */ IMarkupPointer *pPointerTarget);
  1362.         
  1363.         HRESULT ( STDMETHODCALLTYPE *Move )( 
  1364.             IMarkupServices * This,
  1365.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1366.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1367.             /* [in] */ IMarkupPointer *pPointerTarget);
  1368.         
  1369.         HRESULT ( STDMETHODCALLTYPE *InsertText )( 
  1370.             IMarkupServices * This,
  1371.             /* [in] */ OLECHAR *pchText,
  1372.             /* [in] */ long cch,
  1373.             /* [in] */ IMarkupPointer *pPointerTarget);
  1374.         
  1375.         HRESULT ( STDMETHODCALLTYPE *ParseString )( 
  1376.             IMarkupServices * This,
  1377.             /* [in] */ OLECHAR *pchHTML,
  1378.             /* [in] */ DWORD dwFlags,
  1379.             /* [out] */ IMarkupContainer **ppContainerResult,
  1380.             /* [in] */ IMarkupPointer *ppPointerStart,
  1381.             /* [in] */ IMarkupPointer *ppPointerFinish);
  1382.         
  1383.         HRESULT ( STDMETHODCALLTYPE *ParseGlobal )( 
  1384.             IMarkupServices * This,
  1385.             /* [in] */ HGLOBAL hglobalHTML,
  1386.             /* [in] */ DWORD dwFlags,
  1387.             /* [out] */ IMarkupContainer **ppContainerResult,
  1388.             /* [in] */ IMarkupPointer *pPointerStart,
  1389.             /* [in] */ IMarkupPointer *pPointerFinish);
  1390.         
  1391.         HRESULT ( STDMETHODCALLTYPE *IsScopedElement )( 
  1392.             IMarkupServices * This,
  1393.             /* [in] */ IHTMLElement *pElement,
  1394.             /* [out] */ BOOL *pfScoped);
  1395.         
  1396.         HRESULT ( STDMETHODCALLTYPE *GetElementTagId )( 
  1397.             IMarkupServices * This,
  1398.             /* [in] */ IHTMLElement *pElement,
  1399.             /* [out] */ ELEMENT_TAG_ID *ptagId);
  1400.         
  1401.         HRESULT ( STDMETHODCALLTYPE *GetTagIDForName )( 
  1402.             IMarkupServices * This,
  1403.             /* [in] */ BSTR bstrName,
  1404.             /* [out] */ ELEMENT_TAG_ID *ptagId);
  1405.         
  1406.         HRESULT ( STDMETHODCALLTYPE *GetNameForTagID )( 
  1407.             IMarkupServices * This,
  1408.             /* [in] */ ELEMENT_TAG_ID tagId,
  1409.             /* [out] */ BSTR *pbstrName);
  1410.         
  1411.         HRESULT ( STDMETHODCALLTYPE *MovePointersToRange )( 
  1412.             IMarkupServices * This,
  1413.             /* [in] */ IHTMLTxtRange *pIRange,
  1414.             /* [in] */ IMarkupPointer *pPointerStart,
  1415.             /* [in] */ IMarkupPointer *pPointerFinish);
  1416.         
  1417.         HRESULT ( STDMETHODCALLTYPE *MoveRangeToPointers )( 
  1418.             IMarkupServices * This,
  1419.             /* [in] */ IMarkupPointer *pPointerStart,
  1420.             /* [in] */ IMarkupPointer *pPointerFinish,
  1421.             /* [in] */ IHTMLTxtRange *pIRange);
  1422.         
  1423.         HRESULT ( STDMETHODCALLTYPE *BeginUndoUnit )( 
  1424.             IMarkupServices * This,
  1425.             /* [in] */ OLECHAR *pchTitle);
  1426.         
  1427.         HRESULT ( STDMETHODCALLTYPE *EndUndoUnit )( 
  1428.             IMarkupServices * This);
  1429.         
  1430.         END_INTERFACE
  1431.     } IMarkupServicesVtbl;
  1432.     interface IMarkupServices
  1433.     {
  1434.         CONST_VTBL struct IMarkupServicesVtbl *lpVtbl;
  1435.     };
  1436.     
  1437. #ifdef COBJMACROS
  1438. #define IMarkupServices_QueryInterface(This,riid,ppvObject)
  1439.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1440. #define IMarkupServices_AddRef(This)
  1441.     (This)->lpVtbl -> AddRef(This)
  1442. #define IMarkupServices_Release(This)
  1443.     (This)->lpVtbl -> Release(This)
  1444. #define IMarkupServices_CreateMarkupPointer(This,ppPointer)
  1445.     (This)->lpVtbl -> CreateMarkupPointer(This,ppPointer)
  1446. #define IMarkupServices_CreateMarkupContainer(This,ppMarkupContainer)
  1447.     (This)->lpVtbl -> CreateMarkupContainer(This,ppMarkupContainer)
  1448. #define IMarkupServices_CreateElement(This,tagID,pchAttributes,ppElement)
  1449.     (This)->lpVtbl -> CreateElement(This,tagID,pchAttributes,ppElement)
  1450. #define IMarkupServices_CloneElement(This,pElemCloneThis,ppElementTheClone)
  1451.     (This)->lpVtbl -> CloneElement(This,pElemCloneThis,ppElementTheClone)
  1452. #define IMarkupServices_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
  1453.     (This)->lpVtbl -> InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
  1454. #define IMarkupServices_RemoveElement(This,pElementRemove)
  1455.     (This)->lpVtbl -> RemoveElement(This,pElementRemove)
  1456. #define IMarkupServices_Remove(This,pPointerStart,pPointerFinish)
  1457.     (This)->lpVtbl -> Remove(This,pPointerStart,pPointerFinish)
  1458. #define IMarkupServices_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1459.     (This)->lpVtbl -> Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1460. #define IMarkupServices_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1461.     (This)->lpVtbl -> Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1462. #define IMarkupServices_InsertText(This,pchText,cch,pPointerTarget)
  1463.     (This)->lpVtbl -> InsertText(This,pchText,cch,pPointerTarget)
  1464. #define IMarkupServices_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
  1465.     (This)->lpVtbl -> ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
  1466. #define IMarkupServices_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
  1467.     (This)->lpVtbl -> ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
  1468. #define IMarkupServices_IsScopedElement(This,pElement,pfScoped)
  1469.     (This)->lpVtbl -> IsScopedElement(This,pElement,pfScoped)
  1470. #define IMarkupServices_GetElementTagId(This,pElement,ptagId)
  1471.     (This)->lpVtbl -> GetElementTagId(This,pElement,ptagId)
  1472. #define IMarkupServices_GetTagIDForName(This,bstrName,ptagId)
  1473.     (This)->lpVtbl -> GetTagIDForName(This,bstrName,ptagId)
  1474. #define IMarkupServices_GetNameForTagID(This,tagId,pbstrName)
  1475.     (This)->lpVtbl -> GetNameForTagID(This,tagId,pbstrName)
  1476. #define IMarkupServices_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
  1477.     (This)->lpVtbl -> MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
  1478. #define IMarkupServices_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
  1479.     (This)->lpVtbl -> MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
  1480. #define IMarkupServices_BeginUndoUnit(This,pchTitle)
  1481.     (This)->lpVtbl -> BeginUndoUnit(This,pchTitle)
  1482. #define IMarkupServices_EndUndoUnit(This)
  1483.     (This)->lpVtbl -> EndUndoUnit(This)
  1484. #endif /* COBJMACROS */
  1485. #endif  /* C style interface */
  1486. HRESULT STDMETHODCALLTYPE IMarkupServices_CreateMarkupPointer_Proxy( 
  1487.     IMarkupServices * This,
  1488.     /* [out] */ IMarkupPointer **ppPointer);
  1489. void __RPC_STUB IMarkupServices_CreateMarkupPointer_Stub(
  1490.     IRpcStubBuffer *This,
  1491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1492.     PRPC_MESSAGE _pRpcMessage,
  1493.     DWORD *_pdwStubPhase);
  1494. HRESULT STDMETHODCALLTYPE IMarkupServices_CreateMarkupContainer_Proxy( 
  1495.     IMarkupServices * This,
  1496.     /* [out] */ IMarkupContainer **ppMarkupContainer);
  1497. void __RPC_STUB IMarkupServices_CreateMarkupContainer_Stub(
  1498.     IRpcStubBuffer *This,
  1499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1500.     PRPC_MESSAGE _pRpcMessage,
  1501.     DWORD *_pdwStubPhase);
  1502. HRESULT STDMETHODCALLTYPE IMarkupServices_CreateElement_Proxy( 
  1503.     IMarkupServices * This,
  1504.     /* [in] */ ELEMENT_TAG_ID tagID,
  1505.     /* [in] */ OLECHAR *pchAttributes,
  1506.     /* [out] */ IHTMLElement **ppElement);
  1507. void __RPC_STUB IMarkupServices_CreateElement_Stub(
  1508.     IRpcStubBuffer *This,
  1509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1510.     PRPC_MESSAGE _pRpcMessage,
  1511.     DWORD *_pdwStubPhase);
  1512. HRESULT STDMETHODCALLTYPE IMarkupServices_CloneElement_Proxy( 
  1513.     IMarkupServices * This,
  1514.     /* [in] */ IHTMLElement *pElemCloneThis,
  1515.     /* [out] */ IHTMLElement **ppElementTheClone);
  1516. void __RPC_STUB IMarkupServices_CloneElement_Stub(
  1517.     IRpcStubBuffer *This,
  1518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1519.     PRPC_MESSAGE _pRpcMessage,
  1520.     DWORD *_pdwStubPhase);
  1521. HRESULT STDMETHODCALLTYPE IMarkupServices_InsertElement_Proxy( 
  1522.     IMarkupServices * This,
  1523.     /* [in] */ IHTMLElement *pElementInsert,
  1524.     /* [in] */ IMarkupPointer *pPointerStart,
  1525.     /* [in] */ IMarkupPointer *pPointerFinish);
  1526. void __RPC_STUB IMarkupServices_InsertElement_Stub(
  1527.     IRpcStubBuffer *This,
  1528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1529.     PRPC_MESSAGE _pRpcMessage,
  1530.     DWORD *_pdwStubPhase);
  1531. HRESULT STDMETHODCALLTYPE IMarkupServices_RemoveElement_Proxy( 
  1532.     IMarkupServices * This,
  1533.     /* [in] */ IHTMLElement *pElementRemove);
  1534. void __RPC_STUB IMarkupServices_RemoveElement_Stub(
  1535.     IRpcStubBuffer *This,
  1536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1537.     PRPC_MESSAGE _pRpcMessage,
  1538.     DWORD *_pdwStubPhase);
  1539. HRESULT STDMETHODCALLTYPE IMarkupServices_Remove_Proxy( 
  1540.     IMarkupServices * This,
  1541.     /* [in] */ IMarkupPointer *pPointerStart,
  1542.     /* [in] */ IMarkupPointer *pPointerFinish);
  1543. void __RPC_STUB IMarkupServices_Remove_Stub(
  1544.     IRpcStubBuffer *This,
  1545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1546.     PRPC_MESSAGE _pRpcMessage,
  1547.     DWORD *_pdwStubPhase);
  1548. HRESULT STDMETHODCALLTYPE IMarkupServices_Copy_Proxy( 
  1549.     IMarkupServices * This,
  1550.     /* [in] */ IMarkupPointer *pPointerSourceStart,
  1551.     /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1552.     /* [in] */ IMarkupPointer *pPointerTarget);
  1553. void __RPC_STUB IMarkupServices_Copy_Stub(
  1554.     IRpcStubBuffer *This,
  1555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1556.     PRPC_MESSAGE _pRpcMessage,
  1557.     DWORD *_pdwStubPhase);
  1558. HRESULT STDMETHODCALLTYPE IMarkupServices_Move_Proxy( 
  1559.     IMarkupServices * This,
  1560.     /* [in] */ IMarkupPointer *pPointerSourceStart,
  1561.     /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1562.     /* [in] */ IMarkupPointer *pPointerTarget);
  1563. void __RPC_STUB IMarkupServices_Move_Stub(
  1564.     IRpcStubBuffer *This,
  1565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1566.     PRPC_MESSAGE _pRpcMessage,
  1567.     DWORD *_pdwStubPhase);
  1568. HRESULT STDMETHODCALLTYPE IMarkupServices_InsertText_Proxy( 
  1569.     IMarkupServices * This,
  1570.     /* [in] */ OLECHAR *pchText,
  1571.     /* [in] */ long cch,
  1572.     /* [in] */ IMarkupPointer *pPointerTarget);
  1573. void __RPC_STUB IMarkupServices_InsertText_Stub(
  1574.     IRpcStubBuffer *This,
  1575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1576.     PRPC_MESSAGE _pRpcMessage,
  1577.     DWORD *_pdwStubPhase);
  1578. HRESULT STDMETHODCALLTYPE IMarkupServices_ParseString_Proxy( 
  1579.     IMarkupServices * This,
  1580.     /* [in] */ OLECHAR *pchHTML,
  1581.     /* [in] */ DWORD dwFlags,
  1582.     /* [out] */ IMarkupContainer **ppContainerResult,
  1583.     /* [in] */ IMarkupPointer *ppPointerStart,
  1584.     /* [in] */ IMarkupPointer *ppPointerFinish);
  1585. void __RPC_STUB IMarkupServices_ParseString_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590. HRESULT STDMETHODCALLTYPE IMarkupServices_ParseGlobal_Proxy( 
  1591.     IMarkupServices * This,
  1592.     /* [in] */ HGLOBAL hglobalHTML,
  1593.     /* [in] */ DWORD dwFlags,
  1594.     /* [out] */ IMarkupContainer **ppContainerResult,
  1595.     /* [in] */ IMarkupPointer *pPointerStart,
  1596.     /* [in] */ IMarkupPointer *pPointerFinish);
  1597. void __RPC_STUB IMarkupServices_ParseGlobal_Stub(
  1598.     IRpcStubBuffer *This,
  1599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1600.     PRPC_MESSAGE _pRpcMessage,
  1601.     DWORD *_pdwStubPhase);
  1602. HRESULT STDMETHODCALLTYPE IMarkupServices_IsScopedElement_Proxy( 
  1603.     IMarkupServices * This,
  1604.     /* [in] */ IHTMLElement *pElement,
  1605.     /* [out] */ BOOL *pfScoped);
  1606. void __RPC_STUB IMarkupServices_IsScopedElement_Stub(
  1607.     IRpcStubBuffer *This,
  1608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1609.     PRPC_MESSAGE _pRpcMessage,
  1610.     DWORD *_pdwStubPhase);
  1611. HRESULT STDMETHODCALLTYPE IMarkupServices_GetElementTagId_Proxy( 
  1612.     IMarkupServices * This,
  1613.     /* [in] */ IHTMLElement *pElement,
  1614.     /* [out] */ ELEMENT_TAG_ID *ptagId);
  1615. void __RPC_STUB IMarkupServices_GetElementTagId_Stub(
  1616.     IRpcStubBuffer *This,
  1617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1618.     PRPC_MESSAGE _pRpcMessage,
  1619.     DWORD *_pdwStubPhase);
  1620. HRESULT STDMETHODCALLTYPE IMarkupServices_GetTagIDForName_Proxy( 
  1621.     IMarkupServices * This,
  1622.     /* [in] */ BSTR bstrName,
  1623.     /* [out] */ ELEMENT_TAG_ID *ptagId);
  1624. void __RPC_STUB IMarkupServices_GetTagIDForName_Stub(
  1625.     IRpcStubBuffer *This,
  1626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1627.     PRPC_MESSAGE _pRpcMessage,
  1628.     DWORD *_pdwStubPhase);
  1629. HRESULT STDMETHODCALLTYPE IMarkupServices_GetNameForTagID_Proxy( 
  1630.     IMarkupServices * This,
  1631.     /* [in] */ ELEMENT_TAG_ID tagId,
  1632.     /* [out] */ BSTR *pbstrName);
  1633. void __RPC_STUB IMarkupServices_GetNameForTagID_Stub(
  1634.     IRpcStubBuffer *This,
  1635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1636.     PRPC_MESSAGE _pRpcMessage,
  1637.     DWORD *_pdwStubPhase);
  1638. HRESULT STDMETHODCALLTYPE IMarkupServices_MovePointersToRange_Proxy( 
  1639.     IMarkupServices * This,
  1640.     /* [in] */ IHTMLTxtRange *pIRange,
  1641.     /* [in] */ IMarkupPointer *pPointerStart,
  1642.     /* [in] */ IMarkupPointer *pPointerFinish);
  1643. void __RPC_STUB IMarkupServices_MovePointersToRange_Stub(
  1644.     IRpcStubBuffer *This,
  1645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1646.     PRPC_MESSAGE _pRpcMessage,
  1647.     DWORD *_pdwStubPhase);
  1648. HRESULT STDMETHODCALLTYPE IMarkupServices_MoveRangeToPointers_Proxy( 
  1649.     IMarkupServices * This,
  1650.     /* [in] */ IMarkupPointer *pPointerStart,
  1651.     /* [in] */ IMarkupPointer *pPointerFinish,
  1652.     /* [in] */ IHTMLTxtRange *pIRange);
  1653. void __RPC_STUB IMarkupServices_MoveRangeToPointers_Stub(
  1654.     IRpcStubBuffer *This,
  1655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1656.     PRPC_MESSAGE _pRpcMessage,
  1657.     DWORD *_pdwStubPhase);
  1658. HRESULT STDMETHODCALLTYPE IMarkupServices_BeginUndoUnit_Proxy( 
  1659.     IMarkupServices * This,
  1660.     /* [in] */ OLECHAR *pchTitle);
  1661. void __RPC_STUB IMarkupServices_BeginUndoUnit_Stub(
  1662.     IRpcStubBuffer *This,
  1663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1664.     PRPC_MESSAGE _pRpcMessage,
  1665.     DWORD *_pdwStubPhase);
  1666. HRESULT STDMETHODCALLTYPE IMarkupServices_EndUndoUnit_Proxy( 
  1667.     IMarkupServices * This);
  1668. void __RPC_STUB IMarkupServices_EndUndoUnit_Stub(
  1669.     IRpcStubBuffer *This,
  1670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1671.     PRPC_MESSAGE _pRpcMessage,
  1672.     DWORD *_pdwStubPhase);
  1673. #endif  /* __IMarkupServices_INTERFACE_DEFINED__ */
  1674. #ifndef __IMarkupServices2_INTERFACE_DEFINED__
  1675. #define __IMarkupServices2_INTERFACE_DEFINED__
  1676. /* interface IMarkupServices2 */
  1677. /* [uuid][unique][object] */ 
  1678. EXTERN_C const IID IID_IMarkupServices2;
  1679. #if defined(__cplusplus) && !defined(CINTERFACE)
  1680.     
  1681.     MIDL_INTERFACE("3050f682-98b5-11cf-bb82-00aa00bdce0b")
  1682.     IMarkupServices2 : public IMarkupServices
  1683.     {
  1684.     public:
  1685.         virtual HRESULT STDMETHODCALLTYPE ParseGlobalEx( 
  1686.             /* [in] */ HGLOBAL hglobalHTML,
  1687.             /* [in] */ DWORD dwFlags,
  1688.             /* [in] */ IMarkupContainer *pContext,
  1689.             /* [out] */ IMarkupContainer **ppContainerResult,
  1690.             /* [in] */ IMarkupPointer *pPointerStart,
  1691.             /* [in] */ IMarkupPointer *pPointerFinish) = 0;
  1692.         
  1693.         virtual HRESULT STDMETHODCALLTYPE ValidateElements( 
  1694.             /* [in] */ IMarkupPointer *pPointerStart,
  1695.             /* [in] */ IMarkupPointer *pPointerFinish,
  1696.             /* [in] */ IMarkupPointer *pPointerTarget,
  1697.             /* [out][in] */ IMarkupPointer *pPointerStatus,
  1698.             /* [out] */ IHTMLElement **ppElemFailBottom,
  1699.             /* [out] */ IHTMLElement **ppElemFailTop) = 0;
  1700.         
  1701.         virtual HRESULT STDMETHODCALLTYPE SaveSegmentsToClipboard( 
  1702.             /* [in] */ ISegmentList *pSegmentList,
  1703.             /* [in] */ DWORD dwFlags) = 0;
  1704.         
  1705.     };
  1706.     
  1707. #else  /* C style interface */
  1708.     typedef struct IMarkupServices2Vtbl
  1709.     {
  1710.         BEGIN_INTERFACE
  1711.         
  1712.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1713.             IMarkupServices2 * This,
  1714.             /* [in] */ REFIID riid,
  1715.             /* [iid_is][out] */ void **ppvObject);
  1716.         
  1717.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1718.             IMarkupServices2 * This);
  1719.         
  1720.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1721.             IMarkupServices2 * This);
  1722.         
  1723.         HRESULT ( STDMETHODCALLTYPE *CreateMarkupPointer )( 
  1724.             IMarkupServices2 * This,
  1725.             /* [out] */ IMarkupPointer **ppPointer);
  1726.         
  1727.         HRESULT ( STDMETHODCALLTYPE *CreateMarkupContainer )( 
  1728.             IMarkupServices2 * This,
  1729.             /* [out] */ IMarkupContainer **ppMarkupContainer);
  1730.         
  1731.         HRESULT ( STDMETHODCALLTYPE *CreateElement )( 
  1732.             IMarkupServices2 * This,
  1733.             /* [in] */ ELEMENT_TAG_ID tagID,
  1734.             /* [in] */ OLECHAR *pchAttributes,
  1735.             /* [out] */ IHTMLElement **ppElement);
  1736.         
  1737.         HRESULT ( STDMETHODCALLTYPE *CloneElement )( 
  1738.             IMarkupServices2 * This,
  1739.             /* [in] */ IHTMLElement *pElemCloneThis,
  1740.             /* [out] */ IHTMLElement **ppElementTheClone);
  1741.         
  1742.         HRESULT ( STDMETHODCALLTYPE *InsertElement )( 
  1743.             IMarkupServices2 * This,
  1744.             /* [in] */ IHTMLElement *pElementInsert,
  1745.             /* [in] */ IMarkupPointer *pPointerStart,
  1746.             /* [in] */ IMarkupPointer *pPointerFinish);
  1747.         
  1748.         HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
  1749.             IMarkupServices2 * This,
  1750.             /* [in] */ IHTMLElement *pElementRemove);
  1751.         
  1752.         HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1753.             IMarkupServices2 * This,
  1754.             /* [in] */ IMarkupPointer *pPointerStart,
  1755.             /* [in] */ IMarkupPointer *pPointerFinish);
  1756.         
  1757.         HRESULT ( STDMETHODCALLTYPE *Copy )( 
  1758.             IMarkupServices2 * This,
  1759.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1760.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1761.             /* [in] */ IMarkupPointer *pPointerTarget);
  1762.         
  1763.         HRESULT ( STDMETHODCALLTYPE *Move )( 
  1764.             IMarkupServices2 * This,
  1765.             /* [in] */ IMarkupPointer *pPointerSourceStart,
  1766.             /* [in] */ IMarkupPointer *pPointerSourceFinish,
  1767.             /* [in] */ IMarkupPointer *pPointerTarget);
  1768.         
  1769.         HRESULT ( STDMETHODCALLTYPE *InsertText )( 
  1770.             IMarkupServices2 * This,
  1771.             /* [in] */ OLECHAR *pchText,
  1772.             /* [in] */ long cch,
  1773.             /* [in] */ IMarkupPointer *pPointerTarget);
  1774.         
  1775.         HRESULT ( STDMETHODCALLTYPE *ParseString )( 
  1776.             IMarkupServices2 * This,
  1777.             /* [in] */ OLECHAR *pchHTML,
  1778.             /* [in] */ DWORD dwFlags,
  1779.             /* [out] */ IMarkupContainer **ppContainerResult,
  1780.             /* [in] */ IMarkupPointer *ppPointerStart,
  1781.             /* [in] */ IMarkupPointer *ppPointerFinish);
  1782.         
  1783.         HRESULT ( STDMETHODCALLTYPE *ParseGlobal )( 
  1784.             IMarkupServices2 * This,
  1785.             /* [in] */ HGLOBAL hglobalHTML,
  1786.             /* [in] */ DWORD dwFlags,
  1787.             /* [out] */ IMarkupContainer **ppContainerResult,
  1788.             /* [in] */ IMarkupPointer *pPointerStart,
  1789.             /* [in] */ IMarkupPointer *pPointerFinish);
  1790.         
  1791.         HRESULT ( STDMETHODCALLTYPE *IsScopedElement )( 
  1792.             IMarkupServices2 * This,
  1793.             /* [in] */ IHTMLElement *pElement,
  1794.             /* [out] */ BOOL *pfScoped);
  1795.         
  1796.         HRESULT ( STDMETHODCALLTYPE *GetElementTagId )( 
  1797.             IMarkupServices2 * This,
  1798.             /* [in] */ IHTMLElement *pElement,
  1799.             /* [out] */ ELEMENT_TAG_ID *ptagId);
  1800.         
  1801.         HRESULT ( STDMETHODCALLTYPE *GetTagIDForName )( 
  1802.             IMarkupServices2 * This,
  1803.             /* [in] */ BSTR bstrName,
  1804.             /* [out] */ ELEMENT_TAG_ID *ptagId);
  1805.         
  1806.         HRESULT ( STDMETHODCALLTYPE *GetNameForTagID )( 
  1807.             IMarkupServices2 * This,
  1808.             /* [in] */ ELEMENT_TAG_ID tagId,
  1809.             /* [out] */ BSTR *pbstrName);
  1810.         
  1811.         HRESULT ( STDMETHODCALLTYPE *MovePointersToRange )( 
  1812.             IMarkupServices2 * This,
  1813.             /* [in] */ IHTMLTxtRange *pIRange,
  1814.             /* [in] */ IMarkupPointer *pPointerStart,
  1815.             /* [in] */ IMarkupPointer *pPointerFinish);
  1816.         
  1817.         HRESULT ( STDMETHODCALLTYPE *MoveRangeToPointers )( 
  1818.             IMarkupServices2 * This,
  1819.             /* [in] */ IMarkupPointer *pPointerStart,
  1820.             /* [in] */ IMarkupPointer *pPointerFinish,
  1821.             /* [in] */ IHTMLTxtRange *pIRange);
  1822.         
  1823.         HRESULT ( STDMETHODCALLTYPE *BeginUndoUnit )( 
  1824.             IMarkupServices2 * This,
  1825.             /* [in] */ OLECHAR *pchTitle);
  1826.         
  1827.         HRESULT ( STDMETHODCALLTYPE *EndUndoUnit )( 
  1828.             IMarkupServices2 * This);
  1829.         
  1830.         HRESULT ( STDMETHODCALLTYPE *ParseGlobalEx )( 
  1831.             IMarkupServices2 * This,
  1832.             /* [in] */ HGLOBAL hglobalHTML,
  1833.             /* [in] */ DWORD dwFlags,
  1834.             /* [in] */ IMarkupContainer *pContext,
  1835.             /* [out] */ IMarkupContainer **ppContainerResult,
  1836.             /* [in] */ IMarkupPointer *pPointerStart,
  1837.             /* [in] */ IMarkupPointer *pPointerFinish);
  1838.         
  1839.         HRESULT ( STDMETHODCALLTYPE *ValidateElements )( 
  1840.             IMarkupServices2 * This,
  1841.             /* [in] */ IMarkupPointer *pPointerStart,
  1842.             /* [in] */ IMarkupPointer *pPointerFinish,
  1843.             /* [in] */ IMarkupPointer *pPointerTarget,
  1844.             /* [out][in] */ IMarkupPointer *pPointerStatus,
  1845.             /* [out] */ IHTMLElement **ppElemFailBottom,
  1846.             /* [out] */ IHTMLElement **ppElemFailTop);
  1847.         
  1848.         HRESULT ( STDMETHODCALLTYPE *SaveSegmentsToClipboard )( 
  1849.             IMarkupServices2 * This,
  1850.             /* [in] */ ISegmentList *pSegmentList,
  1851.             /* [in] */ DWORD dwFlags);
  1852.         
  1853.         END_INTERFACE
  1854.     } IMarkupServices2Vtbl;
  1855.     interface IMarkupServices2
  1856.     {
  1857.         CONST_VTBL struct IMarkupServices2Vtbl *lpVtbl;
  1858.     };
  1859.     
  1860. #ifdef COBJMACROS
  1861. #define IMarkupServices2_QueryInterface(This,riid,ppvObject)
  1862.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1863. #define IMarkupServices2_AddRef(This)
  1864.     (This)->lpVtbl -> AddRef(This)
  1865. #define IMarkupServices2_Release(This)
  1866.     (This)->lpVtbl -> Release(This)
  1867. #define IMarkupServices2_CreateMarkupPointer(This,ppPointer)
  1868.     (This)->lpVtbl -> CreateMarkupPointer(This,ppPointer)
  1869. #define IMarkupServices2_CreateMarkupContainer(This,ppMarkupContainer)
  1870.     (This)->lpVtbl -> CreateMarkupContainer(This,ppMarkupContainer)
  1871. #define IMarkupServices2_CreateElement(This,tagID,pchAttributes,ppElement)
  1872.     (This)->lpVtbl -> CreateElement(This,tagID,pchAttributes,ppElement)
  1873. #define IMarkupServices2_CloneElement(This,pElemCloneThis,ppElementTheClone)
  1874.     (This)->lpVtbl -> CloneElement(This,pElemCloneThis,ppElementTheClone)
  1875. #define IMarkupServices2_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
  1876.     (This)->lpVtbl -> InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)
  1877. #define IMarkupServices2_RemoveElement(This,pElementRemove)
  1878.     (This)->lpVtbl -> RemoveElement(This,pElementRemove)
  1879. #define IMarkupServices2_Remove(This,pPointerStart,pPointerFinish)
  1880.     (This)->lpVtbl -> Remove(This,pPointerStart,pPointerFinish)
  1881. #define IMarkupServices2_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1882.     (This)->lpVtbl -> Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1883. #define IMarkupServices2_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1884.     (This)->lpVtbl -> Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)
  1885. #define IMarkupServices2_InsertText(This,pchText,cch,pPointerTarget)
  1886.     (This)->lpVtbl -> InsertText(This,pchText,cch,pPointerTarget)
  1887. #define IMarkupServices2_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
  1888.     (This)->lpVtbl -> ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)
  1889. #define IMarkupServices2_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
  1890.     (This)->lpVtbl -> ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)
  1891. #define IMarkupServices2_IsScopedElement(This,pElement,pfScoped)
  1892.     (This)->lpVtbl -> IsScopedElement(This,pElement,pfScoped)
  1893. #define IMarkupServices2_GetElementTagId(This,pElement,ptagId)
  1894.     (This)->lpVtbl -> GetElementTagId(This,pElement,ptagId)
  1895. #define IMarkupServices2_GetTagIDForName(This,bstrName,ptagId)
  1896.     (This)->lpVtbl -> GetTagIDForName(This,bstrName,ptagId)
  1897. #define IMarkupServices2_GetNameForTagID(This,tagId,pbstrName)
  1898.     (This)->lpVtbl -> GetNameForTagID(This,tagId,pbstrName)
  1899. #define IMarkupServices2_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
  1900.     (This)->lpVtbl -> MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)
  1901. #define IMarkupServices2_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
  1902.     (This)->lpVtbl -> MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)
  1903. #define IMarkupServices2_BeginUndoUnit(This,pchTitle)
  1904.     (This)->lpVtbl -> BeginUndoUnit(This,pchTitle)
  1905. #define IMarkupServices2_EndUndoUnit(This)
  1906.     (This)->lpVtbl -> EndUndoUnit(This)
  1907. #define IMarkupServices2_ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish)
  1908.     (This)->lpVtbl -> ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish)
  1909. #define IMarkupServices2_ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop)
  1910.     (This)->lpVtbl -> ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop)
  1911. #define IMarkupServices2_SaveSegmentsToClipboard(This,pSegmentList,dwFlags)
  1912.     (This)->lpVtbl -> SaveSegmentsToClipboard(This,pSegmentList,dwFlags)
  1913. #endif /* COBJMACROS */
  1914. #endif  /* C style interface */
  1915. HRESULT STDMETHODCALLTYPE IMarkupServices2_ParseGlobalEx_Proxy( 
  1916.     IMarkupServices2 * This,
  1917.     /* [in] */ HGLOBAL hglobalHTML,
  1918.     /* [in] */ DWORD dwFlags,
  1919.     /* [in] */ IMarkupContainer *pContext,
  1920.     /* [out] */ IMarkupContainer **ppContainerResult,
  1921.     /* [in] */ IMarkupPointer *pPointerStart,
  1922.     /* [in] */ IMarkupPointer *pPointerFinish);
  1923. void __RPC_STUB IMarkupServices2_ParseGlobalEx_Stub(
  1924.     IRpcStubBuffer *This,
  1925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1926.     PRPC_MESSAGE _pRpcMessage,
  1927.     DWORD *_pdwStubPhase);
  1928. HRESULT STDMETHODCALLTYPE IMarkupServices2_ValidateElements_Proxy( 
  1929.     IMarkupServices2 * This,
  1930.     /* [in] */ IMarkupPointer *pPointerStart,
  1931.     /* [in] */ IMarkupPointer *pPointerFinish,
  1932.     /* [in] */ IMarkupPointer *pPointerTarget,
  1933.     /* [out][in] */ IMarkupPointer *pPointerStatus,
  1934.     /* [out] */ IHTMLElement **ppElemFailBottom,
  1935.     /* [out] */ IHTMLElement **ppElemFailTop);
  1936. void __RPC_STUB IMarkupServices2_ValidateElements_Stub(
  1937.     IRpcStubBuffer *This,
  1938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1939.     PRPC_MESSAGE _pRpcMessage,
  1940.     DWORD *_pdwStubPhase);
  1941. HRESULT STDMETHODCALLTYPE IMarkupServices2_SaveSegmentsToClipboard_Proxy( 
  1942.     IMarkupServices2 * This,
  1943.     /* [in] */ ISegmentList *pSegmentList,
  1944.     /* [in] */ DWORD dwFlags);
  1945. void __RPC_STUB IMarkupServices2_SaveSegmentsToClipboard_Stub(
  1946.     IRpcStubBuffer *This,
  1947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1948.     PRPC_MESSAGE _pRpcMessage,
  1949.     DWORD *_pdwStubPhase);
  1950. #endif  /* __IMarkupServices2_INTERFACE_DEFINED__ */
  1951. #ifndef __IHTMLChangePlayback_INTERFACE_DEFINED__
  1952. #define __IHTMLChangePlayback_INTERFACE_DEFINED__
  1953. /* interface IHTMLChangePlayback */
  1954. /* [uuid][unique][object] */ 
  1955. EXTERN_C const IID IID_IHTMLChangePlayback;
  1956. #if defined(__cplusplus) && !defined(CINTERFACE)
  1957.     
  1958.     MIDL_INTERFACE("3050f6e0-98b5-11cf-bb82-00aa00bdce0b")
  1959.     IHTMLChangePlayback : public IUnknown
  1960.     {
  1961.     public:
  1962.         virtual HRESULT STDMETHODCALLTYPE ExecChange( 
  1963.             /* [in] */ BYTE *pbRecord,
  1964.             /* [in] */ BOOL fForward) = 0;
  1965.         
  1966.     };
  1967.     
  1968. #else  /* C style interface */
  1969.     typedef struct IHTMLChangePlaybackVtbl
  1970.     {
  1971.         BEGIN_INTERFACE
  1972.         
  1973.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1974.             IHTMLChangePlayback * This,
  1975.             /* [in] */ REFIID riid,
  1976.             /* [iid_is][out] */ void **ppvObject);
  1977.         
  1978.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1979.             IHTMLChangePlayback * This);
  1980.         
  1981.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1982.             IHTMLChangePlayback * This);
  1983.         
  1984.         HRESULT ( STDMETHODCALLTYPE *ExecChange )( 
  1985.             IHTMLChangePlayback * This,
  1986.             /* [in] */ BYTE *pbRecord,
  1987.             /* [in] */ BOOL fForward);
  1988.         
  1989.         END_INTERFACE
  1990.     } IHTMLChangePlaybackVtbl;
  1991.     interface IHTMLChangePlayback
  1992.     {
  1993.         CONST_VTBL struct IHTMLChangePlaybackVtbl *lpVtbl;
  1994.     };
  1995.     
  1996. #ifdef COBJMACROS
  1997. #define IHTMLChangePlayback_QueryInterface(This,riid,ppvObject)
  1998.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1999. #define IHTMLChangePlayback_AddRef(This)
  2000.     (This)->lpVtbl -> AddRef(This)
  2001. #define IHTMLChangePlayback_Release(This)
  2002.     (This)->lpVtbl -> Release(This)
  2003. #define IHTMLChangePlayback_ExecChange(This,pbRecord,fForward)
  2004.     (This)->lpVtbl -> ExecChange(This,pbRecord,fForward)
  2005. #endif /* COBJMACROS */
  2006. #endif  /* C style interface */
  2007. HRESULT STDMETHODCALLTYPE IHTMLChangePlayback_ExecChange_Proxy( 
  2008.     IHTMLChangePlayback * This,
  2009.     /* [in] */ BYTE *pbRecord,
  2010.     /* [in] */ BOOL fForward);
  2011. void __RPC_STUB IHTMLChangePlayback_ExecChange_Stub(
  2012.     IRpcStubBuffer *This,
  2013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2014.     PRPC_MESSAGE _pRpcMessage,
  2015.     DWORD *_pdwStubPhase);
  2016. #endif  /* __IHTMLChangePlayback_INTERFACE_DEFINED__ */
  2017. #ifndef __IMarkupPointer2_INTERFACE_DEFINED__
  2018. #define __IMarkupPointer2_INTERFACE_DEFINED__
  2019. /* interface IMarkupPointer2 */
  2020. /* [uuid][unique][object] */ 
  2021. EXTERN_C const IID IID_IMarkupPointer2;
  2022. #if defined(__cplusplus) && !defined(CINTERFACE)
  2023.     
  2024.     MIDL_INTERFACE("3050f675-98b5-11cf-bb82-00aa00bdce0b")
  2025.     IMarkupPointer2 : public IMarkupPointer
  2026.     {
  2027.     public:
  2028.         virtual HRESULT STDMETHODCALLTYPE IsAtWordBreak( 
  2029.             /* [out] */ BOOL *pfAtBreak) = 0;
  2030.         
  2031.         virtual HRESULT STDMETHODCALLTYPE GetMarkupPosition( 
  2032.             /* [out] */ long *plMP) = 0;
  2033.         
  2034.         virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPosition( 
  2035.             /* [in] */ IMarkupContainer *pContainer,
  2036.             /* [in] */ long lMP) = 0;
  2037.         
  2038.         virtual HRESULT STDMETHODCALLTYPE MoveUnitBounded( 
  2039.             /* [in] */ MOVEUNIT_ACTION muAction,
  2040.             /* [in] */ IMarkupPointer *pIBoundary) = 0;
  2041.         
  2042.         virtual HRESULT STDMETHODCALLTYPE IsInsideURL( 
  2043.             /* [in] */ IMarkupPointer *pRight,
  2044.             /* [out] */ BOOL *pfResult) = 0;
  2045.         
  2046.         virtual HRESULT STDMETHODCALLTYPE MoveToContent( 
  2047.             /* [in] */ IHTMLElement *pIElement,
  2048.             /* [in] */ BOOL fAtStart) = 0;
  2049.         
  2050.     };
  2051.     
  2052. #else  /* C style interface */
  2053.     typedef struct IMarkupPointer2Vtbl
  2054.     {
  2055.         BEGIN_INTERFACE
  2056.         
  2057.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2058.             IMarkupPointer2 * This,
  2059.             /* [in] */ REFIID riid,
  2060.             /* [iid_is][out] */ void **ppvObject);
  2061.         
  2062.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2063.             IMarkupPointer2 * This);
  2064.         
  2065.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2066.             IMarkupPointer2 * This);
  2067.         
  2068.         HRESULT ( STDMETHODCALLTYPE *OwningDoc )( 
  2069.             IMarkupPointer2 * This,
  2070.             /* [out] */ IHTMLDocument2 **ppDoc);
  2071.         
  2072.         HRESULT ( STDMETHODCALLTYPE *Gravity )( 
  2073.             IMarkupPointer2 * This,
  2074.             /* [out] */ POINTER_GRAVITY *pGravity);
  2075.         
  2076.         HRESULT ( STDMETHODCALLTYPE *SetGravity )( 
  2077.             IMarkupPointer2 * This,
  2078.             /* [in] */ POINTER_GRAVITY Gravity);
  2079.         
  2080.         HRESULT ( STDMETHODCALLTYPE *Cling )( 
  2081.             IMarkupPointer2 * This,
  2082.             /* [out] */ BOOL *pfCling);
  2083.         
  2084.         HRESULT ( STDMETHODCALLTYPE *SetCling )( 
  2085.             IMarkupPointer2 * This,
  2086.             /* [in] */ BOOL fCLing);
  2087.         
  2088.         HRESULT ( STDMETHODCALLTYPE *Unposition )( 
  2089.             IMarkupPointer2 * This);
  2090.         
  2091.         HRESULT ( STDMETHODCALLTYPE *IsPositioned )( 
  2092.             IMarkupPointer2 * This,
  2093.             /* [out] */ BOOL *pfPositioned);
  2094.         
  2095.         HRESULT ( STDMETHODCALLTYPE *GetContainer )( 
  2096.             IMarkupPointer2 * This,
  2097.             /* [out] */ IMarkupContainer **ppContainer);
  2098.         
  2099.         HRESULT ( STDMETHODCALLTYPE *MoveAdjacentToElement )( 
  2100.             IMarkupPointer2 * This,
  2101.             /* [in] */ IHTMLElement *pElement,
  2102.             /* [in] */ ELEMENT_ADJACENCY eAdj);
  2103.         
  2104.         HRESULT ( STDMETHODCALLTYPE *MoveToPointer )( 
  2105.             IMarkupPointer2 * This,
  2106.             /* [in] */ IMarkupPointer *pPointer);
  2107.         
  2108.         HRESULT ( STDMETHODCALLTYPE *MoveToContainer )( 
  2109.             IMarkupPointer2 * This,
  2110.             /* [in] */ IMarkupContainer *pContainer,
  2111.             /* [in] */ BOOL fAtStart);
  2112.         
  2113.         HRESULT ( STDMETHODCALLTYPE *Left )( 
  2114.             IMarkupPointer2 * This,
  2115.             /* [in] */ BOOL fMove,
  2116.             /* [out] */ MARKUP_CONTEXT_TYPE *pContext,
  2117.             /* [out] */ IHTMLElement **ppElement,
  2118.             /* [out][in] */ long *pcch,
  2119.             /* [out] */ OLECHAR *pchText);
  2120.         
  2121.         HRESULT ( STDMETHODCALLTYPE *Right )( 
  2122.             IMarkupPointer2 * This,
  2123.             /* [in] */ BOOL fMove,
  2124.             /* [out] */ MARKUP_CONTEXT_TYPE *pContext,
  2125.             /* [out] */ IHTMLElement **ppElement,
  2126.             /* [out][in] */ long *pcch,
  2127.             /* [out] */ OLECHAR *pchText);
  2128.         
  2129.         HRESULT ( STDMETHODCALLTYPE *CurrentScope )( 
  2130.             IMarkupPointer2 * This,
  2131.             /* [out] */ IHTMLElement **ppElemCurrent);
  2132.         
  2133.         HRESULT ( STDMETHODCALLTYPE *IsLeftOf )( 
  2134.             IMarkupPointer2 * This,
  2135.             /* [in] */ IMarkupPointer *pPointerThat,
  2136.             /* [out] */ BOOL *pfResult);
  2137.         
  2138.         HRESULT ( STDMETHODCALLTYPE *IsLeftOfOrEqualTo )( 
  2139.             IMarkupPointer2 * This,
  2140.             /* [in] */ IMarkupPointer *pPointerThat,
  2141.             /* [out] */ BOOL *pfResult);
  2142.         
  2143.         HRESULT ( STDMETHODCALLTYPE *IsRightOf )( 
  2144.             IMarkupPointer2 * This,
  2145.             /* [in] */ IMarkupPointer *pPointerThat,
  2146.             /* [out] */ BOOL *pfResult);
  2147.         
  2148.         HRESULT ( STDMETHODCALLTYPE *IsRightOfOrEqualTo )( 
  2149.             IMarkupPointer2 * This,
  2150.             /* [in] */ IMarkupPointer *pPointerThat,
  2151.             /* [out] */ BOOL *pfResult);
  2152.         
  2153.         HRESULT ( STDMETHODCALLTYPE *IsEqualTo )( 
  2154.             IMarkupPointer2 * This,
  2155.             /* [in] */ IMarkupPointer *pPointerThat,
  2156.             /* [out] */ BOOL *pfAreEqual);
  2157.         
  2158.         HRESULT ( STDMETHODCALLTYPE *MoveUnit )( 
  2159.             IMarkupPointer2 * This,
  2160.             /* [in] */ MOVEUNIT_ACTION muAction);
  2161.         
  2162.         HRESULT ( STDMETHODCALLTYPE *FindText )( 
  2163.             IMarkupPointer2 * This,
  2164.             /* [in] */ OLECHAR *pchFindText,
  2165.             /* [in] */ DWORD dwFlags,
  2166.             /* [in] */ IMarkupPointer *pIEndMatch,
  2167.             /* [in] */ IMarkupPointer *pIEndSearch);
  2168.         
  2169.         HRESULT ( STDMETHODCALLTYPE *IsAtWordBreak )( 
  2170.             IMarkupPointer2 * This,
  2171.             /* [out] */ BOOL *pfAtBreak);
  2172.         
  2173.         HRESULT ( STDMETHODCALLTYPE *GetMarkupPosition )( 
  2174.             IMarkupPointer2 * This,
  2175.             /* [out] */ long *plMP);
  2176.         
  2177.         HRESULT ( STDMETHODCALLTYPE *MoveToMarkupPosition )( 
  2178.             IMarkupPointer2 * This,
  2179.             /* [in] */ IMarkupContainer *pContainer,
  2180.             /* [in] */ long lMP);
  2181.         
  2182.         HRESULT ( STDMETHODCALLTYPE *MoveUnitBounded )( 
  2183.             IMarkupPointer2 * This,
  2184.             /* [in] */ MOVEUNIT_ACTION muAction,
  2185.             /* [in] */ IMarkupPointer *pIBoundary);
  2186.         
  2187.         HRESULT ( STDMETHODCALLTYPE *IsInsideURL )( 
  2188.             IMarkupPointer2 * This,
  2189.             /* [in] */ IMarkupPointer *pRight,
  2190.             /* [out] */ BOOL *pfResult);
  2191.         
  2192.         HRESULT ( STDMETHODCALLTYPE *MoveToContent )( 
  2193.             IMarkupPointer2 * This,
  2194.             /* [in] */ IHTMLElement *pIElement,
  2195.             /* [in] */ BOOL fAtStart);
  2196.         
  2197.         END_INTERFACE
  2198.     } IMarkupPointer2Vtbl;
  2199.     interface IMarkupPointer2
  2200.     {
  2201.         CONST_VTBL struct IMarkupPointer2Vtbl *lpVtbl;
  2202.     };
  2203.     
  2204. #ifdef COBJMACROS
  2205. #define IMarkupPointer2_QueryInterface(This,riid,ppvObject)
  2206.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2207. #define IMarkupPointer2_AddRef(This)
  2208.     (This)->lpVtbl -> AddRef(This)
  2209. #define IMarkupPointer2_Release(This)
  2210.     (This)->lpVtbl -> Release(This)
  2211. #define IMarkupPointer2_OwningDoc(This,ppDoc)
  2212.     (This)->lpVtbl -> OwningDoc(This,ppDoc)
  2213. #define IMarkupPointer2_Gravity(This,pGravity)
  2214.     (This)->lpVtbl -> Gravity(This,pGravity)
  2215. #define IMarkupPointer2_SetGravity(This,Gravity)
  2216.     (This)->lpVtbl -> SetGravity(This,Gravity)
  2217. #define IMarkupPointer2_Cling(This,pfCling)
  2218.     (This)->lpVtbl -> Cling(This,pfCling)
  2219. #define IMarkupPointer2_SetCling(This,fCLing)
  2220.     (This)->lpVtbl -> SetCling(This,fCLing)
  2221. #define IMarkupPointer2_Unposition(This)
  2222.     (This)->lpVtbl -> Unposition(This)
  2223. #define IMarkupPointer2_IsPositioned(This,pfPositioned)
  2224.     (This)->lpVtbl -> IsPositioned(This,pfPositioned)
  2225. #define IMarkupPointer2_GetContainer(This,ppContainer)
  2226.     (This)->lpVtbl -> GetContainer(This,ppContainer)
  2227. #define IMarkupPointer2_MoveAdjacentToElement(This,pElement,eAdj)
  2228.     (This)->lpVtbl -> MoveAdjacentToElement(This,pElement,eAdj)
  2229. #define IMarkupPointer2_MoveToPointer(This,pPointer)
  2230.     (This)->lpVtbl -> MoveToPointer(This,pPointer)
  2231. #define IMarkupPointer2_MoveToContainer(This,pContainer,fAtStart)
  2232.     (This)->lpVtbl -> MoveToContainer(This,pContainer,fAtStart)
  2233. #define IMarkupPointer2_Left(This,fMove,pContext,ppElement,pcch,pchText)
  2234.     (This)->lpVtbl -> Left(This,fMove,pContext,ppElement,pcch,pchText)
  2235. #define IMarkupPointer2_Right(This,fMove,pContext,ppElement,pcch,pchText)
  2236.     (This)->lpVtbl -> Right(This,fMove,pContext,ppElement,pcch,pchText)
  2237. #define IMarkupPointer2_CurrentScope(This,ppElemCurrent)
  2238.     (This)->lpVtbl -> CurrentScope(This,ppElemCurrent)
  2239. #define IMarkupPointer2_IsLeftOf(This,pPointerThat,pfResult)
  2240.     (This)->lpVtbl -> IsLeftOf(This,pPointerThat,pfResult)
  2241. #define IMarkupPointer2_IsLeftOfOrEqualTo(This,pPointerThat,pfResult)
  2242.     (This)->lpVtbl -> IsLeftOfOrEqualTo(This,pPointerThat,pfResult)
  2243. #define IMarkupPointer2_IsRightOf(This,pPointerThat,pfResult)
  2244.     (This)->lpVtbl -> IsRightOf(This,pPointerThat,pfResult)
  2245. #define IMarkupPointer2_IsRightOfOrEqualTo(This,pPointerThat,pfResult)
  2246.     (This)->lpVtbl -> IsRightOfOrEqualTo(This,pPointerThat,pfResult)
  2247. #define IMarkupPointer2_IsEqualTo(This,pPointerThat,pfAreEqual)
  2248.     (This)->lpVtbl -> IsEqualTo(This,pPointerThat,pfAreEqual)
  2249. #define IMarkupPointer2_MoveUnit(This,muAction)
  2250.     (This)->lpVtbl -> MoveUnit(This,muAction)
  2251. #define IMarkupPointer2_FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch)
  2252.     (This)->lpVtbl -> FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch)
  2253. #define IMarkupPointer2_IsAtWordBreak(This,pfAtBreak)
  2254.     (This)->lpVtbl -> IsAtWordBreak(This,pfAtBreak)
  2255. #define IMarkupPointer2_GetMarkupPosition(This,plMP)
  2256.     (This)->lpVtbl -> GetMarkupPosition(This,plMP)
  2257. #define IMarkupPointer2_MoveToMarkupPosition(This,pContainer,lMP)
  2258.     (This)->lpVtbl -> MoveToMarkupPosition(This,pContainer,lMP)
  2259. #define IMarkupPointer2_MoveUnitBounded(This,muAction,pIBoundary)
  2260.     (This)->lpVtbl -> MoveUnitBounded(This,muAction,pIBoundary)
  2261. #define IMarkupPointer2_IsInsideURL(This,pRight,pfResult)
  2262.     (This)->lpVtbl -> IsInsideURL(This,pRight,pfResult)
  2263. #define IMarkupPointer2_MoveToContent(This,pIElement,fAtStart)
  2264.     (This)->lpVtbl -> MoveToContent(This,pIElement,fAtStart)
  2265. #endif /* COBJMACROS */
  2266. #endif  /* C style interface */
  2267. HRESULT STDMETHODCALLTYPE IMarkupPointer2_IsAtWordBreak_Proxy( 
  2268.     IMarkupPointer2 * This,
  2269.     /* [out] */ BOOL *pfAtBreak);
  2270. void __RPC_STUB IMarkupPointer2_IsAtWordBreak_Stub(
  2271.     IRpcStubBuffer *This,
  2272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2273.     PRPC_MESSAGE _pRpcMessage,
  2274.     DWORD *_pdwStubPhase);
  2275. HRESULT STDMETHODCALLTYPE IMarkupPointer2_GetMarkupPosition_Proxy( 
  2276.     IMarkupPointer2 * This,
  2277.     /* [out] */ long *plMP);
  2278. void __RPC_STUB IMarkupPointer2_GetMarkupPosition_Stub(
  2279.     IRpcStubBuffer *This,
  2280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2281.     PRPC_MESSAGE _pRpcMessage,
  2282.     DWORD *_pdwStubPhase);
  2283. HRESULT STDMETHODCALLTYPE IMarkupPointer2_MoveToMarkupPosition_Proxy( 
  2284.     IMarkupPointer2 * This,
  2285.     /* [in] */ IMarkupContainer *pContainer,
  2286.     /* [in] */ long lMP);
  2287. void __RPC_STUB IMarkupPointer2_MoveToMarkupPosition_Stub(
  2288.     IRpcStubBuffer *This,
  2289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2290.     PRPC_MESSAGE _pRpcMessage,
  2291.     DWORD *_pdwStubPhase);
  2292. HRESULT STDMETHODCALLTYPE IMarkupPointer2_MoveUnitBounded_Proxy( 
  2293.     IMarkupPointer2 * This,
  2294.     /* [in] */ MOVEUNIT_ACTION muAction,
  2295.     /* [in] */ IMarkupPointer *pIBoundary);
  2296. void __RPC_STUB IMarkupPointer2_MoveUnitBounded_Stub(
  2297.     IRpcStubBuffer *This,
  2298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2299.     PRPC_MESSAGE _pRpcMessage,
  2300.     DWORD *_pdwStubPhase);
  2301. HRESULT STDMETHODCALLTYPE IMarkupPointer2_IsInsideURL_Proxy( 
  2302.     IMarkupPointer2 * This,
  2303.     /* [in] */ IMarkupPointer *pRight,
  2304.     /* [out] */ BOOL *pfResult);
  2305. void __RPC_STUB IMarkupPointer2_IsInsideURL_Stub(
  2306.     IRpcStubBuffer *This,
  2307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2308.     PRPC_MESSAGE _pRpcMessage,
  2309.     DWORD *_pdwStubPhase);
  2310. HRESULT STDMETHODCALLTYPE IMarkupPointer2_MoveToContent_Proxy( 
  2311.     IMarkupPointer2 * This,
  2312.     /* [in] */ IHTMLElement *pIElement,
  2313.     /* [in] */ BOOL fAtStart);
  2314. void __RPC_STUB IMarkupPointer2_MoveToContent_Stub(
  2315.     IRpcStubBuffer *This,
  2316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2317.     PRPC_MESSAGE _pRpcMessage,
  2318.     DWORD *_pdwStubPhase);
  2319. #endif  /* __IMarkupPointer2_INTERFACE_DEFINED__ */
  2320. #ifndef __IMarkupTextFrags_INTERFACE_DEFINED__
  2321. #define __IMarkupTextFrags_INTERFACE_DEFINED__
  2322. /* interface IMarkupTextFrags */
  2323. /* [uuid][unique][object] */ 
  2324. EXTERN_C const IID IID_IMarkupTextFrags;
  2325. #if defined(__cplusplus) && !defined(CINTERFACE)
  2326.     
  2327.     MIDL_INTERFACE("3050f5fa-98b5-11cf-bb82-00aa00bdce0b")
  2328.     IMarkupTextFrags : public IUnknown
  2329.     {
  2330.     public:
  2331.         virtual HRESULT STDMETHODCALLTYPE GetTextFragCount( 
  2332.             /* [out] */ long *pcFrags) = 0;
  2333.         
  2334.         virtual HRESULT STDMETHODCALLTYPE GetTextFrag( 
  2335.             /* [in] */ long iFrag,
  2336.             /* [out] */ BSTR *pbstrFrag,
  2337.             /* [in] */ IMarkupPointer *pPointerFrag) = 0;
  2338.         
  2339.         virtual HRESULT STDMETHODCALLTYPE RemoveTextFrag( 
  2340.             /* [in] */ long iFrag) = 0;
  2341.         
  2342.         virtual HRESULT STDMETHODCALLTYPE InsertTextFrag( 
  2343.             /* [in] */ long iFrag,
  2344.             /* [in] */ BSTR bstrInsert,
  2345.             /* [in] */ IMarkupPointer *pPointerInsert) = 0;
  2346.         
  2347.         virtual HRESULT STDMETHODCALLTYPE FindTextFragFromMarkupPointer( 
  2348.             /* [in] */ IMarkupPointer *pPointerFind,
  2349.             /* [out] */ long *piFrag,
  2350.             /* [out] */ BOOL *pfFragFound) = 0;
  2351.         
  2352.     };
  2353.     
  2354. #else  /* C style interface */
  2355.     typedef struct IMarkupTextFragsVtbl
  2356.     {
  2357.         BEGIN_INTERFACE
  2358.         
  2359.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2360.             IMarkupTextFrags * This,
  2361.             /* [in] */ REFIID riid,
  2362.             /* [iid_is][out] */ void **ppvObject);
  2363.         
  2364.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2365.             IMarkupTextFrags * This);
  2366.         
  2367.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2368.             IMarkupTextFrags * This);
  2369.         
  2370.         HRESULT ( STDMETHODCALLTYPE *GetTextFragCount )( 
  2371.             IMarkupTextFrags * This,
  2372.             /* [out] */ long *pcFrags);
  2373.         
  2374.         HRESULT ( STDMETHODCALLTYPE *GetTextFrag )( 
  2375.             IMarkupTextFrags * This,
  2376.             /* [in] */ long iFrag,
  2377.             /* [out] */ BSTR *pbstrFrag,
  2378.             /* [in] */ IMarkupPointer *pPointerFrag);
  2379.         
  2380.         HRESULT ( STDMETHODCALLTYPE *RemoveTextFrag )( 
  2381.             IMarkupTextFrags * This,
  2382.             /* [in] */ long iFrag);
  2383.         
  2384.         HRESULT ( STDMETHODCALLTYPE *InsertTextFrag )( 
  2385.             IMarkupTextFrags * This,
  2386.             /* [in] */ long iFrag,
  2387.             /* [in] */ BSTR bstrInsert,
  2388.             /* [in] */ IMarkupPointer *pPointerInsert);
  2389.         
  2390.         HRESULT ( STDMETHODCALLTYPE *FindTextFragFromMarkupPointer )( 
  2391.             IMarkupTextFrags * This,
  2392.             /* [in] */ IMarkupPointer *pPointerFind,
  2393.             /* [out] */ long *piFrag,
  2394.             /* [out] */ BOOL *pfFragFound);
  2395.         
  2396.         END_INTERFACE
  2397.     } IMarkupTextFragsVtbl;
  2398.     interface IMarkupTextFrags
  2399.     {
  2400.         CONST_VTBL struct IMarkupTextFragsVtbl *lpVtbl;
  2401.     };
  2402.     
  2403. #ifdef COBJMACROS
  2404. #define IMarkupTextFrags_QueryInterface(This,riid,ppvObject)
  2405.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2406. #define IMarkupTextFrags_AddRef(This)
  2407.     (This)->lpVtbl -> AddRef(This)
  2408. #define IMarkupTextFrags_Release(This)
  2409.     (This)->lpVtbl -> Release(This)
  2410. #define IMarkupTextFrags_GetTextFragCount(This,pcFrags)
  2411.     (This)->lpVtbl -> GetTextFragCount(This,pcFrags)
  2412. #define IMarkupTextFrags_GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag)
  2413.     (This)->lpVtbl -> GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag)
  2414. #define IMarkupTextFrags_RemoveTextFrag(This,iFrag)
  2415.     (This)->lpVtbl -> RemoveTextFrag(This,iFrag)
  2416. #define IMarkupTextFrags_InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert)
  2417.     (This)->lpVtbl -> InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert)
  2418. #define IMarkupTextFrags_FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound)
  2419.     (This)->lpVtbl -> FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound)
  2420. #endif /* COBJMACROS */
  2421. #endif  /* C style interface */
  2422. HRESULT STDMETHODCALLTYPE IMarkupTextFrags_GetTextFragCount_Proxy( 
  2423.     IMarkupTextFrags * This,
  2424.     /* [out] */ long *pcFrags);
  2425. void __RPC_STUB IMarkupTextFrags_GetTextFragCount_Stub(
  2426.     IRpcStubBuffer *This,
  2427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2428.     PRPC_MESSAGE _pRpcMessage,
  2429.     DWORD *_pdwStubPhase);
  2430. HRESULT STDMETHODCALLTYPE IMarkupTextFrags_GetTextFrag_Proxy( 
  2431.     IMarkupTextFrags * This,
  2432.     /* [in] */ long iFrag,
  2433.     /* [out] */ BSTR *pbstrFrag,
  2434.     /* [in] */ IMarkupPointer *pPointerFrag);
  2435. void __RPC_STUB IMarkupTextFrags_GetTextFrag_Stub(
  2436.     IRpcStubBuffer *This,
  2437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2438.     PRPC_MESSAGE _pRpcMessage,
  2439.     DWORD *_pdwStubPhase);
  2440. HRESULT STDMETHODCALLTYPE IMarkupTextFrags_RemoveTextFrag_Proxy( 
  2441.     IMarkupTextFrags * This,
  2442.     /* [in] */ long iFrag);
  2443. void __RPC_STUB IMarkupTextFrags_RemoveTextFrag_Stub(
  2444.     IRpcStubBuffer *This,
  2445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2446.     PRPC_MESSAGE _pRpcMessage,
  2447.     DWORD *_pdwStubPhase);
  2448. HRESULT STDMETHODCALLTYPE IMarkupTextFrags_InsertTextFrag_Proxy( 
  2449.     IMarkupTextFrags * This,
  2450.     /* [in] */ long iFrag,
  2451.     /* [in] */ BSTR bstrInsert,
  2452.     /* [in] */ IMarkupPointer *pPointerInsert);
  2453. void __RPC_STUB IMarkupTextFrags_InsertTextFrag_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458. HRESULT STDMETHODCALLTYPE IMarkupTextFrags_FindTextFragFromMarkupPointer_Proxy( 
  2459.     IMarkupTextFrags * This,
  2460.     /* [in] */ IMarkupPointer *pPointerFind,
  2461.     /* [out] */ long *piFrag,
  2462.     /* [out] */ BOOL *pfFragFound);
  2463. void __RPC_STUB IMarkupTextFrags_FindTextFragFromMarkupPointer_Stub(
  2464.     IRpcStubBuffer *This,
  2465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2466.     PRPC_MESSAGE _pRpcMessage,
  2467.     DWORD *_pdwStubPhase);
  2468. #endif  /* __IMarkupTextFrags_INTERFACE_DEFINED__ */
  2469. #ifndef __IXMLGenericParse_INTERFACE_DEFINED__
  2470. #define __IXMLGenericParse_INTERFACE_DEFINED__
  2471. /* interface IXMLGenericParse */
  2472. /* [uuid][unique][object] */ 
  2473. EXTERN_C const IID IID_IXMLGenericParse;
  2474. #if defined(__cplusplus) && !defined(CINTERFACE)
  2475.     
  2476.     MIDL_INTERFACE("E4E23071-4D07-11d2-AE76-0080C73BC199")
  2477.     IXMLGenericParse : public IUnknown
  2478.     {
  2479.     public:
  2480.         virtual HRESULT STDMETHODCALLTYPE SetGenericParse( 
  2481.             /* [in] */ VARIANT_BOOL fDoGeneric) = 0;
  2482.         
  2483.     };
  2484.     
  2485. #else  /* C style interface */
  2486.     typedef struct IXMLGenericParseVtbl
  2487.     {
  2488.         BEGIN_INTERFACE
  2489.         
  2490.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2491.             IXMLGenericParse * This,
  2492.             /* [in] */ REFIID riid,
  2493.             /* [iid_is][out] */ void **ppvObject);
  2494.         
  2495.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2496.             IXMLGenericParse * This);
  2497.         
  2498.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2499.             IXMLGenericParse * This);
  2500.         
  2501.         HRESULT ( STDMETHODCALLTYPE *SetGenericParse )( 
  2502.             IXMLGenericParse * This,
  2503.             /* [in] */ VARIANT_BOOL fDoGeneric);
  2504.         
  2505.         END_INTERFACE
  2506.     } IXMLGenericParseVtbl;
  2507.     interface IXMLGenericParse
  2508.     {
  2509.         CONST_VTBL struct IXMLGenericParseVtbl *lpVtbl;
  2510.     };
  2511.     
  2512. #ifdef COBJMACROS
  2513. #define IXMLGenericParse_QueryInterface(This,riid,ppvObject)
  2514.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2515. #define IXMLGenericParse_AddRef(This)
  2516.     (This)->lpVtbl -> AddRef(This)
  2517. #define IXMLGenericParse_Release(This)
  2518.     (This)->lpVtbl -> Release(This)
  2519. #define IXMLGenericParse_SetGenericParse(This,fDoGeneric)
  2520.     (This)->lpVtbl -> SetGenericParse(This,fDoGeneric)
  2521. #endif /* COBJMACROS */
  2522. #endif  /* C style interface */
  2523. HRESULT STDMETHODCALLTYPE IXMLGenericParse_SetGenericParse_Proxy( 
  2524.     IXMLGenericParse * This,
  2525.     /* [in] */ VARIANT_BOOL fDoGeneric);
  2526. void __RPC_STUB IXMLGenericParse_SetGenericParse_Stub(
  2527.     IRpcStubBuffer *This,
  2528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2529.     PRPC_MESSAGE _pRpcMessage,
  2530.     DWORD *_pdwStubPhase);
  2531. #endif  /* __IXMLGenericParse_INTERFACE_DEFINED__ */
  2532. #ifndef __IHTMLEditHost_INTERFACE_DEFINED__
  2533. #define __IHTMLEditHost_INTERFACE_DEFINED__
  2534. /* interface IHTMLEditHost */
  2535. /* [uuid][unique][object] */ 
  2536. EXTERN_C const IID IID_IHTMLEditHost;
  2537. #if defined(__cplusplus) && !defined(CINTERFACE)
  2538.     
  2539.     MIDL_INTERFACE("3050f6a0-98b5-11cf-bb82-00aa00bdce0b")
  2540.     IHTMLEditHost : public IUnknown
  2541.     {
  2542.     public:
  2543.         virtual HRESULT STDMETHODCALLTYPE SnapRect( 
  2544.             /* [in] */ IHTMLElement *pIElement,
  2545.             /* [out][in] */ RECT *prcNew,
  2546.             /* [in] */ ELEMENT_CORNER eHandle) = 0;
  2547.         
  2548.     };
  2549.     
  2550. #else  /* C style interface */
  2551.     typedef struct IHTMLEditHostVtbl
  2552.     {
  2553.         BEGIN_INTERFACE
  2554.         
  2555.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2556.             IHTMLEditHost * This,
  2557.             /* [in] */ REFIID riid,
  2558.             /* [iid_is][out] */ void **ppvObject);
  2559.         
  2560.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2561.             IHTMLEditHost * This);
  2562.         
  2563.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2564.             IHTMLEditHost * This);
  2565.         
  2566.         HRESULT ( STDMETHODCALLTYPE *SnapRect )( 
  2567.             IHTMLEditHost * This,
  2568.             /* [in] */ IHTMLElement *pIElement,
  2569.             /* [out][in] */ RECT *prcNew,
  2570.             /* [in] */ ELEMENT_CORNER eHandle);
  2571.         
  2572.         END_INTERFACE
  2573.     } IHTMLEditHostVtbl;
  2574.     interface IHTMLEditHost
  2575.     {
  2576.         CONST_VTBL struct IHTMLEditHostVtbl *lpVtbl;
  2577.     };
  2578.     
  2579. #ifdef COBJMACROS
  2580. #define IHTMLEditHost_QueryInterface(This,riid,ppvObject)
  2581.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2582. #define IHTMLEditHost_AddRef(This)
  2583.     (This)->lpVtbl -> AddRef(This)
  2584. #define IHTMLEditHost_Release(This)
  2585.     (This)->lpVtbl -> Release(This)
  2586. #define IHTMLEditHost_SnapRect(This,pIElement,prcNew,eHandle)
  2587.     (This)->lpVtbl -> SnapRect(This,pIElement,prcNew,eHandle)
  2588. #endif /* COBJMACROS */
  2589. #endif  /* C style interface */
  2590. HRESULT STDMETHODCALLTYPE IHTMLEditHost_SnapRect_Proxy( 
  2591.     IHTMLEditHost * This,
  2592.     /* [in] */ IHTMLElement *pIElement,
  2593.     /* [out][in] */ RECT *prcNew,
  2594.     /* [in] */ ELEMENT_CORNER eHandle);
  2595. void __RPC_STUB IHTMLEditHost_SnapRect_Stub(
  2596.     IRpcStubBuffer *This,
  2597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2598.     PRPC_MESSAGE _pRpcMessage,
  2599.     DWORD *_pdwStubPhase);
  2600. #endif  /* __IHTMLEditHost_INTERFACE_DEFINED__ */
  2601. #ifndef __IHTMLEditHost2_INTERFACE_DEFINED__
  2602. #define __IHTMLEditHost2_INTERFACE_DEFINED__
  2603. /* interface IHTMLEditHost2 */
  2604. /* [uuid][unique][object] */ 
  2605. EXTERN_C const IID IID_IHTMLEditHost2;
  2606. #if defined(__cplusplus) && !defined(CINTERFACE)
  2607.     
  2608.     MIDL_INTERFACE("3050f848-98b5-11cf-bb82-00aa00bdce0d")
  2609.     IHTMLEditHost2 : public IHTMLEditHost
  2610.     {
  2611.     public:
  2612.         virtual HRESULT STDMETHODCALLTYPE PreDrag( void) = 0;
  2613.         
  2614.     };
  2615.     
  2616. #else  /* C style interface */
  2617.     typedef struct IHTMLEditHost2Vtbl
  2618.     {
  2619.         BEGIN_INTERFACE
  2620.         
  2621.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2622.             IHTMLEditHost2 * This,
  2623.             /* [in] */ REFIID riid,
  2624.             /* [iid_is][out] */ void **ppvObject);
  2625.         
  2626.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2627.             IHTMLEditHost2 * This);
  2628.         
  2629.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2630.             IHTMLEditHost2 * This);
  2631.         
  2632.         HRESULT ( STDMETHODCALLTYPE *SnapRect )( 
  2633.             IHTMLEditHost2 * This,
  2634.             /* [in] */ IHTMLElement *pIElement,
  2635.             /* [out][in] */ RECT *prcNew,
  2636.             /* [in] */ ELEMENT_CORNER eHandle);
  2637.         
  2638.         HRESULT ( STDMETHODCALLTYPE *PreDrag )( 
  2639.             IHTMLEditHost2 * This);
  2640.         
  2641.         END_INTERFACE
  2642.     } IHTMLEditHost2Vtbl;
  2643.     interface IHTMLEditHost2
  2644.     {
  2645.         CONST_VTBL struct IHTMLEditHost2Vtbl *lpVtbl;
  2646.     };
  2647.     
  2648. #ifdef COBJMACROS
  2649. #define IHTMLEditHost2_QueryInterface(This,riid,ppvObject)
  2650.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2651. #define IHTMLEditHost2_AddRef(This)
  2652.     (This)->lpVtbl -> AddRef(This)
  2653. #define IHTMLEditHost2_Release(This)
  2654.     (This)->lpVtbl -> Release(This)
  2655. #define IHTMLEditHost2_SnapRect(This,pIElement,prcNew,eHandle)
  2656.     (This)->lpVtbl -> SnapRect(This,pIElement,prcNew,eHandle)
  2657. #define IHTMLEditHost2_PreDrag(This)
  2658.     (This)->lpVtbl -> PreDrag(This)
  2659. #endif /* COBJMACROS */
  2660. #endif  /* C style interface */
  2661. HRESULT STDMETHODCALLTYPE IHTMLEditHost2_PreDrag_Proxy( 
  2662.     IHTMLEditHost2 * This);
  2663. void __RPC_STUB IHTMLEditHost2_PreDrag_Stub(
  2664.     IRpcStubBuffer *This,
  2665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2666.     PRPC_MESSAGE _pRpcMessage,
  2667.     DWORD *_pdwStubPhase);
  2668. #endif  /* __IHTMLEditHost2_INTERFACE_DEFINED__ */
  2669. #ifndef __ISequenceNumber_INTERFACE_DEFINED__
  2670. #define __ISequenceNumber_INTERFACE_DEFINED__
  2671. /* interface ISequenceNumber */
  2672. /* [uuid][unique][object] */ 
  2673. EXTERN_C const IID IID_ISequenceNumber;
  2674. #if defined(__cplusplus) && !defined(CINTERFACE)
  2675.     
  2676.     MIDL_INTERFACE("3050f6c1-98b5-11cf-bb82-00aa00bdce0b")
  2677.     ISequenceNumber : public IUnknown
  2678.     {
  2679.     public:
  2680.         virtual HRESULT STDMETHODCALLTYPE GetSequenceNumber( 
  2681.             /* [in] */ long nCurrent,
  2682.             /* [out] */ long *pnNew) = 0;
  2683.         
  2684.     };
  2685.     
  2686. #else  /* C style interface */
  2687.     typedef struct ISequenceNumberVtbl
  2688.     {
  2689.         BEGIN_INTERFACE
  2690.         
  2691.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2692.             ISequenceNumber * This,
  2693.             /* [in] */ REFIID riid,
  2694.             /* [iid_is][out] */ void **ppvObject);
  2695.         
  2696.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2697.             ISequenceNumber * This);
  2698.         
  2699.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2700.             ISequenceNumber * This);
  2701.         
  2702.         HRESULT ( STDMETHODCALLTYPE *GetSequenceNumber )( 
  2703.             ISequenceNumber * This,
  2704.             /* [in] */ long nCurrent,
  2705.             /* [out] */ long *pnNew);
  2706.         
  2707.         END_INTERFACE
  2708.     } ISequenceNumberVtbl;
  2709.     interface ISequenceNumber
  2710.     {
  2711.         CONST_VTBL struct ISequenceNumberVtbl *lpVtbl;
  2712.     };
  2713.     
  2714. #ifdef COBJMACROS
  2715. #define ISequenceNumber_QueryInterface(This,riid,ppvObject)
  2716.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2717. #define ISequenceNumber_AddRef(This)
  2718.     (This)->lpVtbl -> AddRef(This)
  2719. #define ISequenceNumber_Release(This)
  2720.     (This)->lpVtbl -> Release(This)
  2721. #define ISequenceNumber_GetSequenceNumber(This,nCurrent,pnNew)
  2722.     (This)->lpVtbl -> GetSequenceNumber(This,nCurrent,pnNew)
  2723. #endif /* COBJMACROS */
  2724. #endif  /* C style interface */
  2725. HRESULT STDMETHODCALLTYPE ISequenceNumber_GetSequenceNumber_Proxy( 
  2726.     ISequenceNumber * This,
  2727.     /* [in] */ long nCurrent,
  2728.     /* [out] */ long *pnNew);
  2729. void __RPC_STUB ISequenceNumber_GetSequenceNumber_Stub(
  2730.     IRpcStubBuffer *This,
  2731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2732.     PRPC_MESSAGE _pRpcMessage,
  2733.     DWORD *_pdwStubPhase);
  2734. #endif  /* __ISequenceNumber_INTERFACE_DEFINED__ */
  2735. #ifndef __IIMEServices_INTERFACE_DEFINED__
  2736. #define __IIMEServices_INTERFACE_DEFINED__
  2737. /* interface IIMEServices */
  2738. /* [uuid][unique][object] */ 
  2739. EXTERN_C const IID IID_IIMEServices;
  2740. #if defined(__cplusplus) && !defined(CINTERFACE)
  2741.     
  2742.     MIDL_INTERFACE("3050f6ca-98b5-11cf-bb82-00aa00bdce0b")
  2743.     IIMEServices : public IUnknown
  2744.     {
  2745.     public:
  2746.         virtual HRESULT STDMETHODCALLTYPE GetActiveIMM( 
  2747.             /* [out] */ IActiveIMMApp **ppActiveIMM) = 0;
  2748.         
  2749.     };
  2750.     
  2751. #else  /* C style interface */
  2752.     typedef struct IIMEServicesVtbl
  2753.     {
  2754.         BEGIN_INTERFACE
  2755.         
  2756.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2757.             IIMEServices * This,
  2758.             /* [in] */ REFIID riid,
  2759.             /* [iid_is][out] */ void **ppvObject);
  2760.         
  2761.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2762.             IIMEServices * This);
  2763.         
  2764.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2765.             IIMEServices * This);
  2766.         
  2767.         HRESULT ( STDMETHODCALLTYPE *GetActiveIMM )( 
  2768.             IIMEServices * This,
  2769.             /* [out] */ IActiveIMMApp **ppActiveIMM);
  2770.         
  2771.         END_INTERFACE
  2772.     } IIMEServicesVtbl;
  2773.     interface IIMEServices
  2774.     {
  2775.         CONST_VTBL struct IIMEServicesVtbl *lpVtbl;
  2776.     };
  2777.     
  2778. #ifdef COBJMACROS
  2779. #define IIMEServices_QueryInterface(This,riid,ppvObject)
  2780.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2781. #define IIMEServices_AddRef(This)
  2782.     (This)->lpVtbl -> AddRef(This)
  2783. #define IIMEServices_Release(This)
  2784.     (This)->lpVtbl -> Release(This)
  2785. #define IIMEServices_GetActiveIMM(This,ppActiveIMM)
  2786.     (This)->lpVtbl -> GetActiveIMM(This,ppActiveIMM)
  2787. #endif /* COBJMACROS */
  2788. #endif  /* C style interface */
  2789. HRESULT STDMETHODCALLTYPE IIMEServices_GetActiveIMM_Proxy( 
  2790.     IIMEServices * This,
  2791.     /* [out] */ IActiveIMMApp **ppActiveIMM);
  2792. void __RPC_STUB IIMEServices_GetActiveIMM_Stub(
  2793.     IRpcStubBuffer *This,
  2794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2795.     PRPC_MESSAGE _pRpcMessage,
  2796.     DWORD *_pdwStubPhase);
  2797. #endif  /* __IIMEServices_INTERFACE_DEFINED__ */
  2798. #ifndef __ISelectionServicesListener_INTERFACE_DEFINED__
  2799. #define __ISelectionServicesListener_INTERFACE_DEFINED__
  2800. /* interface ISelectionServicesListener */
  2801. /* [uuid][unique][object] */ 
  2802. EXTERN_C const IID IID_ISelectionServicesListener;
  2803. #if defined(__cplusplus) && !defined(CINTERFACE)
  2804.     
  2805.     MIDL_INTERFACE("3050f699-98b5-11cf-bb82-00aa00bdce0b")
  2806.     ISelectionServicesListener : public IUnknown
  2807.     {
  2808.     public:
  2809.         virtual HRESULT STDMETHODCALLTYPE BeginSelectionUndo( void) = 0;
  2810.         
  2811.         virtual HRESULT STDMETHODCALLTYPE EndSelectionUndo( void) = 0;
  2812.         
  2813.         virtual HRESULT STDMETHODCALLTYPE OnSelectedElementExit( 
  2814.             /* [in] */ IMarkupPointer *pIElementStart,
  2815.             /* [in] */ IMarkupPointer *pIElementEnd,
  2816.             /* [in] */ IMarkupPointer *pIElementContentStart,
  2817.             /* [in] */ IMarkupPointer *pIElementContentEnd) = 0;
  2818.         
  2819.         virtual HRESULT STDMETHODCALLTYPE OnChangeType( 
  2820.             /* [in] */ SELECTION_TYPE eType,
  2821.             /* [in] */ ISelectionServicesListener *pIListener) = 0;
  2822.         
  2823.         virtual HRESULT STDMETHODCALLTYPE GetTypeDetail( 
  2824.             /* [out] */ BSTR *pTypeDetail) = 0;
  2825.         
  2826.     };
  2827.     
  2828. #else  /* C style interface */
  2829.     typedef struct ISelectionServicesListenerVtbl
  2830.     {
  2831.         BEGIN_INTERFACE
  2832.         
  2833.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2834.             ISelectionServicesListener * This,
  2835.             /* [in] */ REFIID riid,
  2836.             /* [iid_is][out] */ void **ppvObject);
  2837.         
  2838.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2839.             ISelectionServicesListener * This);
  2840.         
  2841.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2842.             ISelectionServicesListener * This);
  2843.         
  2844.         HRESULT ( STDMETHODCALLTYPE *BeginSelectionUndo )( 
  2845.             ISelectionServicesListener * This);
  2846.         
  2847.         HRESULT ( STDMETHODCALLTYPE *EndSelectionUndo )( 
  2848.             ISelectionServicesListener * This);
  2849.         
  2850.         HRESULT ( STDMETHODCALLTYPE *OnSelectedElementExit )( 
  2851.             ISelectionServicesListener * This,
  2852.             /* [in] */ IMarkupPointer *pIElementStart,
  2853.             /* [in] */ IMarkupPointer *pIElementEnd,
  2854.             /* [in] */ IMarkupPointer *pIElementContentStart,
  2855.             /* [in] */ IMarkupPointer *pIElementContentEnd);
  2856.         
  2857.         HRESULT ( STDMETHODCALLTYPE *OnChangeType )( 
  2858.             ISelectionServicesListener * This,
  2859.             /* [in] */ SELECTION_TYPE eType,
  2860.             /* [in] */ ISelectionServicesListener *pIListener);
  2861.         
  2862.         HRESULT ( STDMETHODCALLTYPE *GetTypeDetail )( 
  2863.             ISelectionServicesListener * This,
  2864.             /* [out] */ BSTR *pTypeDetail);
  2865.         
  2866.         END_INTERFACE
  2867.     } ISelectionServicesListenerVtbl;
  2868.     interface ISelectionServicesListener
  2869.     {
  2870.         CONST_VTBL struct ISelectionServicesListenerVtbl *lpVtbl;
  2871.     };
  2872.     
  2873. #ifdef COBJMACROS
  2874. #define ISelectionServicesListener_QueryInterface(This,riid,ppvObject)
  2875.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2876. #define ISelectionServicesListener_AddRef(This)
  2877.     (This)->lpVtbl -> AddRef(This)
  2878. #define ISelectionServicesListener_Release(This)
  2879.     (This)->lpVtbl -> Release(This)
  2880. #define ISelectionServicesListener_BeginSelectionUndo(This)
  2881.     (This)->lpVtbl -> BeginSelectionUndo(This)
  2882. #define ISelectionServicesListener_EndSelectionUndo(This)
  2883.     (This)->lpVtbl -> EndSelectionUndo(This)
  2884. #define ISelectionServicesListener_OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd)
  2885.     (This)->lpVtbl -> OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd)
  2886. #define ISelectionServicesListener_OnChangeType(This,eType,pIListener)
  2887.     (This)->lpVtbl -> OnChangeType(This,eType,pIListener)
  2888. #define ISelectionServicesListener_GetTypeDetail(This,pTypeDetail)
  2889.     (This)->lpVtbl -> GetTypeDetail(This,pTypeDetail)
  2890. #endif /* COBJMACROS */
  2891. #endif  /* C style interface */
  2892. HRESULT STDMETHODCALLTYPE ISelectionServicesListener_BeginSelectionUndo_Proxy( 
  2893.     ISelectionServicesListener * This);
  2894. void __RPC_STUB ISelectionServicesListener_BeginSelectionUndo_Stub(
  2895.     IRpcStubBuffer *This,
  2896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2897.     PRPC_MESSAGE _pRpcMessage,
  2898.     DWORD *_pdwStubPhase);
  2899. HRESULT STDMETHODCALLTYPE ISelectionServicesListener_EndSelectionUndo_Proxy( 
  2900.     ISelectionServicesListener * This);
  2901. void __RPC_STUB ISelectionServicesListener_EndSelectionUndo_Stub(
  2902.     IRpcStubBuffer *This,
  2903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2904.     PRPC_MESSAGE _pRpcMessage,
  2905.     DWORD *_pdwStubPhase);
  2906. HRESULT STDMETHODCALLTYPE ISelectionServicesListener_OnSelectedElementExit_Proxy( 
  2907.     ISelectionServicesListener * This,
  2908.     /* [in] */ IMarkupPointer *pIElementStart,
  2909.     /* [in] */ IMarkupPointer *pIElementEnd,
  2910.     /* [in] */ IMarkupPointer *pIElementContentStart,
  2911.     /* [in] */ IMarkupPointer *pIElementContentEnd);
  2912. void __RPC_STUB ISelectionServicesListener_OnSelectedElementExit_Stub(
  2913.     IRpcStubBuffer *This,
  2914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2915.     PRPC_MESSAGE _pRpcMessage,
  2916.     DWORD *_pdwStubPhase);
  2917. HRESULT STDMETHODCALLTYPE ISelectionServicesListener_OnChangeType_Proxy( 
  2918.     ISelectionServicesListener * This,
  2919.     /* [in] */ SELECTION_TYPE eType,
  2920.     /* [in] */ ISelectionServicesListener *pIListener);
  2921. void __RPC_STUB ISelectionServicesListener_OnChangeType_Stub(
  2922.     IRpcStubBuffer *This,
  2923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2924.     PRPC_MESSAGE _pRpcMessage,
  2925.     DWORD *_pdwStubPhase);
  2926. HRESULT STDMETHODCALLTYPE ISelectionServicesListener_GetTypeDetail_Proxy( 
  2927.     ISelectionServicesListener * This,
  2928.     /* [out] */ BSTR *pTypeDetail);
  2929. void __RPC_STUB ISelectionServicesListener_GetTypeDetail_Stub(
  2930.     IRpcStubBuffer *This,
  2931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2932.     PRPC_MESSAGE _pRpcMessage,
  2933.     DWORD *_pdwStubPhase);
  2934. #endif  /* __ISelectionServicesListener_INTERFACE_DEFINED__ */
  2935. #ifndef __ISelectionServices_INTERFACE_DEFINED__
  2936. #define __ISelectionServices_INTERFACE_DEFINED__
  2937. /* interface ISelectionServices */
  2938. /* [uuid][unique][object] */ 
  2939. EXTERN_C const IID IID_ISelectionServices;
  2940. #if defined(__cplusplus) && !defined(CINTERFACE)
  2941.     
  2942.     MIDL_INTERFACE("3050f684-98b5-11cf-bb82-00aa00bdce0b")
  2943.     ISelectionServices : public IUnknown
  2944.     {