Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/msinkaut.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __msinkaut_h__
     16 #define __msinkaut_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IInkExtendedProperty_FWD_DEFINED__
     21 #define __IInkExtendedProperty_FWD_DEFINED__
     22 typedef interface IInkExtendedProperty IInkExtendedProperty;
     23 #endif
     24 
     25 #ifndef __IInkExtendedProperties_FWD_DEFINED__
     26 #define __IInkExtendedProperties_FWD_DEFINED__
     27 typedef interface IInkExtendedProperties IInkExtendedProperties;
     28 #endif
     29 
     30 #ifndef __IInkDrawingAttributes_FWD_DEFINED__
     31 #define __IInkDrawingAttributes_FWD_DEFINED__
     32 typedef interface IInkDrawingAttributes IInkDrawingAttributes;
     33 #endif
     34 
     35 #ifndef __IInkRectangle_FWD_DEFINED__
     36 #define __IInkRectangle_FWD_DEFINED__
     37 typedef interface IInkRectangle IInkRectangle;
     38 #endif
     39 
     40 #ifndef __IInkTablet_FWD_DEFINED__
     41 #define __IInkTablet_FWD_DEFINED__
     42 typedef interface IInkTablet IInkTablet;
     43 #endif
     44 
     45 #ifndef __IInkCursorButton_FWD_DEFINED__
     46 #define __IInkCursorButton_FWD_DEFINED__
     47 typedef interface IInkCursorButton IInkCursorButton;
     48 #endif
     49 
     50 #ifndef __IInkCursorButtons_FWD_DEFINED__
     51 #define __IInkCursorButtons_FWD_DEFINED__
     52 typedef interface IInkCursorButtons IInkCursorButtons;
     53 #endif
     54 
     55 #ifndef __IInkCursor_FWD_DEFINED__
     56 #define __IInkCursor_FWD_DEFINED__
     57 typedef interface IInkCursor IInkCursor;
     58 #endif
     59 
     60 #ifndef __IInkTransform_FWD_DEFINED__
     61 #define __IInkTransform_FWD_DEFINED__
     62 typedef interface IInkTransform IInkTransform;
     63 #endif
     64 
     65 #ifndef __IInkRecognitionAlternates_FWD_DEFINED__
     66 #define __IInkRecognitionAlternates_FWD_DEFINED__
     67 typedef interface IInkRecognitionAlternates IInkRecognitionAlternates;
     68 #endif
     69 
     70 #ifndef __IInkRecognitionAlternate_FWD_DEFINED__
     71 #define __IInkRecognitionAlternate_FWD_DEFINED__
     72 typedef interface IInkRecognitionAlternate IInkRecognitionAlternate;
     73 #endif
     74 
     75 #ifndef __IInkRecognitionResult_FWD_DEFINED__
     76 #define __IInkRecognitionResult_FWD_DEFINED__
     77 typedef interface IInkRecognitionResult IInkRecognitionResult;
     78 #endif
     79 
     80 #ifndef __IInkStrokeDisp_FWD_DEFINED__
     81 #define __IInkStrokeDisp_FWD_DEFINED__
     82 typedef interface IInkStrokeDisp IInkStrokeDisp;
     83 #endif
     84 
     85 #ifndef __IInkCustomStrokes_FWD_DEFINED__
     86 #define __IInkCustomStrokes_FWD_DEFINED__
     87 typedef interface IInkCustomStrokes IInkCustomStrokes;
     88 #endif
     89 
     90 #ifndef __IInkDisp_FWD_DEFINED__
     91 #define __IInkDisp_FWD_DEFINED__
     92 typedef interface IInkDisp IInkDisp;
     93 #endif
     94 
     95 #ifndef __IInkStrokes_FWD_DEFINED__
     96 #define __IInkStrokes_FWD_DEFINED__
     97 typedef interface IInkStrokes IInkStrokes;
     98 #endif
     99 
    100 #ifndef __IInkRenderer_FWD_DEFINED__
    101 #define __IInkRenderer_FWD_DEFINED__
    102 typedef interface IInkRenderer IInkRenderer;
    103 #endif
    104 
    105 #ifndef __IInkCursors_FWD_DEFINED__
    106 #define __IInkCursors_FWD_DEFINED__
    107 typedef interface IInkCursors IInkCursors;
    108 #endif
    109 
    110 #ifndef __IInkCollector_FWD_DEFINED__
    111 #define __IInkCollector_FWD_DEFINED__
    112 typedef interface IInkCollector IInkCollector;
    113 #endif
    114 
    115 #ifndef ___IInkCollectorEvents_FWD_DEFINED__
    116 #define ___IInkCollectorEvents_FWD_DEFINED__
    117 typedef interface _IInkCollectorEvents _IInkCollectorEvents;
    118 #endif
    119 
    120 #ifndef __InkCollector_FWD_DEFINED__
    121 #define __InkCollector_FWD_DEFINED__
    122 #ifdef __cplusplus
    123 typedef class InkCollector InkCollector;
    124 #else
    125 typedef struct InkCollector InkCollector;
    126 #endif /* defined __cplusplus */
    127 #endif /* defined __InkCollector_FWD_DEFINED__ */
    128 
    129 /* Headers for imported files */
    130 
    131 #include <oaidl.h>
    132 #include <ocidl.h>
    133 #include <tpcshrd.h>
    134 
    135 #ifdef __cplusplus
    136 extern "C" {
    137 #endif
    138 
    139 typedef enum InkRasterOperation {
    140     IRO_Black = 1,
    141     IRO_NotMergePen = 2,
    142     IRO_MaskNotPen = 3,
    143     IRO_NotCopyPen = 4,
    144     IRO_MaskPenNot = 5,
    145     IRO_Not = 6,
    146     IRO_XOrPen = 7,
    147     IRO_NotMaskPen = 8,
    148     IRO_MaskPen = 9,
    149     IRO_NotXOrPen = 10,
    150     IRO_NoOperation = 11,
    151     IRO_MergeNotPen = 12,
    152     IRO_CopyPen = 13,
    153     IRO_MergePenNot = 14,
    154     IRO_MergePen = 15,
    155     IRO_White = 16
    156 } InkRasterOperation;
    157 typedef enum InkPenTip {
    158     IPT_Ball = 0,
    159     IPT_Rectangle = 1
    160 } InkPenTip;
    161 typedef enum TabletHardwareCapabilities {
    162     THWC_Integrated = 0x1,
    163     THWC_CursorMustTouch = 0x2,
    164     THWC_HardProximity = 0x4,
    165     THWC_CursorsHavePhysicalIds = 0x8
    166 } TabletHardwareCapabilities;
    167 typedef enum TabletPropertyMetricUnit {
    168     TPMU_Default = 0,
    169     TPMU_Inches = 1,
    170     TPMU_Centimeters = 2,
    171     TPMU_Degrees = 3,
    172     TPMU_Radians = 4,
    173     TPMU_Seconds = 5,
    174     TPMU_Pounds = 6,
    175     TPMU_Grams = 7
    176 } TabletPropertyMetricUnit;
    177 typedef enum InkCursorButtonState {
    178     ICBS_Unavailable = 0,
    179     ICBS_Up = 1,
    180     ICBS_Down = 2
    181 } InkCursorButtonState;
    182 typedef enum InkRecognitionConfidence {
    183     IRC_Strong = 0,
    184     IRC_Intermediate = 1,
    185     IRC_Poor = 2
    186 } InkRecognitionConfidence;
    187 typedef enum InkBoundingBoxMode {
    188     IBBM_Default = 0,
    189     IBBM_NoCurveFit = 1,
    190     IBBM_CurveFit = 2,
    191     IBBM_PointsOnly = 3,
    192     IBBM_Union = 4
    193 } InkBoundingBoxMode;
    194 typedef enum InkExtractFlags {
    195     IEF_CopyFromOriginal = 0,
    196     IEF_RemoveFromOriginal = 1,
    197     IEF_Default = IEF_RemoveFromOriginal
    198 } InkExtractFlags;
    199 typedef enum InkPersistenceFormat {
    200     IPF_InkSerializedFormat = 0,
    201     IPF_Base64InkSerializedFormat = 1,
    202     IPF_GIF = 2,
    203     IPF_Base64GIF = 3
    204 } InkPersistenceFormat;
    205 typedef enum InkPersistenceCompressionMode {
    206     IPCM_Default = 0,
    207     IPCM_MaximumCompression = 1,
    208     IPCM_NoCompression = 2
    209 } InkPersistenceCompressionMode;
    210 typedef enum InkClipboardFormats {
    211     ICF_None = 0x0,
    212     ICF_InkSerializedFormat = 0x1,
    213     ICF_SketchInk = 0x2,
    214     ICF_TextInk = 0x6,
    215     ICF_EnhancedMetafile = 0x8,
    216     ICF_Metafile = 0x20,
    217     ICF_Bitmap = 0x40,
    218     ICF_PasteMask = 0x7,
    219     ICF_CopyMask = 0x7f,
    220     ICF_Default = ICF_CopyMask
    221 } InkClipboardFormats;
    222 typedef enum InkClipboardModes {
    223     ICB_Copy = 0x0,
    224     ICB_Cut = 0x1,
    225     ICB_ExtractOnly = 0x30,
    226     ICB_DelayedCopy = 0x20,
    227     ICB_Default = ICB_Copy
    228 } InkClipboardModes;
    229 typedef enum InkCollectionMode {
    230     ICM_InkOnly = 0,
    231     ICM_GestureOnly = 1,
    232     ICM_InkAndGesture = 2
    233 } InkCollectionMode;
    234 typedef enum InkMousePointer {
    235     IMP_Default = 0,
    236     IMP_Arrow = 1,
    237     IMP_Crosshair = 2,
    238     IMP_Ibeam = 3,
    239     IMP_SizeNESW = 4,
    240     IMP_SizeNS = 5,
    241     IMP_SizeNWSE = 6,
    242     IMP_SizeWE = 7,
    243     IMP_UpArrow = 8,
    244     IMP_Hourglass = 9,
    245     IMP_NoDrop = 10,
    246     IMP_ArrowHourglass = 11,
    247     IMP_ArrowQuestion = 12,
    248     IMP_SizeAll = 13,
    249     IMP_Hand = 14,
    250     IMP_Custom = 99
    251 } InkMousePointer;
    252 typedef enum InkApplicationGesture {
    253     IAG_AllGestures = 0x0,
    254     IAG_NoGesture = 0xf000,
    255     IAG_Scratchout = 0xf001,
    256     IAG_Triangle = 0xf002,
    257     IAG_Square = 0xf003,
    258     IAG_Star = 0xf004,
    259     IAG_Check = 0xf005,
    260     IAG_Curlicue = 0xf010,
    261     IAG_DoubleCurlicue = 0xf011,
    262     IAG_Circle = 0xf020,
    263     IAG_DoubleCircle = 0xf021,
    264     IAG_SemiCircleLeft = 0xf028,
    265     IAG_SemiCircleRight = 0xf029,
    266     IAG_ChevronUp = 0xf030,
    267     IAG_ChevronDown = 0xf031,
    268     IAG_ChevronLeft = 0xf032,
    269     IAG_ChevronRight = 0xf033,
    270     IAG_ArrowUp = 0xf038,
    271     IAG_ArrowDown = 0xf039,
    272     IAG_ArrowLeft = 0xf03a,
    273     IAG_ArrowRight = 0xf03b,
    274     IAG_Up = 0xf058,
    275     IAG_Down = 0xf059,
    276     IAG_Left = 0xf05a,
    277     IAG_Right = 0xf05b,
    278     IAG_UpDown = 0xf060,
    279     IAG_DownUp = 0xf061,
    280     IAG_LeftRight = 0xf062,
    281     IAG_RightLeft = 0xf063,
    282     IAG_UpLeftLong = 0xf064,
    283     IAG_UpRightLong = 0xf065,
    284     IAG_DownLeftLong = 0xf066,
    285     IAG_DownRightLong = 0xf067,
    286     IAG_UpLeft = 0xf068,
    287     IAG_UpRight = 0xf069,
    288     IAG_DownLeft = 0xf06a,
    289     IAG_DownRight = 0xf06b,
    290     IAG_LeftUp = 0xf06c,
    291     IAG_LeftDown = 0xf06d,
    292     IAG_RightUp = 0xf06e,
    293     IAG_RightDown = 0xf06f,
    294     IAG_Exclamation = 0xf0a4,
    295     IAG_Tap = 0xf0f0,
    296     IAG_DoubleTap = 0xf0f1
    297 } InkApplicationGesture;
    298 typedef enum InkCollectorEventInterest {
    299     ICEI_DefaultEvents = -1,
    300     ICEI_CursorDown = ICEI_DefaultEvents + 1,
    301     ICEI_Stroke = ICEI_CursorDown + 1,
    302     ICEI_NewPackets = ICEI_Stroke + 1,
    303     ICEI_NewInAirPackets = ICEI_NewPackets + 1,
    304     ICEI_CursorButtonDown = ICEI_NewInAirPackets + 1,
    305     ICEI_CursorButtonUp = ICEI_CursorButtonDown + 1,
    306     ICEI_CursorInRange = ICEI_CursorButtonUp + 1,
    307     ICEI_CursorOutOfRange = ICEI_CursorInRange + 1,
    308     ICEI_SystemGesture = ICEI_CursorOutOfRange + 1,
    309     ICEI_TabletAdded = ICEI_SystemGesture + 1,
    310     ICEI_TabletRemoved = ICEI_TabletAdded + 1,
    311     ICEI_MouseDown = ICEI_TabletRemoved + 1,
    312     ICEI_MouseMove = ICEI_MouseDown + 1,
    313     ICEI_MouseUp = ICEI_MouseMove + 1,
    314     ICEI_MouseWheel = ICEI_MouseUp + 1,
    315     ICEI_DblClick = ICEI_MouseWheel + 1,
    316     ICEI_AllEvents = ICEI_DblClick + 1
    317 } InkCollectorEventInterest;
    318 typedef enum DISPID_InkCollectorEvent {
    319     DISPID_ICEStroke = 1,
    320     DISPID_ICECursorDown = DISPID_ICEStroke + 1,
    321     DISPID_ICENewPackets = DISPID_ICECursorDown + 1,
    322     DISPID_ICENewInAirPackets = DISPID_ICENewPackets + 1,
    323     DISPID_ICECursorButtonDown = DISPID_ICENewInAirPackets + 1,
    324     DISPID_ICECursorButtonUp = DISPID_ICECursorButtonDown + 1,
    325     DISPID_ICECursorInRange = DISPID_ICECursorButtonUp + 1,
    326     DISPID_ICECursorOutOfRange = DISPID_ICECursorInRange + 1,
    327     DISPID_ICESystemGesture = DISPID_ICECursorOutOfRange + 1,
    328     DISPID_ICEGesture = DISPID_ICESystemGesture + 1,
    329     DISPID_ICETabletAdded = DISPID_ICEGesture + 1,
    330     DISPID_ICETabletRemoved = DISPID_ICETabletAdded + 1,
    331     DISPID_IOEPainting = DISPID_ICETabletRemoved + 1,
    332     DISPID_IOEPainted = DISPID_IOEPainting + 1,
    333     DISPID_IOESelectionChanging = DISPID_IOEPainted + 1,
    334     DISPID_IOESelectionChanged = DISPID_IOESelectionChanging + 1,
    335     DISPID_IOESelectionMoving = DISPID_IOESelectionChanged + 1,
    336     DISPID_IOESelectionMoved = DISPID_IOESelectionMoving + 1,
    337     DISPID_IOESelectionResizing = DISPID_IOESelectionMoved + 1,
    338     DISPID_IOESelectionResized = DISPID_IOESelectionResizing + 1,
    339     DISPID_IOEStrokesDeleting = DISPID_IOESelectionResized + 1,
    340     DISPID_IOEStrokesDeleted = DISPID_IOEStrokesDeleting + 1,
    341     DISPID_IPEChangeUICues = DISPID_IOEStrokesDeleted + 1,
    342     DISPID_IPEClick = DISPID_IPEChangeUICues + 1,
    343     DISPID_IPEDblClick = DISPID_IPEClick + 1,
    344     DISPID_IPEInvalidated = DISPID_IPEDblClick + 1,
    345     DISPID_IPEMouseDown = DISPID_IPEInvalidated + 1,
    346     DISPID_IPEMouseEnter = DISPID_IPEMouseDown + 1,
    347     DISPID_IPEMouseHover = DISPID_IPEMouseEnter + 1,
    348     DISPID_IPEMouseLeave = DISPID_IPEMouseHover + 1,
    349     DISPID_IPEMouseMove = DISPID_IPEMouseLeave + 1,
    350     DISPID_IPEMouseUp = DISPID_IPEMouseMove + 1,
    351     DISPID_IPEMouseWheel = DISPID_IPEMouseUp + 1,
    352     DISPID_IPESizeModeChanged = DISPID_IPEMouseWheel + 1,
    353     DISPID_IPEStyleChanged = DISPID_IPESizeModeChanged + 1,
    354     DISPID_IPESystemColorsChanged = DISPID_IPEStyleChanged + 1,
    355     DISPID_IPEKeyDown = DISPID_IPESystemColorsChanged + 1,
    356     DISPID_IPEKeyPress = DISPID_IPEKeyDown + 1,
    357     DISPID_IPEKeyUp = DISPID_IPEKeyPress + 1,
    358     DISPID_IPEResize = DISPID_IPEKeyUp + 1,
    359     DISPID_IPESizeChanged = DISPID_IPEResize + 1
    360 } DISPID_InkCollectorEvent;
    361 #ifndef __IInkDisp_FWD_DEFINED__
    362 #define __IInkDisp_FWD_DEFINED__
    363 typedef interface IInkDisp IInkDisp;
    364 #endif
    365 
    366 #ifndef __IInkStrokes_FWD_DEFINED__
    367 #define __IInkStrokes_FWD_DEFINED__
    368 typedef interface IInkStrokes IInkStrokes;
    369 #endif
    370 
    371 #ifndef __IInkRecognitionAlternate_FWD_DEFINED__
    372 #define __IInkRecognitionAlternate_FWD_DEFINED__
    373 typedef interface IInkRecognitionAlternate IInkRecognitionAlternate;
    374 #endif
    375 
    376 /*****************************************************************************
    377  * IInkExtendedProperty interface
    378  */
    379 #ifndef __IInkExtendedProperty_INTERFACE_DEFINED__
    380 #define __IInkExtendedProperty_INTERFACE_DEFINED__
    381 
    382 DEFINE_GUID(IID_IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e);
    383 #if defined(__cplusplus) && !defined(CINTERFACE)
    384 MIDL_INTERFACE("db489209-b7c3-411d-90f6-1548cfff271e")
    385 IInkExtendedProperty : public IDispatch
    386 {
    387     virtual HRESULT STDMETHODCALLTYPE get_Guid(
    388         BSTR *Guid) = 0;
    389 
    390     virtual HRESULT STDMETHODCALLTYPE get_Data(
    391         VARIANT *Data) = 0;
    392 
    393     virtual HRESULT STDMETHODCALLTYPE put_Data(
    394         VARIANT Data) = 0;
    395 
    396 };
    397 #ifdef __CRT_UUID_DECL
    398 __CRT_UUID_DECL(IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e)
    399 #endif
    400 #else
    401 typedef struct IInkExtendedPropertyVtbl {
    402     BEGIN_INTERFACE
    403 
    404     /*** IUnknown methods ***/
    405     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    406         IInkExtendedProperty* This,
    407         REFIID riid,
    408         void **ppvObject);
    409 
    410     ULONG (STDMETHODCALLTYPE *AddRef)(
    411         IInkExtendedProperty* This);
    412 
    413     ULONG (STDMETHODCALLTYPE *Release)(
    414         IInkExtendedProperty* This);
    415 
    416     /*** IDispatch methods ***/
    417     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    418         IInkExtendedProperty* This,
    419         UINT *pctinfo);
    420 
    421     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    422         IInkExtendedProperty* This,
    423         UINT iTInfo,
    424         LCID lcid,
    425         ITypeInfo **ppTInfo);
    426 
    427     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    428         IInkExtendedProperty* This,
    429         REFIID riid,
    430         LPOLESTR *rgszNames,
    431         UINT cNames,
    432         LCID lcid,
    433         DISPID *rgDispId);
    434 
    435     HRESULT (STDMETHODCALLTYPE *Invoke)(
    436         IInkExtendedProperty* This,
    437         DISPID dispIdMember,
    438         REFIID riid,
    439         LCID lcid,
    440         WORD wFlags,
    441         DISPPARAMS *pDispParams,
    442         VARIANT *pVarResult,
    443         EXCEPINFO *pExcepInfo,
    444         UINT *puArgErr);
    445 
    446     /*** IInkExtendedProperty methods ***/
    447     HRESULT (STDMETHODCALLTYPE *get_Guid)(
    448         IInkExtendedProperty* This,
    449         BSTR *Guid);
    450 
    451     HRESULT (STDMETHODCALLTYPE *get_Data)(
    452         IInkExtendedProperty* This,
    453         VARIANT *Data);
    454 
    455     HRESULT (STDMETHODCALLTYPE *put_Data)(
    456         IInkExtendedProperty* This,
    457         VARIANT Data);
    458 
    459     END_INTERFACE
    460 } IInkExtendedPropertyVtbl;
    461 interface IInkExtendedProperty {
    462     CONST_VTBL IInkExtendedPropertyVtbl* lpVtbl;
    463 };
    464 
    465 #ifdef COBJMACROS
    466 #ifndef WIDL_C_INLINE_WRAPPERS
    467 /*** IUnknown methods ***/
    468 #define IInkExtendedProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    469 #define IInkExtendedProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
    470 #define IInkExtendedProperty_Release(This) (This)->lpVtbl->Release(This)
    471 /*** IDispatch methods ***/
    472 #define IInkExtendedProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    473 #define IInkExtendedProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    474 #define IInkExtendedProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    475 #define IInkExtendedProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    476 /*** IInkExtendedProperty methods ***/
    477 #define IInkExtendedProperty_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
    478 #define IInkExtendedProperty_get_Data(This,Data) (This)->lpVtbl->get_Data(This,Data)
    479 #define IInkExtendedProperty_put_Data(This,Data) (This)->lpVtbl->put_Data(This,Data)
    480 #else
    481 /*** IUnknown methods ***/
    482 static FORCEINLINE HRESULT IInkExtendedProperty_QueryInterface(IInkExtendedProperty* This,REFIID riid,void **ppvObject) {
    483     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    484 }
    485 static FORCEINLINE ULONG IInkExtendedProperty_AddRef(IInkExtendedProperty* This) {
    486     return This->lpVtbl->AddRef(This);
    487 }
    488 static FORCEINLINE ULONG IInkExtendedProperty_Release(IInkExtendedProperty* This) {
    489     return This->lpVtbl->Release(This);
    490 }
    491 /*** IDispatch methods ***/
    492 static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfoCount(IInkExtendedProperty* This,UINT *pctinfo) {
    493     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    494 }
    495 static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfo(IInkExtendedProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    496     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    497 }
    498 static FORCEINLINE HRESULT IInkExtendedProperty_GetIDsOfNames(IInkExtendedProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    499     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    500 }
    501 static FORCEINLINE HRESULT IInkExtendedProperty_Invoke(IInkExtendedProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    502     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    503 }
    504 /*** IInkExtendedProperty methods ***/
    505 static FORCEINLINE HRESULT IInkExtendedProperty_get_Guid(IInkExtendedProperty* This,BSTR *Guid) {
    506     return This->lpVtbl->get_Guid(This,Guid);
    507 }
    508 static FORCEINLINE HRESULT IInkExtendedProperty_get_Data(IInkExtendedProperty* This,VARIANT *Data) {
    509     return This->lpVtbl->get_Data(This,Data);
    510 }
    511 static FORCEINLINE HRESULT IInkExtendedProperty_put_Data(IInkExtendedProperty* This,VARIANT Data) {
    512     return This->lpVtbl->put_Data(This,Data);
    513 }
    514 #endif
    515 #endif
    516 
    517 #endif
    518 
    519 HRESULT STDMETHODCALLTYPE IInkExtendedProperty_get_Guid_Proxy(
    520     IInkExtendedProperty* This,
    521     BSTR *Guid);
    522 void __RPC_STUB IInkExtendedProperty_get_Guid_Stub(
    523     IRpcStubBuffer* This,
    524     IRpcChannelBuffer* pRpcChannelBuffer,
    525     PRPC_MESSAGE pRpcMessage,
    526     DWORD* pdwStubPhase);
    527 HRESULT STDMETHODCALLTYPE IInkExtendedProperty_get_Data_Proxy(
    528     IInkExtendedProperty* This,
    529     VARIANT *Data);
    530 void __RPC_STUB IInkExtendedProperty_get_Data_Stub(
    531     IRpcStubBuffer* This,
    532     IRpcChannelBuffer* pRpcChannelBuffer,
    533     PRPC_MESSAGE pRpcMessage,
    534     DWORD* pdwStubPhase);
    535 HRESULT STDMETHODCALLTYPE IInkExtendedProperty_put_Data_Proxy(
    536     IInkExtendedProperty* This,
    537     VARIANT Data);
    538 void __RPC_STUB IInkExtendedProperty_put_Data_Stub(
    539     IRpcStubBuffer* This,
    540     IRpcChannelBuffer* pRpcChannelBuffer,
    541     PRPC_MESSAGE pRpcMessage,
    542     DWORD* pdwStubPhase);
    543 
    544 #endif  /* __IInkExtendedProperty_INTERFACE_DEFINED__ */
    545 
    546 /*****************************************************************************
    547  * IInkExtendedProperties interface
    548  */
    549 #ifndef __IInkExtendedProperties_INTERFACE_DEFINED__
    550 #define __IInkExtendedProperties_INTERFACE_DEFINED__
    551 
    552 DEFINE_GUID(IID_IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f);
    553 #if defined(__cplusplus) && !defined(CINTERFACE)
    554 MIDL_INTERFACE("89f2a8be-95a9-4530-8b8f-88e971e3e25f")
    555 IInkExtendedProperties : public IDispatch
    556 {
    557     virtual HRESULT STDMETHODCALLTYPE get_Count(
    558         LONG *Count) = 0;
    559 
    560     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
    561         IUnknown **_NewEnum) = 0;
    562 
    563     virtual HRESULT STDMETHODCALLTYPE Item(
    564         VARIANT Identifier,
    565         IInkExtendedProperty **Item) = 0;
    566 
    567     virtual HRESULT STDMETHODCALLTYPE Add(
    568         BSTR Guid,
    569         VARIANT Data,
    570         IInkExtendedProperty **InkExtendedProperty) = 0;
    571 
    572     virtual HRESULT STDMETHODCALLTYPE Remove(
    573         VARIANT Identifier) = 0;
    574 
    575     virtual HRESULT STDMETHODCALLTYPE Clear(
    576         ) = 0;
    577 
    578     virtual HRESULT STDMETHODCALLTYPE DoesPropertyExist(
    579         BSTR Guid,
    580         VARIANT_BOOL *DoesPropertyExist) = 0;
    581 
    582 };
    583 #ifdef __CRT_UUID_DECL
    584 __CRT_UUID_DECL(IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f)
    585 #endif
    586 #else
    587 typedef struct IInkExtendedPropertiesVtbl {
    588     BEGIN_INTERFACE
    589 
    590     /*** IUnknown methods ***/
    591     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    592         IInkExtendedProperties* This,
    593         REFIID riid,
    594         void **ppvObject);
    595 
    596     ULONG (STDMETHODCALLTYPE *AddRef)(
    597         IInkExtendedProperties* This);
    598 
    599     ULONG (STDMETHODCALLTYPE *Release)(
    600         IInkExtendedProperties* This);
    601 
    602     /*** IDispatch methods ***/
    603     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    604         IInkExtendedProperties* This,
    605         UINT *pctinfo);
    606 
    607     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    608         IInkExtendedProperties* This,
    609         UINT iTInfo,
    610         LCID lcid,
    611         ITypeInfo **ppTInfo);
    612 
    613     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    614         IInkExtendedProperties* This,
    615         REFIID riid,
    616         LPOLESTR *rgszNames,
    617         UINT cNames,
    618         LCID lcid,
    619         DISPID *rgDispId);
    620 
    621     HRESULT (STDMETHODCALLTYPE *Invoke)(
    622         IInkExtendedProperties* This,
    623         DISPID dispIdMember,
    624         REFIID riid,
    625         LCID lcid,
    626         WORD wFlags,
    627         DISPPARAMS *pDispParams,
    628         VARIANT *pVarResult,
    629         EXCEPINFO *pExcepInfo,
    630         UINT *puArgErr);
    631 
    632     /*** IInkExtendedProperties methods ***/
    633     HRESULT (STDMETHODCALLTYPE *get_Count)(
    634         IInkExtendedProperties* This,
    635         LONG *Count);
    636 
    637     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
    638         IInkExtendedProperties* This,
    639         IUnknown **_NewEnum);
    640 
    641     HRESULT (STDMETHODCALLTYPE *Item)(
    642         IInkExtendedProperties* This,
    643         VARIANT Identifier,
    644         IInkExtendedProperty **Item);
    645 
    646     HRESULT (STDMETHODCALLTYPE *Add)(
    647         IInkExtendedProperties* This,
    648         BSTR Guid,
    649         VARIANT Data,
    650         IInkExtendedProperty **InkExtendedProperty);
    651 
    652     HRESULT (STDMETHODCALLTYPE *Remove)(
    653         IInkExtendedProperties* This,
    654         VARIANT Identifier);
    655 
    656     HRESULT (STDMETHODCALLTYPE *Clear)(
    657         IInkExtendedProperties* This);
    658 
    659     HRESULT (STDMETHODCALLTYPE *DoesPropertyExist)(
    660         IInkExtendedProperties* This,
    661         BSTR Guid,
    662         VARIANT_BOOL *DoesPropertyExist);
    663 
    664     END_INTERFACE
    665 } IInkExtendedPropertiesVtbl;
    666 interface IInkExtendedProperties {
    667     CONST_VTBL IInkExtendedPropertiesVtbl* lpVtbl;
    668 };
    669 
    670 #ifdef COBJMACROS
    671 #ifndef WIDL_C_INLINE_WRAPPERS
    672 /*** IUnknown methods ***/
    673 #define IInkExtendedProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    674 #define IInkExtendedProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
    675 #define IInkExtendedProperties_Release(This) (This)->lpVtbl->Release(This)
    676 /*** IDispatch methods ***/
    677 #define IInkExtendedProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    678 #define IInkExtendedProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    679 #define IInkExtendedProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    680 #define IInkExtendedProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    681 /*** IInkExtendedProperties methods ***/
    682 #define IInkExtendedProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
    683 #define IInkExtendedProperties_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
    684 #define IInkExtendedProperties_Item(This,Identifier,Item) (This)->lpVtbl->Item(This,Identifier,Item)
    685 #define IInkExtendedProperties_Add(This,Guid,Data,InkExtendedProperty) (This)->lpVtbl->Add(This,Guid,Data,InkExtendedProperty)
    686 #define IInkExtendedProperties_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier)
    687 #define IInkExtendedProperties_Clear(This) (This)->lpVtbl->Clear(This)
    688 #define IInkExtendedProperties_DoesPropertyExist(This,Guid,DoesPropertyExist) (This)->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist)
    689 #else
    690 /*** IUnknown methods ***/
    691 static FORCEINLINE HRESULT IInkExtendedProperties_QueryInterface(IInkExtendedProperties* This,REFIID riid,void **ppvObject) {
    692     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    693 }
    694 static FORCEINLINE ULONG IInkExtendedProperties_AddRef(IInkExtendedProperties* This) {
    695     return This->lpVtbl->AddRef(This);
    696 }
    697 static FORCEINLINE ULONG IInkExtendedProperties_Release(IInkExtendedProperties* This) {
    698     return This->lpVtbl->Release(This);
    699 }
    700 /*** IDispatch methods ***/
    701 static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfoCount(IInkExtendedProperties* This,UINT *pctinfo) {
    702     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    703 }
    704 static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfo(IInkExtendedProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    705     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    706 }
    707 static FORCEINLINE HRESULT IInkExtendedProperties_GetIDsOfNames(IInkExtendedProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    708     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    709 }
    710 static FORCEINLINE HRESULT IInkExtendedProperties_Invoke(IInkExtendedProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    711     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    712 }
    713 /*** IInkExtendedProperties methods ***/
    714 static FORCEINLINE HRESULT IInkExtendedProperties_get_Count(IInkExtendedProperties* This,LONG *Count) {
    715     return This->lpVtbl->get_Count(This,Count);
    716 }
    717 static FORCEINLINE HRESULT IInkExtendedProperties_get__NewEnum(IInkExtendedProperties* This,IUnknown **_NewEnum) {
    718     return This->lpVtbl->get__NewEnum(This,_NewEnum);
    719 }
    720 static FORCEINLINE HRESULT IInkExtendedProperties_Item(IInkExtendedProperties* This,VARIANT Identifier,IInkExtendedProperty **Item) {
    721     return This->lpVtbl->Item(This,Identifier,Item);
    722 }
    723 static FORCEINLINE HRESULT IInkExtendedProperties_Add(IInkExtendedProperties* This,BSTR Guid,VARIANT Data,IInkExtendedProperty **InkExtendedProperty) {
    724     return This->lpVtbl->Add(This,Guid,Data,InkExtendedProperty);
    725 }
    726 static FORCEINLINE HRESULT IInkExtendedProperties_Remove(IInkExtendedProperties* This,VARIANT Identifier) {
    727     return This->lpVtbl->Remove(This,Identifier);
    728 }
    729 static FORCEINLINE HRESULT IInkExtendedProperties_Clear(IInkExtendedProperties* This) {
    730     return This->lpVtbl->Clear(This);
    731 }
    732 static FORCEINLINE HRESULT IInkExtendedProperties_DoesPropertyExist(IInkExtendedProperties* This,BSTR Guid,VARIANT_BOOL *DoesPropertyExist) {
    733     return This->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist);
    734 }
    735 #endif
    736 #endif
    737 
    738 #endif
    739 
    740 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_get_Count_Proxy(
    741     IInkExtendedProperties* This,
    742     LONG *Count);
    743 void __RPC_STUB IInkExtendedProperties_get_Count_Stub(
    744     IRpcStubBuffer* This,
    745     IRpcChannelBuffer* pRpcChannelBuffer,
    746     PRPC_MESSAGE pRpcMessage,
    747     DWORD* pdwStubPhase);
    748 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_get__NewEnum_Proxy(
    749     IInkExtendedProperties* This,
    750     IUnknown **_NewEnum);
    751 void __RPC_STUB IInkExtendedProperties_get__NewEnum_Stub(
    752     IRpcStubBuffer* This,
    753     IRpcChannelBuffer* pRpcChannelBuffer,
    754     PRPC_MESSAGE pRpcMessage,
    755     DWORD* pdwStubPhase);
    756 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_Item_Proxy(
    757     IInkExtendedProperties* This,
    758     VARIANT Identifier,
    759     IInkExtendedProperty **Item);
    760 void __RPC_STUB IInkExtendedProperties_Item_Stub(
    761     IRpcStubBuffer* This,
    762     IRpcChannelBuffer* pRpcChannelBuffer,
    763     PRPC_MESSAGE pRpcMessage,
    764     DWORD* pdwStubPhase);
    765 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_Add_Proxy(
    766     IInkExtendedProperties* This,
    767     BSTR Guid,
    768     VARIANT Data,
    769     IInkExtendedProperty **InkExtendedProperty);
    770 void __RPC_STUB IInkExtendedProperties_Add_Stub(
    771     IRpcStubBuffer* This,
    772     IRpcChannelBuffer* pRpcChannelBuffer,
    773     PRPC_MESSAGE pRpcMessage,
    774     DWORD* pdwStubPhase);
    775 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_Remove_Proxy(
    776     IInkExtendedProperties* This,
    777     VARIANT Identifier);
    778 void __RPC_STUB IInkExtendedProperties_Remove_Stub(
    779     IRpcStubBuffer* This,
    780     IRpcChannelBuffer* pRpcChannelBuffer,
    781     PRPC_MESSAGE pRpcMessage,
    782     DWORD* pdwStubPhase);
    783 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_Clear_Proxy(
    784     IInkExtendedProperties* This);
    785 void __RPC_STUB IInkExtendedProperties_Clear_Stub(
    786     IRpcStubBuffer* This,
    787     IRpcChannelBuffer* pRpcChannelBuffer,
    788     PRPC_MESSAGE pRpcMessage,
    789     DWORD* pdwStubPhase);
    790 HRESULT STDMETHODCALLTYPE IInkExtendedProperties_DoesPropertyExist_Proxy(
    791     IInkExtendedProperties* This,
    792     BSTR Guid,
    793     VARIANT_BOOL *DoesPropertyExist);
    794 void __RPC_STUB IInkExtendedProperties_DoesPropertyExist_Stub(
    795     IRpcStubBuffer* This,
    796     IRpcChannelBuffer* pRpcChannelBuffer,
    797     PRPC_MESSAGE pRpcMessage,
    798     DWORD* pdwStubPhase);
    799 
    800 #endif  /* __IInkExtendedProperties_INTERFACE_DEFINED__ */
    801 
    802 /*****************************************************************************
    803  * IInkDrawingAttributes interface
    804  */
    805 #ifndef __IInkDrawingAttributes_INTERFACE_DEFINED__
    806 #define __IInkDrawingAttributes_INTERFACE_DEFINED__
    807 
    808 DEFINE_GUID(IID_IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92);
    809 #if defined(__cplusplus) && !defined(CINTERFACE)
    810 MIDL_INTERFACE("bf519b75-0a15-4623-adc9-c00d436a8092")
    811 IInkDrawingAttributes : public IDispatch
    812 {
    813     virtual HRESULT STDMETHODCALLTYPE get_Color(
    814         LONG *CurrentColor) = 0;
    815 
    816     virtual HRESULT STDMETHODCALLTYPE put_Color(
    817         LONG NewColor) = 0;
    818 
    819     virtual HRESULT STDMETHODCALLTYPE get_Width(
    820         float *CurrentWidth) = 0;
    821 
    822     virtual HRESULT STDMETHODCALLTYPE put_Width(
    823         float NewWidth) = 0;
    824 
    825     virtual HRESULT STDMETHODCALLTYPE get_Height(
    826         float *CurrentHeight) = 0;
    827 
    828     virtual HRESULT STDMETHODCALLTYPE put_Height(
    829         float NewHeight) = 0;
    830 
    831     virtual HRESULT STDMETHODCALLTYPE get_FitToCurve(
    832         VARIANT_BOOL *Flag) = 0;
    833 
    834     virtual HRESULT STDMETHODCALLTYPE put_FitToCurve(
    835         VARIANT_BOOL Flag) = 0;
    836 
    837     virtual HRESULT STDMETHODCALLTYPE get_IgnorePressure(
    838         VARIANT_BOOL *Flag) = 0;
    839 
    840     virtual HRESULT STDMETHODCALLTYPE put_IgnorePressure(
    841         VARIANT_BOOL Flag) = 0;
    842 
    843     virtual HRESULT STDMETHODCALLTYPE get_AntiAliased(
    844         VARIANT_BOOL *Flag) = 0;
    845 
    846     virtual HRESULT STDMETHODCALLTYPE put_AntiAliased(
    847         VARIANT_BOOL Flag) = 0;
    848 
    849     virtual HRESULT STDMETHODCALLTYPE get_Transparency(
    850         LONG *CurrentTransparency) = 0;
    851 
    852     virtual HRESULT STDMETHODCALLTYPE put_Transparency(
    853         LONG NewTransparency) = 0;
    854 
    855     virtual HRESULT STDMETHODCALLTYPE get_RasterOperation(
    856         InkRasterOperation *CurrentRasterOperation) = 0;
    857 
    858     virtual HRESULT STDMETHODCALLTYPE put_RasterOperation(
    859         InkRasterOperation NewRasterOperation) = 0;
    860 
    861     virtual HRESULT STDMETHODCALLTYPE get_PenTip(
    862         InkPenTip *CurrentPenTip) = 0;
    863 
    864     virtual HRESULT STDMETHODCALLTYPE put_PenTip(
    865         InkPenTip NewPenTip) = 0;
    866 
    867     virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
    868         IInkExtendedProperties **Properties) = 0;
    869 
    870     virtual HRESULT STDMETHODCALLTYPE Clone(
    871         IInkDrawingAttributes **DrawingAttributes) = 0;
    872 
    873 };
    874 #ifdef __CRT_UUID_DECL
    875 __CRT_UUID_DECL(IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92)
    876 #endif
    877 #else
    878 typedef struct IInkDrawingAttributesVtbl {
    879     BEGIN_INTERFACE
    880 
    881     /*** IUnknown methods ***/
    882     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    883         IInkDrawingAttributes* This,
    884         REFIID riid,
    885         void **ppvObject);
    886 
    887     ULONG (STDMETHODCALLTYPE *AddRef)(
    888         IInkDrawingAttributes* This);
    889 
    890     ULONG (STDMETHODCALLTYPE *Release)(
    891         IInkDrawingAttributes* This);
    892 
    893     /*** IDispatch methods ***/
    894     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    895         IInkDrawingAttributes* This,
    896         UINT *pctinfo);
    897 
    898     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    899         IInkDrawingAttributes* This,
    900         UINT iTInfo,
    901         LCID lcid,
    902         ITypeInfo **ppTInfo);
    903 
    904     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    905         IInkDrawingAttributes* This,
    906         REFIID riid,
    907         LPOLESTR *rgszNames,
    908         UINT cNames,
    909         LCID lcid,
    910         DISPID *rgDispId);
    911 
    912     HRESULT (STDMETHODCALLTYPE *Invoke)(
    913         IInkDrawingAttributes* This,
    914         DISPID dispIdMember,
    915         REFIID riid,
    916         LCID lcid,
    917         WORD wFlags,
    918         DISPPARAMS *pDispParams,
    919         VARIANT *pVarResult,
    920         EXCEPINFO *pExcepInfo,
    921         UINT *puArgErr);
    922 
    923     /*** IInkDrawingAttributes methods ***/
    924     HRESULT (STDMETHODCALLTYPE *get_Color)(
    925         IInkDrawingAttributes* This,
    926         LONG *CurrentColor);
    927 
    928     HRESULT (STDMETHODCALLTYPE *put_Color)(
    929         IInkDrawingAttributes* This,
    930         LONG NewColor);
    931 
    932     HRESULT (STDMETHODCALLTYPE *get_Width)(
    933         IInkDrawingAttributes* This,
    934         float *CurrentWidth);
    935 
    936     HRESULT (STDMETHODCALLTYPE *put_Width)(
    937         IInkDrawingAttributes* This,
    938         float NewWidth);
    939 
    940     HRESULT (STDMETHODCALLTYPE *get_Height)(
    941         IInkDrawingAttributes* This,
    942         float *CurrentHeight);
    943 
    944     HRESULT (STDMETHODCALLTYPE *put_Height)(
    945         IInkDrawingAttributes* This,
    946         float NewHeight);
    947 
    948     HRESULT (STDMETHODCALLTYPE *get_FitToCurve)(
    949         IInkDrawingAttributes* This,
    950         VARIANT_BOOL *Flag);
    951 
    952     HRESULT (STDMETHODCALLTYPE *put_FitToCurve)(
    953         IInkDrawingAttributes* This,
    954         VARIANT_BOOL Flag);
    955 
    956     HRESULT (STDMETHODCALLTYPE *get_IgnorePressure)(
    957         IInkDrawingAttributes* This,
    958         VARIANT_BOOL *Flag);
    959 
    960     HRESULT (STDMETHODCALLTYPE *put_IgnorePressure)(
    961         IInkDrawingAttributes* This,
    962         VARIANT_BOOL Flag);
    963 
    964     HRESULT (STDMETHODCALLTYPE *get_AntiAliased)(
    965         IInkDrawingAttributes* This,
    966         VARIANT_BOOL *Flag);
    967 
    968     HRESULT (STDMETHODCALLTYPE *put_AntiAliased)(
    969         IInkDrawingAttributes* This,
    970         VARIANT_BOOL Flag);
    971 
    972     HRESULT (STDMETHODCALLTYPE *get_Transparency)(
    973         IInkDrawingAttributes* This,
    974         LONG *CurrentTransparency);
    975 
    976     HRESULT (STDMETHODCALLTYPE *put_Transparency)(
    977         IInkDrawingAttributes* This,
    978         LONG NewTransparency);
    979 
    980     HRESULT (STDMETHODCALLTYPE *get_RasterOperation)(
    981         IInkDrawingAttributes* This,
    982         InkRasterOperation *CurrentRasterOperation);
    983 
    984     HRESULT (STDMETHODCALLTYPE *put_RasterOperation)(
    985         IInkDrawingAttributes* This,
    986         InkRasterOperation NewRasterOperation);
    987 
    988     HRESULT (STDMETHODCALLTYPE *get_PenTip)(
    989         IInkDrawingAttributes* This,
    990         InkPenTip *CurrentPenTip);
    991 
    992     HRESULT (STDMETHODCALLTYPE *put_PenTip)(
    993         IInkDrawingAttributes* This,
    994         InkPenTip NewPenTip);
    995 
    996     HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
    997         IInkDrawingAttributes* This,
    998         IInkExtendedProperties **Properties);
    999 
   1000     HRESULT (STDMETHODCALLTYPE *Clone)(
   1001         IInkDrawingAttributes* This,
   1002         IInkDrawingAttributes **DrawingAttributes);
   1003 
   1004     END_INTERFACE
   1005 } IInkDrawingAttributesVtbl;
   1006 interface IInkDrawingAttributes {
   1007     CONST_VTBL IInkDrawingAttributesVtbl* lpVtbl;
   1008 };
   1009 
   1010 #ifdef COBJMACROS
   1011 #ifndef WIDL_C_INLINE_WRAPPERS
   1012 /*** IUnknown methods ***/
   1013 #define IInkDrawingAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1014 #define IInkDrawingAttributes_AddRef(This) (This)->lpVtbl->AddRef(This)
   1015 #define IInkDrawingAttributes_Release(This) (This)->lpVtbl->Release(This)
   1016 /*** IDispatch methods ***/
   1017 #define IInkDrawingAttributes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1018 #define IInkDrawingAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1019 #define IInkDrawingAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1020 #define IInkDrawingAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1021 /*** IInkDrawingAttributes methods ***/
   1022 #define IInkDrawingAttributes_get_Color(This,CurrentColor) (This)->lpVtbl->get_Color(This,CurrentColor)
   1023 #define IInkDrawingAttributes_put_Color(This,NewColor) (This)->lpVtbl->put_Color(This,NewColor)
   1024 #define IInkDrawingAttributes_get_Width(This,CurrentWidth) (This)->lpVtbl->get_Width(This,CurrentWidth)
   1025 #define IInkDrawingAttributes_put_Width(This,NewWidth) (This)->lpVtbl->put_Width(This,NewWidth)
   1026 #define IInkDrawingAttributes_get_Height(This,CurrentHeight) (This)->lpVtbl->get_Height(This,CurrentHeight)
   1027 #define IInkDrawingAttributes_put_Height(This,NewHeight) (This)->lpVtbl->put_Height(This,NewHeight)
   1028 #define IInkDrawingAttributes_get_FitToCurve(This,Flag) (This)->lpVtbl->get_FitToCurve(This,Flag)
   1029 #define IInkDrawingAttributes_put_FitToCurve(This,Flag) (This)->lpVtbl->put_FitToCurve(This,Flag)
   1030 #define IInkDrawingAttributes_get_IgnorePressure(This,Flag) (This)->lpVtbl->get_IgnorePressure(This,Flag)
   1031 #define IInkDrawingAttributes_put_IgnorePressure(This,Flag) (This)->lpVtbl->put_IgnorePressure(This,Flag)
   1032 #define IInkDrawingAttributes_get_AntiAliased(This,Flag) (This)->lpVtbl->get_AntiAliased(This,Flag)
   1033 #define IInkDrawingAttributes_put_AntiAliased(This,Flag) (This)->lpVtbl->put_AntiAliased(This,Flag)
   1034 #define IInkDrawingAttributes_get_Transparency(This,CurrentTransparency) (This)->lpVtbl->get_Transparency(This,CurrentTransparency)
   1035 #define IInkDrawingAttributes_put_Transparency(This,NewTransparency) (This)->lpVtbl->put_Transparency(This,NewTransparency)
   1036 #define IInkDrawingAttributes_get_RasterOperation(This,CurrentRasterOperation) (This)->lpVtbl->get_RasterOperation(This,CurrentRasterOperation)
   1037 #define IInkDrawingAttributes_put_RasterOperation(This,NewRasterOperation) (This)->lpVtbl->put_RasterOperation(This,NewRasterOperation)
   1038 #define IInkDrawingAttributes_get_PenTip(This,CurrentPenTip) (This)->lpVtbl->get_PenTip(This,CurrentPenTip)
   1039 #define IInkDrawingAttributes_put_PenTip(This,NewPenTip) (This)->lpVtbl->put_PenTip(This,NewPenTip)
   1040 #define IInkDrawingAttributes_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
   1041 #define IInkDrawingAttributes_Clone(This,DrawingAttributes) (This)->lpVtbl->Clone(This,DrawingAttributes)
   1042 #else
   1043 /*** IUnknown methods ***/
   1044 static FORCEINLINE HRESULT IInkDrawingAttributes_QueryInterface(IInkDrawingAttributes* This,REFIID riid,void **ppvObject) {
   1045     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1046 }
   1047 static FORCEINLINE ULONG IInkDrawingAttributes_AddRef(IInkDrawingAttributes* This) {
   1048     return This->lpVtbl->AddRef(This);
   1049 }
   1050 static FORCEINLINE ULONG IInkDrawingAttributes_Release(IInkDrawingAttributes* This) {
   1051     return This->lpVtbl->Release(This);
   1052 }
   1053 /*** IDispatch methods ***/
   1054 static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfoCount(IInkDrawingAttributes* This,UINT *pctinfo) {
   1055     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1056 }
   1057 static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfo(IInkDrawingAttributes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1058     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1059 }
   1060 static FORCEINLINE HRESULT IInkDrawingAttributes_GetIDsOfNames(IInkDrawingAttributes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1061     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1062 }
   1063 static FORCEINLINE HRESULT IInkDrawingAttributes_Invoke(IInkDrawingAttributes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1064     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1065 }
   1066 /*** IInkDrawingAttributes methods ***/
   1067 static FORCEINLINE HRESULT IInkDrawingAttributes_get_Color(IInkDrawingAttributes* This,LONG *CurrentColor) {
   1068     return This->lpVtbl->get_Color(This,CurrentColor);
   1069 }
   1070 static FORCEINLINE HRESULT IInkDrawingAttributes_put_Color(IInkDrawingAttributes* This,LONG NewColor) {
   1071     return This->lpVtbl->put_Color(This,NewColor);
   1072 }
   1073 static FORCEINLINE HRESULT IInkDrawingAttributes_get_Width(IInkDrawingAttributes* This,float *CurrentWidth) {
   1074     return This->lpVtbl->get_Width(This,CurrentWidth);
   1075 }
   1076 static FORCEINLINE HRESULT IInkDrawingAttributes_put_Width(IInkDrawingAttributes* This,float NewWidth) {
   1077     return This->lpVtbl->put_Width(This,NewWidth);
   1078 }
   1079 static FORCEINLINE HRESULT IInkDrawingAttributes_get_Height(IInkDrawingAttributes* This,float *CurrentHeight) {
   1080     return This->lpVtbl->get_Height(This,CurrentHeight);
   1081 }
   1082 static FORCEINLINE HRESULT IInkDrawingAttributes_put_Height(IInkDrawingAttributes* This,float NewHeight) {
   1083     return This->lpVtbl->put_Height(This,NewHeight);
   1084 }
   1085 static FORCEINLINE HRESULT IInkDrawingAttributes_get_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
   1086     return This->lpVtbl->get_FitToCurve(This,Flag);
   1087 }
   1088 static FORCEINLINE HRESULT IInkDrawingAttributes_put_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
   1089     return This->lpVtbl->put_FitToCurve(This,Flag);
   1090 }
   1091 static FORCEINLINE HRESULT IInkDrawingAttributes_get_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
   1092     return This->lpVtbl->get_IgnorePressure(This,Flag);
   1093 }
   1094 static FORCEINLINE HRESULT IInkDrawingAttributes_put_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
   1095     return This->lpVtbl->put_IgnorePressure(This,Flag);
   1096 }
   1097 static FORCEINLINE HRESULT IInkDrawingAttributes_get_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
   1098     return This->lpVtbl->get_AntiAliased(This,Flag);
   1099 }
   1100 static FORCEINLINE HRESULT IInkDrawingAttributes_put_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
   1101     return This->lpVtbl->put_AntiAliased(This,Flag);
   1102 }
   1103 static FORCEINLINE HRESULT IInkDrawingAttributes_get_Transparency(IInkDrawingAttributes* This,LONG *CurrentTransparency) {
   1104     return This->lpVtbl->get_Transparency(This,CurrentTransparency);
   1105 }
   1106 static FORCEINLINE HRESULT IInkDrawingAttributes_put_Transparency(IInkDrawingAttributes* This,LONG NewTransparency) {
   1107     return This->lpVtbl->put_Transparency(This,NewTransparency);
   1108 }
   1109 static FORCEINLINE HRESULT IInkDrawingAttributes_get_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation *CurrentRasterOperation) {
   1110     return This->lpVtbl->get_RasterOperation(This,CurrentRasterOperation);
   1111 }
   1112 static FORCEINLINE HRESULT IInkDrawingAttributes_put_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation NewRasterOperation) {
   1113     return This->lpVtbl->put_RasterOperation(This,NewRasterOperation);
   1114 }
   1115 static FORCEINLINE HRESULT IInkDrawingAttributes_get_PenTip(IInkDrawingAttributes* This,InkPenTip *CurrentPenTip) {
   1116     return This->lpVtbl->get_PenTip(This,CurrentPenTip);
   1117 }
   1118 static FORCEINLINE HRESULT IInkDrawingAttributes_put_PenTip(IInkDrawingAttributes* This,InkPenTip NewPenTip) {
   1119     return This->lpVtbl->put_PenTip(This,NewPenTip);
   1120 }
   1121 static FORCEINLINE HRESULT IInkDrawingAttributes_get_ExtendedProperties(IInkDrawingAttributes* This,IInkExtendedProperties **Properties) {
   1122     return This->lpVtbl->get_ExtendedProperties(This,Properties);
   1123 }
   1124 static FORCEINLINE HRESULT IInkDrawingAttributes_Clone(IInkDrawingAttributes* This,IInkDrawingAttributes **DrawingAttributes) {
   1125     return This->lpVtbl->Clone(This,DrawingAttributes);
   1126 }
   1127 #endif
   1128 #endif
   1129 
   1130 #endif
   1131 
   1132 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_Color_Proxy(
   1133     IInkDrawingAttributes* This,
   1134     LONG *CurrentColor);
   1135 void __RPC_STUB IInkDrawingAttributes_get_Color_Stub(
   1136     IRpcStubBuffer* This,
   1137     IRpcChannelBuffer* pRpcChannelBuffer,
   1138     PRPC_MESSAGE pRpcMessage,
   1139     DWORD* pdwStubPhase);
   1140 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_Color_Proxy(
   1141     IInkDrawingAttributes* This,
   1142     LONG NewColor);
   1143 void __RPC_STUB IInkDrawingAttributes_put_Color_Stub(
   1144     IRpcStubBuffer* This,
   1145     IRpcChannelBuffer* pRpcChannelBuffer,
   1146     PRPC_MESSAGE pRpcMessage,
   1147     DWORD* pdwStubPhase);
   1148 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_Width_Proxy(
   1149     IInkDrawingAttributes* This,
   1150     float *CurrentWidth);
   1151 void __RPC_STUB IInkDrawingAttributes_get_Width_Stub(
   1152     IRpcStubBuffer* This,
   1153     IRpcChannelBuffer* pRpcChannelBuffer,
   1154     PRPC_MESSAGE pRpcMessage,
   1155     DWORD* pdwStubPhase);
   1156 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_Width_Proxy(
   1157     IInkDrawingAttributes* This,
   1158     float NewWidth);
   1159 void __RPC_STUB IInkDrawingAttributes_put_Width_Stub(
   1160     IRpcStubBuffer* This,
   1161     IRpcChannelBuffer* pRpcChannelBuffer,
   1162     PRPC_MESSAGE pRpcMessage,
   1163     DWORD* pdwStubPhase);
   1164 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_Height_Proxy(
   1165     IInkDrawingAttributes* This,
   1166     float *CurrentHeight);
   1167 void __RPC_STUB IInkDrawingAttributes_get_Height_Stub(
   1168     IRpcStubBuffer* This,
   1169     IRpcChannelBuffer* pRpcChannelBuffer,
   1170     PRPC_MESSAGE pRpcMessage,
   1171     DWORD* pdwStubPhase);
   1172 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_Height_Proxy(
   1173     IInkDrawingAttributes* This,
   1174     float NewHeight);
   1175 void __RPC_STUB IInkDrawingAttributes_put_Height_Stub(
   1176     IRpcStubBuffer* This,
   1177     IRpcChannelBuffer* pRpcChannelBuffer,
   1178     PRPC_MESSAGE pRpcMessage,
   1179     DWORD* pdwStubPhase);
   1180 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_FitToCurve_Proxy(
   1181     IInkDrawingAttributes* This,
   1182     VARIANT_BOOL *Flag);
   1183 void __RPC_STUB IInkDrawingAttributes_get_FitToCurve_Stub(
   1184     IRpcStubBuffer* This,
   1185     IRpcChannelBuffer* pRpcChannelBuffer,
   1186     PRPC_MESSAGE pRpcMessage,
   1187     DWORD* pdwStubPhase);
   1188 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_FitToCurve_Proxy(
   1189     IInkDrawingAttributes* This,
   1190     VARIANT_BOOL Flag);
   1191 void __RPC_STUB IInkDrawingAttributes_put_FitToCurve_Stub(
   1192     IRpcStubBuffer* This,
   1193     IRpcChannelBuffer* pRpcChannelBuffer,
   1194     PRPC_MESSAGE pRpcMessage,
   1195     DWORD* pdwStubPhase);
   1196 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_IgnorePressure_Proxy(
   1197     IInkDrawingAttributes* This,
   1198     VARIANT_BOOL *Flag);
   1199 void __RPC_STUB IInkDrawingAttributes_get_IgnorePressure_Stub(
   1200     IRpcStubBuffer* This,
   1201     IRpcChannelBuffer* pRpcChannelBuffer,
   1202     PRPC_MESSAGE pRpcMessage,
   1203     DWORD* pdwStubPhase);
   1204 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_IgnorePressure_Proxy(
   1205     IInkDrawingAttributes* This,
   1206     VARIANT_BOOL Flag);
   1207 void __RPC_STUB IInkDrawingAttributes_put_IgnorePressure_Stub(
   1208     IRpcStubBuffer* This,
   1209     IRpcChannelBuffer* pRpcChannelBuffer,
   1210     PRPC_MESSAGE pRpcMessage,
   1211     DWORD* pdwStubPhase);
   1212 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_AntiAliased_Proxy(
   1213     IInkDrawingAttributes* This,
   1214     VARIANT_BOOL *Flag);
   1215 void __RPC_STUB IInkDrawingAttributes_get_AntiAliased_Stub(
   1216     IRpcStubBuffer* This,
   1217     IRpcChannelBuffer* pRpcChannelBuffer,
   1218     PRPC_MESSAGE pRpcMessage,
   1219     DWORD* pdwStubPhase);
   1220 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_AntiAliased_Proxy(
   1221     IInkDrawingAttributes* This,
   1222     VARIANT_BOOL Flag);
   1223 void __RPC_STUB IInkDrawingAttributes_put_AntiAliased_Stub(
   1224     IRpcStubBuffer* This,
   1225     IRpcChannelBuffer* pRpcChannelBuffer,
   1226     PRPC_MESSAGE pRpcMessage,
   1227     DWORD* pdwStubPhase);
   1228 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_Transparency_Proxy(
   1229     IInkDrawingAttributes* This,
   1230     LONG *CurrentTransparency);
   1231 void __RPC_STUB IInkDrawingAttributes_get_Transparency_Stub(
   1232     IRpcStubBuffer* This,
   1233     IRpcChannelBuffer* pRpcChannelBuffer,
   1234     PRPC_MESSAGE pRpcMessage,
   1235     DWORD* pdwStubPhase);
   1236 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_Transparency_Proxy(
   1237     IInkDrawingAttributes* This,
   1238     LONG NewTransparency);
   1239 void __RPC_STUB IInkDrawingAttributes_put_Transparency_Stub(
   1240     IRpcStubBuffer* This,
   1241     IRpcChannelBuffer* pRpcChannelBuffer,
   1242     PRPC_MESSAGE pRpcMessage,
   1243     DWORD* pdwStubPhase);
   1244 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_RasterOperation_Proxy(
   1245     IInkDrawingAttributes* This,
   1246     InkRasterOperation *CurrentRasterOperation);
   1247 void __RPC_STUB IInkDrawingAttributes_get_RasterOperation_Stub(
   1248     IRpcStubBuffer* This,
   1249     IRpcChannelBuffer* pRpcChannelBuffer,
   1250     PRPC_MESSAGE pRpcMessage,
   1251     DWORD* pdwStubPhase);
   1252 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_RasterOperation_Proxy(
   1253     IInkDrawingAttributes* This,
   1254     InkRasterOperation NewRasterOperation);
   1255 void __RPC_STUB IInkDrawingAttributes_put_RasterOperation_Stub(
   1256     IRpcStubBuffer* This,
   1257     IRpcChannelBuffer* pRpcChannelBuffer,
   1258     PRPC_MESSAGE pRpcMessage,
   1259     DWORD* pdwStubPhase);
   1260 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_PenTip_Proxy(
   1261     IInkDrawingAttributes* This,
   1262     InkPenTip *CurrentPenTip);
   1263 void __RPC_STUB IInkDrawingAttributes_get_PenTip_Stub(
   1264     IRpcStubBuffer* This,
   1265     IRpcChannelBuffer* pRpcChannelBuffer,
   1266     PRPC_MESSAGE pRpcMessage,
   1267     DWORD* pdwStubPhase);
   1268 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_put_PenTip_Proxy(
   1269     IInkDrawingAttributes* This,
   1270     InkPenTip NewPenTip);
   1271 void __RPC_STUB IInkDrawingAttributes_put_PenTip_Stub(
   1272     IRpcStubBuffer* This,
   1273     IRpcChannelBuffer* pRpcChannelBuffer,
   1274     PRPC_MESSAGE pRpcMessage,
   1275     DWORD* pdwStubPhase);
   1276 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_get_ExtendedProperties_Proxy(
   1277     IInkDrawingAttributes* This,
   1278     IInkExtendedProperties **Properties);
   1279 void __RPC_STUB IInkDrawingAttributes_get_ExtendedProperties_Stub(
   1280     IRpcStubBuffer* This,
   1281     IRpcChannelBuffer* pRpcChannelBuffer,
   1282     PRPC_MESSAGE pRpcMessage,
   1283     DWORD* pdwStubPhase);
   1284 HRESULT STDMETHODCALLTYPE IInkDrawingAttributes_Clone_Proxy(
   1285     IInkDrawingAttributes* This,
   1286     IInkDrawingAttributes **DrawingAttributes);
   1287 void __RPC_STUB IInkDrawingAttributes_Clone_Stub(
   1288     IRpcStubBuffer* This,
   1289     IRpcChannelBuffer* pRpcChannelBuffer,
   1290     PRPC_MESSAGE pRpcMessage,
   1291     DWORD* pdwStubPhase);
   1292 
   1293 #endif  /* __IInkDrawingAttributes_INTERFACE_DEFINED__ */
   1294 
   1295 /*****************************************************************************
   1296  * IInkRectangle interface
   1297  */
   1298 #ifndef __IInkRectangle_INTERFACE_DEFINED__
   1299 #define __IInkRectangle_INTERFACE_DEFINED__
   1300 
   1301 DEFINE_GUID(IID_IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e);
   1302 #if defined(__cplusplus) && !defined(CINTERFACE)
   1303 MIDL_INTERFACE("9794ff82-6071-4717-8a8b-6ac7c64a686e")
   1304 IInkRectangle : public IDispatch
   1305 {
   1306     virtual HRESULT STDMETHODCALLTYPE get_Top(
   1307         LONG *Units) = 0;
   1308 
   1309     virtual HRESULT STDMETHODCALLTYPE put_Top(
   1310         LONG Units) = 0;
   1311 
   1312     virtual HRESULT STDMETHODCALLTYPE get_Left(
   1313         LONG *Units) = 0;
   1314 
   1315     virtual HRESULT STDMETHODCALLTYPE put_Left(
   1316         LONG Units) = 0;
   1317 
   1318     virtual HRESULT STDMETHODCALLTYPE get_Bottom(
   1319         LONG *Units) = 0;
   1320 
   1321     virtual HRESULT STDMETHODCALLTYPE put_Bottom(
   1322         LONG Units) = 0;
   1323 
   1324     virtual HRESULT STDMETHODCALLTYPE get_Right(
   1325         LONG *Units) = 0;
   1326 
   1327     virtual HRESULT STDMETHODCALLTYPE put_Right(
   1328         LONG Units) = 0;
   1329 
   1330     virtual HRESULT STDMETHODCALLTYPE get_Data(
   1331         RECT *Rect) = 0;
   1332 
   1333     virtual HRESULT STDMETHODCALLTYPE put_Data(
   1334         RECT Rect) = 0;
   1335 
   1336     virtual HRESULT STDMETHODCALLTYPE GetRectangle(
   1337         LONG *Top,
   1338         LONG *Left,
   1339         LONG *Bottom,
   1340         LONG *Right) = 0;
   1341 
   1342     virtual HRESULT STDMETHODCALLTYPE SetRectangle(
   1343         LONG Top,
   1344         LONG Left,
   1345         LONG Bottom,
   1346         LONG Right) = 0;
   1347 
   1348 };
   1349 #ifdef __CRT_UUID_DECL
   1350 __CRT_UUID_DECL(IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e)
   1351 #endif
   1352 #else
   1353 typedef struct IInkRectangleVtbl {
   1354     BEGIN_INTERFACE
   1355 
   1356     /*** IUnknown methods ***/
   1357     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1358         IInkRectangle* This,
   1359         REFIID riid,
   1360         void **ppvObject);
   1361 
   1362     ULONG (STDMETHODCALLTYPE *AddRef)(
   1363         IInkRectangle* This);
   1364 
   1365     ULONG (STDMETHODCALLTYPE *Release)(
   1366         IInkRectangle* This);
   1367 
   1368     /*** IDispatch methods ***/
   1369     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1370         IInkRectangle* This,
   1371         UINT *pctinfo);
   1372 
   1373     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1374         IInkRectangle* This,
   1375         UINT iTInfo,
   1376         LCID lcid,
   1377         ITypeInfo **ppTInfo);
   1378 
   1379     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1380         IInkRectangle* This,
   1381         REFIID riid,
   1382         LPOLESTR *rgszNames,
   1383         UINT cNames,
   1384         LCID lcid,
   1385         DISPID *rgDispId);
   1386 
   1387     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1388         IInkRectangle* This,
   1389         DISPID dispIdMember,
   1390         REFIID riid,
   1391         LCID lcid,
   1392         WORD wFlags,
   1393         DISPPARAMS *pDispParams,
   1394         VARIANT *pVarResult,
   1395         EXCEPINFO *pExcepInfo,
   1396         UINT *puArgErr);
   1397 
   1398     /*** IInkRectangle methods ***/
   1399     HRESULT (STDMETHODCALLTYPE *get_Top)(
   1400         IInkRectangle* This,
   1401         LONG *Units);
   1402 
   1403     HRESULT (STDMETHODCALLTYPE *put_Top)(
   1404         IInkRectangle* This,
   1405         LONG Units);
   1406 
   1407     HRESULT (STDMETHODCALLTYPE *get_Left)(
   1408         IInkRectangle* This,
   1409         LONG *Units);
   1410 
   1411     HRESULT (STDMETHODCALLTYPE *put_Left)(
   1412         IInkRectangle* This,
   1413         LONG Units);
   1414 
   1415     HRESULT (STDMETHODCALLTYPE *get_Bottom)(
   1416         IInkRectangle* This,
   1417         LONG *Units);
   1418 
   1419     HRESULT (STDMETHODCALLTYPE *put_Bottom)(
   1420         IInkRectangle* This,
   1421         LONG Units);
   1422 
   1423     HRESULT (STDMETHODCALLTYPE *get_Right)(
   1424         IInkRectangle* This,
   1425         LONG *Units);
   1426 
   1427     HRESULT (STDMETHODCALLTYPE *put_Right)(
   1428         IInkRectangle* This,
   1429         LONG Units);
   1430 
   1431     HRESULT (STDMETHODCALLTYPE *get_Data)(
   1432         IInkRectangle* This,
   1433         RECT *Rect);
   1434 
   1435     HRESULT (STDMETHODCALLTYPE *put_Data)(
   1436         IInkRectangle* This,
   1437         RECT Rect);
   1438 
   1439     HRESULT (STDMETHODCALLTYPE *GetRectangle)(
   1440         IInkRectangle* This,
   1441         LONG *Top,
   1442         LONG *Left,
   1443         LONG *Bottom,
   1444         LONG *Right);
   1445 
   1446     HRESULT (STDMETHODCALLTYPE *SetRectangle)(
   1447         IInkRectangle* This,
   1448         LONG Top,
   1449         LONG Left,
   1450         LONG Bottom,
   1451         LONG Right);
   1452 
   1453     END_INTERFACE
   1454 } IInkRectangleVtbl;
   1455 interface IInkRectangle {
   1456     CONST_VTBL IInkRectangleVtbl* lpVtbl;
   1457 };
   1458 
   1459 #ifdef COBJMACROS
   1460 #ifndef WIDL_C_INLINE_WRAPPERS
   1461 /*** IUnknown methods ***/
   1462 #define IInkRectangle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1463 #define IInkRectangle_AddRef(This) (This)->lpVtbl->AddRef(This)
   1464 #define IInkRectangle_Release(This) (This)->lpVtbl->Release(This)
   1465 /*** IDispatch methods ***/
   1466 #define IInkRectangle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1467 #define IInkRectangle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1468 #define IInkRectangle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1469 #define IInkRectangle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1470 /*** IInkRectangle methods ***/
   1471 #define IInkRectangle_get_Top(This,Units) (This)->lpVtbl->get_Top(This,Units)
   1472 #define IInkRectangle_put_Top(This,Units) (This)->lpVtbl->put_Top(This,Units)
   1473 #define IInkRectangle_get_Left(This,Units) (This)->lpVtbl->get_Left(This,Units)
   1474 #define IInkRectangle_put_Left(This,Units) (This)->lpVtbl->put_Left(This,Units)
   1475 #define IInkRectangle_get_Bottom(This,Units) (This)->lpVtbl->get_Bottom(This,Units)
   1476 #define IInkRectangle_put_Bottom(This,Units) (This)->lpVtbl->put_Bottom(This,Units)
   1477 #define IInkRectangle_get_Right(This,Units) (This)->lpVtbl->get_Right(This,Units)
   1478 #define IInkRectangle_put_Right(This,Units) (This)->lpVtbl->put_Right(This,Units)
   1479 #define IInkRectangle_get_Data(This,Rect) (This)->lpVtbl->get_Data(This,Rect)
   1480 #define IInkRectangle_put_Data(This,Rect) (This)->lpVtbl->put_Data(This,Rect)
   1481 #define IInkRectangle_GetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right)
   1482 #define IInkRectangle_SetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right)
   1483 #else
   1484 /*** IUnknown methods ***/
   1485 static FORCEINLINE HRESULT IInkRectangle_QueryInterface(IInkRectangle* This,REFIID riid,void **ppvObject) {
   1486     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1487 }
   1488 static FORCEINLINE ULONG IInkRectangle_AddRef(IInkRectangle* This) {
   1489     return This->lpVtbl->AddRef(This);
   1490 }
   1491 static FORCEINLINE ULONG IInkRectangle_Release(IInkRectangle* This) {
   1492     return This->lpVtbl->Release(This);
   1493 }
   1494 /*** IDispatch methods ***/
   1495 static FORCEINLINE HRESULT IInkRectangle_GetTypeInfoCount(IInkRectangle* This,UINT *pctinfo) {
   1496     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1497 }
   1498 static FORCEINLINE HRESULT IInkRectangle_GetTypeInfo(IInkRectangle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1499     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1500 }
   1501 static FORCEINLINE HRESULT IInkRectangle_GetIDsOfNames(IInkRectangle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1502     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1503 }
   1504 static FORCEINLINE HRESULT IInkRectangle_Invoke(IInkRectangle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1505     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1506 }
   1507 /*** IInkRectangle methods ***/
   1508 static FORCEINLINE HRESULT IInkRectangle_get_Top(IInkRectangle* This,LONG *Units) {
   1509     return This->lpVtbl->get_Top(This,Units);
   1510 }
   1511 static FORCEINLINE HRESULT IInkRectangle_put_Top(IInkRectangle* This,LONG Units) {
   1512     return This->lpVtbl->put_Top(This,Units);
   1513 }
   1514 static FORCEINLINE HRESULT IInkRectangle_get_Left(IInkRectangle* This,LONG *Units) {
   1515     return This->lpVtbl->get_Left(This,Units);
   1516 }
   1517 static FORCEINLINE HRESULT IInkRectangle_put_Left(IInkRectangle* This,LONG Units) {
   1518     return This->lpVtbl->put_Left(This,Units);
   1519 }
   1520 static FORCEINLINE HRESULT IInkRectangle_get_Bottom(IInkRectangle* This,LONG *Units) {
   1521     return This->lpVtbl->get_Bottom(This,Units);
   1522 }
   1523 static FORCEINLINE HRESULT IInkRectangle_put_Bottom(IInkRectangle* This,LONG Units) {
   1524     return This->lpVtbl->put_Bottom(This,Units);
   1525 }
   1526 static FORCEINLINE HRESULT IInkRectangle_get_Right(IInkRectangle* This,LONG *Units) {
   1527     return This->lpVtbl->get_Right(This,Units);
   1528 }
   1529 static FORCEINLINE HRESULT IInkRectangle_put_Right(IInkRectangle* This,LONG Units) {
   1530     return This->lpVtbl->put_Right(This,Units);
   1531 }
   1532 static FORCEINLINE HRESULT IInkRectangle_get_Data(IInkRectangle* This,RECT *Rect) {
   1533     return This->lpVtbl->get_Data(This,Rect);
   1534 }
   1535 static FORCEINLINE HRESULT IInkRectangle_put_Data(IInkRectangle* This,RECT Rect) {
   1536     return This->lpVtbl->put_Data(This,Rect);
   1537 }
   1538 static FORCEINLINE HRESULT IInkRectangle_GetRectangle(IInkRectangle* This,LONG *Top,LONG *Left,LONG *Bottom,LONG *Right) {
   1539     return This->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right);
   1540 }
   1541 static FORCEINLINE HRESULT IInkRectangle_SetRectangle(IInkRectangle* This,LONG Top,LONG Left,LONG Bottom,LONG Right) {
   1542     return This->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right);
   1543 }
   1544 #endif
   1545 #endif
   1546 
   1547 #endif
   1548 
   1549 HRESULT STDMETHODCALLTYPE IInkRectangle_get_Top_Proxy(
   1550     IInkRectangle* This,
   1551     LONG *Units);
   1552 void __RPC_STUB IInkRectangle_get_Top_Stub(
   1553     IRpcStubBuffer* This,
   1554     IRpcChannelBuffer* pRpcChannelBuffer,
   1555     PRPC_MESSAGE pRpcMessage,
   1556     DWORD* pdwStubPhase);
   1557 HRESULT STDMETHODCALLTYPE IInkRectangle_put_Top_Proxy(
   1558     IInkRectangle* This,
   1559     LONG Units);
   1560 void __RPC_STUB IInkRectangle_put_Top_Stub(
   1561     IRpcStubBuffer* This,
   1562     IRpcChannelBuffer* pRpcChannelBuffer,
   1563     PRPC_MESSAGE pRpcMessage,
   1564     DWORD* pdwStubPhase);
   1565 HRESULT STDMETHODCALLTYPE IInkRectangle_get_Left_Proxy(
   1566     IInkRectangle* This,
   1567     LONG *Units);
   1568 void __RPC_STUB IInkRectangle_get_Left_Stub(
   1569     IRpcStubBuffer* This,
   1570     IRpcChannelBuffer* pRpcChannelBuffer,
   1571     PRPC_MESSAGE pRpcMessage,
   1572     DWORD* pdwStubPhase);
   1573 HRESULT STDMETHODCALLTYPE IInkRectangle_put_Left_Proxy(
   1574     IInkRectangle* This,
   1575     LONG Units);
   1576 void __RPC_STUB IInkRectangle_put_Left_Stub(
   1577     IRpcStubBuffer* This,
   1578     IRpcChannelBuffer* pRpcChannelBuffer,
   1579     PRPC_MESSAGE pRpcMessage,
   1580     DWORD* pdwStubPhase);
   1581 HRESULT STDMETHODCALLTYPE IInkRectangle_get_Bottom_Proxy(
   1582     IInkRectangle* This,
   1583     LONG *Units);
   1584 void __RPC_STUB IInkRectangle_get_Bottom_Stub(
   1585     IRpcStubBuffer* This,
   1586     IRpcChannelBuffer* pRpcChannelBuffer,
   1587     PRPC_MESSAGE pRpcMessage,
   1588     DWORD* pdwStubPhase);
   1589 HRESULT STDMETHODCALLTYPE IInkRectangle_put_Bottom_Proxy(
   1590     IInkRectangle* This,
   1591     LONG Units);
   1592 void __RPC_STUB IInkRectangle_put_Bottom_Stub(
   1593     IRpcStubBuffer* This,
   1594     IRpcChannelBuffer* pRpcChannelBuffer,
   1595     PRPC_MESSAGE pRpcMessage,
   1596     DWORD* pdwStubPhase);
   1597 HRESULT STDMETHODCALLTYPE IInkRectangle_get_Right_Proxy(
   1598     IInkRectangle* This,
   1599     LONG *Units);
   1600 void __RPC_STUB IInkRectangle_get_Right_Stub(
   1601     IRpcStubBuffer* This,
   1602     IRpcChannelBuffer* pRpcChannelBuffer,
   1603     PRPC_MESSAGE pRpcMessage,
   1604     DWORD* pdwStubPhase);
   1605 HRESULT STDMETHODCALLTYPE IInkRectangle_put_Right_Proxy(
   1606     IInkRectangle* This,
   1607     LONG Units);
   1608 void __RPC_STUB IInkRectangle_put_Right_Stub(
   1609     IRpcStubBuffer* This,
   1610     IRpcChannelBuffer* pRpcChannelBuffer,
   1611     PRPC_MESSAGE pRpcMessage,
   1612     DWORD* pdwStubPhase);
   1613 HRESULT STDMETHODCALLTYPE IInkRectangle_get_Data_Proxy(
   1614     IInkRectangle* This,
   1615     RECT *Rect);
   1616 void __RPC_STUB IInkRectangle_get_Data_Stub(
   1617     IRpcStubBuffer* This,
   1618     IRpcChannelBuffer* pRpcChannelBuffer,
   1619     PRPC_MESSAGE pRpcMessage,
   1620     DWORD* pdwStubPhase);
   1621 HRESULT STDMETHODCALLTYPE IInkRectangle_put_Data_Proxy(
   1622     IInkRectangle* This,
   1623     RECT Rect);
   1624 void __RPC_STUB IInkRectangle_put_Data_Stub(
   1625     IRpcStubBuffer* This,
   1626     IRpcChannelBuffer* pRpcChannelBuffer,
   1627     PRPC_MESSAGE pRpcMessage,
   1628     DWORD* pdwStubPhase);
   1629 HRESULT STDMETHODCALLTYPE IInkRectangle_GetRectangle_Proxy(
   1630     IInkRectangle* This,
   1631     LONG *Top,
   1632     LONG *Left,
   1633     LONG *Bottom,
   1634     LONG *Right);
   1635 void __RPC_STUB IInkRectangle_GetRectangle_Stub(
   1636     IRpcStubBuffer* This,
   1637     IRpcChannelBuffer* pRpcChannelBuffer,
   1638     PRPC_MESSAGE pRpcMessage,
   1639     DWORD* pdwStubPhase);
   1640 HRESULT STDMETHODCALLTYPE IInkRectangle_SetRectangle_Proxy(
   1641     IInkRectangle* This,
   1642     LONG Top,
   1643     LONG Left,
   1644     LONG Bottom,
   1645     LONG Right);
   1646 void __RPC_STUB IInkRectangle_SetRectangle_Stub(
   1647     IRpcStubBuffer* This,
   1648     IRpcChannelBuffer* pRpcChannelBuffer,
   1649     PRPC_MESSAGE pRpcMessage,
   1650     DWORD* pdwStubPhase);
   1651 
   1652 #endif  /* __IInkRectangle_INTERFACE_DEFINED__ */
   1653 
   1654 /*****************************************************************************
   1655  * IInkTablet interface
   1656  */
   1657 #ifndef __IInkTablet_INTERFACE_DEFINED__
   1658 #define __IInkTablet_INTERFACE_DEFINED__
   1659 
   1660 DEFINE_GUID(IID_IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d);
   1661 #if defined(__cplusplus) && !defined(CINTERFACE)
   1662 MIDL_INTERFACE("2de25eaa-6ef8-42d5-aee9-185bc81b912d")
   1663 IInkTablet : public IDispatch
   1664 {
   1665     virtual HRESULT STDMETHODCALLTYPE get_Name(
   1666         BSTR *Name) = 0;
   1667 
   1668     virtual HRESULT STDMETHODCALLTYPE get_PlugAndPlayId(
   1669         BSTR *Id) = 0;
   1670 
   1671     virtual HRESULT STDMETHODCALLTYPE get_MaximumInputRectangle(
   1672         IInkRectangle **Rectangle) = 0;
   1673 
   1674     virtual HRESULT STDMETHODCALLTYPE get_HardwareCapabilities(
   1675         TabletHardwareCapabilities *Capabilities) = 0;
   1676 
   1677     virtual HRESULT STDMETHODCALLTYPE IsPacketPropertySupported(
   1678         BSTR packetPropertyName,
   1679         VARIANT_BOOL *Supported) = 0;
   1680 
   1681     virtual HRESULT STDMETHODCALLTYPE GetPropertyMetrics(
   1682         BSTR propertyName,
   1683         LONG *Minimum,
   1684         LONG *Maximum,
   1685         TabletPropertyMetricUnit *Units,
   1686         float *Resolution) = 0;
   1687 
   1688 };
   1689 #ifdef __CRT_UUID_DECL
   1690 __CRT_UUID_DECL(IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d)
   1691 #endif
   1692 #else
   1693 typedef struct IInkTabletVtbl {
   1694     BEGIN_INTERFACE
   1695 
   1696     /*** IUnknown methods ***/
   1697     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1698         IInkTablet* This,
   1699         REFIID riid,
   1700         void **ppvObject);
   1701 
   1702     ULONG (STDMETHODCALLTYPE *AddRef)(
   1703         IInkTablet* This);
   1704 
   1705     ULONG (STDMETHODCALLTYPE *Release)(
   1706         IInkTablet* This);
   1707 
   1708     /*** IDispatch methods ***/
   1709     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1710         IInkTablet* This,
   1711         UINT *pctinfo);
   1712 
   1713     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1714         IInkTablet* This,
   1715         UINT iTInfo,
   1716         LCID lcid,
   1717         ITypeInfo **ppTInfo);
   1718 
   1719     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1720         IInkTablet* This,
   1721         REFIID riid,
   1722         LPOLESTR *rgszNames,
   1723         UINT cNames,
   1724         LCID lcid,
   1725         DISPID *rgDispId);
   1726 
   1727     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1728         IInkTablet* This,
   1729         DISPID dispIdMember,
   1730         REFIID riid,
   1731         LCID lcid,
   1732         WORD wFlags,
   1733         DISPPARAMS *pDispParams,
   1734         VARIANT *pVarResult,
   1735         EXCEPINFO *pExcepInfo,
   1736         UINT *puArgErr);
   1737 
   1738     /*** IInkTablet methods ***/
   1739     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1740         IInkTablet* This,
   1741         BSTR *Name);
   1742 
   1743     HRESULT (STDMETHODCALLTYPE *get_PlugAndPlayId)(
   1744         IInkTablet* This,
   1745         BSTR *Id);
   1746 
   1747     HRESULT (STDMETHODCALLTYPE *get_MaximumInputRectangle)(
   1748         IInkTablet* This,
   1749         IInkRectangle **Rectangle);
   1750 
   1751     HRESULT (STDMETHODCALLTYPE *get_HardwareCapabilities)(
   1752         IInkTablet* This,
   1753         TabletHardwareCapabilities *Capabilities);
   1754 
   1755     HRESULT (STDMETHODCALLTYPE *IsPacketPropertySupported)(
   1756         IInkTablet* This,
   1757         BSTR packetPropertyName,
   1758         VARIANT_BOOL *Supported);
   1759 
   1760     HRESULT (STDMETHODCALLTYPE *GetPropertyMetrics)(
   1761         IInkTablet* This,
   1762         BSTR propertyName,
   1763         LONG *Minimum,
   1764         LONG *Maximum,
   1765         TabletPropertyMetricUnit *Units,
   1766         float *Resolution);
   1767 
   1768     END_INTERFACE
   1769 } IInkTabletVtbl;
   1770 interface IInkTablet {
   1771     CONST_VTBL IInkTabletVtbl* lpVtbl;
   1772 };
   1773 
   1774 #ifdef COBJMACROS
   1775 #ifndef WIDL_C_INLINE_WRAPPERS
   1776 /*** IUnknown methods ***/
   1777 #define IInkTablet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1778 #define IInkTablet_AddRef(This) (This)->lpVtbl->AddRef(This)
   1779 #define IInkTablet_Release(This) (This)->lpVtbl->Release(This)
   1780 /*** IDispatch methods ***/
   1781 #define IInkTablet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1782 #define IInkTablet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1783 #define IInkTablet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1784 #define IInkTablet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1785 /*** IInkTablet methods ***/
   1786 #define IInkTablet_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   1787 #define IInkTablet_get_PlugAndPlayId(This,Id) (This)->lpVtbl->get_PlugAndPlayId(This,Id)
   1788 #define IInkTablet_get_MaximumInputRectangle(This,Rectangle) (This)->lpVtbl->get_MaximumInputRectangle(This,Rectangle)
   1789 #define IInkTablet_get_HardwareCapabilities(This,Capabilities) (This)->lpVtbl->get_HardwareCapabilities(This,Capabilities)
   1790 #define IInkTablet_IsPacketPropertySupported(This,packetPropertyName,Supported) (This)->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported)
   1791 #define IInkTablet_GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution)
   1792 #else
   1793 /*** IUnknown methods ***/
   1794 static FORCEINLINE HRESULT IInkTablet_QueryInterface(IInkTablet* This,REFIID riid,void **ppvObject) {
   1795     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1796 }
   1797 static FORCEINLINE ULONG IInkTablet_AddRef(IInkTablet* This) {
   1798     return This->lpVtbl->AddRef(This);
   1799 }
   1800 static FORCEINLINE ULONG IInkTablet_Release(IInkTablet* This) {
   1801     return This->lpVtbl->Release(This);
   1802 }
   1803 /*** IDispatch methods ***/
   1804 static FORCEINLINE HRESULT IInkTablet_GetTypeInfoCount(IInkTablet* This,UINT *pctinfo) {
   1805     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1806 }
   1807 static FORCEINLINE HRESULT IInkTablet_GetTypeInfo(IInkTablet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1808     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1809 }
   1810 static FORCEINLINE HRESULT IInkTablet_GetIDsOfNames(IInkTablet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1811     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1812 }
   1813 static FORCEINLINE HRESULT IInkTablet_Invoke(IInkTablet* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1814     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1815 }
   1816 /*** IInkTablet methods ***/
   1817 static FORCEINLINE HRESULT IInkTablet_get_Name(IInkTablet* This,BSTR *Name) {
   1818     return This->lpVtbl->get_Name(This,Name);
   1819 }
   1820 static FORCEINLINE HRESULT IInkTablet_get_PlugAndPlayId(IInkTablet* This,BSTR *Id) {
   1821     return This->lpVtbl->get_PlugAndPlayId(This,Id);
   1822 }
   1823 static FORCEINLINE HRESULT IInkTablet_get_MaximumInputRectangle(IInkTablet* This,IInkRectangle **Rectangle) {
   1824     return This->lpVtbl->get_MaximumInputRectangle(This,Rectangle);
   1825 }
   1826 static FORCEINLINE HRESULT IInkTablet_get_HardwareCapabilities(IInkTablet* This,TabletHardwareCapabilities *Capabilities) {
   1827     return This->lpVtbl->get_HardwareCapabilities(This,Capabilities);
   1828 }
   1829 static FORCEINLINE HRESULT IInkTablet_IsPacketPropertySupported(IInkTablet* This,BSTR packetPropertyName,VARIANT_BOOL *Supported) {
   1830     return This->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported);
   1831 }
   1832 static FORCEINLINE HRESULT IInkTablet_GetPropertyMetrics(IInkTablet* This,BSTR propertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) {
   1833     return This->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution);
   1834 }
   1835 #endif
   1836 #endif
   1837 
   1838 #endif
   1839 
   1840 HRESULT STDMETHODCALLTYPE IInkTablet_get_Name_Proxy(
   1841     IInkTablet* This,
   1842     BSTR *Name);
   1843 void __RPC_STUB IInkTablet_get_Name_Stub(
   1844     IRpcStubBuffer* This,
   1845     IRpcChannelBuffer* pRpcChannelBuffer,
   1846     PRPC_MESSAGE pRpcMessage,
   1847     DWORD* pdwStubPhase);
   1848 HRESULT STDMETHODCALLTYPE IInkTablet_get_PlugAndPlayId_Proxy(
   1849     IInkTablet* This,
   1850     BSTR *Id);
   1851 void __RPC_STUB IInkTablet_get_PlugAndPlayId_Stub(
   1852     IRpcStubBuffer* This,
   1853     IRpcChannelBuffer* pRpcChannelBuffer,
   1854     PRPC_MESSAGE pRpcMessage,
   1855     DWORD* pdwStubPhase);
   1856 HRESULT STDMETHODCALLTYPE IInkTablet_get_MaximumInputRectangle_Proxy(
   1857     IInkTablet* This,
   1858     IInkRectangle **Rectangle);
   1859 void __RPC_STUB IInkTablet_get_MaximumInputRectangle_Stub(
   1860     IRpcStubBuffer* This,
   1861     IRpcChannelBuffer* pRpcChannelBuffer,
   1862     PRPC_MESSAGE pRpcMessage,
   1863     DWORD* pdwStubPhase);
   1864 HRESULT STDMETHODCALLTYPE IInkTablet_get_HardwareCapabilities_Proxy(
   1865     IInkTablet* This,
   1866     TabletHardwareCapabilities *Capabilities);
   1867 void __RPC_STUB IInkTablet_get_HardwareCapabilities_Stub(
   1868     IRpcStubBuffer* This,
   1869     IRpcChannelBuffer* pRpcChannelBuffer,
   1870     PRPC_MESSAGE pRpcMessage,
   1871     DWORD* pdwStubPhase);
   1872 HRESULT STDMETHODCALLTYPE IInkTablet_IsPacketPropertySupported_Proxy(
   1873     IInkTablet* This,
   1874     BSTR packetPropertyName,
   1875     VARIANT_BOOL *Supported);
   1876 void __RPC_STUB IInkTablet_IsPacketPropertySupported_Stub(
   1877     IRpcStubBuffer* This,
   1878     IRpcChannelBuffer* pRpcChannelBuffer,
   1879     PRPC_MESSAGE pRpcMessage,
   1880     DWORD* pdwStubPhase);
   1881 HRESULT STDMETHODCALLTYPE IInkTablet_GetPropertyMetrics_Proxy(
   1882     IInkTablet* This,
   1883     BSTR propertyName,
   1884     LONG *Minimum,
   1885     LONG *Maximum,
   1886     TabletPropertyMetricUnit *Units,
   1887     float *Resolution);
   1888 void __RPC_STUB IInkTablet_GetPropertyMetrics_Stub(
   1889     IRpcStubBuffer* This,
   1890     IRpcChannelBuffer* pRpcChannelBuffer,
   1891     PRPC_MESSAGE pRpcMessage,
   1892     DWORD* pdwStubPhase);
   1893 
   1894 #endif  /* __IInkTablet_INTERFACE_DEFINED__ */
   1895 
   1896 /*****************************************************************************
   1897  * IInkCursorButton interface
   1898  */
   1899 #ifndef __IInkCursorButton_INTERFACE_DEFINED__
   1900 #define __IInkCursorButton_INTERFACE_DEFINED__
   1901 
   1902 DEFINE_GUID(IID_IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94);
   1903 #if defined(__cplusplus) && !defined(CINTERFACE)
   1904 MIDL_INTERFACE("85ef9417-1d59-49b2-a13c-702c85430894")
   1905 IInkCursorButton : public IDispatch
   1906 {
   1907     virtual HRESULT STDMETHODCALLTYPE get_Name(
   1908         BSTR *Name) = 0;
   1909 
   1910     virtual HRESULT STDMETHODCALLTYPE get_Id(
   1911         BSTR *Id) = 0;
   1912 
   1913     virtual HRESULT STDMETHODCALLTYPE get_State(
   1914         InkCursorButtonState *CurrentState) = 0;
   1915 
   1916 };
   1917 #ifdef __CRT_UUID_DECL
   1918 __CRT_UUID_DECL(IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94)
   1919 #endif
   1920 #else
   1921 typedef struct IInkCursorButtonVtbl {
   1922     BEGIN_INTERFACE
   1923 
   1924     /*** IUnknown methods ***/
   1925     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1926         IInkCursorButton* This,
   1927         REFIID riid,
   1928         void **ppvObject);
   1929 
   1930     ULONG (STDMETHODCALLTYPE *AddRef)(
   1931         IInkCursorButton* This);
   1932 
   1933     ULONG (STDMETHODCALLTYPE *Release)(
   1934         IInkCursorButton* This);
   1935 
   1936     /*** IDispatch methods ***/
   1937     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1938         IInkCursorButton* This,
   1939         UINT *pctinfo);
   1940 
   1941     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1942         IInkCursorButton* This,
   1943         UINT iTInfo,
   1944         LCID lcid,
   1945         ITypeInfo **ppTInfo);
   1946 
   1947     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1948         IInkCursorButton* This,
   1949         REFIID riid,
   1950         LPOLESTR *rgszNames,
   1951         UINT cNames,
   1952         LCID lcid,
   1953         DISPID *rgDispId);
   1954 
   1955     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1956         IInkCursorButton* This,
   1957         DISPID dispIdMember,
   1958         REFIID riid,
   1959         LCID lcid,
   1960         WORD wFlags,
   1961         DISPPARAMS *pDispParams,
   1962         VARIANT *pVarResult,
   1963         EXCEPINFO *pExcepInfo,
   1964         UINT *puArgErr);
   1965 
   1966     /*** IInkCursorButton methods ***/
   1967     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1968         IInkCursorButton* This,
   1969         BSTR *Name);
   1970 
   1971     HRESULT (STDMETHODCALLTYPE *get_Id)(
   1972         IInkCursorButton* This,
   1973         BSTR *Id);
   1974 
   1975     HRESULT (STDMETHODCALLTYPE *get_State)(
   1976         IInkCursorButton* This,
   1977         InkCursorButtonState *CurrentState);
   1978 
   1979     END_INTERFACE
   1980 } IInkCursorButtonVtbl;
   1981 interface IInkCursorButton {
   1982     CONST_VTBL IInkCursorButtonVtbl* lpVtbl;
   1983 };
   1984 
   1985 #ifdef COBJMACROS
   1986 #ifndef WIDL_C_INLINE_WRAPPERS
   1987 /*** IUnknown methods ***/
   1988 #define IInkCursorButton_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1989 #define IInkCursorButton_AddRef(This) (This)->lpVtbl->AddRef(This)
   1990 #define IInkCursorButton_Release(This) (This)->lpVtbl->Release(This)
   1991 /*** IDispatch methods ***/
   1992 #define IInkCursorButton_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1993 #define IInkCursorButton_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1994 #define IInkCursorButton_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1995 #define IInkCursorButton_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1996 /*** IInkCursorButton methods ***/
   1997 #define IInkCursorButton_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   1998 #define IInkCursorButton_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   1999 #define IInkCursorButton_get_State(This,CurrentState) (This)->lpVtbl->get_State(This,CurrentState)
   2000 #else
   2001 /*** IUnknown methods ***/
   2002 static FORCEINLINE HRESULT IInkCursorButton_QueryInterface(IInkCursorButton* This,REFIID riid,void **ppvObject) {
   2003     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2004 }
   2005 static FORCEINLINE ULONG IInkCursorButton_AddRef(IInkCursorButton* This) {
   2006     return This->lpVtbl->AddRef(This);
   2007 }
   2008 static FORCEINLINE ULONG IInkCursorButton_Release(IInkCursorButton* This) {
   2009     return This->lpVtbl->Release(This);
   2010 }
   2011 /*** IDispatch methods ***/
   2012 static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfoCount(IInkCursorButton* This,UINT *pctinfo) {
   2013     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2014 }
   2015 static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfo(IInkCursorButton* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2016     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2017 }
   2018 static FORCEINLINE HRESULT IInkCursorButton_GetIDsOfNames(IInkCursorButton* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2019     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2020 }
   2021 static FORCEINLINE HRESULT IInkCursorButton_Invoke(IInkCursorButton* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2022     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2023 }
   2024 /*** IInkCursorButton methods ***/
   2025 static FORCEINLINE HRESULT IInkCursorButton_get_Name(IInkCursorButton* This,BSTR *Name) {
   2026     return This->lpVtbl->get_Name(This,Name);
   2027 }
   2028 static FORCEINLINE HRESULT IInkCursorButton_get_Id(IInkCursorButton* This,BSTR *Id) {
   2029     return This->lpVtbl->get_Id(This,Id);
   2030 }
   2031 static FORCEINLINE HRESULT IInkCursorButton_get_State(IInkCursorButton* This,InkCursorButtonState *CurrentState) {
   2032     return This->lpVtbl->get_State(This,CurrentState);
   2033 }
   2034 #endif
   2035 #endif
   2036 
   2037 #endif
   2038 
   2039 HRESULT STDMETHODCALLTYPE IInkCursorButton_get_Name_Proxy(
   2040     IInkCursorButton* This,
   2041     BSTR *Name);
   2042 void __RPC_STUB IInkCursorButton_get_Name_Stub(
   2043     IRpcStubBuffer* This,
   2044     IRpcChannelBuffer* pRpcChannelBuffer,
   2045     PRPC_MESSAGE pRpcMessage,
   2046     DWORD* pdwStubPhase);
   2047 HRESULT STDMETHODCALLTYPE IInkCursorButton_get_Id_Proxy(
   2048     IInkCursorButton* This,
   2049     BSTR *Id);
   2050 void __RPC_STUB IInkCursorButton_get_Id_Stub(
   2051     IRpcStubBuffer* This,
   2052     IRpcChannelBuffer* pRpcChannelBuffer,
   2053     PRPC_MESSAGE pRpcMessage,
   2054     DWORD* pdwStubPhase);
   2055 HRESULT STDMETHODCALLTYPE IInkCursorButton_get_State_Proxy(
   2056     IInkCursorButton* This,
   2057     InkCursorButtonState *CurrentState);
   2058 void __RPC_STUB IInkCursorButton_get_State_Stub(
   2059     IRpcStubBuffer* This,
   2060     IRpcChannelBuffer* pRpcChannelBuffer,
   2061     PRPC_MESSAGE pRpcMessage,
   2062     DWORD* pdwStubPhase);
   2063 
   2064 #endif  /* __IInkCursorButton_INTERFACE_DEFINED__ */
   2065 
   2066 /*****************************************************************************
   2067  * IInkCursorButtons interface
   2068  */
   2069 #ifndef __IInkCursorButtons_INTERFACE_DEFINED__
   2070 #define __IInkCursorButtons_INTERFACE_DEFINED__
   2071 
   2072 DEFINE_GUID(IID_IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54);
   2073 #if defined(__cplusplus) && !defined(CINTERFACE)
   2074 MIDL_INTERFACE("3671cc40-b624-4671-9fa0-db119d952d54")
   2075 IInkCursorButtons : public IDispatch
   2076 {
   2077     virtual HRESULT STDMETHODCALLTYPE get_Count(
   2078         LONG *Count) = 0;
   2079 
   2080     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   2081         IUnknown **_NewEnum) = 0;
   2082 
   2083     virtual HRESULT STDMETHODCALLTYPE Item(
   2084         VARIANT Identifier,
   2085         IInkCursorButton **Button) = 0;
   2086 
   2087 };
   2088 #ifdef __CRT_UUID_DECL
   2089 __CRT_UUID_DECL(IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54)
   2090 #endif
   2091 #else
   2092 typedef struct IInkCursorButtonsVtbl {
   2093     BEGIN_INTERFACE
   2094 
   2095     /*** IUnknown methods ***/
   2096     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2097         IInkCursorButtons* This,
   2098         REFIID riid,
   2099         void **ppvObject);
   2100 
   2101     ULONG (STDMETHODCALLTYPE *AddRef)(
   2102         IInkCursorButtons* This);
   2103 
   2104     ULONG (STDMETHODCALLTYPE *Release)(
   2105         IInkCursorButtons* This);
   2106 
   2107     /*** IDispatch methods ***/
   2108     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2109         IInkCursorButtons* This,
   2110         UINT *pctinfo);
   2111 
   2112     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2113         IInkCursorButtons* This,
   2114         UINT iTInfo,
   2115         LCID lcid,
   2116         ITypeInfo **ppTInfo);
   2117 
   2118     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2119         IInkCursorButtons* This,
   2120         REFIID riid,
   2121         LPOLESTR *rgszNames,
   2122         UINT cNames,
   2123         LCID lcid,
   2124         DISPID *rgDispId);
   2125 
   2126     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2127         IInkCursorButtons* This,
   2128         DISPID dispIdMember,
   2129         REFIID riid,
   2130         LCID lcid,
   2131         WORD wFlags,
   2132         DISPPARAMS *pDispParams,
   2133         VARIANT *pVarResult,
   2134         EXCEPINFO *pExcepInfo,
   2135         UINT *puArgErr);
   2136 
   2137     /*** IInkCursorButtons methods ***/
   2138     HRESULT (STDMETHODCALLTYPE *get_Count)(
   2139         IInkCursorButtons* This,
   2140         LONG *Count);
   2141 
   2142     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   2143         IInkCursorButtons* This,
   2144         IUnknown **_NewEnum);
   2145 
   2146     HRESULT (STDMETHODCALLTYPE *Item)(
   2147         IInkCursorButtons* This,
   2148         VARIANT Identifier,
   2149         IInkCursorButton **Button);
   2150 
   2151     END_INTERFACE
   2152 } IInkCursorButtonsVtbl;
   2153 interface IInkCursorButtons {
   2154     CONST_VTBL IInkCursorButtonsVtbl* lpVtbl;
   2155 };
   2156 
   2157 #ifdef COBJMACROS
   2158 #ifndef WIDL_C_INLINE_WRAPPERS
   2159 /*** IUnknown methods ***/
   2160 #define IInkCursorButtons_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2161 #define IInkCursorButtons_AddRef(This) (This)->lpVtbl->AddRef(This)
   2162 #define IInkCursorButtons_Release(This) (This)->lpVtbl->Release(This)
   2163 /*** IDispatch methods ***/
   2164 #define IInkCursorButtons_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2165 #define IInkCursorButtons_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2166 #define IInkCursorButtons_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2167 #define IInkCursorButtons_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2168 /*** IInkCursorButtons methods ***/
   2169 #define IInkCursorButtons_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   2170 #define IInkCursorButtons_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
   2171 #define IInkCursorButtons_Item(This,Identifier,Button) (This)->lpVtbl->Item(This,Identifier,Button)
   2172 #else
   2173 /*** IUnknown methods ***/
   2174 static FORCEINLINE HRESULT IInkCursorButtons_QueryInterface(IInkCursorButtons* This,REFIID riid,void **ppvObject) {
   2175     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2176 }
   2177 static FORCEINLINE ULONG IInkCursorButtons_AddRef(IInkCursorButtons* This) {
   2178     return This->lpVtbl->AddRef(This);
   2179 }
   2180 static FORCEINLINE ULONG IInkCursorButtons_Release(IInkCursorButtons* This) {
   2181     return This->lpVtbl->Release(This);
   2182 }
   2183 /*** IDispatch methods ***/
   2184 static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfoCount(IInkCursorButtons* This,UINT *pctinfo) {
   2185     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2186 }
   2187 static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfo(IInkCursorButtons* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2188     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2189 }
   2190 static FORCEINLINE HRESULT IInkCursorButtons_GetIDsOfNames(IInkCursorButtons* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2191     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2192 }
   2193 static FORCEINLINE HRESULT IInkCursorButtons_Invoke(IInkCursorButtons* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2194     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2195 }
   2196 /*** IInkCursorButtons methods ***/
   2197 static FORCEINLINE HRESULT IInkCursorButtons_get_Count(IInkCursorButtons* This,LONG *Count) {
   2198     return This->lpVtbl->get_Count(This,Count);
   2199 }
   2200 static FORCEINLINE HRESULT IInkCursorButtons_get__NewEnum(IInkCursorButtons* This,IUnknown **_NewEnum) {
   2201     return This->lpVtbl->get__NewEnum(This,_NewEnum);
   2202 }
   2203 static FORCEINLINE HRESULT IInkCursorButtons_Item(IInkCursorButtons* This,VARIANT Identifier,IInkCursorButton **Button) {
   2204     return This->lpVtbl->Item(This,Identifier,Button);
   2205 }
   2206 #endif
   2207 #endif
   2208 
   2209 #endif
   2210 
   2211 HRESULT STDMETHODCALLTYPE IInkCursorButtons_get_Count_Proxy(
   2212     IInkCursorButtons* This,
   2213     LONG *Count);
   2214 void __RPC_STUB IInkCursorButtons_get_Count_Stub(
   2215     IRpcStubBuffer* This,
   2216     IRpcChannelBuffer* pRpcChannelBuffer,
   2217     PRPC_MESSAGE pRpcMessage,
   2218     DWORD* pdwStubPhase);
   2219 HRESULT STDMETHODCALLTYPE IInkCursorButtons_get__NewEnum_Proxy(
   2220     IInkCursorButtons* This,
   2221     IUnknown **_NewEnum);
   2222 void __RPC_STUB IInkCursorButtons_get__NewEnum_Stub(
   2223     IRpcStubBuffer* This,
   2224     IRpcChannelBuffer* pRpcChannelBuffer,
   2225     PRPC_MESSAGE pRpcMessage,
   2226     DWORD* pdwStubPhase);
   2227 HRESULT STDMETHODCALLTYPE IInkCursorButtons_Item_Proxy(
   2228     IInkCursorButtons* This,
   2229     VARIANT Identifier,
   2230     IInkCursorButton **Button);
   2231 void __RPC_STUB IInkCursorButtons_Item_Stub(
   2232     IRpcStubBuffer* This,
   2233     IRpcChannelBuffer* pRpcChannelBuffer,
   2234     PRPC_MESSAGE pRpcMessage,
   2235     DWORD* pdwStubPhase);
   2236 
   2237 #endif  /* __IInkCursorButtons_INTERFACE_DEFINED__ */
   2238 
   2239 /*****************************************************************************
   2240  * IInkCursor interface
   2241  */
   2242 #ifndef __IInkCursor_INTERFACE_DEFINED__
   2243 #define __IInkCursor_INTERFACE_DEFINED__
   2244 
   2245 DEFINE_GUID(IID_IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58);
   2246 #if defined(__cplusplus) && !defined(CINTERFACE)
   2247 MIDL_INTERFACE("ad30c630-40c5-4350-8405-9c71012fc558")
   2248 IInkCursor : public IDispatch
   2249 {
   2250     virtual HRESULT STDMETHODCALLTYPE get_Name(
   2251         BSTR *Name) = 0;
   2252 
   2253     virtual HRESULT STDMETHODCALLTYPE get_Id(
   2254         LONG *Id) = 0;
   2255 
   2256     virtual HRESULT STDMETHODCALLTYPE get_Inverted(
   2257         VARIANT_BOOL *Status) = 0;
   2258 
   2259     virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes(
   2260         IInkDrawingAttributes **Attributes) = 0;
   2261 
   2262     virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes(
   2263         IInkDrawingAttributes *Attributes) = 0;
   2264 
   2265     virtual HRESULT STDMETHODCALLTYPE get_Tablet(
   2266         IInkTablet **Tablet) = 0;
   2267 
   2268     virtual HRESULT STDMETHODCALLTYPE get_Buttons(
   2269         IInkCursorButtons **Buttons) = 0;
   2270 
   2271 };
   2272 #ifdef __CRT_UUID_DECL
   2273 __CRT_UUID_DECL(IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58)
   2274 #endif
   2275 #else
   2276 typedef struct IInkCursorVtbl {
   2277     BEGIN_INTERFACE
   2278 
   2279     /*** IUnknown methods ***/
   2280     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2281         IInkCursor* This,
   2282         REFIID riid,
   2283         void **ppvObject);
   2284 
   2285     ULONG (STDMETHODCALLTYPE *AddRef)(
   2286         IInkCursor* This);
   2287 
   2288     ULONG (STDMETHODCALLTYPE *Release)(
   2289         IInkCursor* This);
   2290 
   2291     /*** IDispatch methods ***/
   2292     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2293         IInkCursor* This,
   2294         UINT *pctinfo);
   2295 
   2296     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2297         IInkCursor* This,
   2298         UINT iTInfo,
   2299         LCID lcid,
   2300         ITypeInfo **ppTInfo);
   2301 
   2302     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2303         IInkCursor* This,
   2304         REFIID riid,
   2305         LPOLESTR *rgszNames,
   2306         UINT cNames,
   2307         LCID lcid,
   2308         DISPID *rgDispId);
   2309 
   2310     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2311         IInkCursor* This,
   2312         DISPID dispIdMember,
   2313         REFIID riid,
   2314         LCID lcid,
   2315         WORD wFlags,
   2316         DISPPARAMS *pDispParams,
   2317         VARIANT *pVarResult,
   2318         EXCEPINFO *pExcepInfo,
   2319         UINT *puArgErr);
   2320 
   2321     /*** IInkCursor methods ***/
   2322     HRESULT (STDMETHODCALLTYPE *get_Name)(
   2323         IInkCursor* This,
   2324         BSTR *Name);
   2325 
   2326     HRESULT (STDMETHODCALLTYPE *get_Id)(
   2327         IInkCursor* This,
   2328         LONG *Id);
   2329 
   2330     HRESULT (STDMETHODCALLTYPE *get_Inverted)(
   2331         IInkCursor* This,
   2332         VARIANT_BOOL *Status);
   2333 
   2334     HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)(
   2335         IInkCursor* This,
   2336         IInkDrawingAttributes **Attributes);
   2337 
   2338     HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)(
   2339         IInkCursor* This,
   2340         IInkDrawingAttributes *Attributes);
   2341 
   2342     HRESULT (STDMETHODCALLTYPE *get_Tablet)(
   2343         IInkCursor* This,
   2344         IInkTablet **Tablet);
   2345 
   2346     HRESULT (STDMETHODCALLTYPE *get_Buttons)(
   2347         IInkCursor* This,
   2348         IInkCursorButtons **Buttons);
   2349 
   2350     END_INTERFACE
   2351 } IInkCursorVtbl;
   2352 interface IInkCursor {
   2353     CONST_VTBL IInkCursorVtbl* lpVtbl;
   2354 };
   2355 
   2356 #ifdef COBJMACROS
   2357 #ifndef WIDL_C_INLINE_WRAPPERS
   2358 /*** IUnknown methods ***/
   2359 #define IInkCursor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2360 #define IInkCursor_AddRef(This) (This)->lpVtbl->AddRef(This)
   2361 #define IInkCursor_Release(This) (This)->lpVtbl->Release(This)
   2362 /*** IDispatch methods ***/
   2363 #define IInkCursor_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2364 #define IInkCursor_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2365 #define IInkCursor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2366 #define IInkCursor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2367 /*** IInkCursor methods ***/
   2368 #define IInkCursor_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   2369 #define IInkCursor_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   2370 #define IInkCursor_get_Inverted(This,Status) (This)->lpVtbl->get_Inverted(This,Status)
   2371 #define IInkCursor_get_DrawingAttributes(This,Attributes) (This)->lpVtbl->get_DrawingAttributes(This,Attributes)
   2372 #define IInkCursor_putref_DrawingAttributes(This,Attributes) (This)->lpVtbl->putref_DrawingAttributes(This,Attributes)
   2373 #define IInkCursor_get_Tablet(This,Tablet) (This)->lpVtbl->get_Tablet(This,Tablet)
   2374 #define IInkCursor_get_Buttons(This,Buttons) (This)->lpVtbl->get_Buttons(This,Buttons)
   2375 #else
   2376 /*** IUnknown methods ***/
   2377 static FORCEINLINE HRESULT IInkCursor_QueryInterface(IInkCursor* This,REFIID riid,void **ppvObject) {
   2378     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2379 }
   2380 static FORCEINLINE ULONG IInkCursor_AddRef(IInkCursor* This) {
   2381     return This->lpVtbl->AddRef(This);
   2382 }
   2383 static FORCEINLINE ULONG IInkCursor_Release(IInkCursor* This) {
   2384     return This->lpVtbl->Release(This);
   2385 }
   2386 /*** IDispatch methods ***/
   2387 static FORCEINLINE HRESULT IInkCursor_GetTypeInfoCount(IInkCursor* This,UINT *pctinfo) {
   2388     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2389 }
   2390 static FORCEINLINE HRESULT IInkCursor_GetTypeInfo(IInkCursor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2391     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2392 }
   2393 static FORCEINLINE HRESULT IInkCursor_GetIDsOfNames(IInkCursor* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2394     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2395 }
   2396 static FORCEINLINE HRESULT IInkCursor_Invoke(IInkCursor* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2397     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2398 }
   2399 /*** IInkCursor methods ***/
   2400 static FORCEINLINE HRESULT IInkCursor_get_Name(IInkCursor* This,BSTR *Name) {
   2401     return This->lpVtbl->get_Name(This,Name);
   2402 }
   2403 static FORCEINLINE HRESULT IInkCursor_get_Id(IInkCursor* This,LONG *Id) {
   2404     return This->lpVtbl->get_Id(This,Id);
   2405 }
   2406 static FORCEINLINE HRESULT IInkCursor_get_Inverted(IInkCursor* This,VARIANT_BOOL *Status) {
   2407     return This->lpVtbl->get_Inverted(This,Status);
   2408 }
   2409 static FORCEINLINE HRESULT IInkCursor_get_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes **Attributes) {
   2410     return This->lpVtbl->get_DrawingAttributes(This,Attributes);
   2411 }
   2412 static FORCEINLINE HRESULT IInkCursor_putref_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes *Attributes) {
   2413     return This->lpVtbl->putref_DrawingAttributes(This,Attributes);
   2414 }
   2415 static FORCEINLINE HRESULT IInkCursor_get_Tablet(IInkCursor* This,IInkTablet **Tablet) {
   2416     return This->lpVtbl->get_Tablet(This,Tablet);
   2417 }
   2418 static FORCEINLINE HRESULT IInkCursor_get_Buttons(IInkCursor* This,IInkCursorButtons **Buttons) {
   2419     return This->lpVtbl->get_Buttons(This,Buttons);
   2420 }
   2421 #endif
   2422 #endif
   2423 
   2424 #endif
   2425 
   2426 HRESULT STDMETHODCALLTYPE IInkCursor_get_Name_Proxy(
   2427     IInkCursor* This,
   2428     BSTR *Name);
   2429 void __RPC_STUB IInkCursor_get_Name_Stub(
   2430     IRpcStubBuffer* This,
   2431     IRpcChannelBuffer* pRpcChannelBuffer,
   2432     PRPC_MESSAGE pRpcMessage,
   2433     DWORD* pdwStubPhase);
   2434 HRESULT STDMETHODCALLTYPE IInkCursor_get_Id_Proxy(
   2435     IInkCursor* This,
   2436     LONG *Id);
   2437 void __RPC_STUB IInkCursor_get_Id_Stub(
   2438     IRpcStubBuffer* This,
   2439     IRpcChannelBuffer* pRpcChannelBuffer,
   2440     PRPC_MESSAGE pRpcMessage,
   2441     DWORD* pdwStubPhase);
   2442 HRESULT STDMETHODCALLTYPE IInkCursor_get_Inverted_Proxy(
   2443     IInkCursor* This,
   2444     VARIANT_BOOL *Status);
   2445 void __RPC_STUB IInkCursor_get_Inverted_Stub(
   2446     IRpcStubBuffer* This,
   2447     IRpcChannelBuffer* pRpcChannelBuffer,
   2448     PRPC_MESSAGE pRpcMessage,
   2449     DWORD* pdwStubPhase);
   2450 HRESULT STDMETHODCALLTYPE IInkCursor_get_DrawingAttributes_Proxy(
   2451     IInkCursor* This,
   2452     IInkDrawingAttributes **Attributes);
   2453 void __RPC_STUB IInkCursor_get_DrawingAttributes_Stub(
   2454     IRpcStubBuffer* This,
   2455     IRpcChannelBuffer* pRpcChannelBuffer,
   2456     PRPC_MESSAGE pRpcMessage,
   2457     DWORD* pdwStubPhase);
   2458 HRESULT STDMETHODCALLTYPE IInkCursor_putref_DrawingAttributes_Proxy(
   2459     IInkCursor* This,
   2460     IInkDrawingAttributes *Attributes);
   2461 void __RPC_STUB IInkCursor_putref_DrawingAttributes_Stub(
   2462     IRpcStubBuffer* This,
   2463     IRpcChannelBuffer* pRpcChannelBuffer,
   2464     PRPC_MESSAGE pRpcMessage,
   2465     DWORD* pdwStubPhase);
   2466 HRESULT STDMETHODCALLTYPE IInkCursor_get_Tablet_Proxy(
   2467     IInkCursor* This,
   2468     IInkTablet **Tablet);
   2469 void __RPC_STUB IInkCursor_get_Tablet_Stub(
   2470     IRpcStubBuffer* This,
   2471     IRpcChannelBuffer* pRpcChannelBuffer,
   2472     PRPC_MESSAGE pRpcMessage,
   2473     DWORD* pdwStubPhase);
   2474 HRESULT STDMETHODCALLTYPE IInkCursor_get_Buttons_Proxy(
   2475     IInkCursor* This,
   2476     IInkCursorButtons **Buttons);
   2477 void __RPC_STUB IInkCursor_get_Buttons_Stub(
   2478     IRpcStubBuffer* This,
   2479     IRpcChannelBuffer* pRpcChannelBuffer,
   2480     PRPC_MESSAGE pRpcMessage,
   2481     DWORD* pdwStubPhase);
   2482 
   2483 #endif  /* __IInkCursor_INTERFACE_DEFINED__ */
   2484 
   2485 /*****************************************************************************
   2486  * IInkTransform interface
   2487  */
   2488 #ifndef __IInkTransform_INTERFACE_DEFINED__
   2489 #define __IInkTransform_INTERFACE_DEFINED__
   2490 
   2491 DEFINE_GUID(IID_IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7);
   2492 #if defined(__cplusplus) && !defined(CINTERFACE)
   2493 MIDL_INTERFACE("615f1d43-8703-4565-88e2-8201d2ecd7b7")
   2494 IInkTransform : public IDispatch
   2495 {
   2496     virtual HRESULT STDMETHODCALLTYPE Reset(
   2497         ) = 0;
   2498 
   2499     virtual HRESULT STDMETHODCALLTYPE Translate(
   2500         float HorizontalComponent,
   2501         float VerticalComponent) = 0;
   2502 
   2503     virtual HRESULT STDMETHODCALLTYPE Rotate(
   2504         float Degrees,
   2505         float x = 0,
   2506         float y = 0) = 0;
   2507 
   2508     virtual HRESULT STDMETHODCALLTYPE Reflect(
   2509         VARIANT_BOOL Horizontally,
   2510         VARIANT_BOOL Vertically) = 0;
   2511 
   2512     virtual HRESULT STDMETHODCALLTYPE Shear(
   2513         float HorizontalComponent,
   2514         float VerticalComponent) = 0;
   2515 
   2516     virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
   2517         float HorizontalMultiplier,
   2518         float VerticalMultiplier) = 0;
   2519 
   2520     virtual HRESULT STDMETHODCALLTYPE GetTransform(
   2521         float *eM11,
   2522         float *eM12,
   2523         float *eM21,
   2524         float *eM22,
   2525         float *eDx,
   2526         float *eDy) = 0;
   2527 
   2528     virtual HRESULT STDMETHODCALLTYPE SetTransform(
   2529         float eM11,
   2530         float eM12,
   2531         float eM21,
   2532         float eM22,
   2533         float eDx,
   2534         float eDy) = 0;
   2535 
   2536     virtual HRESULT STDMETHODCALLTYPE get_eM11(
   2537         float *Value) = 0;
   2538 
   2539     virtual HRESULT STDMETHODCALLTYPE put_eM11(
   2540         float Value) = 0;
   2541 
   2542     virtual HRESULT STDMETHODCALLTYPE get_eM12(
   2543         float *Value) = 0;
   2544 
   2545     virtual HRESULT STDMETHODCALLTYPE put_eM12(
   2546         float Value) = 0;
   2547 
   2548     virtual HRESULT STDMETHODCALLTYPE get_eM21(
   2549         float *Value) = 0;
   2550 
   2551     virtual HRESULT STDMETHODCALLTYPE put_eM21(
   2552         float Value) = 0;
   2553 
   2554     virtual HRESULT STDMETHODCALLTYPE get_eM22(
   2555         float *Value) = 0;
   2556 
   2557     virtual HRESULT STDMETHODCALLTYPE put_eM22(
   2558         float Value) = 0;
   2559 
   2560     virtual HRESULT STDMETHODCALLTYPE get_eDx(
   2561         float *Value) = 0;
   2562 
   2563     virtual HRESULT STDMETHODCALLTYPE put_eDx(
   2564         float Value) = 0;
   2565 
   2566     virtual HRESULT STDMETHODCALLTYPE get_eDy(
   2567         float *Value) = 0;
   2568 
   2569     virtual HRESULT STDMETHODCALLTYPE put_eDy(
   2570         float Value) = 0;
   2571 
   2572     virtual HRESULT STDMETHODCALLTYPE get_Data(
   2573         XFORM *XForm) = 0;
   2574 
   2575     virtual HRESULT STDMETHODCALLTYPE put_Data(
   2576         XFORM XForm) = 0;
   2577 
   2578 };
   2579 #ifdef __CRT_UUID_DECL
   2580 __CRT_UUID_DECL(IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7)
   2581 #endif
   2582 #else
   2583 typedef struct IInkTransformVtbl {
   2584     BEGIN_INTERFACE
   2585 
   2586     /*** IUnknown methods ***/
   2587     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2588         IInkTransform* This,
   2589         REFIID riid,
   2590         void **ppvObject);
   2591 
   2592     ULONG (STDMETHODCALLTYPE *AddRef)(
   2593         IInkTransform* This);
   2594 
   2595     ULONG (STDMETHODCALLTYPE *Release)(
   2596         IInkTransform* This);
   2597 
   2598     /*** IDispatch methods ***/
   2599     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2600         IInkTransform* This,
   2601         UINT *pctinfo);
   2602 
   2603     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2604         IInkTransform* This,
   2605         UINT iTInfo,
   2606         LCID lcid,
   2607         ITypeInfo **ppTInfo);
   2608 
   2609     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2610         IInkTransform* This,
   2611         REFIID riid,
   2612         LPOLESTR *rgszNames,
   2613         UINT cNames,
   2614         LCID lcid,
   2615         DISPID *rgDispId);
   2616 
   2617     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2618         IInkTransform* This,
   2619         DISPID dispIdMember,
   2620         REFIID riid,
   2621         LCID lcid,
   2622         WORD wFlags,
   2623         DISPPARAMS *pDispParams,
   2624         VARIANT *pVarResult,
   2625         EXCEPINFO *pExcepInfo,
   2626         UINT *puArgErr);
   2627 
   2628     /*** IInkTransform methods ***/
   2629     HRESULT (STDMETHODCALLTYPE *Reset)(
   2630         IInkTransform* This);
   2631 
   2632     HRESULT (STDMETHODCALLTYPE *Translate)(
   2633         IInkTransform* This,
   2634         float HorizontalComponent,
   2635         float VerticalComponent);
   2636 
   2637     HRESULT (STDMETHODCALLTYPE *Rotate)(
   2638         IInkTransform* This,
   2639         float Degrees,
   2640         float x,
   2641         float y);
   2642 
   2643     HRESULT (STDMETHODCALLTYPE *Reflect)(
   2644         IInkTransform* This,
   2645         VARIANT_BOOL Horizontally,
   2646         VARIANT_BOOL Vertically);
   2647 
   2648     HRESULT (STDMETHODCALLTYPE *Shear)(
   2649         IInkTransform* This,
   2650         float HorizontalComponent,
   2651         float VerticalComponent);
   2652 
   2653     HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
   2654         IInkTransform* This,
   2655         float HorizontalMultiplier,
   2656         float VerticalMultiplier);
   2657 
   2658     HRESULT (STDMETHODCALLTYPE *GetTransform)(
   2659         IInkTransform* This,
   2660         float *eM11,
   2661         float *eM12,
   2662         float *eM21,
   2663         float *eM22,
   2664         float *eDx,
   2665         float *eDy);
   2666 
   2667     HRESULT (STDMETHODCALLTYPE *SetTransform)(
   2668         IInkTransform* This,
   2669         float eM11,
   2670         float eM12,
   2671         float eM21,
   2672         float eM22,
   2673         float eDx,
   2674         float eDy);
   2675 
   2676     HRESULT (STDMETHODCALLTYPE *get_eM11)(
   2677         IInkTransform* This,
   2678         float *Value);
   2679 
   2680     HRESULT (STDMETHODCALLTYPE *put_eM11)(
   2681         IInkTransform* This,
   2682         float Value);
   2683 
   2684     HRESULT (STDMETHODCALLTYPE *get_eM12)(
   2685         IInkTransform* This,
   2686         float *Value);
   2687 
   2688     HRESULT (STDMETHODCALLTYPE *put_eM12)(
   2689         IInkTransform* This,
   2690         float Value);
   2691 
   2692     HRESULT (STDMETHODCALLTYPE *get_eM21)(
   2693         IInkTransform* This,
   2694         float *Value);
   2695 
   2696     HRESULT (STDMETHODCALLTYPE *put_eM21)(
   2697         IInkTransform* This,
   2698         float Value);
   2699 
   2700     HRESULT (STDMETHODCALLTYPE *get_eM22)(
   2701         IInkTransform* This,
   2702         float *Value);
   2703 
   2704     HRESULT (STDMETHODCALLTYPE *put_eM22)(
   2705         IInkTransform* This,
   2706         float Value);
   2707 
   2708     HRESULT (STDMETHODCALLTYPE *get_eDx)(
   2709         IInkTransform* This,
   2710         float *Value);
   2711 
   2712     HRESULT (STDMETHODCALLTYPE *put_eDx)(
   2713         IInkTransform* This,
   2714         float Value);
   2715 
   2716     HRESULT (STDMETHODCALLTYPE *get_eDy)(
   2717         IInkTransform* This,
   2718         float *Value);
   2719 
   2720     HRESULT (STDMETHODCALLTYPE *put_eDy)(
   2721         IInkTransform* This,
   2722         float Value);
   2723 
   2724     HRESULT (STDMETHODCALLTYPE *get_Data)(
   2725         IInkTransform* This,
   2726         XFORM *XForm);
   2727 
   2728     HRESULT (STDMETHODCALLTYPE *put_Data)(
   2729         IInkTransform* This,
   2730         XFORM XForm);
   2731 
   2732     END_INTERFACE
   2733 } IInkTransformVtbl;
   2734 interface IInkTransform {
   2735     CONST_VTBL IInkTransformVtbl* lpVtbl;
   2736 };
   2737 
   2738 #ifdef COBJMACROS
   2739 #ifndef WIDL_C_INLINE_WRAPPERS
   2740 /*** IUnknown methods ***/
   2741 #define IInkTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2742 #define IInkTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
   2743 #define IInkTransform_Release(This) (This)->lpVtbl->Release(This)
   2744 /*** IDispatch methods ***/
   2745 #define IInkTransform_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2746 #define IInkTransform_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2747 #define IInkTransform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2748 #define IInkTransform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2749 /*** IInkTransform methods ***/
   2750 #define IInkTransform_Reset(This) (This)->lpVtbl->Reset(This)
   2751 #define IInkTransform_Translate(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent)
   2752 #define IInkTransform_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
   2753 #define IInkTransform_Reflect(This,Horizontally,Vertically) (This)->lpVtbl->Reflect(This,Horizontally,Vertically)
   2754 #define IInkTransform_Shear(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent)
   2755 #define IInkTransform_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
   2756 #define IInkTransform_GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy)
   2757 #define IInkTransform_SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy)
   2758 #define IInkTransform_get_eM11(This,Value) (This)->lpVtbl->get_eM11(This,Value)
   2759 #define IInkTransform_put_eM11(This,Value) (This)->lpVtbl->put_eM11(This,Value)
   2760 #define IInkTransform_get_eM12(This,Value) (This)->lpVtbl->get_eM12(This,Value)
   2761 #define IInkTransform_put_eM12(This,Value) (This)->lpVtbl->put_eM12(This,Value)
   2762 #define IInkTransform_get_eM21(This,Value) (This)->lpVtbl->get_eM21(This,Value)
   2763 #define IInkTransform_put_eM21(This,Value) (This)->lpVtbl->put_eM21(This,Value)
   2764 #define IInkTransform_get_eM22(This,Value) (This)->lpVtbl->get_eM22(This,Value)
   2765 #define IInkTransform_put_eM22(This,Value) (This)->lpVtbl->put_eM22(This,Value)
   2766 #define IInkTransform_get_eDx(This,Value) (This)->lpVtbl->get_eDx(This,Value)
   2767 #define IInkTransform_put_eDx(This,Value) (This)->lpVtbl->put_eDx(This,Value)
   2768 #define IInkTransform_get_eDy(This,Value) (This)->lpVtbl->get_eDy(This,Value)
   2769 #define IInkTransform_put_eDy(This,Value) (This)->lpVtbl->put_eDy(This,Value)
   2770 #define IInkTransform_get_Data(This,XForm) (This)->lpVtbl->get_Data(This,XForm)
   2771 #define IInkTransform_put_Data(This,XForm) (This)->lpVtbl->put_Data(This,XForm)
   2772 #else
   2773 /*** IUnknown methods ***/
   2774 static FORCEINLINE HRESULT IInkTransform_QueryInterface(IInkTransform* This,REFIID riid,void **ppvObject) {
   2775     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2776 }
   2777 static FORCEINLINE ULONG IInkTransform_AddRef(IInkTransform* This) {
   2778     return This->lpVtbl->AddRef(This);
   2779 }
   2780 static FORCEINLINE ULONG IInkTransform_Release(IInkTransform* This) {
   2781     return This->lpVtbl->Release(This);
   2782 }
   2783 /*** IDispatch methods ***/
   2784 static FORCEINLINE HRESULT IInkTransform_GetTypeInfoCount(IInkTransform* This,UINT *pctinfo) {
   2785     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2786 }
   2787 static FORCEINLINE HRESULT IInkTransform_GetTypeInfo(IInkTransform* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2788     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2789 }
   2790 static FORCEINLINE HRESULT IInkTransform_GetIDsOfNames(IInkTransform* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2791     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2792 }
   2793 static FORCEINLINE HRESULT IInkTransform_Invoke(IInkTransform* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2794     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2795 }
   2796 /*** IInkTransform methods ***/
   2797 static FORCEINLINE HRESULT IInkTransform_Reset(IInkTransform* This) {
   2798     return This->lpVtbl->Reset(This);
   2799 }
   2800 static FORCEINLINE HRESULT IInkTransform_Translate(IInkTransform* This,float HorizontalComponent,float VerticalComponent) {
   2801     return This->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent);
   2802 }
   2803 static FORCEINLINE HRESULT IInkTransform_Rotate(IInkTransform* This,float Degrees,float x,float y) {
   2804     return This->lpVtbl->Rotate(This,Degrees,x,y);
   2805 }
   2806 static FORCEINLINE HRESULT IInkTransform_Reflect(IInkTransform* This,VARIANT_BOOL Horizontally,VARIANT_BOOL Vertically) {
   2807     return This->lpVtbl->Reflect(This,Horizontally,Vertically);
   2808 }
   2809 static FORCEINLINE HRESULT IInkTransform_Shear(IInkTransform* This,float HorizontalComponent,float VerticalComponent) {
   2810     return This->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent);
   2811 }
   2812 static FORCEINLINE HRESULT IInkTransform_ScaleTransform(IInkTransform* This,float HorizontalMultiplier,float VerticalMultiplier) {
   2813     return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
   2814 }
   2815 static FORCEINLINE HRESULT IInkTransform_GetTransform(IInkTransform* This,float *eM11,float *eM12,float *eM21,float *eM22,float *eDx,float *eDy) {
   2816     return This->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy);
   2817 }
   2818 static FORCEINLINE HRESULT IInkTransform_SetTransform(IInkTransform* This,float eM11,float eM12,float eM21,float eM22,float eDx,float eDy) {
   2819     return This->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy);
   2820 }
   2821 static FORCEINLINE HRESULT IInkTransform_get_eM11(IInkTransform* This,float *Value) {
   2822     return This->lpVtbl->get_eM11(This,Value);
   2823 }
   2824 static FORCEINLINE HRESULT IInkTransform_put_eM11(IInkTransform* This,float Value) {
   2825     return This->lpVtbl->put_eM11(This,Value);
   2826 }
   2827 static FORCEINLINE HRESULT IInkTransform_get_eM12(IInkTransform* This,float *Value) {
   2828     return This->lpVtbl->get_eM12(This,Value);
   2829 }
   2830 static FORCEINLINE HRESULT IInkTransform_put_eM12(IInkTransform* This,float Value) {
   2831     return This->lpVtbl->put_eM12(This,Value);
   2832 }
   2833 static FORCEINLINE HRESULT IInkTransform_get_eM21(IInkTransform* This,float *Value) {
   2834     return This->lpVtbl->get_eM21(This,Value);
   2835 }
   2836 static FORCEINLINE HRESULT IInkTransform_put_eM21(IInkTransform* This,float Value) {
   2837     return This->lpVtbl->put_eM21(This,Value);
   2838 }
   2839 static FORCEINLINE HRESULT IInkTransform_get_eM22(IInkTransform* This,float *Value) {
   2840     return This->lpVtbl->get_eM22(This,Value);
   2841 }
   2842 static FORCEINLINE HRESULT IInkTransform_put_eM22(IInkTransform* This,float Value) {
   2843     return This->lpVtbl->put_eM22(This,Value);
   2844 }
   2845 static FORCEINLINE HRESULT IInkTransform_get_eDx(IInkTransform* This,float *Value) {
   2846     return This->lpVtbl->get_eDx(This,Value);
   2847 }
   2848 static FORCEINLINE HRESULT IInkTransform_put_eDx(IInkTransform* This,float Value) {
   2849     return This->lpVtbl->put_eDx(This,Value);
   2850 }
   2851 static FORCEINLINE HRESULT IInkTransform_get_eDy(IInkTransform* This,float *Value) {
   2852     return This->lpVtbl->get_eDy(This,Value);
   2853 }
   2854 static FORCEINLINE HRESULT IInkTransform_put_eDy(IInkTransform* This,float Value) {
   2855     return This->lpVtbl->put_eDy(This,Value);
   2856 }
   2857 static FORCEINLINE HRESULT IInkTransform_get_Data(IInkTransform* This,XFORM *XForm) {
   2858     return This->lpVtbl->get_Data(This,XForm);
   2859 }
   2860 static FORCEINLINE HRESULT IInkTransform_put_Data(IInkTransform* This,XFORM XForm) {
   2861     return This->lpVtbl->put_Data(This,XForm);
   2862 }
   2863 #endif
   2864 #endif
   2865 
   2866 #endif
   2867 
   2868 HRESULT STDMETHODCALLTYPE IInkTransform_Reset_Proxy(
   2869     IInkTransform* This);
   2870 void __RPC_STUB IInkTransform_Reset_Stub(
   2871     IRpcStubBuffer* This,
   2872     IRpcChannelBuffer* pRpcChannelBuffer,
   2873     PRPC_MESSAGE pRpcMessage,
   2874     DWORD* pdwStubPhase);
   2875 HRESULT STDMETHODCALLTYPE IInkTransform_Translate_Proxy(
   2876     IInkTransform* This,
   2877     float HorizontalComponent,
   2878     float VerticalComponent);
   2879 void __RPC_STUB IInkTransform_Translate_Stub(
   2880     IRpcStubBuffer* This,
   2881     IRpcChannelBuffer* pRpcChannelBuffer,
   2882     PRPC_MESSAGE pRpcMessage,
   2883     DWORD* pdwStubPhase);
   2884 HRESULT STDMETHODCALLTYPE IInkTransform_Rotate_Proxy(
   2885     IInkTransform* This,
   2886     float Degrees,
   2887     float x,
   2888     float y);
   2889 void __RPC_STUB IInkTransform_Rotate_Stub(
   2890     IRpcStubBuffer* This,
   2891     IRpcChannelBuffer* pRpcChannelBuffer,
   2892     PRPC_MESSAGE pRpcMessage,
   2893     DWORD* pdwStubPhase);
   2894 HRESULT STDMETHODCALLTYPE IInkTransform_Reflect_Proxy(
   2895     IInkTransform* This,
   2896     VARIANT_BOOL Horizontally,
   2897     VARIANT_BOOL Vertically);
   2898 void __RPC_STUB IInkTransform_Reflect_Stub(
   2899     IRpcStubBuffer* This,
   2900     IRpcChannelBuffer* pRpcChannelBuffer,
   2901     PRPC_MESSAGE pRpcMessage,
   2902     DWORD* pdwStubPhase);
   2903 HRESULT STDMETHODCALLTYPE IInkTransform_Shear_Proxy(
   2904     IInkTransform* This,
   2905     float HorizontalComponent,
   2906     float VerticalComponent);
   2907 void __RPC_STUB IInkTransform_Shear_Stub(
   2908     IRpcStubBuffer* This,
   2909     IRpcChannelBuffer* pRpcChannelBuffer,
   2910     PRPC_MESSAGE pRpcMessage,
   2911     DWORD* pdwStubPhase);
   2912 HRESULT STDMETHODCALLTYPE IInkTransform_ScaleTransform_Proxy(
   2913     IInkTransform* This,
   2914     float HorizontalMultiplier,
   2915     float VerticalMultiplier);
   2916 void __RPC_STUB IInkTransform_ScaleTransform_Stub(
   2917     IRpcStubBuffer* This,
   2918     IRpcChannelBuffer* pRpcChannelBuffer,
   2919     PRPC_MESSAGE pRpcMessage,
   2920     DWORD* pdwStubPhase);
   2921 HRESULT STDMETHODCALLTYPE IInkTransform_GetTransform_Proxy(
   2922     IInkTransform* This,
   2923     float *eM11,
   2924     float *eM12,
   2925     float *eM21,
   2926     float *eM22,
   2927     float *eDx,
   2928     float *eDy);
   2929 void __RPC_STUB IInkTransform_GetTransform_Stub(
   2930     IRpcStubBuffer* This,
   2931     IRpcChannelBuffer* pRpcChannelBuffer,
   2932     PRPC_MESSAGE pRpcMessage,
   2933     DWORD* pdwStubPhase);
   2934 HRESULT STDMETHODCALLTYPE IInkTransform_SetTransform_Proxy(
   2935     IInkTransform* This,
   2936     float eM11,
   2937     float eM12,
   2938     float eM21,
   2939     float eM22,
   2940     float eDx,
   2941     float eDy);
   2942 void __RPC_STUB IInkTransform_SetTransform_Stub(
   2943     IRpcStubBuffer* This,
   2944     IRpcChannelBuffer* pRpcChannelBuffer,
   2945     PRPC_MESSAGE pRpcMessage,
   2946     DWORD* pdwStubPhase);
   2947 HRESULT STDMETHODCALLTYPE IInkTransform_get_eM11_Proxy(
   2948     IInkTransform* This,
   2949     float *Value);
   2950 void __RPC_STUB IInkTransform_get_eM11_Stub(
   2951     IRpcStubBuffer* This,
   2952     IRpcChannelBuffer* pRpcChannelBuffer,
   2953     PRPC_MESSAGE pRpcMessage,
   2954     DWORD* pdwStubPhase);
   2955 HRESULT STDMETHODCALLTYPE IInkTransform_put_eM11_Proxy(
   2956     IInkTransform* This,
   2957     float Value);
   2958 void __RPC_STUB IInkTransform_put_eM11_Stub(
   2959     IRpcStubBuffer* This,
   2960     IRpcChannelBuffer* pRpcChannelBuffer,
   2961     PRPC_MESSAGE pRpcMessage,
   2962     DWORD* pdwStubPhase);
   2963 HRESULT STDMETHODCALLTYPE IInkTransform_get_eM12_Proxy(
   2964     IInkTransform* This,
   2965     float *Value);
   2966 void __RPC_STUB IInkTransform_get_eM12_Stub(
   2967     IRpcStubBuffer* This,
   2968     IRpcChannelBuffer* pRpcChannelBuffer,
   2969     PRPC_MESSAGE pRpcMessage,
   2970     DWORD* pdwStubPhase);
   2971 HRESULT STDMETHODCALLTYPE IInkTransform_put_eM12_Proxy(
   2972     IInkTransform* This,
   2973     float Value);
   2974 void __RPC_STUB IInkTransform_put_eM12_Stub(
   2975     IRpcStubBuffer* This,
   2976     IRpcChannelBuffer* pRpcChannelBuffer,
   2977     PRPC_MESSAGE pRpcMessage,
   2978     DWORD* pdwStubPhase);
   2979 HRESULT STDMETHODCALLTYPE IInkTransform_get_eM21_Proxy(
   2980     IInkTransform* This,
   2981     float *Value);
   2982 void __RPC_STUB IInkTransform_get_eM21_Stub(
   2983     IRpcStubBuffer* This,
   2984     IRpcChannelBuffer* pRpcChannelBuffer,
   2985     PRPC_MESSAGE pRpcMessage,
   2986     DWORD* pdwStubPhase);
   2987 HRESULT STDMETHODCALLTYPE IInkTransform_put_eM21_Proxy(
   2988     IInkTransform* This,
   2989     float Value);
   2990 void __RPC_STUB IInkTransform_put_eM21_Stub(
   2991     IRpcStubBuffer* This,
   2992     IRpcChannelBuffer* pRpcChannelBuffer,
   2993     PRPC_MESSAGE pRpcMessage,
   2994     DWORD* pdwStubPhase);
   2995 HRESULT STDMETHODCALLTYPE IInkTransform_get_eM22_Proxy(
   2996     IInkTransform* This,
   2997     float *Value);
   2998 void __RPC_STUB IInkTransform_get_eM22_Stub(
   2999     IRpcStubBuffer* This,
   3000     IRpcChannelBuffer* pRpcChannelBuffer,
   3001     PRPC_MESSAGE pRpcMessage,
   3002     DWORD* pdwStubPhase);
   3003 HRESULT STDMETHODCALLTYPE IInkTransform_put_eM22_Proxy(
   3004     IInkTransform* This,
   3005     float Value);
   3006 void __RPC_STUB IInkTransform_put_eM22_Stub(
   3007     IRpcStubBuffer* This,
   3008     IRpcChannelBuffer* pRpcChannelBuffer,
   3009     PRPC_MESSAGE pRpcMessage,
   3010     DWORD* pdwStubPhase);
   3011 HRESULT STDMETHODCALLTYPE IInkTransform_get_eDx_Proxy(
   3012     IInkTransform* This,
   3013     float *Value);
   3014 void __RPC_STUB IInkTransform_get_eDx_Stub(
   3015     IRpcStubBuffer* This,
   3016     IRpcChannelBuffer* pRpcChannelBuffer,
   3017     PRPC_MESSAGE pRpcMessage,
   3018     DWORD* pdwStubPhase);
   3019 HRESULT STDMETHODCALLTYPE IInkTransform_put_eDx_Proxy(
   3020     IInkTransform* This,
   3021     float Value);
   3022 void __RPC_STUB IInkTransform_put_eDx_Stub(
   3023     IRpcStubBuffer* This,
   3024     IRpcChannelBuffer* pRpcChannelBuffer,
   3025     PRPC_MESSAGE pRpcMessage,
   3026     DWORD* pdwStubPhase);
   3027 HRESULT STDMETHODCALLTYPE IInkTransform_get_eDy_Proxy(
   3028     IInkTransform* This,
   3029     float *Value);
   3030 void __RPC_STUB IInkTransform_get_eDy_Stub(
   3031     IRpcStubBuffer* This,
   3032     IRpcChannelBuffer* pRpcChannelBuffer,
   3033     PRPC_MESSAGE pRpcMessage,
   3034     DWORD* pdwStubPhase);
   3035 HRESULT STDMETHODCALLTYPE IInkTransform_put_eDy_Proxy(
   3036     IInkTransform* This,
   3037     float Value);
   3038 void __RPC_STUB IInkTransform_put_eDy_Stub(
   3039     IRpcStubBuffer* This,
   3040     IRpcChannelBuffer* pRpcChannelBuffer,
   3041     PRPC_MESSAGE pRpcMessage,
   3042     DWORD* pdwStubPhase);
   3043 HRESULT STDMETHODCALLTYPE IInkTransform_get_Data_Proxy(
   3044     IInkTransform* This,
   3045     XFORM *XForm);
   3046 void __RPC_STUB IInkTransform_get_Data_Stub(
   3047     IRpcStubBuffer* This,
   3048     IRpcChannelBuffer* pRpcChannelBuffer,
   3049     PRPC_MESSAGE pRpcMessage,
   3050     DWORD* pdwStubPhase);
   3051 HRESULT STDMETHODCALLTYPE IInkTransform_put_Data_Proxy(
   3052     IInkTransform* This,
   3053     XFORM XForm);
   3054 void __RPC_STUB IInkTransform_put_Data_Stub(
   3055     IRpcStubBuffer* This,
   3056     IRpcChannelBuffer* pRpcChannelBuffer,
   3057     PRPC_MESSAGE pRpcMessage,
   3058     DWORD* pdwStubPhase);
   3059 
   3060 #endif  /* __IInkTransform_INTERFACE_DEFINED__ */
   3061 
   3062 /*****************************************************************************
   3063  * IInkRecognitionAlternates interface
   3064  */
   3065 #ifndef __IInkRecognitionAlternates_INTERFACE_DEFINED__
   3066 #define __IInkRecognitionAlternates_INTERFACE_DEFINED__
   3067 
   3068 DEFINE_GUID(IID_IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84);
   3069 #if defined(__cplusplus) && !defined(CINTERFACE)
   3070 MIDL_INTERFACE("286a167f-9f19-4c61-9d53-4f07be622b84")
   3071 IInkRecognitionAlternates : public IDispatch
   3072 {
   3073     virtual HRESULT STDMETHODCALLTYPE get_Count(
   3074         LONG *Count) = 0;
   3075 
   3076     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   3077         IUnknown **_NewEnum) = 0;
   3078 
   3079     virtual HRESULT STDMETHODCALLTYPE get_Strokes(
   3080         IInkStrokes **Strokes) = 0;
   3081 
   3082     virtual HRESULT STDMETHODCALLTYPE Item(
   3083         LONG Index,
   3084         IInkRecognitionAlternate **InkRecoAlternate) = 0;
   3085 
   3086 };
   3087 #ifdef __CRT_UUID_DECL
   3088 __CRT_UUID_DECL(IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84)
   3089 #endif
   3090 #else
   3091 typedef struct IInkRecognitionAlternatesVtbl {
   3092     BEGIN_INTERFACE
   3093 
   3094     /*** IUnknown methods ***/
   3095     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3096         IInkRecognitionAlternates* This,
   3097         REFIID riid,
   3098         void **ppvObject);
   3099 
   3100     ULONG (STDMETHODCALLTYPE *AddRef)(
   3101         IInkRecognitionAlternates* This);
   3102 
   3103     ULONG (STDMETHODCALLTYPE *Release)(
   3104         IInkRecognitionAlternates* This);
   3105 
   3106     /*** IDispatch methods ***/
   3107     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3108         IInkRecognitionAlternates* This,
   3109         UINT *pctinfo);
   3110 
   3111     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3112         IInkRecognitionAlternates* This,
   3113         UINT iTInfo,
   3114         LCID lcid,
   3115         ITypeInfo **ppTInfo);
   3116 
   3117     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3118         IInkRecognitionAlternates* This,
   3119         REFIID riid,
   3120         LPOLESTR *rgszNames,
   3121         UINT cNames,
   3122         LCID lcid,
   3123         DISPID *rgDispId);
   3124 
   3125     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3126         IInkRecognitionAlternates* This,
   3127         DISPID dispIdMember,
   3128         REFIID riid,
   3129         LCID lcid,
   3130         WORD wFlags,
   3131         DISPPARAMS *pDispParams,
   3132         VARIANT *pVarResult,
   3133         EXCEPINFO *pExcepInfo,
   3134         UINT *puArgErr);
   3135 
   3136     /*** IInkRecognitionAlternates methods ***/
   3137     HRESULT (STDMETHODCALLTYPE *get_Count)(
   3138         IInkRecognitionAlternates* This,
   3139         LONG *Count);
   3140 
   3141     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   3142         IInkRecognitionAlternates* This,
   3143         IUnknown **_NewEnum);
   3144 
   3145     HRESULT (STDMETHODCALLTYPE *get_Strokes)(
   3146         IInkRecognitionAlternates* This,
   3147         IInkStrokes **Strokes);
   3148 
   3149     HRESULT (STDMETHODCALLTYPE *Item)(
   3150         IInkRecognitionAlternates* This,
   3151         LONG Index,
   3152         IInkRecognitionAlternate **InkRecoAlternate);
   3153 
   3154     END_INTERFACE
   3155 } IInkRecognitionAlternatesVtbl;
   3156 interface IInkRecognitionAlternates {
   3157     CONST_VTBL IInkRecognitionAlternatesVtbl* lpVtbl;
   3158 };
   3159 
   3160 #ifdef COBJMACROS
   3161 #ifndef WIDL_C_INLINE_WRAPPERS
   3162 /*** IUnknown methods ***/
   3163 #define IInkRecognitionAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3164 #define IInkRecognitionAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
   3165 #define IInkRecognitionAlternates_Release(This) (This)->lpVtbl->Release(This)
   3166 /*** IDispatch methods ***/
   3167 #define IInkRecognitionAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3168 #define IInkRecognitionAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3169 #define IInkRecognitionAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3170 #define IInkRecognitionAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3171 /*** IInkRecognitionAlternates methods ***/
   3172 #define IInkRecognitionAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   3173 #define IInkRecognitionAlternates_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
   3174 #define IInkRecognitionAlternates_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
   3175 #define IInkRecognitionAlternates_Item(This,Index,InkRecoAlternate) (This)->lpVtbl->Item(This,Index,InkRecoAlternate)
   3176 #else
   3177 /*** IUnknown methods ***/
   3178 static FORCEINLINE HRESULT IInkRecognitionAlternates_QueryInterface(IInkRecognitionAlternates* This,REFIID riid,void **ppvObject) {
   3179     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3180 }
   3181 static FORCEINLINE ULONG IInkRecognitionAlternates_AddRef(IInkRecognitionAlternates* This) {
   3182     return This->lpVtbl->AddRef(This);
   3183 }
   3184 static FORCEINLINE ULONG IInkRecognitionAlternates_Release(IInkRecognitionAlternates* This) {
   3185     return This->lpVtbl->Release(This);
   3186 }
   3187 /*** IDispatch methods ***/
   3188 static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfoCount(IInkRecognitionAlternates* This,UINT *pctinfo) {
   3189     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3190 }
   3191 static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfo(IInkRecognitionAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3192     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3193 }
   3194 static FORCEINLINE HRESULT IInkRecognitionAlternates_GetIDsOfNames(IInkRecognitionAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3195     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3196 }
   3197 static FORCEINLINE HRESULT IInkRecognitionAlternates_Invoke(IInkRecognitionAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3198     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3199 }
   3200 /*** IInkRecognitionAlternates methods ***/
   3201 static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Count(IInkRecognitionAlternates* This,LONG *Count) {
   3202     return This->lpVtbl->get_Count(This,Count);
   3203 }
   3204 static FORCEINLINE HRESULT IInkRecognitionAlternates_get__NewEnum(IInkRecognitionAlternates* This,IUnknown **_NewEnum) {
   3205     return This->lpVtbl->get__NewEnum(This,_NewEnum);
   3206 }
   3207 static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Strokes(IInkRecognitionAlternates* This,IInkStrokes **Strokes) {
   3208     return This->lpVtbl->get_Strokes(This,Strokes);
   3209 }
   3210 static FORCEINLINE HRESULT IInkRecognitionAlternates_Item(IInkRecognitionAlternates* This,LONG Index,IInkRecognitionAlternate **InkRecoAlternate) {
   3211     return This->lpVtbl->Item(This,Index,InkRecoAlternate);
   3212 }
   3213 #endif
   3214 #endif
   3215 
   3216 #endif
   3217 
   3218 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternates_get_Count_Proxy(
   3219     IInkRecognitionAlternates* This,
   3220     LONG *Count);
   3221 void __RPC_STUB IInkRecognitionAlternates_get_Count_Stub(
   3222     IRpcStubBuffer* This,
   3223     IRpcChannelBuffer* pRpcChannelBuffer,
   3224     PRPC_MESSAGE pRpcMessage,
   3225     DWORD* pdwStubPhase);
   3226 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternates_get__NewEnum_Proxy(
   3227     IInkRecognitionAlternates* This,
   3228     IUnknown **_NewEnum);
   3229 void __RPC_STUB IInkRecognitionAlternates_get__NewEnum_Stub(
   3230     IRpcStubBuffer* This,
   3231     IRpcChannelBuffer* pRpcChannelBuffer,
   3232     PRPC_MESSAGE pRpcMessage,
   3233     DWORD* pdwStubPhase);
   3234 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternates_get_Strokes_Proxy(
   3235     IInkRecognitionAlternates* This,
   3236     IInkStrokes **Strokes);
   3237 void __RPC_STUB IInkRecognitionAlternates_get_Strokes_Stub(
   3238     IRpcStubBuffer* This,
   3239     IRpcChannelBuffer* pRpcChannelBuffer,
   3240     PRPC_MESSAGE pRpcMessage,
   3241     DWORD* pdwStubPhase);
   3242 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternates_Item_Proxy(
   3243     IInkRecognitionAlternates* This,
   3244     LONG Index,
   3245     IInkRecognitionAlternate **InkRecoAlternate);
   3246 void __RPC_STUB IInkRecognitionAlternates_Item_Stub(
   3247     IRpcStubBuffer* This,
   3248     IRpcChannelBuffer* pRpcChannelBuffer,
   3249     PRPC_MESSAGE pRpcMessage,
   3250     DWORD* pdwStubPhase);
   3251 
   3252 #endif  /* __IInkRecognitionAlternates_INTERFACE_DEFINED__ */
   3253 
   3254 /*****************************************************************************
   3255  * IInkRecognitionAlternate interface
   3256  */
   3257 #ifndef __IInkRecognitionAlternate_INTERFACE_DEFINED__
   3258 #define __IInkRecognitionAlternate_INTERFACE_DEFINED__
   3259 
   3260 DEFINE_GUID(IID_IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a);
   3261 #if defined(__cplusplus) && !defined(CINTERFACE)
   3262 MIDL_INTERFACE("b7e660ad-77e4-429b-adda-873780d1fc4a")
   3263 IInkRecognitionAlternate : public IDispatch
   3264 {
   3265     virtual HRESULT STDMETHODCALLTYPE get_String(
   3266         BSTR *RecoString) = 0;
   3267 
   3268     virtual HRESULT STDMETHODCALLTYPE get_Confidence(
   3269         InkRecognitionConfidence *Confidence) = 0;
   3270 
   3271     virtual HRESULT STDMETHODCALLTYPE get_Baseline(
   3272         VARIANT *Baseline) = 0;
   3273 
   3274     virtual HRESULT STDMETHODCALLTYPE get_Midline(
   3275         VARIANT *Midline) = 0;
   3276 
   3277     virtual HRESULT STDMETHODCALLTYPE get_Ascender(
   3278         VARIANT *Ascender) = 0;
   3279 
   3280     virtual HRESULT STDMETHODCALLTYPE get_Descender(
   3281         VARIANT *Descender) = 0;
   3282 
   3283     virtual HRESULT STDMETHODCALLTYPE get_LineNumber(
   3284         LONG *LineNumber) = 0;
   3285 
   3286     virtual HRESULT STDMETHODCALLTYPE get_Strokes(
   3287         IInkStrokes **Strokes) = 0;
   3288 
   3289     virtual HRESULT STDMETHODCALLTYPE get_LineAlternates(
   3290         IInkRecognitionAlternates **LineAlternates) = 0;
   3291 
   3292     virtual HRESULT STDMETHODCALLTYPE get_ConfidenceAlternates(
   3293         IInkRecognitionAlternates **ConfidenceAlternates) = 0;
   3294 
   3295     virtual HRESULT STDMETHODCALLTYPE GetStrokesFromStrokeRanges(
   3296         IInkStrokes *Strokes,
   3297         IInkStrokes **GetStrokesFromStrokeRanges) = 0;
   3298 
   3299     virtual HRESULT STDMETHODCALLTYPE GetStrokesFromTextRange(
   3300         LONG *selectionStart,
   3301         LONG *selectionLength,
   3302         IInkStrokes **GetStrokesFromTextRange) = 0;
   3303 
   3304     virtual HRESULT STDMETHODCALLTYPE GetTextRangeFromStrokes(
   3305         IInkStrokes *Strokes,
   3306         LONG *selectionStart,
   3307         LONG *selectionLength) = 0;
   3308 
   3309     virtual HRESULT STDMETHODCALLTYPE AlternatesWithConstantPropertyValues(
   3310         BSTR PropertyType,
   3311         IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) = 0;
   3312 
   3313     virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
   3314         BSTR PropertyType,
   3315         VARIANT *PropertyValue) = 0;
   3316 
   3317 };
   3318 #ifdef __CRT_UUID_DECL
   3319 __CRT_UUID_DECL(IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a)
   3320 #endif
   3321 #else
   3322 typedef struct IInkRecognitionAlternateVtbl {
   3323     BEGIN_INTERFACE
   3324 
   3325     /*** IUnknown methods ***/
   3326     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3327         IInkRecognitionAlternate* This,
   3328         REFIID riid,
   3329         void **ppvObject);
   3330 
   3331     ULONG (STDMETHODCALLTYPE *AddRef)(
   3332         IInkRecognitionAlternate* This);
   3333 
   3334     ULONG (STDMETHODCALLTYPE *Release)(
   3335         IInkRecognitionAlternate* This);
   3336 
   3337     /*** IDispatch methods ***/
   3338     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3339         IInkRecognitionAlternate* This,
   3340         UINT *pctinfo);
   3341 
   3342     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3343         IInkRecognitionAlternate* This,
   3344         UINT iTInfo,
   3345         LCID lcid,
   3346         ITypeInfo **ppTInfo);
   3347 
   3348     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3349         IInkRecognitionAlternate* This,
   3350         REFIID riid,
   3351         LPOLESTR *rgszNames,
   3352         UINT cNames,
   3353         LCID lcid,
   3354         DISPID *rgDispId);
   3355 
   3356     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3357         IInkRecognitionAlternate* This,
   3358         DISPID dispIdMember,
   3359         REFIID riid,
   3360         LCID lcid,
   3361         WORD wFlags,
   3362         DISPPARAMS *pDispParams,
   3363         VARIANT *pVarResult,
   3364         EXCEPINFO *pExcepInfo,
   3365         UINT *puArgErr);
   3366 
   3367     /*** IInkRecognitionAlternate methods ***/
   3368     HRESULT (STDMETHODCALLTYPE *get_String)(
   3369         IInkRecognitionAlternate* This,
   3370         BSTR *RecoString);
   3371 
   3372     HRESULT (STDMETHODCALLTYPE *get_Confidence)(
   3373         IInkRecognitionAlternate* This,
   3374         InkRecognitionConfidence *Confidence);
   3375 
   3376     HRESULT (STDMETHODCALLTYPE *get_Baseline)(
   3377         IInkRecognitionAlternate* This,
   3378         VARIANT *Baseline);
   3379 
   3380     HRESULT (STDMETHODCALLTYPE *get_Midline)(
   3381         IInkRecognitionAlternate* This,
   3382         VARIANT *Midline);
   3383 
   3384     HRESULT (STDMETHODCALLTYPE *get_Ascender)(
   3385         IInkRecognitionAlternate* This,
   3386         VARIANT *Ascender);
   3387 
   3388     HRESULT (STDMETHODCALLTYPE *get_Descender)(
   3389         IInkRecognitionAlternate* This,
   3390         VARIANT *Descender);
   3391 
   3392     HRESULT (STDMETHODCALLTYPE *get_LineNumber)(
   3393         IInkRecognitionAlternate* This,
   3394         LONG *LineNumber);
   3395 
   3396     HRESULT (STDMETHODCALLTYPE *get_Strokes)(
   3397         IInkRecognitionAlternate* This,
   3398         IInkStrokes **Strokes);
   3399 
   3400     HRESULT (STDMETHODCALLTYPE *get_LineAlternates)(
   3401         IInkRecognitionAlternate* This,
   3402         IInkRecognitionAlternates **LineAlternates);
   3403 
   3404     HRESULT (STDMETHODCALLTYPE *get_ConfidenceAlternates)(
   3405         IInkRecognitionAlternate* This,
   3406         IInkRecognitionAlternates **ConfidenceAlternates);
   3407 
   3408     HRESULT (STDMETHODCALLTYPE *GetStrokesFromStrokeRanges)(
   3409         IInkRecognitionAlternate* This,
   3410         IInkStrokes *Strokes,
   3411         IInkStrokes **GetStrokesFromStrokeRanges);
   3412 
   3413     HRESULT (STDMETHODCALLTYPE *GetStrokesFromTextRange)(
   3414         IInkRecognitionAlternate* This,
   3415         LONG *selectionStart,
   3416         LONG *selectionLength,
   3417         IInkStrokes **GetStrokesFromTextRange);
   3418 
   3419     HRESULT (STDMETHODCALLTYPE *GetTextRangeFromStrokes)(
   3420         IInkRecognitionAlternate* This,
   3421         IInkStrokes *Strokes,
   3422         LONG *selectionStart,
   3423         LONG *selectionLength);
   3424 
   3425     HRESULT (STDMETHODCALLTYPE *AlternatesWithConstantPropertyValues)(
   3426         IInkRecognitionAlternate* This,
   3427         BSTR PropertyType,
   3428         IInkRecognitionAlternates **AlternatesWithConstantPropertyValues);
   3429 
   3430     HRESULT (STDMETHODCALLTYPE *GetPropertyValue)(
   3431         IInkRecognitionAlternate* This,
   3432         BSTR PropertyType,
   3433         VARIANT *PropertyValue);
   3434 
   3435     END_INTERFACE
   3436 } IInkRecognitionAlternateVtbl;
   3437 interface IInkRecognitionAlternate {
   3438     CONST_VTBL IInkRecognitionAlternateVtbl* lpVtbl;
   3439 };
   3440 
   3441 #ifdef COBJMACROS
   3442 #ifndef WIDL_C_INLINE_WRAPPERS
   3443 /*** IUnknown methods ***/
   3444 #define IInkRecognitionAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3445 #define IInkRecognitionAlternate_AddRef(This) (This)->lpVtbl->AddRef(This)
   3446 #define IInkRecognitionAlternate_Release(This) (This)->lpVtbl->Release(This)
   3447 /*** IDispatch methods ***/
   3448 #define IInkRecognitionAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3449 #define IInkRecognitionAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3450 #define IInkRecognitionAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3451 #define IInkRecognitionAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3452 /*** IInkRecognitionAlternate methods ***/
   3453 #define IInkRecognitionAlternate_get_String(This,RecoString) (This)->lpVtbl->get_String(This,RecoString)
   3454 #define IInkRecognitionAlternate_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence)
   3455 #define IInkRecognitionAlternate_get_Baseline(This,Baseline) (This)->lpVtbl->get_Baseline(This,Baseline)
   3456 #define IInkRecognitionAlternate_get_Midline(This,Midline) (This)->lpVtbl->get_Midline(This,Midline)
   3457 #define IInkRecognitionAlternate_get_Ascender(This,Ascender) (This)->lpVtbl->get_Ascender(This,Ascender)
   3458 #define IInkRecognitionAlternate_get_Descender(This,Descender) (This)->lpVtbl->get_Descender(This,Descender)
   3459 #define IInkRecognitionAlternate_get_LineNumber(This,LineNumber) (This)->lpVtbl->get_LineNumber(This,LineNumber)
   3460 #define IInkRecognitionAlternate_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
   3461 #define IInkRecognitionAlternate_get_LineAlternates(This,LineAlternates) (This)->lpVtbl->get_LineAlternates(This,LineAlternates)
   3462 #define IInkRecognitionAlternate_get_ConfidenceAlternates(This,ConfidenceAlternates) (This)->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates)
   3463 #define IInkRecognitionAlternate_GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges) (This)->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges)
   3464 #define IInkRecognitionAlternate_GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange) (This)->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange)
   3465 #define IInkRecognitionAlternate_GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength) (This)->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength)
   3466 #define IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues) (This)->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues)
   3467 #define IInkRecognitionAlternate_GetPropertyValue(This,PropertyType,PropertyValue) (This)->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue)
   3468 #else
   3469 /*** IUnknown methods ***/
   3470 static FORCEINLINE HRESULT IInkRecognitionAlternate_QueryInterface(IInkRecognitionAlternate* This,REFIID riid,void **ppvObject) {
   3471     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3472 }
   3473 static FORCEINLINE ULONG IInkRecognitionAlternate_AddRef(IInkRecognitionAlternate* This) {
   3474     return This->lpVtbl->AddRef(This);
   3475 }
   3476 static FORCEINLINE ULONG IInkRecognitionAlternate_Release(IInkRecognitionAlternate* This) {
   3477     return This->lpVtbl->Release(This);
   3478 }
   3479 /*** IDispatch methods ***/
   3480 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfoCount(IInkRecognitionAlternate* This,UINT *pctinfo) {
   3481     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3482 }
   3483 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfo(IInkRecognitionAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3484     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3485 }
   3486 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetIDsOfNames(IInkRecognitionAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3487     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3488 }
   3489 static FORCEINLINE HRESULT IInkRecognitionAlternate_Invoke(IInkRecognitionAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3490     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3491 }
   3492 /*** IInkRecognitionAlternate methods ***/
   3493 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_String(IInkRecognitionAlternate* This,BSTR *RecoString) {
   3494     return This->lpVtbl->get_String(This,RecoString);
   3495 }
   3496 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Confidence(IInkRecognitionAlternate* This,InkRecognitionConfidence *Confidence) {
   3497     return This->lpVtbl->get_Confidence(This,Confidence);
   3498 }
   3499 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Baseline(IInkRecognitionAlternate* This,VARIANT *Baseline) {
   3500     return This->lpVtbl->get_Baseline(This,Baseline);
   3501 }
   3502 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Midline(IInkRecognitionAlternate* This,VARIANT *Midline) {
   3503     return This->lpVtbl->get_Midline(This,Midline);
   3504 }
   3505 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Ascender(IInkRecognitionAlternate* This,VARIANT *Ascender) {
   3506     return This->lpVtbl->get_Ascender(This,Ascender);
   3507 }
   3508 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Descender(IInkRecognitionAlternate* This,VARIANT *Descender) {
   3509     return This->lpVtbl->get_Descender(This,Descender);
   3510 }
   3511 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineNumber(IInkRecognitionAlternate* This,LONG *LineNumber) {
   3512     return This->lpVtbl->get_LineNumber(This,LineNumber);
   3513 }
   3514 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Strokes(IInkRecognitionAlternate* This,IInkStrokes **Strokes) {
   3515     return This->lpVtbl->get_Strokes(This,Strokes);
   3516 }
   3517 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **LineAlternates) {
   3518     return This->lpVtbl->get_LineAlternates(This,LineAlternates);
   3519 }
   3520 static FORCEINLINE HRESULT IInkRecognitionAlternate_get_ConfidenceAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **ConfidenceAlternates) {
   3521     return This->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates);
   3522 }
   3523 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromStrokeRanges(IInkRecognitionAlternate* This,IInkStrokes *Strokes,IInkStrokes **GetStrokesFromStrokeRanges) {
   3524     return This->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges);
   3525 }
   3526 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromTextRange(IInkRecognitionAlternate* This,LONG *selectionStart,LONG *selectionLength,IInkStrokes **GetStrokesFromTextRange) {
   3527     return This->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange);
   3528 }
   3529 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTextRangeFromStrokes(IInkRecognitionAlternate* This,IInkStrokes *Strokes,LONG *selectionStart,LONG *selectionLength) {
   3530     return This->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength);
   3531 }
   3532 static FORCEINLINE HRESULT IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(IInkRecognitionAlternate* This,BSTR PropertyType,IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) {
   3533     return This->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues);
   3534 }
   3535 static FORCEINLINE HRESULT IInkRecognitionAlternate_GetPropertyValue(IInkRecognitionAlternate* This,BSTR PropertyType,VARIANT *PropertyValue) {
   3536     return This->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue);
   3537 }
   3538 #endif
   3539 #endif
   3540 
   3541 #endif
   3542 
   3543 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_String_Proxy(
   3544     IInkRecognitionAlternate* This,
   3545     BSTR *RecoString);
   3546 void __RPC_STUB IInkRecognitionAlternate_get_String_Stub(
   3547     IRpcStubBuffer* This,
   3548     IRpcChannelBuffer* pRpcChannelBuffer,
   3549     PRPC_MESSAGE pRpcMessage,
   3550     DWORD* pdwStubPhase);
   3551 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Confidence_Proxy(
   3552     IInkRecognitionAlternate* This,
   3553     InkRecognitionConfidence *Confidence);
   3554 void __RPC_STUB IInkRecognitionAlternate_get_Confidence_Stub(
   3555     IRpcStubBuffer* This,
   3556     IRpcChannelBuffer* pRpcChannelBuffer,
   3557     PRPC_MESSAGE pRpcMessage,
   3558     DWORD* pdwStubPhase);
   3559 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Baseline_Proxy(
   3560     IInkRecognitionAlternate* This,
   3561     VARIANT *Baseline);
   3562 void __RPC_STUB IInkRecognitionAlternate_get_Baseline_Stub(
   3563     IRpcStubBuffer* This,
   3564     IRpcChannelBuffer* pRpcChannelBuffer,
   3565     PRPC_MESSAGE pRpcMessage,
   3566     DWORD* pdwStubPhase);
   3567 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Midline_Proxy(
   3568     IInkRecognitionAlternate* This,
   3569     VARIANT *Midline);
   3570 void __RPC_STUB IInkRecognitionAlternate_get_Midline_Stub(
   3571     IRpcStubBuffer* This,
   3572     IRpcChannelBuffer* pRpcChannelBuffer,
   3573     PRPC_MESSAGE pRpcMessage,
   3574     DWORD* pdwStubPhase);
   3575 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Ascender_Proxy(
   3576     IInkRecognitionAlternate* This,
   3577     VARIANT *Ascender);
   3578 void __RPC_STUB IInkRecognitionAlternate_get_Ascender_Stub(
   3579     IRpcStubBuffer* This,
   3580     IRpcChannelBuffer* pRpcChannelBuffer,
   3581     PRPC_MESSAGE pRpcMessage,
   3582     DWORD* pdwStubPhase);
   3583 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Descender_Proxy(
   3584     IInkRecognitionAlternate* This,
   3585     VARIANT *Descender);
   3586 void __RPC_STUB IInkRecognitionAlternate_get_Descender_Stub(
   3587     IRpcStubBuffer* This,
   3588     IRpcChannelBuffer* pRpcChannelBuffer,
   3589     PRPC_MESSAGE pRpcMessage,
   3590     DWORD* pdwStubPhase);
   3591 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_LineNumber_Proxy(
   3592     IInkRecognitionAlternate* This,
   3593     LONG *LineNumber);
   3594 void __RPC_STUB IInkRecognitionAlternate_get_LineNumber_Stub(
   3595     IRpcStubBuffer* This,
   3596     IRpcChannelBuffer* pRpcChannelBuffer,
   3597     PRPC_MESSAGE pRpcMessage,
   3598     DWORD* pdwStubPhase);
   3599 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_Strokes_Proxy(
   3600     IInkRecognitionAlternate* This,
   3601     IInkStrokes **Strokes);
   3602 void __RPC_STUB IInkRecognitionAlternate_get_Strokes_Stub(
   3603     IRpcStubBuffer* This,
   3604     IRpcChannelBuffer* pRpcChannelBuffer,
   3605     PRPC_MESSAGE pRpcMessage,
   3606     DWORD* pdwStubPhase);
   3607 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_LineAlternates_Proxy(
   3608     IInkRecognitionAlternate* This,
   3609     IInkRecognitionAlternates **LineAlternates);
   3610 void __RPC_STUB IInkRecognitionAlternate_get_LineAlternates_Stub(
   3611     IRpcStubBuffer* This,
   3612     IRpcChannelBuffer* pRpcChannelBuffer,
   3613     PRPC_MESSAGE pRpcMessage,
   3614     DWORD* pdwStubPhase);
   3615 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_get_ConfidenceAlternates_Proxy(
   3616     IInkRecognitionAlternate* This,
   3617     IInkRecognitionAlternates **ConfidenceAlternates);
   3618 void __RPC_STUB IInkRecognitionAlternate_get_ConfidenceAlternates_Stub(
   3619     IRpcStubBuffer* This,
   3620     IRpcChannelBuffer* pRpcChannelBuffer,
   3621     PRPC_MESSAGE pRpcMessage,
   3622     DWORD* pdwStubPhase);
   3623 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_GetStrokesFromStrokeRanges_Proxy(
   3624     IInkRecognitionAlternate* This,
   3625     IInkStrokes *Strokes,
   3626     IInkStrokes **GetStrokesFromStrokeRanges);
   3627 void __RPC_STUB IInkRecognitionAlternate_GetStrokesFromStrokeRanges_Stub(
   3628     IRpcStubBuffer* This,
   3629     IRpcChannelBuffer* pRpcChannelBuffer,
   3630     PRPC_MESSAGE pRpcMessage,
   3631     DWORD* pdwStubPhase);
   3632 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_GetStrokesFromTextRange_Proxy(
   3633     IInkRecognitionAlternate* This,
   3634     LONG *selectionStart,
   3635     LONG *selectionLength,
   3636     IInkStrokes **GetStrokesFromTextRange);
   3637 void __RPC_STUB IInkRecognitionAlternate_GetStrokesFromTextRange_Stub(
   3638     IRpcStubBuffer* This,
   3639     IRpcChannelBuffer* pRpcChannelBuffer,
   3640     PRPC_MESSAGE pRpcMessage,
   3641     DWORD* pdwStubPhase);
   3642 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_GetTextRangeFromStrokes_Proxy(
   3643     IInkRecognitionAlternate* This,
   3644     IInkStrokes *Strokes,
   3645     LONG *selectionStart,
   3646     LONG *selectionLength);
   3647 void __RPC_STUB IInkRecognitionAlternate_GetTextRangeFromStrokes_Stub(
   3648     IRpcStubBuffer* This,
   3649     IRpcChannelBuffer* pRpcChannelBuffer,
   3650     PRPC_MESSAGE pRpcMessage,
   3651     DWORD* pdwStubPhase);
   3652 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_AlternatesWithConstantPropertyValues_Proxy(
   3653     IInkRecognitionAlternate* This,
   3654     BSTR PropertyType,
   3655     IInkRecognitionAlternates **AlternatesWithConstantPropertyValues);
   3656 void __RPC_STUB IInkRecognitionAlternate_AlternatesWithConstantPropertyValues_Stub(
   3657     IRpcStubBuffer* This,
   3658     IRpcChannelBuffer* pRpcChannelBuffer,
   3659     PRPC_MESSAGE pRpcMessage,
   3660     DWORD* pdwStubPhase);
   3661 HRESULT STDMETHODCALLTYPE IInkRecognitionAlternate_GetPropertyValue_Proxy(
   3662     IInkRecognitionAlternate* This,
   3663     BSTR PropertyType,
   3664     VARIANT *PropertyValue);
   3665 void __RPC_STUB IInkRecognitionAlternate_GetPropertyValue_Stub(
   3666     IRpcStubBuffer* This,
   3667     IRpcChannelBuffer* pRpcChannelBuffer,
   3668     PRPC_MESSAGE pRpcMessage,
   3669     DWORD* pdwStubPhase);
   3670 
   3671 #endif  /* __IInkRecognitionAlternate_INTERFACE_DEFINED__ */
   3672 
   3673 /*****************************************************************************
   3674  * IInkRecognitionResult interface
   3675  */
   3676 #ifndef __IInkRecognitionResult_INTERFACE_DEFINED__
   3677 #define __IInkRecognitionResult_INTERFACE_DEFINED__
   3678 
   3679 DEFINE_GUID(IID_IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d);
   3680 #if defined(__cplusplus) && !defined(CINTERFACE)
   3681 MIDL_INTERFACE("3bc129a8-86cd-45ad-bde8-e0d32d61c16d")
   3682 IInkRecognitionResult : public IDispatch
   3683 {
   3684     virtual HRESULT STDMETHODCALLTYPE get_TopString(
   3685         BSTR *TopString) = 0;
   3686 
   3687     virtual HRESULT STDMETHODCALLTYPE get_TopAlternate(
   3688         IInkRecognitionAlternate **TopAlternate) = 0;
   3689 
   3690     virtual HRESULT STDMETHODCALLTYPE get_TopConfidence(
   3691         InkRecognitionConfidence *TopConfidence) = 0;
   3692 
   3693     virtual HRESULT STDMETHODCALLTYPE get_Strokes(
   3694         IInkStrokes **Strokes) = 0;
   3695 
   3696     virtual HRESULT STDMETHODCALLTYPE AlternatesFromSelection(
   3697         LONG selectionStart,
   3698         LONG selectionLength,
   3699         LONG maximumAlternates,
   3700         IInkRecognitionAlternates **AlternatesFromSelection) = 0;
   3701 
   3702     virtual HRESULT STDMETHODCALLTYPE ModifyTopAlternate(
   3703         IInkRecognitionAlternate *Alternate) = 0;
   3704 
   3705     virtual HRESULT STDMETHODCALLTYPE SetResultOnStrokes(
   3706         ) = 0;
   3707 
   3708 };
   3709 #ifdef __CRT_UUID_DECL
   3710 __CRT_UUID_DECL(IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d)
   3711 #endif
   3712 #else
   3713 typedef struct IInkRecognitionResultVtbl {
   3714     BEGIN_INTERFACE
   3715 
   3716     /*** IUnknown methods ***/
   3717     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3718         IInkRecognitionResult* This,
   3719         REFIID riid,
   3720         void **ppvObject);
   3721 
   3722     ULONG (STDMETHODCALLTYPE *AddRef)(
   3723         IInkRecognitionResult* This);
   3724 
   3725     ULONG (STDMETHODCALLTYPE *Release)(
   3726         IInkRecognitionResult* This);
   3727 
   3728     /*** IDispatch methods ***/
   3729     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3730         IInkRecognitionResult* This,
   3731         UINT *pctinfo);
   3732 
   3733     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3734         IInkRecognitionResult* This,
   3735         UINT iTInfo,
   3736         LCID lcid,
   3737         ITypeInfo **ppTInfo);
   3738 
   3739     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3740         IInkRecognitionResult* This,
   3741         REFIID riid,
   3742         LPOLESTR *rgszNames,
   3743         UINT cNames,
   3744         LCID lcid,
   3745         DISPID *rgDispId);
   3746 
   3747     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3748         IInkRecognitionResult* This,
   3749         DISPID dispIdMember,
   3750         REFIID riid,
   3751         LCID lcid,
   3752         WORD wFlags,
   3753         DISPPARAMS *pDispParams,
   3754         VARIANT *pVarResult,
   3755         EXCEPINFO *pExcepInfo,
   3756         UINT *puArgErr);
   3757 
   3758     /*** IInkRecognitionResult methods ***/
   3759     HRESULT (STDMETHODCALLTYPE *get_TopString)(
   3760         IInkRecognitionResult* This,
   3761         BSTR *TopString);
   3762 
   3763     HRESULT (STDMETHODCALLTYPE *get_TopAlternate)(
   3764         IInkRecognitionResult* This,
   3765         IInkRecognitionAlternate **TopAlternate);
   3766 
   3767     HRESULT (STDMETHODCALLTYPE *get_TopConfidence)(
   3768         IInkRecognitionResult* This,
   3769         InkRecognitionConfidence *TopConfidence);
   3770 
   3771     HRESULT (STDMETHODCALLTYPE *get_Strokes)(
   3772         IInkRecognitionResult* This,
   3773         IInkStrokes **Strokes);
   3774 
   3775     HRESULT (STDMETHODCALLTYPE *AlternatesFromSelection)(
   3776         IInkRecognitionResult* This,
   3777         LONG selectionStart,
   3778         LONG selectionLength,
   3779         LONG maximumAlternates,
   3780         IInkRecognitionAlternates **AlternatesFromSelection);
   3781 
   3782     HRESULT (STDMETHODCALLTYPE *ModifyTopAlternate)(
   3783         IInkRecognitionResult* This,
   3784         IInkRecognitionAlternate *Alternate);
   3785 
   3786     HRESULT (STDMETHODCALLTYPE *SetResultOnStrokes)(
   3787         IInkRecognitionResult* This);
   3788 
   3789     END_INTERFACE
   3790 } IInkRecognitionResultVtbl;
   3791 interface IInkRecognitionResult {
   3792     CONST_VTBL IInkRecognitionResultVtbl* lpVtbl;
   3793 };
   3794 
   3795 #ifdef COBJMACROS
   3796 #ifndef WIDL_C_INLINE_WRAPPERS
   3797 /*** IUnknown methods ***/
   3798 #define IInkRecognitionResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3799 #define IInkRecognitionResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   3800 #define IInkRecognitionResult_Release(This) (This)->lpVtbl->Release(This)
   3801 /*** IDispatch methods ***/
   3802 #define IInkRecognitionResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3803 #define IInkRecognitionResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3804 #define IInkRecognitionResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3805 #define IInkRecognitionResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3806 /*** IInkRecognitionResult methods ***/
   3807 #define IInkRecognitionResult_get_TopString(This,TopString) (This)->lpVtbl->get_TopString(This,TopString)
   3808 #define IInkRecognitionResult_get_TopAlternate(This,TopAlternate) (This)->lpVtbl->get_TopAlternate(This,TopAlternate)
   3809 #define IInkRecognitionResult_get_TopConfidence(This,TopConfidence) (This)->lpVtbl->get_TopConfidence(This,TopConfidence)
   3810 #define IInkRecognitionResult_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
   3811 #define IInkRecognitionResult_AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection) (This)->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection)
   3812 #define IInkRecognitionResult_ModifyTopAlternate(This,Alternate) (This)->lpVtbl->ModifyTopAlternate(This,Alternate)
   3813 #define IInkRecognitionResult_SetResultOnStrokes(This) (This)->lpVtbl->SetResultOnStrokes(This)
   3814 #else
   3815 /*** IUnknown methods ***/
   3816 static FORCEINLINE HRESULT IInkRecognitionResult_QueryInterface(IInkRecognitionResult* This,REFIID riid,void **ppvObject) {
   3817     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3818 }
   3819 static FORCEINLINE ULONG IInkRecognitionResult_AddRef(IInkRecognitionResult* This) {
   3820     return This->lpVtbl->AddRef(This);
   3821 }
   3822 static FORCEINLINE ULONG IInkRecognitionResult_Release(IInkRecognitionResult* This) {
   3823     return This->lpVtbl->Release(This);
   3824 }
   3825 /*** IDispatch methods ***/
   3826 static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfoCount(IInkRecognitionResult* This,UINT *pctinfo) {
   3827     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3828 }
   3829 static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfo(IInkRecognitionResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3830     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3831 }
   3832 static FORCEINLINE HRESULT IInkRecognitionResult_GetIDsOfNames(IInkRecognitionResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3833     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3834 }
   3835 static FORCEINLINE HRESULT IInkRecognitionResult_Invoke(IInkRecognitionResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3836     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3837 }
   3838 /*** IInkRecognitionResult methods ***/
   3839 static FORCEINLINE HRESULT IInkRecognitionResult_get_TopString(IInkRecognitionResult* This,BSTR *TopString) {
   3840     return This->lpVtbl->get_TopString(This,TopString);
   3841 }
   3842 static FORCEINLINE HRESULT IInkRecognitionResult_get_TopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate **TopAlternate) {
   3843     return This->lpVtbl->get_TopAlternate(This,TopAlternate);
   3844 }
   3845 static FORCEINLINE HRESULT IInkRecognitionResult_get_TopConfidence(IInkRecognitionResult* This,InkRecognitionConfidence *TopConfidence) {
   3846     return This->lpVtbl->get_TopConfidence(This,TopConfidence);
   3847 }
   3848 static FORCEINLINE HRESULT IInkRecognitionResult_get_Strokes(IInkRecognitionResult* This,IInkStrokes **Strokes) {
   3849     return This->lpVtbl->get_Strokes(This,Strokes);
   3850 }
   3851 static FORCEINLINE HRESULT IInkRecognitionResult_AlternatesFromSelection(IInkRecognitionResult* This,LONG selectionStart,LONG selectionLength,LONG maximumAlternates,IInkRecognitionAlternates **AlternatesFromSelection) {
   3852     return This->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection);
   3853 }
   3854 static FORCEINLINE HRESULT IInkRecognitionResult_ModifyTopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate *Alternate) {
   3855     return This->lpVtbl->ModifyTopAlternate(This,Alternate);
   3856 }
   3857 static FORCEINLINE HRESULT IInkRecognitionResult_SetResultOnStrokes(IInkRecognitionResult* This) {
   3858     return This->lpVtbl->SetResultOnStrokes(This);
   3859 }
   3860 #endif
   3861 #endif
   3862 
   3863 #endif
   3864 
   3865 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_get_TopString_Proxy(
   3866     IInkRecognitionResult* This,
   3867     BSTR *TopString);
   3868 void __RPC_STUB IInkRecognitionResult_get_TopString_Stub(
   3869     IRpcStubBuffer* This,
   3870     IRpcChannelBuffer* pRpcChannelBuffer,
   3871     PRPC_MESSAGE pRpcMessage,
   3872     DWORD* pdwStubPhase);
   3873 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_get_TopAlternate_Proxy(
   3874     IInkRecognitionResult* This,
   3875     IInkRecognitionAlternate **TopAlternate);
   3876 void __RPC_STUB IInkRecognitionResult_get_TopAlternate_Stub(
   3877     IRpcStubBuffer* This,
   3878     IRpcChannelBuffer* pRpcChannelBuffer,
   3879     PRPC_MESSAGE pRpcMessage,
   3880     DWORD* pdwStubPhase);
   3881 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_get_TopConfidence_Proxy(
   3882     IInkRecognitionResult* This,
   3883     InkRecognitionConfidence *TopConfidence);
   3884 void __RPC_STUB IInkRecognitionResult_get_TopConfidence_Stub(
   3885     IRpcStubBuffer* This,
   3886     IRpcChannelBuffer* pRpcChannelBuffer,
   3887     PRPC_MESSAGE pRpcMessage,
   3888     DWORD* pdwStubPhase);
   3889 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_get_Strokes_Proxy(
   3890     IInkRecognitionResult* This,
   3891     IInkStrokes **Strokes);
   3892 void __RPC_STUB IInkRecognitionResult_get_Strokes_Stub(
   3893     IRpcStubBuffer* This,
   3894     IRpcChannelBuffer* pRpcChannelBuffer,
   3895     PRPC_MESSAGE pRpcMessage,
   3896     DWORD* pdwStubPhase);
   3897 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_AlternatesFromSelection_Proxy(
   3898     IInkRecognitionResult* This,
   3899     LONG selectionStart,
   3900     LONG selectionLength,
   3901     LONG maximumAlternates,
   3902     IInkRecognitionAlternates **AlternatesFromSelection);
   3903 void __RPC_STUB IInkRecognitionResult_AlternatesFromSelection_Stub(
   3904     IRpcStubBuffer* This,
   3905     IRpcChannelBuffer* pRpcChannelBuffer,
   3906     PRPC_MESSAGE pRpcMessage,
   3907     DWORD* pdwStubPhase);
   3908 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_ModifyTopAlternate_Proxy(
   3909     IInkRecognitionResult* This,
   3910     IInkRecognitionAlternate *Alternate);
   3911 void __RPC_STUB IInkRecognitionResult_ModifyTopAlternate_Stub(
   3912     IRpcStubBuffer* This,
   3913     IRpcChannelBuffer* pRpcChannelBuffer,
   3914     PRPC_MESSAGE pRpcMessage,
   3915     DWORD* pdwStubPhase);
   3916 HRESULT STDMETHODCALLTYPE IInkRecognitionResult_SetResultOnStrokes_Proxy(
   3917     IInkRecognitionResult* This);
   3918 void __RPC_STUB IInkRecognitionResult_SetResultOnStrokes_Stub(
   3919     IRpcStubBuffer* This,
   3920     IRpcChannelBuffer* pRpcChannelBuffer,
   3921     PRPC_MESSAGE pRpcMessage,
   3922     DWORD* pdwStubPhase);
   3923 
   3924 #endif  /* __IInkRecognitionResult_INTERFACE_DEFINED__ */
   3925 
   3926 /*****************************************************************************
   3927  * IInkStrokeDisp interface
   3928  */
   3929 #ifndef __IInkStrokeDisp_INTERFACE_DEFINED__
   3930 #define __IInkStrokeDisp_INTERFACE_DEFINED__
   3931 
   3932 DEFINE_GUID(IID_IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2);
   3933 #if defined(__cplusplus) && !defined(CINTERFACE)
   3934 MIDL_INTERFACE("43242fea-91d1-4a72-963e-fbb91829cfa2")
   3935 IInkStrokeDisp : public IDispatch
   3936 {
   3937     virtual HRESULT STDMETHODCALLTYPE get_ID(
   3938         LONG *ID) = 0;
   3939 
   3940     virtual HRESULT STDMETHODCALLTYPE get_BezierPoints(
   3941         VARIANT *Points) = 0;
   3942 
   3943     virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes(
   3944         IInkDrawingAttributes **DrawAttrs) = 0;
   3945 
   3946     virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes(
   3947         IInkDrawingAttributes *DrawAttrs) = 0;
   3948 
   3949     virtual HRESULT STDMETHODCALLTYPE get_Ink(
   3950         IInkDisp **Ink) = 0;
   3951 
   3952     virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
   3953         IInkExtendedProperties **Properties) = 0;
   3954 
   3955     virtual HRESULT STDMETHODCALLTYPE get_PolylineCusps(
   3956         VARIANT *Cusps) = 0;
   3957 
   3958     virtual HRESULT STDMETHODCALLTYPE get_BezierCusps(
   3959         VARIANT *Cusps) = 0;
   3960 
   3961     virtual HRESULT STDMETHODCALLTYPE get_SelfIntersections(
   3962         VARIANT *Intersections) = 0;
   3963 
   3964     virtual HRESULT STDMETHODCALLTYPE get_PacketCount(
   3965         LONG *plCount) = 0;
   3966 
   3967     virtual HRESULT STDMETHODCALLTYPE get_PacketSize(
   3968         LONG *plSize) = 0;
   3969 
   3970     virtual HRESULT STDMETHODCALLTYPE get_PacketDescription(
   3971         VARIANT *PacketDescription) = 0;
   3972 
   3973     virtual HRESULT STDMETHODCALLTYPE get_Deleted(
   3974         VARIANT_BOOL *Deleted) = 0;
   3975 
   3976     virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
   3977         InkBoundingBoxMode BoundingBoxMode,
   3978         IInkRectangle **Rectangle) = 0;
   3979 
   3980     virtual HRESULT STDMETHODCALLTYPE FindIntersections(
   3981         IInkStrokes *Strokes,
   3982         VARIANT *Intersections) = 0;
   3983 
   3984     virtual HRESULT STDMETHODCALLTYPE GetRectangleIntersections(
   3985         IInkRectangle *Rectangle,
   3986         VARIANT *Intersections) = 0;
   3987 
   3988     virtual HRESULT STDMETHODCALLTYPE Clip(
   3989         IInkRectangle *Rectangle) = 0;
   3990 
   3991     virtual HRESULT STDMETHODCALLTYPE HitTestCircle(
   3992         LONG X,
   3993         LONG Y,
   3994         float Radius,
   3995         VARIANT_BOOL *Intersects) = 0;
   3996 
   3997     virtual HRESULT STDMETHODCALLTYPE NearestPoint(
   3998         LONG X,
   3999         LONG Y,
   4000         float *Distance,
   4001         float *Point) = 0;
   4002 
   4003     virtual HRESULT STDMETHODCALLTYPE Split(
   4004         float SplitAt,
   4005         IInkStrokeDisp **NewStroke) = 0;
   4006 
   4007     virtual HRESULT STDMETHODCALLTYPE GetPacketDescriptionPropertyMetrics(
   4008         BSTR PropertyName,
   4009         LONG *Minimum,
   4010         LONG *Maximum,
   4011         TabletPropertyMetricUnit *Units,
   4012         float *Resolution) = 0;
   4013 
   4014     virtual HRESULT STDMETHODCALLTYPE GetPoints(
   4015         LONG Index,
   4016         LONG Count,
   4017         VARIANT *Points) = 0;
   4018 
   4019     virtual HRESULT STDMETHODCALLTYPE SetPoints(
   4020         VARIANT Points,
   4021         LONG Index,
   4022         LONG Count,
   4023         LONG *NumberOfPointsSet) = 0;
   4024 
   4025     virtual HRESULT STDMETHODCALLTYPE GetPacketData(
   4026         LONG Index,
   4027         LONG Count,
   4028         VARIANT *PacketData) = 0;
   4029 
   4030     virtual HRESULT STDMETHODCALLTYPE GetPacketValuesByProperty(
   4031         BSTR PropertyName,
   4032         LONG Index,
   4033         LONG Count,
   4034         VARIANT *PacketValues) = 0;
   4035 
   4036     virtual HRESULT STDMETHODCALLTYPE SetPacketValuesByProperty(
   4037         BSTR bstrPropertyName,
   4038         VARIANT PacketValues,
   4039         LONG Index,
   4040         LONG Count,
   4041         LONG *NumberOfPacketsSet) = 0;
   4042 
   4043     virtual HRESULT STDMETHODCALLTYPE GetFlattenedBezierPoints(
   4044         LONG FittingError,
   4045         VARIANT *FlattenedBezierPoints) = 0;
   4046 
   4047     virtual HRESULT STDMETHODCALLTYPE Transform(
   4048         IInkTransform *Transform,
   4049         VARIANT_BOOL ApplyOnPenWidth = 0) = 0;
   4050 
   4051     virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle(
   4052         IInkRectangle *Rectangle) = 0;
   4053 
   4054     virtual HRESULT STDMETHODCALLTYPE Move(
   4055         float HorizontalComponent,
   4056         float VerticalComponent) = 0;
   4057 
   4058     virtual HRESULT STDMETHODCALLTYPE Rotate(
   4059         float Degrees,
   4060         float x = 0,
   4061         float y = 0) = 0;
   4062 
   4063     virtual HRESULT STDMETHODCALLTYPE Shear(
   4064         float HorizontalMultiplier,
   4065         float VerticalMultiplier) = 0;
   4066 
   4067     virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
   4068         float HorizontalMultiplier,
   4069         float VerticalMultiplier) = 0;
   4070 
   4071 };
   4072 #ifdef __CRT_UUID_DECL
   4073 __CRT_UUID_DECL(IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2)
   4074 #endif
   4075 #else
   4076 typedef struct IInkStrokeDispVtbl {
   4077     BEGIN_INTERFACE
   4078 
   4079     /*** IUnknown methods ***/
   4080     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4081         IInkStrokeDisp* This,
   4082         REFIID riid,
   4083         void **ppvObject);
   4084 
   4085     ULONG (STDMETHODCALLTYPE *AddRef)(
   4086         IInkStrokeDisp* This);
   4087 
   4088     ULONG (STDMETHODCALLTYPE *Release)(
   4089         IInkStrokeDisp* This);
   4090 
   4091     /*** IDispatch methods ***/
   4092     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4093         IInkStrokeDisp* This,
   4094         UINT *pctinfo);
   4095 
   4096     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4097         IInkStrokeDisp* This,
   4098         UINT iTInfo,
   4099         LCID lcid,
   4100         ITypeInfo **ppTInfo);
   4101 
   4102     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4103         IInkStrokeDisp* This,
   4104         REFIID riid,
   4105         LPOLESTR *rgszNames,
   4106         UINT cNames,
   4107         LCID lcid,
   4108         DISPID *rgDispId);
   4109 
   4110     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4111         IInkStrokeDisp* This,
   4112         DISPID dispIdMember,
   4113         REFIID riid,
   4114         LCID lcid,
   4115         WORD wFlags,
   4116         DISPPARAMS *pDispParams,
   4117         VARIANT *pVarResult,
   4118         EXCEPINFO *pExcepInfo,
   4119         UINT *puArgErr);
   4120 
   4121     /*** IInkStrokeDisp methods ***/
   4122     HRESULT (STDMETHODCALLTYPE *get_ID)(
   4123         IInkStrokeDisp* This,
   4124         LONG *ID);
   4125 
   4126     HRESULT (STDMETHODCALLTYPE *get_BezierPoints)(
   4127         IInkStrokeDisp* This,
   4128         VARIANT *Points);
   4129 
   4130     HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)(
   4131         IInkStrokeDisp* This,
   4132         IInkDrawingAttributes **DrawAttrs);
   4133 
   4134     HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)(
   4135         IInkStrokeDisp* This,
   4136         IInkDrawingAttributes *DrawAttrs);
   4137 
   4138     HRESULT (STDMETHODCALLTYPE *get_Ink)(
   4139         IInkStrokeDisp* This,
   4140         IInkDisp **Ink);
   4141 
   4142     HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
   4143         IInkStrokeDisp* This,
   4144         IInkExtendedProperties **Properties);
   4145 
   4146     HRESULT (STDMETHODCALLTYPE *get_PolylineCusps)(
   4147         IInkStrokeDisp* This,
   4148         VARIANT *Cusps);
   4149 
   4150     HRESULT (STDMETHODCALLTYPE *get_BezierCusps)(
   4151         IInkStrokeDisp* This,
   4152         VARIANT *Cusps);
   4153 
   4154     HRESULT (STDMETHODCALLTYPE *get_SelfIntersections)(
   4155         IInkStrokeDisp* This,
   4156         VARIANT *Intersections);
   4157 
   4158     HRESULT (STDMETHODCALLTYPE *get_PacketCount)(
   4159         IInkStrokeDisp* This,
   4160         LONG *plCount);
   4161 
   4162     HRESULT (STDMETHODCALLTYPE *get_PacketSize)(
   4163         IInkStrokeDisp* This,
   4164         LONG *plSize);
   4165 
   4166     HRESULT (STDMETHODCALLTYPE *get_PacketDescription)(
   4167         IInkStrokeDisp* This,
   4168         VARIANT *PacketDescription);
   4169 
   4170     HRESULT (STDMETHODCALLTYPE *get_Deleted)(
   4171         IInkStrokeDisp* This,
   4172         VARIANT_BOOL *Deleted);
   4173 
   4174     HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
   4175         IInkStrokeDisp* This,
   4176         InkBoundingBoxMode BoundingBoxMode,
   4177         IInkRectangle **Rectangle);
   4178 
   4179     HRESULT (STDMETHODCALLTYPE *FindIntersections)(
   4180         IInkStrokeDisp* This,
   4181         IInkStrokes *Strokes,
   4182         VARIANT *Intersections);
   4183 
   4184     HRESULT (STDMETHODCALLTYPE *GetRectangleIntersections)(
   4185         IInkStrokeDisp* This,
   4186         IInkRectangle *Rectangle,
   4187         VARIANT *Intersections);
   4188 
   4189     HRESULT (STDMETHODCALLTYPE *Clip)(
   4190         IInkStrokeDisp* This,
   4191         IInkRectangle *Rectangle);
   4192 
   4193     HRESULT (STDMETHODCALLTYPE *HitTestCircle)(
   4194         IInkStrokeDisp* This,
   4195         LONG X,
   4196         LONG Y,
   4197         float Radius,
   4198         VARIANT_BOOL *Intersects);
   4199 
   4200     HRESULT (STDMETHODCALLTYPE *NearestPoint)(
   4201         IInkStrokeDisp* This,
   4202         LONG X,
   4203         LONG Y,
   4204         float *Distance,
   4205         float *Point);
   4206 
   4207     HRESULT (STDMETHODCALLTYPE *Split)(
   4208         IInkStrokeDisp* This,
   4209         float SplitAt,
   4210         IInkStrokeDisp **NewStroke);
   4211 
   4212     HRESULT (STDMETHODCALLTYPE *GetPacketDescriptionPropertyMetrics)(
   4213         IInkStrokeDisp* This,
   4214         BSTR PropertyName,
   4215         LONG *Minimum,
   4216         LONG *Maximum,
   4217         TabletPropertyMetricUnit *Units,
   4218         float *Resolution);
   4219 
   4220     HRESULT (STDMETHODCALLTYPE *GetPoints)(
   4221         IInkStrokeDisp* This,
   4222         LONG Index,
   4223         LONG Count,
   4224         VARIANT *Points);
   4225 
   4226     HRESULT (STDMETHODCALLTYPE *SetPoints)(
   4227         IInkStrokeDisp* This,
   4228         VARIANT Points,
   4229         LONG Index,
   4230         LONG Count,
   4231         LONG *NumberOfPointsSet);
   4232 
   4233     HRESULT (STDMETHODCALLTYPE *GetPacketData)(
   4234         IInkStrokeDisp* This,
   4235         LONG Index,
   4236         LONG Count,
   4237         VARIANT *PacketData);
   4238 
   4239     HRESULT (STDMETHODCALLTYPE *GetPacketValuesByProperty)(
   4240         IInkStrokeDisp* This,
   4241         BSTR PropertyName,
   4242         LONG Index,
   4243         LONG Count,
   4244         VARIANT *PacketValues);
   4245 
   4246     HRESULT (STDMETHODCALLTYPE *SetPacketValuesByProperty)(
   4247         IInkStrokeDisp* This,
   4248         BSTR bstrPropertyName,
   4249         VARIANT PacketValues,
   4250         LONG Index,
   4251         LONG Count,
   4252         LONG *NumberOfPacketsSet);
   4253 
   4254     HRESULT (STDMETHODCALLTYPE *GetFlattenedBezierPoints)(
   4255         IInkStrokeDisp* This,
   4256         LONG FittingError,
   4257         VARIANT *FlattenedBezierPoints);
   4258 
   4259     HRESULT (STDMETHODCALLTYPE *Transform)(
   4260         IInkStrokeDisp* This,
   4261         IInkTransform *Transform,
   4262         VARIANT_BOOL ApplyOnPenWidth);
   4263 
   4264     HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)(
   4265         IInkStrokeDisp* This,
   4266         IInkRectangle *Rectangle);
   4267 
   4268     HRESULT (STDMETHODCALLTYPE *Move)(
   4269         IInkStrokeDisp* This,
   4270         float HorizontalComponent,
   4271         float VerticalComponent);
   4272 
   4273     HRESULT (STDMETHODCALLTYPE *Rotate)(
   4274         IInkStrokeDisp* This,
   4275         float Degrees,
   4276         float x,
   4277         float y);
   4278 
   4279     HRESULT (STDMETHODCALLTYPE *Shear)(
   4280         IInkStrokeDisp* This,
   4281         float HorizontalMultiplier,
   4282         float VerticalMultiplier);
   4283 
   4284     HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
   4285         IInkStrokeDisp* This,
   4286         float HorizontalMultiplier,
   4287         float VerticalMultiplier);
   4288 
   4289     END_INTERFACE
   4290 } IInkStrokeDispVtbl;
   4291 interface IInkStrokeDisp {
   4292     CONST_VTBL IInkStrokeDispVtbl* lpVtbl;
   4293 };
   4294 
   4295 #ifdef COBJMACROS
   4296 #ifndef WIDL_C_INLINE_WRAPPERS
   4297 /*** IUnknown methods ***/
   4298 #define IInkStrokeDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4299 #define IInkStrokeDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
   4300 #define IInkStrokeDisp_Release(This) (This)->lpVtbl->Release(This)
   4301 /*** IDispatch methods ***/
   4302 #define IInkStrokeDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4303 #define IInkStrokeDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4304 #define IInkStrokeDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4305 #define IInkStrokeDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4306 /*** IInkStrokeDisp methods ***/
   4307 #define IInkStrokeDisp_get_ID(This,ID) (This)->lpVtbl->get_ID(This,ID)
   4308 #define IInkStrokeDisp_get_BezierPoints(This,Points) (This)->lpVtbl->get_BezierPoints(This,Points)
   4309 #define IInkStrokeDisp_get_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->get_DrawingAttributes(This,DrawAttrs)
   4310 #define IInkStrokeDisp_putref_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->putref_DrawingAttributes(This,DrawAttrs)
   4311 #define IInkStrokeDisp_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
   4312 #define IInkStrokeDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
   4313 #define IInkStrokeDisp_get_PolylineCusps(This,Cusps) (This)->lpVtbl->get_PolylineCusps(This,Cusps)
   4314 #define IInkStrokeDisp_get_BezierCusps(This,Cusps) (This)->lpVtbl->get_BezierCusps(This,Cusps)
   4315 #define IInkStrokeDisp_get_SelfIntersections(This,Intersections) (This)->lpVtbl->get_SelfIntersections(This,Intersections)
   4316 #define IInkStrokeDisp_get_PacketCount(This,plCount) (This)->lpVtbl->get_PacketCount(This,plCount)
   4317 #define IInkStrokeDisp_get_PacketSize(This,plSize) (This)->lpVtbl->get_PacketSize(This,plSize)
   4318 #define IInkStrokeDisp_get_PacketDescription(This,PacketDescription) (This)->lpVtbl->get_PacketDescription(This,PacketDescription)
   4319 #define IInkStrokeDisp_get_Deleted(This,Deleted) (This)->lpVtbl->get_Deleted(This,Deleted)
   4320 #define IInkStrokeDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle)
   4321 #define IInkStrokeDisp_FindIntersections(This,Strokes,Intersections) (This)->lpVtbl->FindIntersections(This,Strokes,Intersections)
   4322 #define IInkStrokeDisp_GetRectangleIntersections(This,Rectangle,Intersections) (This)->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections)
   4323 #define IInkStrokeDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
   4324 #define IInkStrokeDisp_HitTestCircle(This,X,Y,Radius,Intersects) (This)->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects)
   4325 #define IInkStrokeDisp_NearestPoint(This,X,Y,Distance,Point) (This)->lpVtbl->NearestPoint(This,X,Y,Distance,Point)
   4326 #define IInkStrokeDisp_Split(This,SplitAt,NewStroke) (This)->lpVtbl->Split(This,SplitAt,NewStroke)
   4327 #define IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution)
   4328 #define IInkStrokeDisp_GetPoints(This,Index,Count,Points) (This)->lpVtbl->GetPoints(This,Index,Count,Points)
   4329 #define IInkStrokeDisp_SetPoints(This,Points,Index,Count,NumberOfPointsSet) (This)->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet)
   4330 #define IInkStrokeDisp_GetPacketData(This,Index,Count,PacketData) (This)->lpVtbl->GetPacketData(This,Index,Count,PacketData)
   4331 #define IInkStrokeDisp_GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues) (This)->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues)
   4332 #define IInkStrokeDisp_SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet) (This)->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet)
   4333 #define IInkStrokeDisp_GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints) (This)->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints)
   4334 #define IInkStrokeDisp_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth)
   4335 #define IInkStrokeDisp_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle)
   4336 #define IInkStrokeDisp_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
   4337 #define IInkStrokeDisp_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
   4338 #define IInkStrokeDisp_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier)
   4339 #define IInkStrokeDisp_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
   4340 #else
   4341 /*** IUnknown methods ***/
   4342 static FORCEINLINE HRESULT IInkStrokeDisp_QueryInterface(IInkStrokeDisp* This,REFIID riid,void **ppvObject) {
   4343     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4344 }
   4345 static FORCEINLINE ULONG IInkStrokeDisp_AddRef(IInkStrokeDisp* This) {
   4346     return This->lpVtbl->AddRef(This);
   4347 }
   4348 static FORCEINLINE ULONG IInkStrokeDisp_Release(IInkStrokeDisp* This) {
   4349     return This->lpVtbl->Release(This);
   4350 }
   4351 /*** IDispatch methods ***/
   4352 static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfoCount(IInkStrokeDisp* This,UINT *pctinfo) {
   4353     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4354 }
   4355 static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfo(IInkStrokeDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4356     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4357 }
   4358 static FORCEINLINE HRESULT IInkStrokeDisp_GetIDsOfNames(IInkStrokeDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4359     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4360 }
   4361 static FORCEINLINE HRESULT IInkStrokeDisp_Invoke(IInkStrokeDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4362     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4363 }
   4364 /*** IInkStrokeDisp methods ***/
   4365 static FORCEINLINE HRESULT IInkStrokeDisp_get_ID(IInkStrokeDisp* This,LONG *ID) {
   4366     return This->lpVtbl->get_ID(This,ID);
   4367 }
   4368 static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierPoints(IInkStrokeDisp* This,VARIANT *Points) {
   4369     return This->lpVtbl->get_BezierPoints(This,Points);
   4370 }
   4371 static FORCEINLINE HRESULT IInkStrokeDisp_get_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes **DrawAttrs) {
   4372     return This->lpVtbl->get_DrawingAttributes(This,DrawAttrs);
   4373 }
   4374 static FORCEINLINE HRESULT IInkStrokeDisp_putref_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes *DrawAttrs) {
   4375     return This->lpVtbl->putref_DrawingAttributes(This,DrawAttrs);
   4376 }
   4377 static FORCEINLINE HRESULT IInkStrokeDisp_get_Ink(IInkStrokeDisp* This,IInkDisp **Ink) {
   4378     return This->lpVtbl->get_Ink(This,Ink);
   4379 }
   4380 static FORCEINLINE HRESULT IInkStrokeDisp_get_ExtendedProperties(IInkStrokeDisp* This,IInkExtendedProperties **Properties) {
   4381     return This->lpVtbl->get_ExtendedProperties(This,Properties);
   4382 }
   4383 static FORCEINLINE HRESULT IInkStrokeDisp_get_PolylineCusps(IInkStrokeDisp* This,VARIANT *Cusps) {
   4384     return This->lpVtbl->get_PolylineCusps(This,Cusps);
   4385 }
   4386 static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierCusps(IInkStrokeDisp* This,VARIANT *Cusps) {
   4387     return This->lpVtbl->get_BezierCusps(This,Cusps);
   4388 }
   4389 static FORCEINLINE HRESULT IInkStrokeDisp_get_SelfIntersections(IInkStrokeDisp* This,VARIANT *Intersections) {
   4390     return This->lpVtbl->get_SelfIntersections(This,Intersections);
   4391 }
   4392 static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketCount(IInkStrokeDisp* This,LONG *plCount) {
   4393     return This->lpVtbl->get_PacketCount(This,plCount);
   4394 }
   4395 static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketSize(IInkStrokeDisp* This,LONG *plSize) {
   4396     return This->lpVtbl->get_PacketSize(This,plSize);
   4397 }
   4398 static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketDescription(IInkStrokeDisp* This,VARIANT *PacketDescription) {
   4399     return This->lpVtbl->get_PacketDescription(This,PacketDescription);
   4400 }
   4401 static FORCEINLINE HRESULT IInkStrokeDisp_get_Deleted(IInkStrokeDisp* This,VARIANT_BOOL *Deleted) {
   4402     return This->lpVtbl->get_Deleted(This,Deleted);
   4403 }
   4404 static FORCEINLINE HRESULT IInkStrokeDisp_GetBoundingBox(IInkStrokeDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) {
   4405     return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle);
   4406 }
   4407 static FORCEINLINE HRESULT IInkStrokeDisp_FindIntersections(IInkStrokeDisp* This,IInkStrokes *Strokes,VARIANT *Intersections) {
   4408     return This->lpVtbl->FindIntersections(This,Strokes,Intersections);
   4409 }
   4410 static FORCEINLINE HRESULT IInkStrokeDisp_GetRectangleIntersections(IInkStrokeDisp* This,IInkRectangle *Rectangle,VARIANT *Intersections) {
   4411     return This->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections);
   4412 }
   4413 static FORCEINLINE HRESULT IInkStrokeDisp_Clip(IInkStrokeDisp* This,IInkRectangle *Rectangle) {
   4414     return This->lpVtbl->Clip(This,Rectangle);
   4415 }
   4416 static FORCEINLINE HRESULT IInkStrokeDisp_HitTestCircle(IInkStrokeDisp* This,LONG X,LONG Y,float Radius,VARIANT_BOOL *Intersects) {
   4417     return This->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects);
   4418 }
   4419 static FORCEINLINE HRESULT IInkStrokeDisp_NearestPoint(IInkStrokeDisp* This,LONG X,LONG Y,float *Distance,float *Point) {
   4420     return This->lpVtbl->NearestPoint(This,X,Y,Distance,Point);
   4421 }
   4422 static FORCEINLINE HRESULT IInkStrokeDisp_Split(IInkStrokeDisp* This,float SplitAt,IInkStrokeDisp **NewStroke) {
   4423     return This->lpVtbl->Split(This,SplitAt,NewStroke);
   4424 }
   4425 static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(IInkStrokeDisp* This,BSTR PropertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) {
   4426     return This->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution);
   4427 }
   4428 static FORCEINLINE HRESULT IInkStrokeDisp_GetPoints(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *Points) {
   4429     return This->lpVtbl->GetPoints(This,Index,Count,Points);
   4430 }
   4431 static FORCEINLINE HRESULT IInkStrokeDisp_SetPoints(IInkStrokeDisp* This,VARIANT Points,LONG Index,LONG Count,LONG *NumberOfPointsSet) {
   4432     return This->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet);
   4433 }
   4434 static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketData(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *PacketData) {
   4435     return This->lpVtbl->GetPacketData(This,Index,Count,PacketData);
   4436 }
   4437 static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketValuesByProperty(IInkStrokeDisp* This,BSTR PropertyName,LONG Index,LONG Count,VARIANT *PacketValues) {
   4438     return This->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues);
   4439 }
   4440 static FORCEINLINE HRESULT IInkStrokeDisp_SetPacketValuesByProperty(IInkStrokeDisp* This,BSTR bstrPropertyName,VARIANT PacketValues,LONG Index,LONG Count,LONG *NumberOfPacketsSet) {
   4441     return This->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet);
   4442 }
   4443 static FORCEINLINE HRESULT IInkStrokeDisp_GetFlattenedBezierPoints(IInkStrokeDisp* This,LONG FittingError,VARIANT *FlattenedBezierPoints) {
   4444     return This->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints);
   4445 }
   4446 static FORCEINLINE HRESULT IInkStrokeDisp_Transform(IInkStrokeDisp* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) {
   4447     return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth);
   4448 }
   4449 static FORCEINLINE HRESULT IInkStrokeDisp_ScaleToRectangle(IInkStrokeDisp* This,IInkRectangle *Rectangle) {
   4450     return This->lpVtbl->ScaleToRectangle(This,Rectangle);
   4451 }
   4452 static FORCEINLINE HRESULT IInkStrokeDisp_Move(IInkStrokeDisp* This,float HorizontalComponent,float VerticalComponent) {
   4453     return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
   4454 }
   4455 static FORCEINLINE HRESULT IInkStrokeDisp_Rotate(IInkStrokeDisp* This,float Degrees,float x,float y) {
   4456     return This->lpVtbl->Rotate(This,Degrees,x,y);
   4457 }
   4458 static FORCEINLINE HRESULT IInkStrokeDisp_Shear(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) {
   4459     return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier);
   4460 }
   4461 static FORCEINLINE HRESULT IInkStrokeDisp_ScaleTransform(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) {
   4462     return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
   4463 }
   4464 #endif
   4465 #endif
   4466 
   4467 #endif
   4468 
   4469 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_ID_Proxy(
   4470     IInkStrokeDisp* This,
   4471     LONG *ID);
   4472 void __RPC_STUB IInkStrokeDisp_get_ID_Stub(
   4473     IRpcStubBuffer* This,
   4474     IRpcChannelBuffer* pRpcChannelBuffer,
   4475     PRPC_MESSAGE pRpcMessage,
   4476     DWORD* pdwStubPhase);
   4477 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_BezierPoints_Proxy(
   4478     IInkStrokeDisp* This,
   4479     VARIANT *Points);
   4480 void __RPC_STUB IInkStrokeDisp_get_BezierPoints_Stub(
   4481     IRpcStubBuffer* This,
   4482     IRpcChannelBuffer* pRpcChannelBuffer,
   4483     PRPC_MESSAGE pRpcMessage,
   4484     DWORD* pdwStubPhase);
   4485 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_DrawingAttributes_Proxy(
   4486     IInkStrokeDisp* This,
   4487     IInkDrawingAttributes **DrawAttrs);
   4488 void __RPC_STUB IInkStrokeDisp_get_DrawingAttributes_Stub(
   4489     IRpcStubBuffer* This,
   4490     IRpcChannelBuffer* pRpcChannelBuffer,
   4491     PRPC_MESSAGE pRpcMessage,
   4492     DWORD* pdwStubPhase);
   4493 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_putref_DrawingAttributes_Proxy(
   4494     IInkStrokeDisp* This,
   4495     IInkDrawingAttributes *DrawAttrs);
   4496 void __RPC_STUB IInkStrokeDisp_putref_DrawingAttributes_Stub(
   4497     IRpcStubBuffer* This,
   4498     IRpcChannelBuffer* pRpcChannelBuffer,
   4499     PRPC_MESSAGE pRpcMessage,
   4500     DWORD* pdwStubPhase);
   4501 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_Ink_Proxy(
   4502     IInkStrokeDisp* This,
   4503     IInkDisp **Ink);
   4504 void __RPC_STUB IInkStrokeDisp_get_Ink_Stub(
   4505     IRpcStubBuffer* This,
   4506     IRpcChannelBuffer* pRpcChannelBuffer,
   4507     PRPC_MESSAGE pRpcMessage,
   4508     DWORD* pdwStubPhase);
   4509 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_ExtendedProperties_Proxy(
   4510     IInkStrokeDisp* This,
   4511     IInkExtendedProperties **Properties);
   4512 void __RPC_STUB IInkStrokeDisp_get_ExtendedProperties_Stub(
   4513     IRpcStubBuffer* This,
   4514     IRpcChannelBuffer* pRpcChannelBuffer,
   4515     PRPC_MESSAGE pRpcMessage,
   4516     DWORD* pdwStubPhase);
   4517 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_PolylineCusps_Proxy(
   4518     IInkStrokeDisp* This,
   4519     VARIANT *Cusps);
   4520 void __RPC_STUB IInkStrokeDisp_get_PolylineCusps_Stub(
   4521     IRpcStubBuffer* This,
   4522     IRpcChannelBuffer* pRpcChannelBuffer,
   4523     PRPC_MESSAGE pRpcMessage,
   4524     DWORD* pdwStubPhase);
   4525 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_BezierCusps_Proxy(
   4526     IInkStrokeDisp* This,
   4527     VARIANT *Cusps);
   4528 void __RPC_STUB IInkStrokeDisp_get_BezierCusps_Stub(
   4529     IRpcStubBuffer* This,
   4530     IRpcChannelBuffer* pRpcChannelBuffer,
   4531     PRPC_MESSAGE pRpcMessage,
   4532     DWORD* pdwStubPhase);
   4533 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_SelfIntersections_Proxy(
   4534     IInkStrokeDisp* This,
   4535     VARIANT *Intersections);
   4536 void __RPC_STUB IInkStrokeDisp_get_SelfIntersections_Stub(
   4537     IRpcStubBuffer* This,
   4538     IRpcChannelBuffer* pRpcChannelBuffer,
   4539     PRPC_MESSAGE pRpcMessage,
   4540     DWORD* pdwStubPhase);
   4541 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_PacketCount_Proxy(
   4542     IInkStrokeDisp* This,
   4543     LONG *plCount);
   4544 void __RPC_STUB IInkStrokeDisp_get_PacketCount_Stub(
   4545     IRpcStubBuffer* This,
   4546     IRpcChannelBuffer* pRpcChannelBuffer,
   4547     PRPC_MESSAGE pRpcMessage,
   4548     DWORD* pdwStubPhase);
   4549 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_PacketSize_Proxy(
   4550     IInkStrokeDisp* This,
   4551     LONG *plSize);
   4552 void __RPC_STUB IInkStrokeDisp_get_PacketSize_Stub(
   4553     IRpcStubBuffer* This,
   4554     IRpcChannelBuffer* pRpcChannelBuffer,
   4555     PRPC_MESSAGE pRpcMessage,
   4556     DWORD* pdwStubPhase);
   4557 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_PacketDescription_Proxy(
   4558     IInkStrokeDisp* This,
   4559     VARIANT *PacketDescription);
   4560 void __RPC_STUB IInkStrokeDisp_get_PacketDescription_Stub(
   4561     IRpcStubBuffer* This,
   4562     IRpcChannelBuffer* pRpcChannelBuffer,
   4563     PRPC_MESSAGE pRpcMessage,
   4564     DWORD* pdwStubPhase);
   4565 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_get_Deleted_Proxy(
   4566     IInkStrokeDisp* This,
   4567     VARIANT_BOOL *Deleted);
   4568 void __RPC_STUB IInkStrokeDisp_get_Deleted_Stub(
   4569     IRpcStubBuffer* This,
   4570     IRpcChannelBuffer* pRpcChannelBuffer,
   4571     PRPC_MESSAGE pRpcMessage,
   4572     DWORD* pdwStubPhase);
   4573 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetBoundingBox_Proxy(
   4574     IInkStrokeDisp* This,
   4575     InkBoundingBoxMode BoundingBoxMode,
   4576     IInkRectangle **Rectangle);
   4577 void __RPC_STUB IInkStrokeDisp_GetBoundingBox_Stub(
   4578     IRpcStubBuffer* This,
   4579     IRpcChannelBuffer* pRpcChannelBuffer,
   4580     PRPC_MESSAGE pRpcMessage,
   4581     DWORD* pdwStubPhase);
   4582 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_FindIntersections_Proxy(
   4583     IInkStrokeDisp* This,
   4584     IInkStrokes *Strokes,
   4585     VARIANT *Intersections);
   4586 void __RPC_STUB IInkStrokeDisp_FindIntersections_Stub(
   4587     IRpcStubBuffer* This,
   4588     IRpcChannelBuffer* pRpcChannelBuffer,
   4589     PRPC_MESSAGE pRpcMessage,
   4590     DWORD* pdwStubPhase);
   4591 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetRectangleIntersections_Proxy(
   4592     IInkStrokeDisp* This,
   4593     IInkRectangle *Rectangle,
   4594     VARIANT *Intersections);
   4595 void __RPC_STUB IInkStrokeDisp_GetRectangleIntersections_Stub(
   4596     IRpcStubBuffer* This,
   4597     IRpcChannelBuffer* pRpcChannelBuffer,
   4598     PRPC_MESSAGE pRpcMessage,
   4599     DWORD* pdwStubPhase);
   4600 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Clip_Proxy(
   4601     IInkStrokeDisp* This,
   4602     IInkRectangle *Rectangle);
   4603 void __RPC_STUB IInkStrokeDisp_Clip_Stub(
   4604     IRpcStubBuffer* This,
   4605     IRpcChannelBuffer* pRpcChannelBuffer,
   4606     PRPC_MESSAGE pRpcMessage,
   4607     DWORD* pdwStubPhase);
   4608 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_HitTestCircle_Proxy(
   4609     IInkStrokeDisp* This,
   4610     LONG X,
   4611     LONG Y,
   4612     float Radius,
   4613     VARIANT_BOOL *Intersects);
   4614 void __RPC_STUB IInkStrokeDisp_HitTestCircle_Stub(
   4615     IRpcStubBuffer* This,
   4616     IRpcChannelBuffer* pRpcChannelBuffer,
   4617     PRPC_MESSAGE pRpcMessage,
   4618     DWORD* pdwStubPhase);
   4619 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_NearestPoint_Proxy(
   4620     IInkStrokeDisp* This,
   4621     LONG X,
   4622     LONG Y,
   4623     float *Distance,
   4624     float *Point);
   4625 void __RPC_STUB IInkStrokeDisp_NearestPoint_Stub(
   4626     IRpcStubBuffer* This,
   4627     IRpcChannelBuffer* pRpcChannelBuffer,
   4628     PRPC_MESSAGE pRpcMessage,
   4629     DWORD* pdwStubPhase);
   4630 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Split_Proxy(
   4631     IInkStrokeDisp* This,
   4632     float SplitAt,
   4633     IInkStrokeDisp **NewStroke);
   4634 void __RPC_STUB IInkStrokeDisp_Split_Stub(
   4635     IRpcStubBuffer* This,
   4636     IRpcChannelBuffer* pRpcChannelBuffer,
   4637     PRPC_MESSAGE pRpcMessage,
   4638     DWORD* pdwStubPhase);
   4639 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetPacketDescriptionPropertyMetrics_Proxy(
   4640     IInkStrokeDisp* This,
   4641     BSTR PropertyName,
   4642     LONG *Minimum,
   4643     LONG *Maximum,
   4644     TabletPropertyMetricUnit *Units,
   4645     float *Resolution);
   4646 void __RPC_STUB IInkStrokeDisp_GetPacketDescriptionPropertyMetrics_Stub(
   4647     IRpcStubBuffer* This,
   4648     IRpcChannelBuffer* pRpcChannelBuffer,
   4649     PRPC_MESSAGE pRpcMessage,
   4650     DWORD* pdwStubPhase);
   4651 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetPoints_Proxy(
   4652     IInkStrokeDisp* This,
   4653     LONG Index,
   4654     LONG Count,
   4655     VARIANT *Points);
   4656 void __RPC_STUB IInkStrokeDisp_GetPoints_Stub(
   4657     IRpcStubBuffer* This,
   4658     IRpcChannelBuffer* pRpcChannelBuffer,
   4659     PRPC_MESSAGE pRpcMessage,
   4660     DWORD* pdwStubPhase);
   4661 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_SetPoints_Proxy(
   4662     IInkStrokeDisp* This,
   4663     VARIANT Points,
   4664     LONG Index,
   4665     LONG Count,
   4666     LONG *NumberOfPointsSet);
   4667 void __RPC_STUB IInkStrokeDisp_SetPoints_Stub(
   4668     IRpcStubBuffer* This,
   4669     IRpcChannelBuffer* pRpcChannelBuffer,
   4670     PRPC_MESSAGE pRpcMessage,
   4671     DWORD* pdwStubPhase);
   4672 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetPacketData_Proxy(
   4673     IInkStrokeDisp* This,
   4674     LONG Index,
   4675     LONG Count,
   4676     VARIANT *PacketData);
   4677 void __RPC_STUB IInkStrokeDisp_GetPacketData_Stub(
   4678     IRpcStubBuffer* This,
   4679     IRpcChannelBuffer* pRpcChannelBuffer,
   4680     PRPC_MESSAGE pRpcMessage,
   4681     DWORD* pdwStubPhase);
   4682 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetPacketValuesByProperty_Proxy(
   4683     IInkStrokeDisp* This,
   4684     BSTR PropertyName,
   4685     LONG Index,
   4686     LONG Count,
   4687     VARIANT *PacketValues);
   4688 void __RPC_STUB IInkStrokeDisp_GetPacketValuesByProperty_Stub(
   4689     IRpcStubBuffer* This,
   4690     IRpcChannelBuffer* pRpcChannelBuffer,
   4691     PRPC_MESSAGE pRpcMessage,
   4692     DWORD* pdwStubPhase);
   4693 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_SetPacketValuesByProperty_Proxy(
   4694     IInkStrokeDisp* This,
   4695     BSTR bstrPropertyName,
   4696     VARIANT PacketValues,
   4697     LONG Index,
   4698     LONG Count,
   4699     LONG *NumberOfPacketsSet);
   4700 void __RPC_STUB IInkStrokeDisp_SetPacketValuesByProperty_Stub(
   4701     IRpcStubBuffer* This,
   4702     IRpcChannelBuffer* pRpcChannelBuffer,
   4703     PRPC_MESSAGE pRpcMessage,
   4704     DWORD* pdwStubPhase);
   4705 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_GetFlattenedBezierPoints_Proxy(
   4706     IInkStrokeDisp* This,
   4707     LONG FittingError,
   4708     VARIANT *FlattenedBezierPoints);
   4709 void __RPC_STUB IInkStrokeDisp_GetFlattenedBezierPoints_Stub(
   4710     IRpcStubBuffer* This,
   4711     IRpcChannelBuffer* pRpcChannelBuffer,
   4712     PRPC_MESSAGE pRpcMessage,
   4713     DWORD* pdwStubPhase);
   4714 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Transform_Proxy(
   4715     IInkStrokeDisp* This,
   4716     IInkTransform *Transform,
   4717     VARIANT_BOOL ApplyOnPenWidth);
   4718 void __RPC_STUB IInkStrokeDisp_Transform_Stub(
   4719     IRpcStubBuffer* This,
   4720     IRpcChannelBuffer* pRpcChannelBuffer,
   4721     PRPC_MESSAGE pRpcMessage,
   4722     DWORD* pdwStubPhase);
   4723 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_ScaleToRectangle_Proxy(
   4724     IInkStrokeDisp* This,
   4725     IInkRectangle *Rectangle);
   4726 void __RPC_STUB IInkStrokeDisp_ScaleToRectangle_Stub(
   4727     IRpcStubBuffer* This,
   4728     IRpcChannelBuffer* pRpcChannelBuffer,
   4729     PRPC_MESSAGE pRpcMessage,
   4730     DWORD* pdwStubPhase);
   4731 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Move_Proxy(
   4732     IInkStrokeDisp* This,
   4733     float HorizontalComponent,
   4734     float VerticalComponent);
   4735 void __RPC_STUB IInkStrokeDisp_Move_Stub(
   4736     IRpcStubBuffer* This,
   4737     IRpcChannelBuffer* pRpcChannelBuffer,
   4738     PRPC_MESSAGE pRpcMessage,
   4739     DWORD* pdwStubPhase);
   4740 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Rotate_Proxy(
   4741     IInkStrokeDisp* This,
   4742     float Degrees,
   4743     float x,
   4744     float y);
   4745 void __RPC_STUB IInkStrokeDisp_Rotate_Stub(
   4746     IRpcStubBuffer* This,
   4747     IRpcChannelBuffer* pRpcChannelBuffer,
   4748     PRPC_MESSAGE pRpcMessage,
   4749     DWORD* pdwStubPhase);
   4750 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_Shear_Proxy(
   4751     IInkStrokeDisp* This,
   4752     float HorizontalMultiplier,
   4753     float VerticalMultiplier);
   4754 void __RPC_STUB IInkStrokeDisp_Shear_Stub(
   4755     IRpcStubBuffer* This,
   4756     IRpcChannelBuffer* pRpcChannelBuffer,
   4757     PRPC_MESSAGE pRpcMessage,
   4758     DWORD* pdwStubPhase);
   4759 HRESULT STDMETHODCALLTYPE IInkStrokeDisp_ScaleTransform_Proxy(
   4760     IInkStrokeDisp* This,
   4761     float HorizontalMultiplier,
   4762     float VerticalMultiplier);
   4763 void __RPC_STUB IInkStrokeDisp_ScaleTransform_Stub(
   4764     IRpcStubBuffer* This,
   4765     IRpcChannelBuffer* pRpcChannelBuffer,
   4766     PRPC_MESSAGE pRpcMessage,
   4767     DWORD* pdwStubPhase);
   4768 
   4769 #endif  /* __IInkStrokeDisp_INTERFACE_DEFINED__ */
   4770 
   4771 /*****************************************************************************
   4772  * IInkCustomStrokes interface
   4773  */
   4774 #ifndef __IInkCustomStrokes_INTERFACE_DEFINED__
   4775 #define __IInkCustomStrokes_INTERFACE_DEFINED__
   4776 
   4777 DEFINE_GUID(IID_IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1);
   4778 #if defined(__cplusplus) && !defined(CINTERFACE)
   4779 MIDL_INTERFACE("7e23a88f-c30e-420f-9bdb-28902543f0c1")
   4780 IInkCustomStrokes : public IDispatch
   4781 {
   4782     virtual HRESULT STDMETHODCALLTYPE get_Count(
   4783         LONG *Count) = 0;
   4784 
   4785     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   4786         IUnknown **_NewEnum) = 0;
   4787 
   4788     virtual HRESULT STDMETHODCALLTYPE Item(
   4789         VARIANT Identifier,
   4790         IInkStrokes **Strokes) = 0;
   4791 
   4792     virtual HRESULT STDMETHODCALLTYPE Add(
   4793         BSTR Name,
   4794         IInkStrokes *Strokes) = 0;
   4795 
   4796     virtual HRESULT STDMETHODCALLTYPE Remove(
   4797         VARIANT Identifier) = 0;
   4798 
   4799     virtual HRESULT STDMETHODCALLTYPE Clear(
   4800         ) = 0;
   4801 
   4802 };
   4803 #ifdef __CRT_UUID_DECL
   4804 __CRT_UUID_DECL(IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1)
   4805 #endif
   4806 #else
   4807 typedef struct IInkCustomStrokesVtbl {
   4808     BEGIN_INTERFACE
   4809 
   4810     /*** IUnknown methods ***/
   4811     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4812         IInkCustomStrokes* This,
   4813         REFIID riid,
   4814         void **ppvObject);
   4815 
   4816     ULONG (STDMETHODCALLTYPE *AddRef)(
   4817         IInkCustomStrokes* This);
   4818 
   4819     ULONG (STDMETHODCALLTYPE *Release)(
   4820         IInkCustomStrokes* This);
   4821 
   4822     /*** IDispatch methods ***/
   4823     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4824         IInkCustomStrokes* This,
   4825         UINT *pctinfo);
   4826 
   4827     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4828         IInkCustomStrokes* This,
   4829         UINT iTInfo,
   4830         LCID lcid,
   4831         ITypeInfo **ppTInfo);
   4832 
   4833     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4834         IInkCustomStrokes* This,
   4835         REFIID riid,
   4836         LPOLESTR *rgszNames,
   4837         UINT cNames,
   4838         LCID lcid,
   4839         DISPID *rgDispId);
   4840 
   4841     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4842         IInkCustomStrokes* This,
   4843         DISPID dispIdMember,
   4844         REFIID riid,
   4845         LCID lcid,
   4846         WORD wFlags,
   4847         DISPPARAMS *pDispParams,
   4848         VARIANT *pVarResult,
   4849         EXCEPINFO *pExcepInfo,
   4850         UINT *puArgErr);
   4851 
   4852     /*** IInkCustomStrokes methods ***/
   4853     HRESULT (STDMETHODCALLTYPE *get_Count)(
   4854         IInkCustomStrokes* This,
   4855         LONG *Count);
   4856 
   4857     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   4858         IInkCustomStrokes* This,
   4859         IUnknown **_NewEnum);
   4860 
   4861     HRESULT (STDMETHODCALLTYPE *Item)(
   4862         IInkCustomStrokes* This,
   4863         VARIANT Identifier,
   4864         IInkStrokes **Strokes);
   4865 
   4866     HRESULT (STDMETHODCALLTYPE *Add)(
   4867         IInkCustomStrokes* This,
   4868         BSTR Name,
   4869         IInkStrokes *Strokes);
   4870 
   4871     HRESULT (STDMETHODCALLTYPE *Remove)(
   4872         IInkCustomStrokes* This,
   4873         VARIANT Identifier);
   4874 
   4875     HRESULT (STDMETHODCALLTYPE *Clear)(
   4876         IInkCustomStrokes* This);
   4877 
   4878     END_INTERFACE
   4879 } IInkCustomStrokesVtbl;
   4880 interface IInkCustomStrokes {
   4881     CONST_VTBL IInkCustomStrokesVtbl* lpVtbl;
   4882 };
   4883 
   4884 #ifdef COBJMACROS
   4885 #ifndef WIDL_C_INLINE_WRAPPERS
   4886 /*** IUnknown methods ***/
   4887 #define IInkCustomStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4888 #define IInkCustomStrokes_AddRef(This) (This)->lpVtbl->AddRef(This)
   4889 #define IInkCustomStrokes_Release(This) (This)->lpVtbl->Release(This)
   4890 /*** IDispatch methods ***/
   4891 #define IInkCustomStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4892 #define IInkCustomStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4893 #define IInkCustomStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4894 #define IInkCustomStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4895 /*** IInkCustomStrokes methods ***/
   4896 #define IInkCustomStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   4897 #define IInkCustomStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
   4898 #define IInkCustomStrokes_Item(This,Identifier,Strokes) (This)->lpVtbl->Item(This,Identifier,Strokes)
   4899 #define IInkCustomStrokes_Add(This,Name,Strokes) (This)->lpVtbl->Add(This,Name,Strokes)
   4900 #define IInkCustomStrokes_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier)
   4901 #define IInkCustomStrokes_Clear(This) (This)->lpVtbl->Clear(This)
   4902 #else
   4903 /*** IUnknown methods ***/
   4904 static FORCEINLINE HRESULT IInkCustomStrokes_QueryInterface(IInkCustomStrokes* This,REFIID riid,void **ppvObject) {
   4905     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4906 }
   4907 static FORCEINLINE ULONG IInkCustomStrokes_AddRef(IInkCustomStrokes* This) {
   4908     return This->lpVtbl->AddRef(This);
   4909 }
   4910 static FORCEINLINE ULONG IInkCustomStrokes_Release(IInkCustomStrokes* This) {
   4911     return This->lpVtbl->Release(This);
   4912 }
   4913 /*** IDispatch methods ***/
   4914 static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfoCount(IInkCustomStrokes* This,UINT *pctinfo) {
   4915     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4916 }
   4917 static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfo(IInkCustomStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4918     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4919 }
   4920 static FORCEINLINE HRESULT IInkCustomStrokes_GetIDsOfNames(IInkCustomStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4921     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4922 }
   4923 static FORCEINLINE HRESULT IInkCustomStrokes_Invoke(IInkCustomStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4924     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4925 }
   4926 /*** IInkCustomStrokes methods ***/
   4927 static FORCEINLINE HRESULT IInkCustomStrokes_get_Count(IInkCustomStrokes* This,LONG *Count) {
   4928     return This->lpVtbl->get_Count(This,Count);
   4929 }
   4930 static FORCEINLINE HRESULT IInkCustomStrokes_get__NewEnum(IInkCustomStrokes* This,IUnknown **_NewEnum) {
   4931     return This->lpVtbl->get__NewEnum(This,_NewEnum);
   4932 }
   4933 static FORCEINLINE HRESULT IInkCustomStrokes_Item(IInkCustomStrokes* This,VARIANT Identifier,IInkStrokes **Strokes) {
   4934     return This->lpVtbl->Item(This,Identifier,Strokes);
   4935 }
   4936 static FORCEINLINE HRESULT IInkCustomStrokes_Add(IInkCustomStrokes* This,BSTR Name,IInkStrokes *Strokes) {
   4937     return This->lpVtbl->Add(This,Name,Strokes);
   4938 }
   4939 static FORCEINLINE HRESULT IInkCustomStrokes_Remove(IInkCustomStrokes* This,VARIANT Identifier) {
   4940     return This->lpVtbl->Remove(This,Identifier);
   4941 }
   4942 static FORCEINLINE HRESULT IInkCustomStrokes_Clear(IInkCustomStrokes* This) {
   4943     return This->lpVtbl->Clear(This);
   4944 }
   4945 #endif
   4946 #endif
   4947 
   4948 #endif
   4949 
   4950 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_get_Count_Proxy(
   4951     IInkCustomStrokes* This,
   4952     LONG *Count);
   4953 void __RPC_STUB IInkCustomStrokes_get_Count_Stub(
   4954     IRpcStubBuffer* This,
   4955     IRpcChannelBuffer* pRpcChannelBuffer,
   4956     PRPC_MESSAGE pRpcMessage,
   4957     DWORD* pdwStubPhase);
   4958 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_get__NewEnum_Proxy(
   4959     IInkCustomStrokes* This,
   4960     IUnknown **_NewEnum);
   4961 void __RPC_STUB IInkCustomStrokes_get__NewEnum_Stub(
   4962     IRpcStubBuffer* This,
   4963     IRpcChannelBuffer* pRpcChannelBuffer,
   4964     PRPC_MESSAGE pRpcMessage,
   4965     DWORD* pdwStubPhase);
   4966 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_Item_Proxy(
   4967     IInkCustomStrokes* This,
   4968     VARIANT Identifier,
   4969     IInkStrokes **Strokes);
   4970 void __RPC_STUB IInkCustomStrokes_Item_Stub(
   4971     IRpcStubBuffer* This,
   4972     IRpcChannelBuffer* pRpcChannelBuffer,
   4973     PRPC_MESSAGE pRpcMessage,
   4974     DWORD* pdwStubPhase);
   4975 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_Add_Proxy(
   4976     IInkCustomStrokes* This,
   4977     BSTR Name,
   4978     IInkStrokes *Strokes);
   4979 void __RPC_STUB IInkCustomStrokes_Add_Stub(
   4980     IRpcStubBuffer* This,
   4981     IRpcChannelBuffer* pRpcChannelBuffer,
   4982     PRPC_MESSAGE pRpcMessage,
   4983     DWORD* pdwStubPhase);
   4984 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_Remove_Proxy(
   4985     IInkCustomStrokes* This,
   4986     VARIANT Identifier);
   4987 void __RPC_STUB IInkCustomStrokes_Remove_Stub(
   4988     IRpcStubBuffer* This,
   4989     IRpcChannelBuffer* pRpcChannelBuffer,
   4990     PRPC_MESSAGE pRpcMessage,
   4991     DWORD* pdwStubPhase);
   4992 HRESULT STDMETHODCALLTYPE IInkCustomStrokes_Clear_Proxy(
   4993     IInkCustomStrokes* This);
   4994 void __RPC_STUB IInkCustomStrokes_Clear_Stub(
   4995     IRpcStubBuffer* This,
   4996     IRpcChannelBuffer* pRpcChannelBuffer,
   4997     PRPC_MESSAGE pRpcMessage,
   4998     DWORD* pdwStubPhase);
   4999 
   5000 #endif  /* __IInkCustomStrokes_INTERFACE_DEFINED__ */
   5001 
   5002 /*****************************************************************************
   5003  * IInkDisp interface
   5004  */
   5005 #ifndef __IInkDisp_INTERFACE_DEFINED__
   5006 #define __IInkDisp_INTERFACE_DEFINED__
   5007 
   5008 DEFINE_GUID(IID_IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6);
   5009 #if defined(__cplusplus) && !defined(CINTERFACE)
   5010 MIDL_INTERFACE("9d398fa0-c4e2-4fcd-9973-975caaf47ea6")
   5011 IInkDisp : public IDispatch
   5012 {
   5013     virtual HRESULT STDMETHODCALLTYPE get_Strokes(
   5014         IInkStrokes **Strokes) = 0;
   5015 
   5016     virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
   5017         IInkExtendedProperties **Properties) = 0;
   5018 
   5019     virtual HRESULT STDMETHODCALLTYPE get_Dirty(
   5020         VARIANT_BOOL *Dirty) = 0;
   5021 
   5022     virtual HRESULT STDMETHODCALLTYPE put_Dirty(
   5023         VARIANT_BOOL Dirty) = 0;
   5024 
   5025     virtual HRESULT STDMETHODCALLTYPE get_CustomStrokes(
   5026         IInkCustomStrokes **ppunkInkCustomStrokes) = 0;
   5027 
   5028     virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
   5029         InkBoundingBoxMode BoundingBoxMode,
   5030         IInkRectangle **Rectangle) = 0;
   5031 
   5032     virtual HRESULT STDMETHODCALLTYPE DeleteStrokes(
   5033         IInkStrokes *Strokes = 0) = 0;
   5034 
   5035     virtual HRESULT STDMETHODCALLTYPE DeleteStroke(
   5036         IInkStrokeDisp *Stroke) = 0;
   5037 
   5038     virtual HRESULT STDMETHODCALLTYPE ExtractStrokes(
   5039         IInkStrokes *Strokes,
   5040         InkExtractFlags ExtractFlags,
   5041         IInkDisp **ExtractedInk) = 0;
   5042 
   5043     virtual HRESULT STDMETHODCALLTYPE ExtractWithRectangle(
   5044         IInkRectangle *Rectangle,
   5045         InkExtractFlags extractFlags,
   5046         IInkDisp **ExtractedInk) = 0;
   5047 
   5048     virtual HRESULT STDMETHODCALLTYPE Clip(
   5049         IInkRectangle *Rectangle) = 0;
   5050 
   5051     virtual HRESULT STDMETHODCALLTYPE Clone(
   5052         IInkDisp **NewInk) = 0;
   5053 
   5054     virtual HRESULT STDMETHODCALLTYPE HitTestCircle(
   5055         LONG X,
   5056         LONG Y,
   5057         float radius,
   5058         IInkStrokes **Strokes) = 0;
   5059 
   5060     virtual HRESULT STDMETHODCALLTYPE HitTestWithRectangle(
   5061         IInkRectangle *SelectionRectangle,
   5062         float IntersectPercent,
   5063         IInkStrokes **Strokes) = 0;
   5064 
   5065     virtual HRESULT STDMETHODCALLTYPE HitTestWithLasso(
   5066         VARIANT Points,
   5067         float IntersectPercent,
   5068         VARIANT *LassoPoints,
   5069         IInkStrokes **Strokes) = 0;
   5070 
   5071     virtual HRESULT STDMETHODCALLTYPE NearestPoint(
   5072         LONG X,
   5073         LONG Y,
   5074         float *PointOnStroke,
   5075         float *DistanceFromPacket,
   5076         IInkStrokeDisp **Stroke) = 0;
   5077 
   5078     virtual HRESULT STDMETHODCALLTYPE CreateStrokes(
   5079         VARIANT StrokeIds,
   5080         IInkStrokes **Strokes) = 0;
   5081 
   5082     virtual HRESULT STDMETHODCALLTYPE AddStrokesAtRectangle(
   5083         IInkStrokes *SourceStrokes,
   5084         IInkRectangle *TargetRectangle) = 0;
   5085 
   5086     virtual HRESULT STDMETHODCALLTYPE Save(
   5087         InkPersistenceFormat PersistenceFormat,
   5088         InkPersistenceCompressionMode CompressionMode,
   5089         VARIANT *Data) = 0;
   5090 
   5091     virtual HRESULT STDMETHODCALLTYPE Load(
   5092         VARIANT Data) = 0;
   5093 
   5094     virtual HRESULT STDMETHODCALLTYPE CreateStroke(
   5095         VARIANT PacketData,
   5096         VARIANT PacketDescription,
   5097         IInkStrokeDisp **Stroke) = 0;
   5098 
   5099     virtual HRESULT STDMETHODCALLTYPE ClipboardCopyWithRectangle(
   5100         IInkRectangle *Rectangle,
   5101         InkClipboardFormats ClipboardFormats,
   5102         InkClipboardModes ClipboardModes,
   5103         IDataObject **DataObject) = 0;
   5104 
   5105     virtual HRESULT STDMETHODCALLTYPE ClipboardCopy(
   5106         IInkStrokes *strokes,
   5107         InkClipboardFormats ClipboardFormats,
   5108         InkClipboardModes ClipboardModes,
   5109         IDataObject **DataObject) = 0;
   5110 
   5111     virtual HRESULT STDMETHODCALLTYPE CanPaste(
   5112         IDataObject *DataObject,
   5113         VARIANT_BOOL *CanPaste) = 0;
   5114 
   5115     virtual HRESULT STDMETHODCALLTYPE ClipboardPaste(
   5116         LONG x,
   5117         LONG y,
   5118         IDataObject *DataObject,
   5119         IInkStrokes **Strokes) = 0;
   5120 
   5121 };
   5122 #ifdef __CRT_UUID_DECL
   5123 __CRT_UUID_DECL(IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6)
   5124 #endif
   5125 #else
   5126 typedef struct IInkDispVtbl {
   5127     BEGIN_INTERFACE
   5128 
   5129     /*** IUnknown methods ***/
   5130     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5131         IInkDisp* This,
   5132         REFIID riid,
   5133         void **ppvObject);
   5134 
   5135     ULONG (STDMETHODCALLTYPE *AddRef)(
   5136         IInkDisp* This);
   5137 
   5138     ULONG (STDMETHODCALLTYPE *Release)(
   5139         IInkDisp* This);
   5140 
   5141     /*** IDispatch methods ***/
   5142     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5143         IInkDisp* This,
   5144         UINT *pctinfo);
   5145 
   5146     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5147         IInkDisp* This,
   5148         UINT iTInfo,
   5149         LCID lcid,
   5150         ITypeInfo **ppTInfo);
   5151 
   5152     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5153         IInkDisp* This,
   5154         REFIID riid,
   5155         LPOLESTR *rgszNames,
   5156         UINT cNames,
   5157         LCID lcid,
   5158         DISPID *rgDispId);
   5159 
   5160     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5161         IInkDisp* This,
   5162         DISPID dispIdMember,
   5163         REFIID riid,
   5164         LCID lcid,
   5165         WORD wFlags,
   5166         DISPPARAMS *pDispParams,
   5167         VARIANT *pVarResult,
   5168         EXCEPINFO *pExcepInfo,
   5169         UINT *puArgErr);
   5170 
   5171     /*** IInkDisp methods ***/
   5172     HRESULT (STDMETHODCALLTYPE *get_Strokes)(
   5173         IInkDisp* This,
   5174         IInkStrokes **Strokes);
   5175 
   5176     HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
   5177         IInkDisp* This,
   5178         IInkExtendedProperties **Properties);
   5179 
   5180     HRESULT (STDMETHODCALLTYPE *get_Dirty)(
   5181         IInkDisp* This,
   5182         VARIANT_BOOL *Dirty);
   5183 
   5184     HRESULT (STDMETHODCALLTYPE *put_Dirty)(
   5185         IInkDisp* This,
   5186         VARIANT_BOOL Dirty);
   5187 
   5188     HRESULT (STDMETHODCALLTYPE *get_CustomStrokes)(
   5189         IInkDisp* This,
   5190         IInkCustomStrokes **ppunkInkCustomStrokes);
   5191 
   5192     HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
   5193         IInkDisp* This,
   5194         InkBoundingBoxMode BoundingBoxMode,
   5195         IInkRectangle **Rectangle);
   5196 
   5197     HRESULT (STDMETHODCALLTYPE *DeleteStrokes)(
   5198         IInkDisp* This,
   5199         IInkStrokes *Strokes);
   5200 
   5201     HRESULT (STDMETHODCALLTYPE *DeleteStroke)(
   5202         IInkDisp* This,
   5203         IInkStrokeDisp *Stroke);
   5204 
   5205     HRESULT (STDMETHODCALLTYPE *ExtractStrokes)(
   5206         IInkDisp* This,
   5207         IInkStrokes *Strokes,
   5208         InkExtractFlags ExtractFlags,
   5209         IInkDisp **ExtractedInk);
   5210 
   5211     HRESULT (STDMETHODCALLTYPE *ExtractWithRectangle)(
   5212         IInkDisp* This,
   5213         IInkRectangle *Rectangle,
   5214         InkExtractFlags extractFlags,
   5215         IInkDisp **ExtractedInk);
   5216 
   5217     HRESULT (STDMETHODCALLTYPE *Clip)(
   5218         IInkDisp* This,
   5219         IInkRectangle *Rectangle);
   5220 
   5221     HRESULT (STDMETHODCALLTYPE *Clone)(
   5222         IInkDisp* This,
   5223         IInkDisp **NewInk);
   5224 
   5225     HRESULT (STDMETHODCALLTYPE *HitTestCircle)(
   5226         IInkDisp* This,
   5227         LONG X,
   5228         LONG Y,
   5229         float radius,
   5230         IInkStrokes **Strokes);
   5231 
   5232     HRESULT (STDMETHODCALLTYPE *HitTestWithRectangle)(
   5233         IInkDisp* This,
   5234         IInkRectangle *SelectionRectangle,
   5235         float IntersectPercent,
   5236         IInkStrokes **Strokes);
   5237 
   5238     HRESULT (STDMETHODCALLTYPE *HitTestWithLasso)(
   5239         IInkDisp* This,
   5240         VARIANT Points,
   5241         float IntersectPercent,
   5242         VARIANT *LassoPoints,
   5243         IInkStrokes **Strokes);
   5244 
   5245     HRESULT (STDMETHODCALLTYPE *NearestPoint)(
   5246         IInkDisp* This,
   5247         LONG X,
   5248         LONG Y,
   5249         float *PointOnStroke,
   5250         float *DistanceFromPacket,
   5251         IInkStrokeDisp **Stroke);
   5252 
   5253     HRESULT (STDMETHODCALLTYPE *CreateStrokes)(
   5254         IInkDisp* This,
   5255         VARIANT StrokeIds,
   5256         IInkStrokes **Strokes);
   5257 
   5258     HRESULT (STDMETHODCALLTYPE *AddStrokesAtRectangle)(
   5259         IInkDisp* This,
   5260         IInkStrokes *SourceStrokes,
   5261         IInkRectangle *TargetRectangle);
   5262 
   5263     HRESULT (STDMETHODCALLTYPE *Save)(
   5264         IInkDisp* This,
   5265         InkPersistenceFormat PersistenceFormat,
   5266         InkPersistenceCompressionMode CompressionMode,
   5267         VARIANT *Data);
   5268 
   5269     HRESULT (STDMETHODCALLTYPE *Load)(
   5270         IInkDisp* This,
   5271         VARIANT Data);
   5272 
   5273     HRESULT (STDMETHODCALLTYPE *CreateStroke)(
   5274         IInkDisp* This,
   5275         VARIANT PacketData,
   5276         VARIANT PacketDescription,
   5277         IInkStrokeDisp **Stroke);
   5278 
   5279     HRESULT (STDMETHODCALLTYPE *ClipboardCopyWithRectangle)(
   5280         IInkDisp* This,
   5281         IInkRectangle *Rectangle,
   5282         InkClipboardFormats ClipboardFormats,
   5283         InkClipboardModes ClipboardModes,
   5284         IDataObject **DataObject);
   5285 
   5286     HRESULT (STDMETHODCALLTYPE *ClipboardCopy)(
   5287         IInkDisp* This,
   5288         IInkStrokes *strokes,
   5289         InkClipboardFormats ClipboardFormats,
   5290         InkClipboardModes ClipboardModes,
   5291         IDataObject **DataObject);
   5292 
   5293     HRESULT (STDMETHODCALLTYPE *CanPaste)(
   5294         IInkDisp* This,
   5295         IDataObject *DataObject,
   5296         VARIANT_BOOL *CanPaste);
   5297 
   5298     HRESULT (STDMETHODCALLTYPE *ClipboardPaste)(
   5299         IInkDisp* This,
   5300         LONG x,
   5301         LONG y,
   5302         IDataObject *DataObject,
   5303         IInkStrokes **Strokes);
   5304 
   5305     END_INTERFACE
   5306 } IInkDispVtbl;
   5307 interface IInkDisp {
   5308     CONST_VTBL IInkDispVtbl* lpVtbl;
   5309 };
   5310 
   5311 #ifdef COBJMACROS
   5312 #ifndef WIDL_C_INLINE_WRAPPERS
   5313 /*** IUnknown methods ***/
   5314 #define IInkDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5315 #define IInkDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
   5316 #define IInkDisp_Release(This) (This)->lpVtbl->Release(This)
   5317 /*** IDispatch methods ***/
   5318 #define IInkDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5319 #define IInkDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5320 #define IInkDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5321 #define IInkDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5322 /*** IInkDisp methods ***/
   5323 #define IInkDisp_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
   5324 #define IInkDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
   5325 #define IInkDisp_get_Dirty(This,Dirty) (This)->lpVtbl->get_Dirty(This,Dirty)
   5326 #define IInkDisp_put_Dirty(This,Dirty) (This)->lpVtbl->put_Dirty(This,Dirty)
   5327 #define IInkDisp_get_CustomStrokes(This,ppunkInkCustomStrokes) (This)->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes)
   5328 #define IInkDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle)
   5329 #define IInkDisp_DeleteStrokes(This,Strokes) (This)->lpVtbl->DeleteStrokes(This,Strokes)
   5330 #define IInkDisp_DeleteStroke(This,Stroke) (This)->lpVtbl->DeleteStroke(This,Stroke)
   5331 #define IInkDisp_ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk) (This)->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk)
   5332 #define IInkDisp_ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk) (This)->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk)
   5333 #define IInkDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
   5334 #define IInkDisp_Clone(This,NewInk) (This)->lpVtbl->Clone(This,NewInk)
   5335 #define IInkDisp_HitTestCircle(This,X,Y,radius,Strokes) (This)->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes)
   5336 #define IInkDisp_HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes) (This)->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes)
   5337 #define IInkDisp_HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes) (This)->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes)
   5338 #define IInkDisp_NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke) (This)->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke)
   5339 #define IInkDisp_CreateStrokes(This,StrokeIds,Strokes) (This)->lpVtbl->CreateStrokes(This,StrokeIds,Strokes)
   5340 #define IInkDisp_AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle) (This)->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle)
   5341 #define IInkDisp_Save(This,PersistenceFormat,CompressionMode,Data) (This)->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data)
   5342 #define IInkDisp_Load(This,Data) (This)->lpVtbl->Load(This,Data)
   5343 #define IInkDisp_CreateStroke(This,PacketData,PacketDescription,Stroke) (This)->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke)
   5344 #define IInkDisp_ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject)
   5345 #define IInkDisp_ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject)
   5346 #define IInkDisp_CanPaste(This,DataObject,CanPaste) (This)->lpVtbl->CanPaste(This,DataObject,CanPaste)
   5347 #define IInkDisp_ClipboardPaste(This,x,y,DataObject,Strokes) (This)->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes)
   5348 #else
   5349 /*** IUnknown methods ***/
   5350 static FORCEINLINE HRESULT IInkDisp_QueryInterface(IInkDisp* This,REFIID riid,void **ppvObject) {
   5351     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5352 }
   5353 static FORCEINLINE ULONG IInkDisp_AddRef(IInkDisp* This) {
   5354     return This->lpVtbl->AddRef(This);
   5355 }
   5356 static FORCEINLINE ULONG IInkDisp_Release(IInkDisp* This) {
   5357     return This->lpVtbl->Release(This);
   5358 }
   5359 /*** IDispatch methods ***/
   5360 static FORCEINLINE HRESULT IInkDisp_GetTypeInfoCount(IInkDisp* This,UINT *pctinfo) {
   5361     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5362 }
   5363 static FORCEINLINE HRESULT IInkDisp_GetTypeInfo(IInkDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5364     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5365 }
   5366 static FORCEINLINE HRESULT IInkDisp_GetIDsOfNames(IInkDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5367     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5368 }
   5369 static FORCEINLINE HRESULT IInkDisp_Invoke(IInkDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5370     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5371 }
   5372 /*** IInkDisp methods ***/
   5373 static FORCEINLINE HRESULT IInkDisp_get_Strokes(IInkDisp* This,IInkStrokes **Strokes) {
   5374     return This->lpVtbl->get_Strokes(This,Strokes);
   5375 }
   5376 static FORCEINLINE HRESULT IInkDisp_get_ExtendedProperties(IInkDisp* This,IInkExtendedProperties **Properties) {
   5377     return This->lpVtbl->get_ExtendedProperties(This,Properties);
   5378 }
   5379 static FORCEINLINE HRESULT IInkDisp_get_Dirty(IInkDisp* This,VARIANT_BOOL *Dirty) {
   5380     return This->lpVtbl->get_Dirty(This,Dirty);
   5381 }
   5382 static FORCEINLINE HRESULT IInkDisp_put_Dirty(IInkDisp* This,VARIANT_BOOL Dirty) {
   5383     return This->lpVtbl->put_Dirty(This,Dirty);
   5384 }
   5385 static FORCEINLINE HRESULT IInkDisp_get_CustomStrokes(IInkDisp* This,IInkCustomStrokes **ppunkInkCustomStrokes) {
   5386     return This->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes);
   5387 }
   5388 static FORCEINLINE HRESULT IInkDisp_GetBoundingBox(IInkDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) {
   5389     return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle);
   5390 }
   5391 static FORCEINLINE HRESULT IInkDisp_DeleteStrokes(IInkDisp* This,IInkStrokes *Strokes) {
   5392     return This->lpVtbl->DeleteStrokes(This,Strokes);
   5393 }
   5394 static FORCEINLINE HRESULT IInkDisp_DeleteStroke(IInkDisp* This,IInkStrokeDisp *Stroke) {
   5395     return This->lpVtbl->DeleteStroke(This,Stroke);
   5396 }
   5397 static FORCEINLINE HRESULT IInkDisp_ExtractStrokes(IInkDisp* This,IInkStrokes *Strokes,InkExtractFlags ExtractFlags,IInkDisp **ExtractedInk) {
   5398     return This->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk);
   5399 }
   5400 static FORCEINLINE HRESULT IInkDisp_ExtractWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkExtractFlags extractFlags,IInkDisp **ExtractedInk) {
   5401     return This->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk);
   5402 }
   5403 static FORCEINLINE HRESULT IInkDisp_Clip(IInkDisp* This,IInkRectangle *Rectangle) {
   5404     return This->lpVtbl->Clip(This,Rectangle);
   5405 }
   5406 static FORCEINLINE HRESULT IInkDisp_Clone(IInkDisp* This,IInkDisp **NewInk) {
   5407     return This->lpVtbl->Clone(This,NewInk);
   5408 }
   5409 static FORCEINLINE HRESULT IInkDisp_HitTestCircle(IInkDisp* This,LONG X,LONG Y,float radius,IInkStrokes **Strokes) {
   5410     return This->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes);
   5411 }
   5412 static FORCEINLINE HRESULT IInkDisp_HitTestWithRectangle(IInkDisp* This,IInkRectangle *SelectionRectangle,float IntersectPercent,IInkStrokes **Strokes) {
   5413     return This->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes);
   5414 }
   5415 static FORCEINLINE HRESULT IInkDisp_HitTestWithLasso(IInkDisp* This,VARIANT Points,float IntersectPercent,VARIANT *LassoPoints,IInkStrokes **Strokes) {
   5416     return This->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes);
   5417 }
   5418 static FORCEINLINE HRESULT IInkDisp_NearestPoint(IInkDisp* This,LONG X,LONG Y,float *PointOnStroke,float *DistanceFromPacket,IInkStrokeDisp **Stroke) {
   5419     return This->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke);
   5420 }
   5421 static FORCEINLINE HRESULT IInkDisp_CreateStrokes(IInkDisp* This,VARIANT StrokeIds,IInkStrokes **Strokes) {
   5422     return This->lpVtbl->CreateStrokes(This,StrokeIds,Strokes);
   5423 }
   5424 static FORCEINLINE HRESULT IInkDisp_AddStrokesAtRectangle(IInkDisp* This,IInkStrokes *SourceStrokes,IInkRectangle *TargetRectangle) {
   5425     return This->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle);
   5426 }
   5427 static FORCEINLINE HRESULT IInkDisp_Save(IInkDisp* This,InkPersistenceFormat PersistenceFormat,InkPersistenceCompressionMode CompressionMode,VARIANT *Data) {
   5428     return This->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data);
   5429 }
   5430 static FORCEINLINE HRESULT IInkDisp_Load(IInkDisp* This,VARIANT Data) {
   5431     return This->lpVtbl->Load(This,Data);
   5432 }
   5433 static FORCEINLINE HRESULT IInkDisp_CreateStroke(IInkDisp* This,VARIANT PacketData,VARIANT PacketDescription,IInkStrokeDisp **Stroke) {
   5434     return This->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke);
   5435 }
   5436 static FORCEINLINE HRESULT IInkDisp_ClipboardCopyWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) {
   5437     return This->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject);
   5438 }
   5439 static FORCEINLINE HRESULT IInkDisp_ClipboardCopy(IInkDisp* This,IInkStrokes *strokes,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) {
   5440     return This->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject);
   5441 }
   5442 static FORCEINLINE HRESULT IInkDisp_CanPaste(IInkDisp* This,IDataObject *DataObject,VARIANT_BOOL *CanPaste) {
   5443     return This->lpVtbl->CanPaste(This,DataObject,CanPaste);
   5444 }
   5445 static FORCEINLINE HRESULT IInkDisp_ClipboardPaste(IInkDisp* This,LONG x,LONG y,IDataObject *DataObject,IInkStrokes **Strokes) {
   5446     return This->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes);
   5447 }
   5448 #endif
   5449 #endif
   5450 
   5451 #endif
   5452 
   5453 HRESULT STDMETHODCALLTYPE IInkDisp_get_Strokes_Proxy(
   5454     IInkDisp* This,
   5455     IInkStrokes **Strokes);
   5456 void __RPC_STUB IInkDisp_get_Strokes_Stub(
   5457     IRpcStubBuffer* This,
   5458     IRpcChannelBuffer* pRpcChannelBuffer,
   5459     PRPC_MESSAGE pRpcMessage,
   5460     DWORD* pdwStubPhase);
   5461 HRESULT STDMETHODCALLTYPE IInkDisp_get_ExtendedProperties_Proxy(
   5462     IInkDisp* This,
   5463     IInkExtendedProperties **Properties);
   5464 void __RPC_STUB IInkDisp_get_ExtendedProperties_Stub(
   5465     IRpcStubBuffer* This,
   5466     IRpcChannelBuffer* pRpcChannelBuffer,
   5467     PRPC_MESSAGE pRpcMessage,
   5468     DWORD* pdwStubPhase);
   5469 HRESULT STDMETHODCALLTYPE IInkDisp_get_Dirty_Proxy(
   5470     IInkDisp* This,
   5471     VARIANT_BOOL *Dirty);
   5472 void __RPC_STUB IInkDisp_get_Dirty_Stub(
   5473     IRpcStubBuffer* This,
   5474     IRpcChannelBuffer* pRpcChannelBuffer,
   5475     PRPC_MESSAGE pRpcMessage,
   5476     DWORD* pdwStubPhase);
   5477 HRESULT STDMETHODCALLTYPE IInkDisp_put_Dirty_Proxy(
   5478     IInkDisp* This,
   5479     VARIANT_BOOL Dirty);
   5480 void __RPC_STUB IInkDisp_put_Dirty_Stub(
   5481     IRpcStubBuffer* This,
   5482     IRpcChannelBuffer* pRpcChannelBuffer,
   5483     PRPC_MESSAGE pRpcMessage,
   5484     DWORD* pdwStubPhase);
   5485 HRESULT STDMETHODCALLTYPE IInkDisp_get_CustomStrokes_Proxy(
   5486     IInkDisp* This,
   5487     IInkCustomStrokes **ppunkInkCustomStrokes);
   5488 void __RPC_STUB IInkDisp_get_CustomStrokes_Stub(
   5489     IRpcStubBuffer* This,
   5490     IRpcChannelBuffer* pRpcChannelBuffer,
   5491     PRPC_MESSAGE pRpcMessage,
   5492     DWORD* pdwStubPhase);
   5493 HRESULT STDMETHODCALLTYPE IInkDisp_GetBoundingBox_Proxy(
   5494     IInkDisp* This,
   5495     InkBoundingBoxMode BoundingBoxMode,
   5496     IInkRectangle **Rectangle);
   5497 void __RPC_STUB IInkDisp_GetBoundingBox_Stub(
   5498     IRpcStubBuffer* This,
   5499     IRpcChannelBuffer* pRpcChannelBuffer,
   5500     PRPC_MESSAGE pRpcMessage,
   5501     DWORD* pdwStubPhase);
   5502 HRESULT STDMETHODCALLTYPE IInkDisp_DeleteStrokes_Proxy(
   5503     IInkDisp* This,
   5504     IInkStrokes *Strokes);
   5505 void __RPC_STUB IInkDisp_DeleteStrokes_Stub(
   5506     IRpcStubBuffer* This,
   5507     IRpcChannelBuffer* pRpcChannelBuffer,
   5508     PRPC_MESSAGE pRpcMessage,
   5509     DWORD* pdwStubPhase);
   5510 HRESULT STDMETHODCALLTYPE IInkDisp_DeleteStroke_Proxy(
   5511     IInkDisp* This,
   5512     IInkStrokeDisp *Stroke);
   5513 void __RPC_STUB IInkDisp_DeleteStroke_Stub(
   5514     IRpcStubBuffer* This,
   5515     IRpcChannelBuffer* pRpcChannelBuffer,
   5516     PRPC_MESSAGE pRpcMessage,
   5517     DWORD* pdwStubPhase);
   5518 HRESULT STDMETHODCALLTYPE IInkDisp_ExtractStrokes_Proxy(
   5519     IInkDisp* This,
   5520     IInkStrokes *Strokes,
   5521     InkExtractFlags ExtractFlags,
   5522     IInkDisp **ExtractedInk);
   5523 void __RPC_STUB IInkDisp_ExtractStrokes_Stub(
   5524     IRpcStubBuffer* This,
   5525     IRpcChannelBuffer* pRpcChannelBuffer,
   5526     PRPC_MESSAGE pRpcMessage,
   5527     DWORD* pdwStubPhase);
   5528 HRESULT STDMETHODCALLTYPE IInkDisp_ExtractWithRectangle_Proxy(
   5529     IInkDisp* This,
   5530     IInkRectangle *Rectangle,
   5531     InkExtractFlags extractFlags,
   5532     IInkDisp **ExtractedInk);
   5533 void __RPC_STUB IInkDisp_ExtractWithRectangle_Stub(
   5534     IRpcStubBuffer* This,
   5535     IRpcChannelBuffer* pRpcChannelBuffer,
   5536     PRPC_MESSAGE pRpcMessage,
   5537     DWORD* pdwStubPhase);
   5538 HRESULT STDMETHODCALLTYPE IInkDisp_Clip_Proxy(
   5539     IInkDisp* This,
   5540     IInkRectangle *Rectangle);
   5541 void __RPC_STUB IInkDisp_Clip_Stub(
   5542     IRpcStubBuffer* This,
   5543     IRpcChannelBuffer* pRpcChannelBuffer,
   5544     PRPC_MESSAGE pRpcMessage,
   5545     DWORD* pdwStubPhase);
   5546 HRESULT STDMETHODCALLTYPE IInkDisp_Clone_Proxy(
   5547     IInkDisp* This,
   5548     IInkDisp **NewInk);
   5549 void __RPC_STUB IInkDisp_Clone_Stub(
   5550     IRpcStubBuffer* This,
   5551     IRpcChannelBuffer* pRpcChannelBuffer,
   5552     PRPC_MESSAGE pRpcMessage,
   5553     DWORD* pdwStubPhase);
   5554 HRESULT STDMETHODCALLTYPE IInkDisp_HitTestCircle_Proxy(
   5555     IInkDisp* This,
   5556     LONG X,
   5557     LONG Y,
   5558     float radius,
   5559     IInkStrokes **Strokes);
   5560 void __RPC_STUB IInkDisp_HitTestCircle_Stub(
   5561     IRpcStubBuffer* This,
   5562     IRpcChannelBuffer* pRpcChannelBuffer,
   5563     PRPC_MESSAGE pRpcMessage,
   5564     DWORD* pdwStubPhase);
   5565 HRESULT STDMETHODCALLTYPE IInkDisp_HitTestWithRectangle_Proxy(
   5566     IInkDisp* This,
   5567     IInkRectangle *SelectionRectangle,
   5568     float IntersectPercent,
   5569     IInkStrokes **Strokes);
   5570 void __RPC_STUB IInkDisp_HitTestWithRectangle_Stub(
   5571     IRpcStubBuffer* This,
   5572     IRpcChannelBuffer* pRpcChannelBuffer,
   5573     PRPC_MESSAGE pRpcMessage,
   5574     DWORD* pdwStubPhase);
   5575 HRESULT STDMETHODCALLTYPE IInkDisp_HitTestWithLasso_Proxy(
   5576     IInkDisp* This,
   5577     VARIANT Points,
   5578     float IntersectPercent,
   5579     VARIANT *LassoPoints,
   5580     IInkStrokes **Strokes);
   5581 void __RPC_STUB IInkDisp_HitTestWithLasso_Stub(
   5582     IRpcStubBuffer* This,
   5583     IRpcChannelBuffer* pRpcChannelBuffer,
   5584     PRPC_MESSAGE pRpcMessage,
   5585     DWORD* pdwStubPhase);
   5586 HRESULT STDMETHODCALLTYPE IInkDisp_NearestPoint_Proxy(
   5587     IInkDisp* This,
   5588     LONG X,
   5589     LONG Y,
   5590     float *PointOnStroke,
   5591     float *DistanceFromPacket,
   5592     IInkStrokeDisp **Stroke);
   5593 void __RPC_STUB IInkDisp_NearestPoint_Stub(
   5594     IRpcStubBuffer* This,
   5595     IRpcChannelBuffer* pRpcChannelBuffer,
   5596     PRPC_MESSAGE pRpcMessage,
   5597     DWORD* pdwStubPhase);
   5598 HRESULT STDMETHODCALLTYPE IInkDisp_CreateStrokes_Proxy(
   5599     IInkDisp* This,
   5600     VARIANT StrokeIds,
   5601     IInkStrokes **Strokes);
   5602 void __RPC_STUB IInkDisp_CreateStrokes_Stub(
   5603     IRpcStubBuffer* This,
   5604     IRpcChannelBuffer* pRpcChannelBuffer,
   5605     PRPC_MESSAGE pRpcMessage,
   5606     DWORD* pdwStubPhase);
   5607 HRESULT STDMETHODCALLTYPE IInkDisp_AddStrokesAtRectangle_Proxy(
   5608     IInkDisp* This,
   5609     IInkStrokes *SourceStrokes,
   5610     IInkRectangle *TargetRectangle);
   5611 void __RPC_STUB IInkDisp_AddStrokesAtRectangle_Stub(
   5612     IRpcStubBuffer* This,
   5613     IRpcChannelBuffer* pRpcChannelBuffer,
   5614     PRPC_MESSAGE pRpcMessage,
   5615     DWORD* pdwStubPhase);
   5616 HRESULT STDMETHODCALLTYPE IInkDisp_Save_Proxy(
   5617     IInkDisp* This,
   5618     InkPersistenceFormat PersistenceFormat,
   5619     InkPersistenceCompressionMode CompressionMode,
   5620     VARIANT *Data);
   5621 void __RPC_STUB IInkDisp_Save_Stub(
   5622     IRpcStubBuffer* This,
   5623     IRpcChannelBuffer* pRpcChannelBuffer,
   5624     PRPC_MESSAGE pRpcMessage,
   5625     DWORD* pdwStubPhase);
   5626 HRESULT STDMETHODCALLTYPE IInkDisp_Load_Proxy(
   5627     IInkDisp* This,
   5628     VARIANT Data);
   5629 void __RPC_STUB IInkDisp_Load_Stub(
   5630     IRpcStubBuffer* This,
   5631     IRpcChannelBuffer* pRpcChannelBuffer,
   5632     PRPC_MESSAGE pRpcMessage,
   5633     DWORD* pdwStubPhase);
   5634 HRESULT STDMETHODCALLTYPE IInkDisp_CreateStroke_Proxy(
   5635     IInkDisp* This,
   5636     VARIANT PacketData,
   5637     VARIANT PacketDescription,
   5638     IInkStrokeDisp **Stroke);
   5639 void __RPC_STUB IInkDisp_CreateStroke_Stub(
   5640     IRpcStubBuffer* This,
   5641     IRpcChannelBuffer* pRpcChannelBuffer,
   5642     PRPC_MESSAGE pRpcMessage,
   5643     DWORD* pdwStubPhase);
   5644 HRESULT STDMETHODCALLTYPE IInkDisp_ClipboardCopyWithRectangle_Proxy(
   5645     IInkDisp* This,
   5646     IInkRectangle *Rectangle,
   5647     InkClipboardFormats ClipboardFormats,
   5648     InkClipboardModes ClipboardModes,
   5649     IDataObject **DataObject);
   5650 void __RPC_STUB IInkDisp_ClipboardCopyWithRectangle_Stub(
   5651     IRpcStubBuffer* This,
   5652     IRpcChannelBuffer* pRpcChannelBuffer,
   5653     PRPC_MESSAGE pRpcMessage,
   5654     DWORD* pdwStubPhase);
   5655 HRESULT STDMETHODCALLTYPE IInkDisp_ClipboardCopy_Proxy(
   5656     IInkDisp* This,
   5657     IInkStrokes *strokes,
   5658     InkClipboardFormats ClipboardFormats,
   5659     InkClipboardModes ClipboardModes,
   5660     IDataObject **DataObject);
   5661 void __RPC_STUB IInkDisp_ClipboardCopy_Stub(
   5662     IRpcStubBuffer* This,
   5663     IRpcChannelBuffer* pRpcChannelBuffer,
   5664     PRPC_MESSAGE pRpcMessage,
   5665     DWORD* pdwStubPhase);
   5666 HRESULT STDMETHODCALLTYPE IInkDisp_CanPaste_Proxy(
   5667     IInkDisp* This,
   5668     IDataObject *DataObject,
   5669     VARIANT_BOOL *CanPaste);
   5670 void __RPC_STUB IInkDisp_CanPaste_Stub(
   5671     IRpcStubBuffer* This,
   5672     IRpcChannelBuffer* pRpcChannelBuffer,
   5673     PRPC_MESSAGE pRpcMessage,
   5674     DWORD* pdwStubPhase);
   5675 HRESULT STDMETHODCALLTYPE IInkDisp_ClipboardPaste_Proxy(
   5676     IInkDisp* This,
   5677     LONG x,
   5678     LONG y,
   5679     IDataObject *DataObject,
   5680     IInkStrokes **Strokes);
   5681 void __RPC_STUB IInkDisp_ClipboardPaste_Stub(
   5682     IRpcStubBuffer* This,
   5683     IRpcChannelBuffer* pRpcChannelBuffer,
   5684     PRPC_MESSAGE pRpcMessage,
   5685     DWORD* pdwStubPhase);
   5686 
   5687 #endif  /* __IInkDisp_INTERFACE_DEFINED__ */
   5688 
   5689 /*****************************************************************************
   5690  * IInkStrokes interface
   5691  */
   5692 #ifndef __IInkStrokes_INTERFACE_DEFINED__
   5693 #define __IInkStrokes_INTERFACE_DEFINED__
   5694 
   5695 DEFINE_GUID(IID_IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3);
   5696 #if defined(__cplusplus) && !defined(CINTERFACE)
   5697 MIDL_INTERFACE("f1f4c9d8-590a-4963-b3ae-1935671bb6f3")
   5698 IInkStrokes : public IDispatch
   5699 {
   5700     virtual HRESULT STDMETHODCALLTYPE get_Count(
   5701         LONG *Count) = 0;
   5702 
   5703     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   5704         IUnknown **_NewEnum) = 0;
   5705 
   5706     virtual HRESULT STDMETHODCALLTYPE get_Ink(
   5707         IInkDisp **Ink) = 0;
   5708 
   5709     virtual HRESULT STDMETHODCALLTYPE get_RecognitionResult(
   5710         IInkRecognitionResult **RecognitionResult) = 0;
   5711 
   5712     virtual HRESULT STDMETHODCALLTYPE ToString(
   5713         BSTR *ToString) = 0;
   5714 
   5715     virtual HRESULT STDMETHODCALLTYPE Item(
   5716         LONG Index,
   5717         IInkStrokeDisp **Stroke) = 0;
   5718 
   5719     virtual HRESULT STDMETHODCALLTYPE Add(
   5720         IInkStrokeDisp *InkStroke) = 0;
   5721 
   5722     virtual HRESULT STDMETHODCALLTYPE AddStrokes(
   5723         IInkStrokes *InkStrokes) = 0;
   5724 
   5725     virtual HRESULT STDMETHODCALLTYPE Remove(
   5726         IInkStrokeDisp *InkStroke) = 0;
   5727 
   5728     virtual HRESULT STDMETHODCALLTYPE RemoveStrokes(
   5729         IInkStrokes *InkStrokes) = 0;
   5730 
   5731     virtual HRESULT STDMETHODCALLTYPE ModifyDrawingAttributes(
   5732         IInkDrawingAttributes *DrawAttrs) = 0;
   5733 
   5734     virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
   5735         InkBoundingBoxMode BoundingBoxMode,
   5736         IInkRectangle **BoundingBox) = 0;
   5737 
   5738     virtual HRESULT STDMETHODCALLTYPE Transform(
   5739         IInkTransform *Transform,
   5740         VARIANT_BOOL ApplyOnPenWidth = 0) = 0;
   5741 
   5742     virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle(
   5743         IInkRectangle *Rectangle) = 0;
   5744 
   5745     virtual HRESULT STDMETHODCALLTYPE Move(
   5746         float HorizontalComponent,
   5747         float VerticalComponent) = 0;
   5748 
   5749     virtual HRESULT STDMETHODCALLTYPE Rotate(
   5750         float Degrees,
   5751         float x = 0,
   5752         float y = 0) = 0;
   5753 
   5754     virtual HRESULT STDMETHODCALLTYPE Shear(
   5755         float HorizontalMultiplier,
   5756         float VerticalMultiplier) = 0;
   5757 
   5758     virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
   5759         float HorizontalMultiplier,
   5760         float VerticalMultiplier) = 0;
   5761 
   5762     virtual HRESULT STDMETHODCALLTYPE Clip(
   5763         IInkRectangle *Rectangle) = 0;
   5764 
   5765     virtual HRESULT STDMETHODCALLTYPE RemoveRecognitionResult(
   5766         ) = 0;
   5767 
   5768 };
   5769 #ifdef __CRT_UUID_DECL
   5770 __CRT_UUID_DECL(IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3)
   5771 #endif
   5772 #else
   5773 typedef struct IInkStrokesVtbl {
   5774     BEGIN_INTERFACE
   5775 
   5776     /*** IUnknown methods ***/
   5777     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5778         IInkStrokes* This,
   5779         REFIID riid,
   5780         void **ppvObject);
   5781 
   5782     ULONG (STDMETHODCALLTYPE *AddRef)(
   5783         IInkStrokes* This);
   5784 
   5785     ULONG (STDMETHODCALLTYPE *Release)(
   5786         IInkStrokes* This);
   5787 
   5788     /*** IDispatch methods ***/
   5789     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5790         IInkStrokes* This,
   5791         UINT *pctinfo);
   5792 
   5793     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5794         IInkStrokes* This,
   5795         UINT iTInfo,
   5796         LCID lcid,
   5797         ITypeInfo **ppTInfo);
   5798 
   5799     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5800         IInkStrokes* This,
   5801         REFIID riid,
   5802         LPOLESTR *rgszNames,
   5803         UINT cNames,
   5804         LCID lcid,
   5805         DISPID *rgDispId);
   5806 
   5807     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5808         IInkStrokes* This,
   5809         DISPID dispIdMember,
   5810         REFIID riid,
   5811         LCID lcid,
   5812         WORD wFlags,
   5813         DISPPARAMS *pDispParams,
   5814         VARIANT *pVarResult,
   5815         EXCEPINFO *pExcepInfo,
   5816         UINT *puArgErr);
   5817 
   5818     /*** IInkStrokes methods ***/
   5819     HRESULT (STDMETHODCALLTYPE *get_Count)(
   5820         IInkStrokes* This,
   5821         LONG *Count);
   5822 
   5823     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   5824         IInkStrokes* This,
   5825         IUnknown **_NewEnum);
   5826 
   5827     HRESULT (STDMETHODCALLTYPE *get_Ink)(
   5828         IInkStrokes* This,
   5829         IInkDisp **Ink);
   5830 
   5831     HRESULT (STDMETHODCALLTYPE *get_RecognitionResult)(
   5832         IInkStrokes* This,
   5833         IInkRecognitionResult **RecognitionResult);
   5834 
   5835     HRESULT (STDMETHODCALLTYPE *ToString)(
   5836         IInkStrokes* This,
   5837         BSTR *ToString);
   5838 
   5839     HRESULT (STDMETHODCALLTYPE *Item)(
   5840         IInkStrokes* This,
   5841         LONG Index,
   5842         IInkStrokeDisp **Stroke);
   5843 
   5844     HRESULT (STDMETHODCALLTYPE *Add)(
   5845         IInkStrokes* This,
   5846         IInkStrokeDisp *InkStroke);
   5847 
   5848     HRESULT (STDMETHODCALLTYPE *AddStrokes)(
   5849         IInkStrokes* This,
   5850         IInkStrokes *InkStrokes);
   5851 
   5852     HRESULT (STDMETHODCALLTYPE *Remove)(
   5853         IInkStrokes* This,
   5854         IInkStrokeDisp *InkStroke);
   5855 
   5856     HRESULT (STDMETHODCALLTYPE *RemoveStrokes)(
   5857         IInkStrokes* This,
   5858         IInkStrokes *InkStrokes);
   5859 
   5860     HRESULT (STDMETHODCALLTYPE *ModifyDrawingAttributes)(
   5861         IInkStrokes* This,
   5862         IInkDrawingAttributes *DrawAttrs);
   5863 
   5864     HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
   5865         IInkStrokes* This,
   5866         InkBoundingBoxMode BoundingBoxMode,
   5867         IInkRectangle **BoundingBox);
   5868 
   5869     HRESULT (STDMETHODCALLTYPE *Transform)(
   5870         IInkStrokes* This,
   5871         IInkTransform *Transform,
   5872         VARIANT_BOOL ApplyOnPenWidth);
   5873 
   5874     HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)(
   5875         IInkStrokes* This,
   5876         IInkRectangle *Rectangle);
   5877 
   5878     HRESULT (STDMETHODCALLTYPE *Move)(
   5879         IInkStrokes* This,
   5880         float HorizontalComponent,
   5881         float VerticalComponent);
   5882 
   5883     HRESULT (STDMETHODCALLTYPE *Rotate)(
   5884         IInkStrokes* This,
   5885         float Degrees,
   5886         float x,
   5887         float y);
   5888 
   5889     HRESULT (STDMETHODCALLTYPE *Shear)(
   5890         IInkStrokes* This,
   5891         float HorizontalMultiplier,
   5892         float VerticalMultiplier);
   5893 
   5894     HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
   5895         IInkStrokes* This,
   5896         float HorizontalMultiplier,
   5897         float VerticalMultiplier);
   5898 
   5899     HRESULT (STDMETHODCALLTYPE *Clip)(
   5900         IInkStrokes* This,
   5901         IInkRectangle *Rectangle);
   5902 
   5903     HRESULT (STDMETHODCALLTYPE *RemoveRecognitionResult)(
   5904         IInkStrokes* This);
   5905 
   5906     END_INTERFACE
   5907 } IInkStrokesVtbl;
   5908 interface IInkStrokes {
   5909     CONST_VTBL IInkStrokesVtbl* lpVtbl;
   5910 };
   5911 
   5912 #ifdef COBJMACROS
   5913 #ifndef WIDL_C_INLINE_WRAPPERS
   5914 /*** IUnknown methods ***/
   5915 #define IInkStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5916 #define IInkStrokes_AddRef(This) (This)->lpVtbl->AddRef(This)
   5917 #define IInkStrokes_Release(This) (This)->lpVtbl->Release(This)
   5918 /*** IDispatch methods ***/
   5919 #define IInkStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5920 #define IInkStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5921 #define IInkStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5922 #define IInkStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5923 /*** IInkStrokes methods ***/
   5924 #define IInkStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   5925 #define IInkStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
   5926 #define IInkStrokes_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
   5927 #define IInkStrokes_get_RecognitionResult(This,RecognitionResult) (This)->lpVtbl->get_RecognitionResult(This,RecognitionResult)
   5928 #define IInkStrokes_ToString(This,ToString) (This)->lpVtbl->ToString(This,ToString)
   5929 #define IInkStrokes_Item(This,Index,Stroke) (This)->lpVtbl->Item(This,Index,Stroke)
   5930 #define IInkStrokes_Add(This,InkStroke) (This)->lpVtbl->Add(This,InkStroke)
   5931 #define IInkStrokes_AddStrokes(This,InkStrokes) (This)->lpVtbl->AddStrokes(This,InkStrokes)
   5932 #define IInkStrokes_Remove(This,InkStroke) (This)->lpVtbl->Remove(This,InkStroke)
   5933 #define IInkStrokes_RemoveStrokes(This,InkStrokes) (This)->lpVtbl->RemoveStrokes(This,InkStrokes)
   5934 #define IInkStrokes_ModifyDrawingAttributes(This,DrawAttrs) (This)->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs)
   5935 #define IInkStrokes_GetBoundingBox(This,BoundingBoxMode,BoundingBox) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox)
   5936 #define IInkStrokes_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth)
   5937 #define IInkStrokes_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle)
   5938 #define IInkStrokes_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
   5939 #define IInkStrokes_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
   5940 #define IInkStrokes_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier)
   5941 #define IInkStrokes_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
   5942 #define IInkStrokes_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
   5943 #define IInkStrokes_RemoveRecognitionResult(This) (This)->lpVtbl->RemoveRecognitionResult(This)
   5944 #else
   5945 /*** IUnknown methods ***/
   5946 static FORCEINLINE HRESULT IInkStrokes_QueryInterface(IInkStrokes* This,REFIID riid,void **ppvObject) {
   5947     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5948 }
   5949 static FORCEINLINE ULONG IInkStrokes_AddRef(IInkStrokes* This) {
   5950     return This->lpVtbl->AddRef(This);
   5951 }
   5952 static FORCEINLINE ULONG IInkStrokes_Release(IInkStrokes* This) {
   5953     return This->lpVtbl->Release(This);
   5954 }
   5955 /*** IDispatch methods ***/
   5956 static FORCEINLINE HRESULT IInkStrokes_GetTypeInfoCount(IInkStrokes* This,UINT *pctinfo) {
   5957     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5958 }
   5959 static FORCEINLINE HRESULT IInkStrokes_GetTypeInfo(IInkStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5960     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5961 }
   5962 static FORCEINLINE HRESULT IInkStrokes_GetIDsOfNames(IInkStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5963     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5964 }
   5965 static FORCEINLINE HRESULT IInkStrokes_Invoke(IInkStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5966     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5967 }
   5968 /*** IInkStrokes methods ***/
   5969 static FORCEINLINE HRESULT IInkStrokes_get_Count(IInkStrokes* This,LONG *Count) {
   5970     return This->lpVtbl->get_Count(This,Count);
   5971 }
   5972 static FORCEINLINE HRESULT IInkStrokes_get__NewEnum(IInkStrokes* This,IUnknown **_NewEnum) {
   5973     return This->lpVtbl->get__NewEnum(This,_NewEnum);
   5974 }
   5975 static FORCEINLINE HRESULT IInkStrokes_get_Ink(IInkStrokes* This,IInkDisp **Ink) {
   5976     return This->lpVtbl->get_Ink(This,Ink);
   5977 }
   5978 static FORCEINLINE HRESULT IInkStrokes_get_RecognitionResult(IInkStrokes* This,IInkRecognitionResult **RecognitionResult) {
   5979     return This->lpVtbl->get_RecognitionResult(This,RecognitionResult);
   5980 }
   5981 static FORCEINLINE HRESULT IInkStrokes_ToString(IInkStrokes* This,BSTR *ToString) {
   5982     return This->lpVtbl->ToString(This,ToString);
   5983 }
   5984 static FORCEINLINE HRESULT IInkStrokes_Item(IInkStrokes* This,LONG Index,IInkStrokeDisp **Stroke) {
   5985     return This->lpVtbl->Item(This,Index,Stroke);
   5986 }
   5987 static FORCEINLINE HRESULT IInkStrokes_Add(IInkStrokes* This,IInkStrokeDisp *InkStroke) {
   5988     return This->lpVtbl->Add(This,InkStroke);
   5989 }
   5990 static FORCEINLINE HRESULT IInkStrokes_AddStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) {
   5991     return This->lpVtbl->AddStrokes(This,InkStrokes);
   5992 }
   5993 static FORCEINLINE HRESULT IInkStrokes_Remove(IInkStrokes* This,IInkStrokeDisp *InkStroke) {
   5994     return This->lpVtbl->Remove(This,InkStroke);
   5995 }
   5996 static FORCEINLINE HRESULT IInkStrokes_RemoveStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) {
   5997     return This->lpVtbl->RemoveStrokes(This,InkStrokes);
   5998 }
   5999 static FORCEINLINE HRESULT IInkStrokes_ModifyDrawingAttributes(IInkStrokes* This,IInkDrawingAttributes *DrawAttrs) {
   6000     return This->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs);
   6001 }
   6002 static FORCEINLINE HRESULT IInkStrokes_GetBoundingBox(IInkStrokes* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **BoundingBox) {
   6003     return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox);
   6004 }
   6005 static FORCEINLINE HRESULT IInkStrokes_Transform(IInkStrokes* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) {
   6006     return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth);
   6007 }
   6008 static FORCEINLINE HRESULT IInkStrokes_ScaleToRectangle(IInkStrokes* This,IInkRectangle *Rectangle) {
   6009     return This->lpVtbl->ScaleToRectangle(This,Rectangle);
   6010 }
   6011 static FORCEINLINE HRESULT IInkStrokes_Move(IInkStrokes* This,float HorizontalComponent,float VerticalComponent) {
   6012     return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
   6013 }
   6014 static FORCEINLINE HRESULT IInkStrokes_Rotate(IInkStrokes* This,float Degrees,float x,float y) {
   6015     return This->lpVtbl->Rotate(This,Degrees,x,y);
   6016 }
   6017 static FORCEINLINE HRESULT IInkStrokes_Shear(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) {
   6018     return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier);
   6019 }
   6020 static FORCEINLINE HRESULT IInkStrokes_ScaleTransform(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) {
   6021     return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
   6022 }
   6023 static FORCEINLINE HRESULT IInkStrokes_Clip(IInkStrokes* This,IInkRectangle *Rectangle) {
   6024     return This->lpVtbl->Clip(This,Rectangle);
   6025 }
   6026 static FORCEINLINE HRESULT IInkStrokes_RemoveRecognitionResult(IInkStrokes* This) {
   6027     return This->lpVtbl->RemoveRecognitionResult(This);
   6028 }
   6029 #endif
   6030 #endif
   6031 
   6032 #endif
   6033 
   6034 HRESULT STDMETHODCALLTYPE IInkStrokes_get_Count_Proxy(
   6035     IInkStrokes* This,
   6036     LONG *Count);
   6037 void __RPC_STUB IInkStrokes_get_Count_Stub(
   6038     IRpcStubBuffer* This,
   6039     IRpcChannelBuffer* pRpcChannelBuffer,
   6040     PRPC_MESSAGE pRpcMessage,
   6041     DWORD* pdwStubPhase);
   6042 HRESULT STDMETHODCALLTYPE IInkStrokes_get__NewEnum_Proxy(
   6043     IInkStrokes* This,
   6044     IUnknown **_NewEnum);
   6045 void __RPC_STUB IInkStrokes_get__NewEnum_Stub(
   6046     IRpcStubBuffer* This,
   6047     IRpcChannelBuffer* pRpcChannelBuffer,
   6048     PRPC_MESSAGE pRpcMessage,
   6049     DWORD* pdwStubPhase);
   6050 HRESULT STDMETHODCALLTYPE IInkStrokes_get_Ink_Proxy(
   6051     IInkStrokes* This,
   6052     IInkDisp **Ink);
   6053 void __RPC_STUB IInkStrokes_get_Ink_Stub(
   6054     IRpcStubBuffer* This,
   6055     IRpcChannelBuffer* pRpcChannelBuffer,
   6056     PRPC_MESSAGE pRpcMessage,
   6057     DWORD* pdwStubPhase);
   6058 HRESULT STDMETHODCALLTYPE IInkStrokes_get_RecognitionResult_Proxy(
   6059     IInkStrokes* This,
   6060     IInkRecognitionResult **RecognitionResult);
   6061 void __RPC_STUB IInkStrokes_get_RecognitionResult_Stub(
   6062     IRpcStubBuffer* This,
   6063     IRpcChannelBuffer* pRpcChannelBuffer,
   6064     PRPC_MESSAGE pRpcMessage,
   6065     DWORD* pdwStubPhase);
   6066 HRESULT STDMETHODCALLTYPE IInkStrokes_ToString_Proxy(
   6067     IInkStrokes* This,
   6068     BSTR *ToString);
   6069 void __RPC_STUB IInkStrokes_ToString_Stub(
   6070     IRpcStubBuffer* This,
   6071     IRpcChannelBuffer* pRpcChannelBuffer,
   6072     PRPC_MESSAGE pRpcMessage,
   6073     DWORD* pdwStubPhase);
   6074 HRESULT STDMETHODCALLTYPE IInkStrokes_Item_Proxy(
   6075     IInkStrokes* This,
   6076     LONG Index,
   6077     IInkStrokeDisp **Stroke);
   6078 void __RPC_STUB IInkStrokes_Item_Stub(
   6079     IRpcStubBuffer* This,
   6080     IRpcChannelBuffer* pRpcChannelBuffer,
   6081     PRPC_MESSAGE pRpcMessage,
   6082     DWORD* pdwStubPhase);
   6083 HRESULT STDMETHODCALLTYPE IInkStrokes_Add_Proxy(
   6084     IInkStrokes* This,
   6085     IInkStrokeDisp *InkStroke);
   6086 void __RPC_STUB IInkStrokes_Add_Stub(
   6087     IRpcStubBuffer* This,
   6088     IRpcChannelBuffer* pRpcChannelBuffer,
   6089     PRPC_MESSAGE pRpcMessage,
   6090     DWORD* pdwStubPhase);
   6091 HRESULT STDMETHODCALLTYPE IInkStrokes_AddStrokes_Proxy(
   6092     IInkStrokes* This,
   6093     IInkStrokes *InkStrokes);
   6094 void __RPC_STUB IInkStrokes_AddStrokes_Stub(
   6095     IRpcStubBuffer* This,
   6096     IRpcChannelBuffer* pRpcChannelBuffer,
   6097     PRPC_MESSAGE pRpcMessage,
   6098     DWORD* pdwStubPhase);
   6099 HRESULT STDMETHODCALLTYPE IInkStrokes_Remove_Proxy(
   6100     IInkStrokes* This,
   6101     IInkStrokeDisp *InkStroke);
   6102 void __RPC_STUB IInkStrokes_Remove_Stub(
   6103     IRpcStubBuffer* This,
   6104     IRpcChannelBuffer* pRpcChannelBuffer,
   6105     PRPC_MESSAGE pRpcMessage,
   6106     DWORD* pdwStubPhase);
   6107 HRESULT STDMETHODCALLTYPE IInkStrokes_RemoveStrokes_Proxy(
   6108     IInkStrokes* This,
   6109     IInkStrokes *InkStrokes);
   6110 void __RPC_STUB IInkStrokes_RemoveStrokes_Stub(
   6111     IRpcStubBuffer* This,
   6112     IRpcChannelBuffer* pRpcChannelBuffer,
   6113     PRPC_MESSAGE pRpcMessage,
   6114     DWORD* pdwStubPhase);
   6115 HRESULT STDMETHODCALLTYPE IInkStrokes_ModifyDrawingAttributes_Proxy(
   6116     IInkStrokes* This,
   6117     IInkDrawingAttributes *DrawAttrs);
   6118 void __RPC_STUB IInkStrokes_ModifyDrawingAttributes_Stub(
   6119     IRpcStubBuffer* This,
   6120     IRpcChannelBuffer* pRpcChannelBuffer,
   6121     PRPC_MESSAGE pRpcMessage,
   6122     DWORD* pdwStubPhase);
   6123 HRESULT STDMETHODCALLTYPE IInkStrokes_GetBoundingBox_Proxy(
   6124     IInkStrokes* This,
   6125     InkBoundingBoxMode BoundingBoxMode,
   6126     IInkRectangle **BoundingBox);
   6127 void __RPC_STUB IInkStrokes_GetBoundingBox_Stub(
   6128     IRpcStubBuffer* This,
   6129     IRpcChannelBuffer* pRpcChannelBuffer,
   6130     PRPC_MESSAGE pRpcMessage,
   6131     DWORD* pdwStubPhase);
   6132 HRESULT STDMETHODCALLTYPE IInkStrokes_Transform_Proxy(
   6133     IInkStrokes* This,
   6134     IInkTransform *Transform,
   6135     VARIANT_BOOL ApplyOnPenWidth);
   6136 void __RPC_STUB IInkStrokes_Transform_Stub(
   6137     IRpcStubBuffer* This,
   6138     IRpcChannelBuffer* pRpcChannelBuffer,
   6139     PRPC_MESSAGE pRpcMessage,
   6140     DWORD* pdwStubPhase);
   6141 HRESULT STDMETHODCALLTYPE IInkStrokes_ScaleToRectangle_Proxy(
   6142     IInkStrokes* This,
   6143     IInkRectangle *Rectangle);
   6144 void __RPC_STUB IInkStrokes_ScaleToRectangle_Stub(
   6145     IRpcStubBuffer* This,
   6146     IRpcChannelBuffer* pRpcChannelBuffer,
   6147     PRPC_MESSAGE pRpcMessage,
   6148     DWORD* pdwStubPhase);
   6149 HRESULT STDMETHODCALLTYPE IInkStrokes_Move_Proxy(
   6150     IInkStrokes* This,
   6151     float HorizontalComponent,
   6152     float VerticalComponent);
   6153 void __RPC_STUB IInkStrokes_Move_Stub(
   6154     IRpcStubBuffer* This,
   6155     IRpcChannelBuffer* pRpcChannelBuffer,
   6156     PRPC_MESSAGE pRpcMessage,
   6157     DWORD* pdwStubPhase);
   6158 HRESULT STDMETHODCALLTYPE IInkStrokes_Rotate_Proxy(
   6159     IInkStrokes* This,
   6160     float Degrees,
   6161     float x,
   6162     float y);
   6163 void __RPC_STUB IInkStrokes_Rotate_Stub(
   6164     IRpcStubBuffer* This,
   6165     IRpcChannelBuffer* pRpcChannelBuffer,
   6166     PRPC_MESSAGE pRpcMessage,
   6167     DWORD* pdwStubPhase);
   6168 HRESULT STDMETHODCALLTYPE IInkStrokes_Shear_Proxy(
   6169     IInkStrokes* This,
   6170     float HorizontalMultiplier,
   6171     float VerticalMultiplier);
   6172 void __RPC_STUB IInkStrokes_Shear_Stub(
   6173     IRpcStubBuffer* This,
   6174     IRpcChannelBuffer* pRpcChannelBuffer,
   6175     PRPC_MESSAGE pRpcMessage,
   6176     DWORD* pdwStubPhase);
   6177 HRESULT STDMETHODCALLTYPE IInkStrokes_ScaleTransform_Proxy(
   6178     IInkStrokes* This,
   6179     float HorizontalMultiplier,
   6180     float VerticalMultiplier);
   6181 void __RPC_STUB IInkStrokes_ScaleTransform_Stub(
   6182     IRpcStubBuffer* This,
   6183     IRpcChannelBuffer* pRpcChannelBuffer,
   6184     PRPC_MESSAGE pRpcMessage,
   6185     DWORD* pdwStubPhase);
   6186 HRESULT STDMETHODCALLTYPE IInkStrokes_Clip_Proxy(
   6187     IInkStrokes* This,
   6188     IInkRectangle *Rectangle);
   6189 void __RPC_STUB IInkStrokes_Clip_Stub(
   6190     IRpcStubBuffer* This,
   6191     IRpcChannelBuffer* pRpcChannelBuffer,
   6192     PRPC_MESSAGE pRpcMessage,
   6193     DWORD* pdwStubPhase);
   6194 HRESULT STDMETHODCALLTYPE IInkStrokes_RemoveRecognitionResult_Proxy(
   6195     IInkStrokes* This);
   6196 void __RPC_STUB IInkStrokes_RemoveRecognitionResult_Stub(
   6197     IRpcStubBuffer* This,
   6198     IRpcChannelBuffer* pRpcChannelBuffer,
   6199     PRPC_MESSAGE pRpcMessage,
   6200     DWORD* pdwStubPhase);
   6201 
   6202 #endif  /* __IInkStrokes_INTERFACE_DEFINED__ */
   6203 
   6204 /*****************************************************************************
   6205  * IInkRenderer interface
   6206  */
   6207 #ifndef __IInkRenderer_INTERFACE_DEFINED__
   6208 #define __IInkRenderer_INTERFACE_DEFINED__
   6209 
   6210 DEFINE_GUID(IID_IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83);
   6211 #if defined(__cplusplus) && !defined(CINTERFACE)
   6212 MIDL_INTERFACE("e6257a9c-b511-4f4c-a8b0-a7dbc9506b83")
   6213 IInkRenderer : public IDispatch
   6214 {
   6215     virtual HRESULT STDMETHODCALLTYPE GetViewTransform(
   6216         IInkTransform *ViewTransform) = 0;
   6217 
   6218     virtual HRESULT STDMETHODCALLTYPE SetViewTransform(
   6219         IInkTransform *ViewTransform) = 0;
   6220 
   6221     virtual HRESULT STDMETHODCALLTYPE GetObjectTransform(
   6222         IInkTransform *ObjectTransform) = 0;
   6223 
   6224     virtual HRESULT STDMETHODCALLTYPE SetObjectTransform(
   6225         IInkTransform *ObjectTransform) = 0;
   6226 
   6227     virtual HRESULT STDMETHODCALLTYPE Draw(
   6228         LONG_PTR hDC,
   6229         IInkStrokes *Strokes) = 0;
   6230 
   6231     virtual HRESULT STDMETHODCALLTYPE DrawStroke(
   6232         LONG_PTR hDC,
   6233         IInkStrokeDisp *Stroke,
   6234         IInkDrawingAttributes *DrawingAttributes = 0) = 0;
   6235 
   6236     virtual HRESULT STDMETHODCALLTYPE PixelToInkSpace(
   6237         LONG_PTR hDC,
   6238         LONG *x,
   6239         LONG *y) = 0;
   6240 
   6241     virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixel(
   6242         LONG_PTR hdcDisplay,
   6243         LONG *x,
   6244         LONG *y) = 0;
   6245 
   6246     virtual HRESULT STDMETHODCALLTYPE PixelToInkSpaceFromPoints(
   6247         LONG_PTR hDC,
   6248         VARIANT *Points) = 0;
   6249 
   6250     virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixelFromPoints(
   6251         LONG_PTR hDC,
   6252         VARIANT *Points) = 0;
   6253 
   6254     virtual HRESULT STDMETHODCALLTYPE Measure(
   6255         IInkStrokes *Strokes,
   6256         IInkRectangle **Rectangle) = 0;
   6257 
   6258     virtual HRESULT STDMETHODCALLTYPE MeasureStroke(
   6259         IInkStrokeDisp *Stroke,
   6260         IInkDrawingAttributes *DrawingAttributes,
   6261         IInkRectangle **Rectangle) = 0;
   6262 
   6263     virtual HRESULT STDMETHODCALLTYPE Move(
   6264         float HorizontalComponent,
   6265         float VerticalComponent) = 0;
   6266 
   6267     virtual HRESULT STDMETHODCALLTYPE Rotate(
   6268         float Degrees,
   6269         float x = 0,
   6270         float y = 0) = 0;
   6271 
   6272     virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
   6273         float HorizontalMultiplier,
   6274         float VerticalMultiplier,
   6275         VARIANT_BOOL ApplyOnPenWidth = -1) = 0;
   6276 
   6277 };
   6278 #ifdef __CRT_UUID_DECL
   6279 __CRT_UUID_DECL(IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83)
   6280 #endif
   6281 #else
   6282 typedef struct IInkRendererVtbl {
   6283     BEGIN_INTERFACE
   6284 
   6285     /*** IUnknown methods ***/
   6286     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6287         IInkRenderer* This,
   6288         REFIID riid,
   6289         void **ppvObject);
   6290 
   6291     ULONG (STDMETHODCALLTYPE *AddRef)(
   6292         IInkRenderer* This);
   6293 
   6294     ULONG (STDMETHODCALLTYPE *Release)(
   6295         IInkRenderer* This);
   6296 
   6297     /*** IDispatch methods ***/
   6298     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6299         IInkRenderer* This,
   6300         UINT *pctinfo);
   6301 
   6302     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6303         IInkRenderer* This,
   6304         UINT iTInfo,
   6305         LCID lcid,
   6306         ITypeInfo **ppTInfo);
   6307 
   6308     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6309         IInkRenderer* This,
   6310         REFIID riid,
   6311         LPOLESTR *rgszNames,
   6312         UINT cNames,
   6313         LCID lcid,
   6314         DISPID *rgDispId);
   6315 
   6316     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6317         IInkRenderer* This,
   6318         DISPID dispIdMember,
   6319         REFIID riid,
   6320         LCID lcid,
   6321         WORD wFlags,
   6322         DISPPARAMS *pDispParams,
   6323         VARIANT *pVarResult,
   6324         EXCEPINFO *pExcepInfo,
   6325         UINT *puArgErr);
   6326 
   6327     /*** IInkRenderer methods ***/
   6328     HRESULT (STDMETHODCALLTYPE *GetViewTransform)(
   6329         IInkRenderer* This,
   6330         IInkTransform *ViewTransform);
   6331 
   6332     HRESULT (STDMETHODCALLTYPE *SetViewTransform)(
   6333         IInkRenderer* This,
   6334         IInkTransform *ViewTransform);
   6335 
   6336     HRESULT (STDMETHODCALLTYPE *GetObjectTransform)(
   6337         IInkRenderer* This,
   6338         IInkTransform *ObjectTransform);
   6339 
   6340     HRESULT (STDMETHODCALLTYPE *SetObjectTransform)(
   6341         IInkRenderer* This,
   6342         IInkTransform *ObjectTransform);
   6343 
   6344     HRESULT (STDMETHODCALLTYPE *Draw)(
   6345         IInkRenderer* This,
   6346         LONG_PTR hDC,
   6347         IInkStrokes *Strokes);
   6348 
   6349     HRESULT (STDMETHODCALLTYPE *DrawStroke)(
   6350         IInkRenderer* This,
   6351         LONG_PTR hDC,
   6352         IInkStrokeDisp *Stroke,
   6353         IInkDrawingAttributes *DrawingAttributes);
   6354 
   6355     HRESULT (STDMETHODCALLTYPE *PixelToInkSpace)(
   6356         IInkRenderer* This,
   6357         LONG_PTR hDC,
   6358         LONG *x,
   6359         LONG *y);
   6360 
   6361     HRESULT (STDMETHODCALLTYPE *InkSpaceToPixel)(
   6362         IInkRenderer* This,
   6363         LONG_PTR hdcDisplay,
   6364         LONG *x,
   6365         LONG *y);
   6366 
   6367     HRESULT (STDMETHODCALLTYPE *PixelToInkSpaceFromPoints)(
   6368         IInkRenderer* This,
   6369         LONG_PTR hDC,
   6370         VARIANT *Points);
   6371 
   6372     HRESULT (STDMETHODCALLTYPE *InkSpaceToPixelFromPoints)(
   6373         IInkRenderer* This,
   6374         LONG_PTR hDC,
   6375         VARIANT *Points);
   6376 
   6377     HRESULT (STDMETHODCALLTYPE *Measure)(
   6378         IInkRenderer* This,
   6379         IInkStrokes *Strokes,
   6380         IInkRectangle **Rectangle);
   6381 
   6382     HRESULT (STDMETHODCALLTYPE *MeasureStroke)(
   6383         IInkRenderer* This,
   6384         IInkStrokeDisp *Stroke,
   6385         IInkDrawingAttributes *DrawingAttributes,
   6386         IInkRectangle **Rectangle);
   6387 
   6388     HRESULT (STDMETHODCALLTYPE *Move)(
   6389         IInkRenderer* This,
   6390         float HorizontalComponent,
   6391         float VerticalComponent);
   6392 
   6393     HRESULT (STDMETHODCALLTYPE *Rotate)(
   6394         IInkRenderer* This,
   6395         float Degrees,
   6396         float x,
   6397         float y);
   6398 
   6399     HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
   6400         IInkRenderer* This,
   6401         float HorizontalMultiplier,
   6402         float VerticalMultiplier,
   6403         VARIANT_BOOL ApplyOnPenWidth);
   6404 
   6405     END_INTERFACE
   6406 } IInkRendererVtbl;
   6407 interface IInkRenderer {
   6408     CONST_VTBL IInkRendererVtbl* lpVtbl;
   6409 };
   6410 
   6411 #ifdef COBJMACROS
   6412 #ifndef WIDL_C_INLINE_WRAPPERS
   6413 /*** IUnknown methods ***/
   6414 #define IInkRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6415 #define IInkRenderer_AddRef(This) (This)->lpVtbl->AddRef(This)
   6416 #define IInkRenderer_Release(This) (This)->lpVtbl->Release(This)
   6417 /*** IDispatch methods ***/
   6418 #define IInkRenderer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6419 #define IInkRenderer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6420 #define IInkRenderer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6421 #define IInkRenderer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6422 /*** IInkRenderer methods ***/
   6423 #define IInkRenderer_GetViewTransform(This,ViewTransform) (This)->lpVtbl->GetViewTransform(This,ViewTransform)
   6424 #define IInkRenderer_SetViewTransform(This,ViewTransform) (This)->lpVtbl->SetViewTransform(This,ViewTransform)
   6425 #define IInkRenderer_GetObjectTransform(This,ObjectTransform) (This)->lpVtbl->GetObjectTransform(This,ObjectTransform)
   6426 #define IInkRenderer_SetObjectTransform(This,ObjectTransform) (This)->lpVtbl->SetObjectTransform(This,ObjectTransform)
   6427 #define IInkRenderer_Draw(This,hDC,Strokes) (This)->lpVtbl->Draw(This,hDC,Strokes)
   6428 #define IInkRenderer_DrawStroke(This,hDC,Stroke,DrawingAttributes) (This)->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes)
   6429 #define IInkRenderer_PixelToInkSpace(This,hDC,x,y) (This)->lpVtbl->PixelToInkSpace(This,hDC,x,y)
   6430 #define IInkRenderer_InkSpaceToPixel(This,hdcDisplay,x,y) (This)->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y)
   6431 #define IInkRenderer_PixelToInkSpaceFromPoints(This,hDC,Points) (This)->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points)
   6432 #define IInkRenderer_InkSpaceToPixelFromPoints(This,hDC,Points) (This)->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points)
   6433 #define IInkRenderer_Measure(This,Strokes,Rectangle) (This)->lpVtbl->Measure(This,Strokes,Rectangle)
   6434 #define IInkRenderer_MeasureStroke(This,Stroke,DrawingAttributes,Rectangle) (This)->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle)
   6435 #define IInkRenderer_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
   6436 #define IInkRenderer_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
   6437 #define IInkRenderer_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth)
   6438 #else
   6439 /*** IUnknown methods ***/
   6440 static FORCEINLINE HRESULT IInkRenderer_QueryInterface(IInkRenderer* This,REFIID riid,void **ppvObject) {
   6441     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6442 }
   6443 static FORCEINLINE ULONG IInkRenderer_AddRef(IInkRenderer* This) {
   6444     return This->lpVtbl->AddRef(This);
   6445 }
   6446 static FORCEINLINE ULONG IInkRenderer_Release(IInkRenderer* This) {
   6447     return This->lpVtbl->Release(This);
   6448 }
   6449 /*** IDispatch methods ***/
   6450 static FORCEINLINE HRESULT IInkRenderer_GetTypeInfoCount(IInkRenderer* This,UINT *pctinfo) {
   6451     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6452 }
   6453 static FORCEINLINE HRESULT IInkRenderer_GetTypeInfo(IInkRenderer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6454     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6455 }
   6456 static FORCEINLINE HRESULT IInkRenderer_GetIDsOfNames(IInkRenderer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6457     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6458 }
   6459 static FORCEINLINE HRESULT IInkRenderer_Invoke(IInkRenderer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6460     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6461 }
   6462 /*** IInkRenderer methods ***/
   6463 static FORCEINLINE HRESULT IInkRenderer_GetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) {
   6464     return This->lpVtbl->GetViewTransform(This,ViewTransform);
   6465 }
   6466 static FORCEINLINE HRESULT IInkRenderer_SetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) {
   6467     return This->lpVtbl->SetViewTransform(This,ViewTransform);
   6468 }
   6469 static FORCEINLINE HRESULT IInkRenderer_GetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) {
   6470     return This->lpVtbl->GetObjectTransform(This,ObjectTransform);
   6471 }
   6472 static FORCEINLINE HRESULT IInkRenderer_SetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) {
   6473     return This->lpVtbl->SetObjectTransform(This,ObjectTransform);
   6474 }
   6475 static FORCEINLINE HRESULT IInkRenderer_Draw(IInkRenderer* This,LONG_PTR hDC,IInkStrokes *Strokes) {
   6476     return This->lpVtbl->Draw(This,hDC,Strokes);
   6477 }
   6478 static FORCEINLINE HRESULT IInkRenderer_DrawStroke(IInkRenderer* This,LONG_PTR hDC,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes) {
   6479     return This->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes);
   6480 }
   6481 static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpace(IInkRenderer* This,LONG_PTR hDC,LONG *x,LONG *y) {
   6482     return This->lpVtbl->PixelToInkSpace(This,hDC,x,y);
   6483 }
   6484 static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixel(IInkRenderer* This,LONG_PTR hdcDisplay,LONG *x,LONG *y) {
   6485     return This->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y);
   6486 }
   6487 static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpaceFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) {
   6488     return This->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points);
   6489 }
   6490 static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixelFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) {
   6491     return This->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points);
   6492 }
   6493 static FORCEINLINE HRESULT IInkRenderer_Measure(IInkRenderer* This,IInkStrokes *Strokes,IInkRectangle **Rectangle) {
   6494     return This->lpVtbl->Measure(This,Strokes,Rectangle);
   6495 }
   6496 static FORCEINLINE HRESULT IInkRenderer_MeasureStroke(IInkRenderer* This,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes,IInkRectangle **Rectangle) {
   6497     return This->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle);
   6498 }
   6499 static FORCEINLINE HRESULT IInkRenderer_Move(IInkRenderer* This,float HorizontalComponent,float VerticalComponent) {
   6500     return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
   6501 }
   6502 static FORCEINLINE HRESULT IInkRenderer_Rotate(IInkRenderer* This,float Degrees,float x,float y) {
   6503     return This->lpVtbl->Rotate(This,Degrees,x,y);
   6504 }
   6505 static FORCEINLINE HRESULT IInkRenderer_ScaleTransform(IInkRenderer* This,float HorizontalMultiplier,float VerticalMultiplier,VARIANT_BOOL ApplyOnPenWidth) {
   6506     return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth);
   6507 }
   6508 #endif
   6509 #endif
   6510 
   6511 #endif
   6512 
   6513 HRESULT STDMETHODCALLTYPE IInkRenderer_GetViewTransform_Proxy(
   6514     IInkRenderer* This,
   6515     IInkTransform *ViewTransform);
   6516 void __RPC_STUB IInkRenderer_GetViewTransform_Stub(
   6517     IRpcStubBuffer* This,
   6518     IRpcChannelBuffer* pRpcChannelBuffer,
   6519     PRPC_MESSAGE pRpcMessage,
   6520     DWORD* pdwStubPhase);
   6521 HRESULT STDMETHODCALLTYPE IInkRenderer_SetViewTransform_Proxy(
   6522     IInkRenderer* This,
   6523     IInkTransform *ViewTransform);
   6524 void __RPC_STUB IInkRenderer_SetViewTransform_Stub(
   6525     IRpcStubBuffer* This,
   6526     IRpcChannelBuffer* pRpcChannelBuffer,
   6527     PRPC_MESSAGE pRpcMessage,
   6528     DWORD* pdwStubPhase);
   6529 HRESULT STDMETHODCALLTYPE IInkRenderer_GetObjectTransform_Proxy(
   6530     IInkRenderer* This,
   6531     IInkTransform *ObjectTransform);
   6532 void __RPC_STUB IInkRenderer_GetObjectTransform_Stub(
   6533     IRpcStubBuffer* This,
   6534     IRpcChannelBuffer* pRpcChannelBuffer,
   6535     PRPC_MESSAGE pRpcMessage,
   6536     DWORD* pdwStubPhase);
   6537 HRESULT STDMETHODCALLTYPE IInkRenderer_SetObjectTransform_Proxy(
   6538     IInkRenderer* This,
   6539     IInkTransform *ObjectTransform);
   6540 void __RPC_STUB IInkRenderer_SetObjectTransform_Stub(
   6541     IRpcStubBuffer* This,
   6542     IRpcChannelBuffer* pRpcChannelBuffer,
   6543     PRPC_MESSAGE pRpcMessage,
   6544     DWORD* pdwStubPhase);
   6545 HRESULT STDMETHODCALLTYPE IInkRenderer_Draw_Proxy(
   6546     IInkRenderer* This,
   6547     LONG_PTR hDC,
   6548     IInkStrokes *Strokes);
   6549 void __RPC_STUB IInkRenderer_Draw_Stub(
   6550     IRpcStubBuffer* This,
   6551     IRpcChannelBuffer* pRpcChannelBuffer,
   6552     PRPC_MESSAGE pRpcMessage,
   6553     DWORD* pdwStubPhase);
   6554 HRESULT STDMETHODCALLTYPE IInkRenderer_DrawStroke_Proxy(
   6555     IInkRenderer* This,
   6556     LONG_PTR hDC,
   6557     IInkStrokeDisp *Stroke,
   6558     IInkDrawingAttributes *DrawingAttributes);
   6559 void __RPC_STUB IInkRenderer_DrawStroke_Stub(
   6560     IRpcStubBuffer* This,
   6561     IRpcChannelBuffer* pRpcChannelBuffer,
   6562     PRPC_MESSAGE pRpcMessage,
   6563     DWORD* pdwStubPhase);
   6564 HRESULT STDMETHODCALLTYPE IInkRenderer_PixelToInkSpace_Proxy(
   6565     IInkRenderer* This,
   6566     LONG_PTR hDC,
   6567     LONG *x,
   6568     LONG *y);
   6569 void __RPC_STUB IInkRenderer_PixelToInkSpace_Stub(
   6570     IRpcStubBuffer* This,
   6571     IRpcChannelBuffer* pRpcChannelBuffer,
   6572     PRPC_MESSAGE pRpcMessage,
   6573     DWORD* pdwStubPhase);
   6574 HRESULT STDMETHODCALLTYPE IInkRenderer_InkSpaceToPixel_Proxy(
   6575     IInkRenderer* This,
   6576     LONG_PTR hdcDisplay,
   6577     LONG *x,
   6578     LONG *y);
   6579 void __RPC_STUB IInkRenderer_InkSpaceToPixel_Stub(
   6580     IRpcStubBuffer* This,
   6581     IRpcChannelBuffer* pRpcChannelBuffer,
   6582     PRPC_MESSAGE pRpcMessage,
   6583     DWORD* pdwStubPhase);
   6584 HRESULT STDMETHODCALLTYPE IInkRenderer_PixelToInkSpaceFromPoints_Proxy(
   6585     IInkRenderer* This,
   6586     LONG_PTR hDC,
   6587     VARIANT *Points);
   6588 void __RPC_STUB IInkRenderer_PixelToInkSpaceFromPoints_Stub(
   6589     IRpcStubBuffer* This,
   6590     IRpcChannelBuffer* pRpcChannelBuffer,
   6591     PRPC_MESSAGE pRpcMessage,
   6592     DWORD* pdwStubPhase);
   6593 HRESULT STDMETHODCALLTYPE IInkRenderer_InkSpaceToPixelFromPoints_Proxy(
   6594     IInkRenderer* This,
   6595     LONG_PTR hDC,
   6596     VARIANT *Points);
   6597 void __RPC_STUB IInkRenderer_InkSpaceToPixelFromPoints_Stub(
   6598     IRpcStubBuffer* This,
   6599     IRpcChannelBuffer* pRpcChannelBuffer,
   6600     PRPC_MESSAGE pRpcMessage,
   6601     DWORD* pdwStubPhase);
   6602 HRESULT STDMETHODCALLTYPE IInkRenderer_Measure_Proxy(
   6603     IInkRenderer* This,
   6604     IInkStrokes *Strokes,
   6605     IInkRectangle **Rectangle);
   6606 void __RPC_STUB IInkRenderer_Measure_Stub(
   6607     IRpcStubBuffer* This,
   6608     IRpcChannelBuffer* pRpcChannelBuffer,
   6609     PRPC_MESSAGE pRpcMessage,
   6610     DWORD* pdwStubPhase);
   6611 HRESULT STDMETHODCALLTYPE IInkRenderer_MeasureStroke_Proxy(
   6612     IInkRenderer* This,
   6613     IInkStrokeDisp *Stroke,
   6614     IInkDrawingAttributes *DrawingAttributes,
   6615     IInkRectangle **Rectangle);
   6616 void __RPC_STUB IInkRenderer_MeasureStroke_Stub(
   6617     IRpcStubBuffer* This,
   6618     IRpcChannelBuffer* pRpcChannelBuffer,
   6619     PRPC_MESSAGE pRpcMessage,
   6620     DWORD* pdwStubPhase);
   6621 HRESULT STDMETHODCALLTYPE IInkRenderer_Move_Proxy(
   6622     IInkRenderer* This,
   6623     float HorizontalComponent,
   6624     float VerticalComponent);
   6625 void __RPC_STUB IInkRenderer_Move_Stub(
   6626     IRpcStubBuffer* This,
   6627     IRpcChannelBuffer* pRpcChannelBuffer,
   6628     PRPC_MESSAGE pRpcMessage,
   6629     DWORD* pdwStubPhase);
   6630 HRESULT STDMETHODCALLTYPE IInkRenderer_Rotate_Proxy(
   6631     IInkRenderer* This,
   6632     float Degrees,
   6633     float x,
   6634     float y);
   6635 void __RPC_STUB IInkRenderer_Rotate_Stub(
   6636     IRpcStubBuffer* This,
   6637     IRpcChannelBuffer* pRpcChannelBuffer,
   6638     PRPC_MESSAGE pRpcMessage,
   6639     DWORD* pdwStubPhase);
   6640 HRESULT STDMETHODCALLTYPE IInkRenderer_ScaleTransform_Proxy(
   6641     IInkRenderer* This,
   6642     float HorizontalMultiplier,
   6643     float VerticalMultiplier,
   6644     VARIANT_BOOL ApplyOnPenWidth);
   6645 void __RPC_STUB IInkRenderer_ScaleTransform_Stub(
   6646     IRpcStubBuffer* This,
   6647     IRpcChannelBuffer* pRpcChannelBuffer,
   6648     PRPC_MESSAGE pRpcMessage,
   6649     DWORD* pdwStubPhase);
   6650 
   6651 #endif  /* __IInkRenderer_INTERFACE_DEFINED__ */
   6652 
   6653 /*****************************************************************************
   6654  * IInkCursors interface
   6655  */
   6656 #ifndef __IInkCursors_INTERFACE_DEFINED__
   6657 #define __IInkCursors_INTERFACE_DEFINED__
   6658 
   6659 DEFINE_GUID(IID_IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47);
   6660 #if defined(__cplusplus) && !defined(CINTERFACE)
   6661 MIDL_INTERFACE("a248c1ac-c698-4e06-9e5c-d57f77c7e647")
   6662 IInkCursors : public IDispatch
   6663 {
   6664     virtual HRESULT STDMETHODCALLTYPE get_Count(
   6665         LONG *Count) = 0;
   6666 
   6667     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   6668         IUnknown **_NewEnum) = 0;
   6669 
   6670     virtual HRESULT STDMETHODCALLTYPE Item(
   6671         LONG Index,
   6672         IInkCursor **Cursor) = 0;
   6673 
   6674 };
   6675 #ifdef __CRT_UUID_DECL
   6676 __CRT_UUID_DECL(IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47)
   6677 #endif
   6678 #else
   6679 typedef struct IInkCursorsVtbl {
   6680     BEGIN_INTERFACE
   6681 
   6682     /*** IUnknown methods ***/
   6683     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6684         IInkCursors* This,
   6685         REFIID riid,
   6686         void **ppvObject);
   6687 
   6688     ULONG (STDMETHODCALLTYPE *AddRef)(
   6689         IInkCursors* This);
   6690 
   6691     ULONG (STDMETHODCALLTYPE *Release)(
   6692         IInkCursors* This);
   6693 
   6694     /*** IDispatch methods ***/
   6695     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6696         IInkCursors* This,
   6697         UINT *pctinfo);
   6698 
   6699     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6700         IInkCursors* This,
   6701         UINT iTInfo,
   6702         LCID lcid,
   6703         ITypeInfo **ppTInfo);
   6704 
   6705     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6706         IInkCursors* This,
   6707         REFIID riid,
   6708         LPOLESTR *rgszNames,
   6709         UINT cNames,
   6710         LCID lcid,
   6711         DISPID *rgDispId);
   6712 
   6713     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6714         IInkCursors* This,
   6715         DISPID dispIdMember,
   6716         REFIID riid,
   6717         LCID lcid,
   6718         WORD wFlags,
   6719         DISPPARAMS *pDispParams,
   6720         VARIANT *pVarResult,
   6721         EXCEPINFO *pExcepInfo,
   6722         UINT *puArgErr);
   6723 
   6724     /*** IInkCursors methods ***/
   6725     HRESULT (STDMETHODCALLTYPE *get_Count)(
   6726         IInkCursors* This,
   6727         LONG *Count);
   6728 
   6729     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   6730         IInkCursors* This,
   6731         IUnknown **_NewEnum);
   6732 
   6733     HRESULT (STDMETHODCALLTYPE *Item)(
   6734         IInkCursors* This,
   6735         LONG Index,
   6736         IInkCursor **Cursor);
   6737 
   6738     END_INTERFACE
   6739 } IInkCursorsVtbl;
   6740 interface IInkCursors {
   6741     CONST_VTBL IInkCursorsVtbl* lpVtbl;
   6742 };
   6743 
   6744 #ifdef COBJMACROS
   6745 #ifndef WIDL_C_INLINE_WRAPPERS
   6746 /*** IUnknown methods ***/
   6747 #define IInkCursors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6748 #define IInkCursors_AddRef(This) (This)->lpVtbl->AddRef(This)
   6749 #define IInkCursors_Release(This) (This)->lpVtbl->Release(This)
   6750 /*** IDispatch methods ***/
   6751 #define IInkCursors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6752 #define IInkCursors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6753 #define IInkCursors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6754 #define IInkCursors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6755 /*** IInkCursors methods ***/
   6756 #define IInkCursors_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   6757 #define IInkCursors_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
   6758 #define IInkCursors_Item(This,Index,Cursor) (This)->lpVtbl->Item(This,Index,Cursor)
   6759 #else
   6760 /*** IUnknown methods ***/
   6761 static FORCEINLINE HRESULT IInkCursors_QueryInterface(IInkCursors* This,REFIID riid,void **ppvObject) {
   6762     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6763 }
   6764 static FORCEINLINE ULONG IInkCursors_AddRef(IInkCursors* This) {
   6765     return This->lpVtbl->AddRef(This);
   6766 }
   6767 static FORCEINLINE ULONG IInkCursors_Release(IInkCursors* This) {
   6768     return This->lpVtbl->Release(This);
   6769 }
   6770 /*** IDispatch methods ***/
   6771 static FORCEINLINE HRESULT IInkCursors_GetTypeInfoCount(IInkCursors* This,UINT *pctinfo) {
   6772     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6773 }
   6774 static FORCEINLINE HRESULT IInkCursors_GetTypeInfo(IInkCursors* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6775     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6776 }
   6777 static FORCEINLINE HRESULT IInkCursors_GetIDsOfNames(IInkCursors* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6778     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6779 }
   6780 static FORCEINLINE HRESULT IInkCursors_Invoke(IInkCursors* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6781     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6782 }
   6783 /*** IInkCursors methods ***/
   6784 static FORCEINLINE HRESULT IInkCursors_get_Count(IInkCursors* This,LONG *Count) {
   6785     return This->lpVtbl->get_Count(This,Count);
   6786 }
   6787 static FORCEINLINE HRESULT IInkCursors_get__NewEnum(IInkCursors* This,IUnknown **_NewEnum) {
   6788     return This->lpVtbl->get__NewEnum(This,_NewEnum);
   6789 }
   6790 static FORCEINLINE HRESULT IInkCursors_Item(IInkCursors* This,LONG Index,IInkCursor **Cursor) {
   6791     return This->lpVtbl->Item(This,Index,Cursor);
   6792 }
   6793 #endif
   6794 #endif
   6795 
   6796 #endif
   6797 
   6798 HRESULT STDMETHODCALLTYPE IInkCursors_get_Count_Proxy(
   6799     IInkCursors* This,
   6800     LONG *Count);
   6801 void __RPC_STUB IInkCursors_get_Count_Stub(
   6802     IRpcStubBuffer* This,
   6803     IRpcChannelBuffer* pRpcChannelBuffer,
   6804     PRPC_MESSAGE pRpcMessage,
   6805     DWORD* pdwStubPhase);
   6806 HRESULT STDMETHODCALLTYPE IInkCursors_get__NewEnum_Proxy(
   6807     IInkCursors* This,
   6808     IUnknown **_NewEnum);
   6809 void __RPC_STUB IInkCursors_get__NewEnum_Stub(
   6810     IRpcStubBuffer* This,
   6811     IRpcChannelBuffer* pRpcChannelBuffer,
   6812     PRPC_MESSAGE pRpcMessage,
   6813     DWORD* pdwStubPhase);
   6814 HRESULT STDMETHODCALLTYPE IInkCursors_Item_Proxy(
   6815     IInkCursors* This,
   6816     LONG Index,
   6817     IInkCursor **Cursor);
   6818 void __RPC_STUB IInkCursors_Item_Stub(
   6819     IRpcStubBuffer* This,
   6820     IRpcChannelBuffer* pRpcChannelBuffer,
   6821     PRPC_MESSAGE pRpcMessage,
   6822     DWORD* pdwStubPhase);
   6823 
   6824 #endif  /* __IInkCursors_INTERFACE_DEFINED__ */
   6825 
   6826 /*****************************************************************************
   6827  * IInkCollector interface
   6828  */
   6829 #ifndef __IInkCollector_INTERFACE_DEFINED__
   6830 #define __IInkCollector_INTERFACE_DEFINED__
   6831 
   6832 DEFINE_GUID(IID_IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f);
   6833 #if defined(__cplusplus) && !defined(CINTERFACE)
   6834 MIDL_INTERFACE("f0f060b5-8b1f-4a7c-89ec-880692588a4f")
   6835 IInkCollector : public IDispatch
   6836 {
   6837     virtual HRESULT STDMETHODCALLTYPE get_hWnd(
   6838         LONG_PTR *CurrentWindow) = 0;
   6839 
   6840     virtual HRESULT STDMETHODCALLTYPE put_hWnd(
   6841         LONG_PTR NewWindow) = 0;
   6842 
   6843     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
   6844         VARIANT_BOOL *Collecting) = 0;
   6845 
   6846     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
   6847         VARIANT_BOOL Collecting) = 0;
   6848 
   6849     virtual HRESULT STDMETHODCALLTYPE get_DefaultDrawingAttributes(
   6850         IInkDrawingAttributes **CurrentAttributes) = 0;
   6851 
   6852     virtual HRESULT STDMETHODCALLTYPE putref_DefaultDrawingAttributes(
   6853         IInkDrawingAttributes *NewAttributes) = 0;
   6854 
   6855     virtual HRESULT STDMETHODCALLTYPE get_Renderer(
   6856         IInkRenderer **CurrentInkRenderer) = 0;
   6857 
   6858     virtual HRESULT STDMETHODCALLTYPE putref_Renderer(
   6859         IInkRenderer *NewInkRenderer) = 0;
   6860 
   6861     virtual HRESULT STDMETHODCALLTYPE get_Ink(
   6862         IInkDisp **Ink) = 0;
   6863 
   6864     virtual HRESULT STDMETHODCALLTYPE putref_Ink(
   6865         IInkDisp *NewInk) = 0;
   6866 
   6867     virtual HRESULT STDMETHODCALLTYPE get_AutoRedraw(
   6868         VARIANT_BOOL *AutoRedraw) = 0;
   6869 
   6870     virtual HRESULT STDMETHODCALLTYPE put_AutoRedraw(
   6871         VARIANT_BOOL AutoRedraw) = 0;
   6872 
   6873     virtual HRESULT STDMETHODCALLTYPE get_CollectingInk(
   6874         VARIANT_BOOL *Collecting) = 0;
   6875 
   6876     virtual HRESULT STDMETHODCALLTYPE get_CollectionMode(
   6877         InkCollectionMode *Mode) = 0;
   6878 
   6879     virtual HRESULT STDMETHODCALLTYPE put_CollectionMode(
   6880         InkCollectionMode Mode) = 0;
   6881 
   6882     virtual HRESULT STDMETHODCALLTYPE get_DynamicRendering(
   6883         VARIANT_BOOL *Enabled) = 0;
   6884 
   6885     virtual HRESULT STDMETHODCALLTYPE put_DynamicRendering(
   6886         VARIANT_BOOL Enabled) = 0;
   6887 
   6888     virtual HRESULT STDMETHODCALLTYPE get_DesiredPacketDescription(
   6889         VARIANT *PacketGuids) = 0;
   6890 
   6891     virtual HRESULT STDMETHODCALLTYPE put_DesiredPacketDescription(
   6892         VARIANT PacketGuids) = 0;
   6893 
   6894     virtual HRESULT STDMETHODCALLTYPE get_MouseIcon(
   6895         IPictureDisp **MouseIcon) = 0;
   6896 
   6897     virtual HRESULT STDMETHODCALLTYPE put_MouseIcon(
   6898         IPictureDisp *MouseIcon) = 0;
   6899 
   6900     virtual HRESULT STDMETHODCALLTYPE putref_MouseIcon(
   6901         IPictureDisp *MouseIcon) = 0;
   6902 
   6903     virtual HRESULT STDMETHODCALLTYPE get_MousePointer(
   6904         InkMousePointer *MousePointer) = 0;
   6905 
   6906     virtual HRESULT STDMETHODCALLTYPE put_MousePointer(
   6907         InkMousePointer MousePointer) = 0;
   6908 
   6909     virtual HRESULT STDMETHODCALLTYPE get_Cursors(
   6910         IInkCursors **Cursors) = 0;
   6911 
   6912     virtual HRESULT STDMETHODCALLTYPE get_MarginX(
   6913         LONG *MarginX) = 0;
   6914 
   6915     virtual HRESULT STDMETHODCALLTYPE put_MarginX(
   6916         LONG MarginX) = 0;
   6917 
   6918     virtual HRESULT STDMETHODCALLTYPE get_MarginY(
   6919         LONG *MarginY) = 0;
   6920 
   6921     virtual HRESULT STDMETHODCALLTYPE put_MarginY(
   6922         LONG MarginY) = 0;
   6923 
   6924     virtual HRESULT STDMETHODCALLTYPE get_Tablet(
   6925         IInkTablet **SingleTablet) = 0;
   6926 
   6927     virtual HRESULT STDMETHODCALLTYPE get_SupportHighContrastInk(
   6928         VARIANT_BOOL *Support) = 0;
   6929 
   6930     virtual HRESULT STDMETHODCALLTYPE put_SupportHighContrastInk(
   6931         VARIANT_BOOL Support) = 0;
   6932 
   6933     virtual HRESULT STDMETHODCALLTYPE SetGestureStatus(
   6934         InkApplicationGesture Gesture,
   6935         VARIANT_BOOL Listen) = 0;
   6936 
   6937     virtual HRESULT STDMETHODCALLTYPE GetGestureStatus(
   6938         InkApplicationGesture Gesture,
   6939         VARIANT_BOOL *Listening) = 0;
   6940 
   6941     virtual HRESULT STDMETHODCALLTYPE GetWindowInputRectangle(
   6942         IInkRectangle **WindowInputRectangle) = 0;
   6943 
   6944     virtual HRESULT STDMETHODCALLTYPE SetWindowInputRectangle(
   6945         IInkRectangle *WindowInputRectangle) = 0;
   6946 
   6947     virtual HRESULT STDMETHODCALLTYPE SetAllTabletsMode(
   6948         VARIANT_BOOL UseMouseForInput = -1) = 0;
   6949 
   6950     virtual HRESULT STDMETHODCALLTYPE SetSingleTabletIntegratedMode(
   6951         IInkTablet *Tablet) = 0;
   6952 
   6953     virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
   6954         InkCollectorEventInterest EventId,
   6955         VARIANT_BOOL *Listen) = 0;
   6956 
   6957     virtual HRESULT STDMETHODCALLTYPE SetEventInterest(
   6958         InkCollectorEventInterest EventId,
   6959         VARIANT_BOOL Listen) = 0;
   6960 
   6961 };
   6962 #ifdef __CRT_UUID_DECL
   6963 __CRT_UUID_DECL(IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f)
   6964 #endif
   6965 #else
   6966 typedef struct IInkCollectorVtbl {
   6967     BEGIN_INTERFACE
   6968 
   6969     /*** IUnknown methods ***/
   6970     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6971         IInkCollector* This,
   6972         REFIID riid,
   6973         void **ppvObject);
   6974 
   6975     ULONG (STDMETHODCALLTYPE *AddRef)(
   6976         IInkCollector* This);
   6977 
   6978     ULONG (STDMETHODCALLTYPE *Release)(
   6979         IInkCollector* This);
   6980 
   6981     /*** IDispatch methods ***/
   6982     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6983         IInkCollector* This,
   6984         UINT *pctinfo);
   6985 
   6986     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6987         IInkCollector* This,
   6988         UINT iTInfo,
   6989         LCID lcid,
   6990         ITypeInfo **ppTInfo);
   6991 
   6992     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6993         IInkCollector* This,
   6994         REFIID riid,
   6995         LPOLESTR *rgszNames,
   6996         UINT cNames,
   6997         LCID lcid,
   6998         DISPID *rgDispId);
   6999 
   7000     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7001         IInkCollector* This,
   7002         DISPID dispIdMember,
   7003         REFIID riid,
   7004         LCID lcid,
   7005         WORD wFlags,
   7006         DISPPARAMS *pDispParams,
   7007         VARIANT *pVarResult,
   7008         EXCEPINFO *pExcepInfo,
   7009         UINT *puArgErr);
   7010 
   7011     /*** IInkCollector methods ***/
   7012     HRESULT (STDMETHODCALLTYPE *get_hWnd)(
   7013         IInkCollector* This,
   7014         LONG_PTR *CurrentWindow);
   7015 
   7016     HRESULT (STDMETHODCALLTYPE *put_hWnd)(
   7017         IInkCollector* This,
   7018         LONG_PTR NewWindow);
   7019 
   7020     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
   7021         IInkCollector* This,
   7022         VARIANT_BOOL *Collecting);
   7023 
   7024     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
   7025         IInkCollector* This,
   7026         VARIANT_BOOL Collecting);
   7027 
   7028     HRESULT (STDMETHODCALLTYPE *get_DefaultDrawingAttributes)(
   7029         IInkCollector* This,
   7030         IInkDrawingAttributes **CurrentAttributes);
   7031 
   7032     HRESULT (STDMETHODCALLTYPE *putref_DefaultDrawingAttributes)(
   7033         IInkCollector* This,
   7034         IInkDrawingAttributes *NewAttributes);
   7035 
   7036     HRESULT (STDMETHODCALLTYPE *get_Renderer)(
   7037         IInkCollector* This,
   7038         IInkRenderer **CurrentInkRenderer);
   7039 
   7040     HRESULT (STDMETHODCALLTYPE *putref_Renderer)(
   7041         IInkCollector* This,
   7042         IInkRenderer *NewInkRenderer);
   7043 
   7044     HRESULT (STDMETHODCALLTYPE *get_Ink)(
   7045         IInkCollector* This,
   7046         IInkDisp **Ink);
   7047 
   7048     HRESULT (STDMETHODCALLTYPE *putref_Ink)(
   7049         IInkCollector* This,
   7050         IInkDisp *NewInk);
   7051 
   7052     HRESULT (STDMETHODCALLTYPE *get_AutoRedraw)(
   7053         IInkCollector* This,
   7054         VARIANT_BOOL *AutoRedraw);
   7055 
   7056     HRESULT (STDMETHODCALLTYPE *put_AutoRedraw)(
   7057         IInkCollector* This,
   7058         VARIANT_BOOL AutoRedraw);
   7059 
   7060     HRESULT (STDMETHODCALLTYPE *get_CollectingInk)(
   7061         IInkCollector* This,
   7062         VARIANT_BOOL *Collecting);
   7063 
   7064     HRESULT (STDMETHODCALLTYPE *get_CollectionMode)(
   7065         IInkCollector* This,
   7066         InkCollectionMode *Mode);
   7067 
   7068     HRESULT (STDMETHODCALLTYPE *put_CollectionMode)(
   7069         IInkCollector* This,
   7070         InkCollectionMode Mode);
   7071 
   7072     HRESULT (STDMETHODCALLTYPE *get_DynamicRendering)(
   7073         IInkCollector* This,
   7074         VARIANT_BOOL *Enabled);
   7075 
   7076     HRESULT (STDMETHODCALLTYPE *put_DynamicRendering)(
   7077         IInkCollector* This,
   7078         VARIANT_BOOL Enabled);
   7079 
   7080     HRESULT (STDMETHODCALLTYPE *get_DesiredPacketDescription)(
   7081         IInkCollector* This,
   7082         VARIANT *PacketGuids);
   7083 
   7084     HRESULT (STDMETHODCALLTYPE *put_DesiredPacketDescription)(
   7085         IInkCollector* This,
   7086         VARIANT PacketGuids);
   7087 
   7088     HRESULT (STDMETHODCALLTYPE *get_MouseIcon)(
   7089         IInkCollector* This,
   7090         IPictureDisp **MouseIcon);
   7091 
   7092     HRESULT (STDMETHODCALLTYPE *put_MouseIcon)(
   7093         IInkCollector* This,
   7094         IPictureDisp *MouseIcon);
   7095 
   7096     HRESULT (STDMETHODCALLTYPE *putref_MouseIcon)(
   7097         IInkCollector* This,
   7098         IPictureDisp *MouseIcon);
   7099 
   7100     HRESULT (STDMETHODCALLTYPE *get_MousePointer)(
   7101         IInkCollector* This,
   7102         InkMousePointer *MousePointer);
   7103 
   7104     HRESULT (STDMETHODCALLTYPE *put_MousePointer)(
   7105         IInkCollector* This,
   7106         InkMousePointer MousePointer);
   7107 
   7108     HRESULT (STDMETHODCALLTYPE *get_Cursors)(
   7109         IInkCollector* This,
   7110         IInkCursors **Cursors);
   7111 
   7112     HRESULT (STDMETHODCALLTYPE *get_MarginX)(
   7113         IInkCollector* This,
   7114         LONG *MarginX);
   7115 
   7116     HRESULT (STDMETHODCALLTYPE *put_MarginX)(
   7117         IInkCollector* This,
   7118         LONG MarginX);
   7119 
   7120     HRESULT (STDMETHODCALLTYPE *get_MarginY)(
   7121         IInkCollector* This,
   7122         LONG *MarginY);
   7123 
   7124     HRESULT (STDMETHODCALLTYPE *put_MarginY)(
   7125         IInkCollector* This,
   7126         LONG MarginY);
   7127 
   7128     HRESULT (STDMETHODCALLTYPE *get_Tablet)(
   7129         IInkCollector* This,
   7130         IInkTablet **SingleTablet);
   7131 
   7132     HRESULT (STDMETHODCALLTYPE *get_SupportHighContrastInk)(
   7133         IInkCollector* This,
   7134         VARIANT_BOOL *Support);
   7135 
   7136     HRESULT (STDMETHODCALLTYPE *put_SupportHighContrastInk)(
   7137         IInkCollector* This,
   7138         VARIANT_BOOL Support);
   7139 
   7140     HRESULT (STDMETHODCALLTYPE *SetGestureStatus)(
   7141         IInkCollector* This,
   7142         InkApplicationGesture Gesture,
   7143         VARIANT_BOOL Listen);
   7144 
   7145     HRESULT (STDMETHODCALLTYPE *GetGestureStatus)(
   7146         IInkCollector* This,
   7147         InkApplicationGesture Gesture,
   7148         VARIANT_BOOL *Listening);
   7149 
   7150     HRESULT (STDMETHODCALLTYPE *GetWindowInputRectangle)(
   7151         IInkCollector* This,
   7152         IInkRectangle **WindowInputRectangle);
   7153 
   7154     HRESULT (STDMETHODCALLTYPE *SetWindowInputRectangle)(
   7155         IInkCollector* This,
   7156         IInkRectangle *WindowInputRectangle);
   7157 
   7158     HRESULT (STDMETHODCALLTYPE *SetAllTabletsMode)(
   7159         IInkCollector* This,
   7160         VARIANT_BOOL UseMouseForInput);
   7161 
   7162     HRESULT (STDMETHODCALLTYPE *SetSingleTabletIntegratedMode)(
   7163         IInkCollector* This,
   7164         IInkTablet *Tablet);
   7165 
   7166     HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
   7167         IInkCollector* This,
   7168         InkCollectorEventInterest EventId,
   7169         VARIANT_BOOL *Listen);
   7170 
   7171     HRESULT (STDMETHODCALLTYPE *SetEventInterest)(
   7172         IInkCollector* This,
   7173         InkCollectorEventInterest EventId,
   7174         VARIANT_BOOL Listen);
   7175 
   7176     END_INTERFACE
   7177 } IInkCollectorVtbl;
   7178 interface IInkCollector {
   7179     CONST_VTBL IInkCollectorVtbl* lpVtbl;
   7180 };
   7181 
   7182 #ifdef COBJMACROS
   7183 #ifndef WIDL_C_INLINE_WRAPPERS
   7184 /*** IUnknown methods ***/
   7185 #define IInkCollector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7186 #define IInkCollector_AddRef(This) (This)->lpVtbl->AddRef(This)
   7187 #define IInkCollector_Release(This) (This)->lpVtbl->Release(This)
   7188 /*** IDispatch methods ***/
   7189 #define IInkCollector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7190 #define IInkCollector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7191 #define IInkCollector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7192 #define IInkCollector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7193 /*** IInkCollector methods ***/
   7194 #define IInkCollector_get_hWnd(This,CurrentWindow) (This)->lpVtbl->get_hWnd(This,CurrentWindow)
   7195 #define IInkCollector_put_hWnd(This,NewWindow) (This)->lpVtbl->put_hWnd(This,NewWindow)
   7196 #define IInkCollector_get_Enabled(This,Collecting) (This)->lpVtbl->get_Enabled(This,Collecting)
   7197 #define IInkCollector_put_Enabled(This,Collecting) (This)->lpVtbl->put_Enabled(This,Collecting)
   7198 #define IInkCollector_get_DefaultDrawingAttributes(This,CurrentAttributes) (This)->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes)
   7199 #define IInkCollector_putref_DefaultDrawingAttributes(This,NewAttributes) (This)->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes)
   7200 #define IInkCollector_get_Renderer(This,CurrentInkRenderer) (This)->lpVtbl->get_Renderer(This,CurrentInkRenderer)
   7201 #define IInkCollector_putref_Renderer(This,NewInkRenderer) (This)->lpVtbl->putref_Renderer(This,NewInkRenderer)
   7202 #define IInkCollector_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
   7203 #define IInkCollector_putref_Ink(This,NewInk) (This)->lpVtbl->putref_Ink(This,NewInk)
   7204 #define IInkCollector_get_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->get_AutoRedraw(This,AutoRedraw)
   7205 #define IInkCollector_put_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->put_AutoRedraw(This,AutoRedraw)
   7206 #define IInkCollector_get_CollectingInk(This,Collecting) (This)->lpVtbl->get_CollectingInk(This,Collecting)
   7207 #define IInkCollector_get_CollectionMode(This,Mode) (This)->lpVtbl->get_CollectionMode(This,Mode)
   7208 #define IInkCollector_put_CollectionMode(This,Mode) (This)->lpVtbl->put_CollectionMode(This,Mode)
   7209 #define IInkCollector_get_DynamicRendering(This,Enabled) (This)->lpVtbl->get_DynamicRendering(This,Enabled)
   7210 #define IInkCollector_put_DynamicRendering(This,Enabled) (This)->lpVtbl->put_DynamicRendering(This,Enabled)
   7211 #define IInkCollector_get_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->get_DesiredPacketDescription(This,PacketGuids)
   7212 #define IInkCollector_put_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->put_DesiredPacketDescription(This,PacketGuids)
   7213 #define IInkCollector_get_MouseIcon(This,MouseIcon) (This)->lpVtbl->get_MouseIcon(This,MouseIcon)
   7214 #define IInkCollector_put_MouseIcon(This,MouseIcon) (This)->lpVtbl->put_MouseIcon(This,MouseIcon)
   7215 #define IInkCollector_putref_MouseIcon(This,MouseIcon) (This)->lpVtbl->putref_MouseIcon(This,MouseIcon)
   7216 #define IInkCollector_get_MousePointer(This,MousePointer) (This)->lpVtbl->get_MousePointer(This,MousePointer)
   7217 #define IInkCollector_put_MousePointer(This,MousePointer) (This)->lpVtbl->put_MousePointer(This,MousePointer)
   7218 #define IInkCollector_get_Cursors(This,Cursors) (This)->lpVtbl->get_Cursors(This,Cursors)
   7219 #define IInkCollector_get_MarginX(This,MarginX) (This)->lpVtbl->get_MarginX(This,MarginX)
   7220 #define IInkCollector_put_MarginX(This,MarginX) (This)->lpVtbl->put_MarginX(This,MarginX)
   7221 #define IInkCollector_get_MarginY(This,MarginY) (This)->lpVtbl->get_MarginY(This,MarginY)
   7222 #define IInkCollector_put_MarginY(This,MarginY) (This)->lpVtbl->put_MarginY(This,MarginY)
   7223 #define IInkCollector_get_Tablet(This,SingleTablet) (This)->lpVtbl->get_Tablet(This,SingleTablet)
   7224 #define IInkCollector_get_SupportHighContrastInk(This,Support) (This)->lpVtbl->get_SupportHighContrastInk(This,Support)
   7225 #define IInkCollector_put_SupportHighContrastInk(This,Support) (This)->lpVtbl->put_SupportHighContrastInk(This,Support)
   7226 #define IInkCollector_SetGestureStatus(This,Gesture,Listen) (This)->lpVtbl->SetGestureStatus(This,Gesture,Listen)
   7227 #define IInkCollector_GetGestureStatus(This,Gesture,Listening) (This)->lpVtbl->GetGestureStatus(This,Gesture,Listening)
   7228 #define IInkCollector_GetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle)
   7229 #define IInkCollector_SetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle)
   7230 #define IInkCollector_SetAllTabletsMode(This,UseMouseForInput) (This)->lpVtbl->SetAllTabletsMode(This,UseMouseForInput)
   7231 #define IInkCollector_SetSingleTabletIntegratedMode(This,Tablet) (This)->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet)
   7232 #define IInkCollector_GetEventInterest(This,EventId,Listen) (This)->lpVtbl->GetEventInterest(This,EventId,Listen)
   7233 #define IInkCollector_SetEventInterest(This,EventId,Listen) (This)->lpVtbl->SetEventInterest(This,EventId,Listen)
   7234 #else
   7235 /*** IUnknown methods ***/
   7236 static FORCEINLINE HRESULT IInkCollector_QueryInterface(IInkCollector* This,REFIID riid,void **ppvObject) {
   7237     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7238 }
   7239 static FORCEINLINE ULONG IInkCollector_AddRef(IInkCollector* This) {
   7240     return This->lpVtbl->AddRef(This);
   7241 }
   7242 static FORCEINLINE ULONG IInkCollector_Release(IInkCollector* This) {
   7243     return This->lpVtbl->Release(This);
   7244 }
   7245 /*** IDispatch methods ***/
   7246 static FORCEINLINE HRESULT IInkCollector_GetTypeInfoCount(IInkCollector* This,UINT *pctinfo) {
   7247     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7248 }
   7249 static FORCEINLINE HRESULT IInkCollector_GetTypeInfo(IInkCollector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7250     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7251 }
   7252 static FORCEINLINE HRESULT IInkCollector_GetIDsOfNames(IInkCollector* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7253     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7254 }
   7255 static FORCEINLINE HRESULT IInkCollector_Invoke(IInkCollector* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7256     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7257 }
   7258 /*** IInkCollector methods ***/
   7259 static FORCEINLINE HRESULT IInkCollector_get_hWnd(IInkCollector* This,LONG_PTR *CurrentWindow) {
   7260     return This->lpVtbl->get_hWnd(This,CurrentWindow);
   7261 }
   7262 static FORCEINLINE HRESULT IInkCollector_put_hWnd(IInkCollector* This,LONG_PTR NewWindow) {
   7263     return This->lpVtbl->put_hWnd(This,NewWindow);
   7264 }
   7265 static FORCEINLINE HRESULT IInkCollector_get_Enabled(IInkCollector* This,VARIANT_BOOL *Collecting) {
   7266     return This->lpVtbl->get_Enabled(This,Collecting);
   7267 }
   7268 static FORCEINLINE HRESULT IInkCollector_put_Enabled(IInkCollector* This,VARIANT_BOOL Collecting) {
   7269     return This->lpVtbl->put_Enabled(This,Collecting);
   7270 }
   7271 static FORCEINLINE HRESULT IInkCollector_get_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes **CurrentAttributes) {
   7272     return This->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes);
   7273 }
   7274 static FORCEINLINE HRESULT IInkCollector_putref_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes *NewAttributes) {
   7275     return This->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes);
   7276 }
   7277 static FORCEINLINE HRESULT IInkCollector_get_Renderer(IInkCollector* This,IInkRenderer **CurrentInkRenderer) {
   7278     return This->lpVtbl->get_Renderer(This,CurrentInkRenderer);
   7279 }
   7280 static FORCEINLINE HRESULT IInkCollector_putref_Renderer(IInkCollector* This,IInkRenderer *NewInkRenderer) {
   7281     return This->lpVtbl->putref_Renderer(This,NewInkRenderer);
   7282 }
   7283 static FORCEINLINE HRESULT IInkCollector_get_Ink(IInkCollector* This,IInkDisp **Ink) {
   7284     return This->lpVtbl->get_Ink(This,Ink);
   7285 }
   7286 static FORCEINLINE HRESULT IInkCollector_putref_Ink(IInkCollector* This,IInkDisp *NewInk) {
   7287     return This->lpVtbl->putref_Ink(This,NewInk);
   7288 }
   7289 static FORCEINLINE HRESULT IInkCollector_get_AutoRedraw(IInkCollector* This,VARIANT_BOOL *AutoRedraw) {
   7290     return This->lpVtbl->get_AutoRedraw(This,AutoRedraw);
   7291 }
   7292 static FORCEINLINE HRESULT IInkCollector_put_AutoRedraw(IInkCollector* This,VARIANT_BOOL AutoRedraw) {
   7293     return This->lpVtbl->put_AutoRedraw(This,AutoRedraw);
   7294 }
   7295 static FORCEINLINE HRESULT IInkCollector_get_CollectingInk(IInkCollector* This,VARIANT_BOOL *Collecting) {
   7296     return This->lpVtbl->get_CollectingInk(This,Collecting);
   7297 }
   7298 static FORCEINLINE HRESULT IInkCollector_get_CollectionMode(IInkCollector* This,InkCollectionMode *Mode) {
   7299     return This->lpVtbl->get_CollectionMode(This,Mode);
   7300 }
   7301 static FORCEINLINE HRESULT IInkCollector_put_CollectionMode(IInkCollector* This,InkCollectionMode Mode) {
   7302     return This->lpVtbl->put_CollectionMode(This,Mode);
   7303 }
   7304 static FORCEINLINE HRESULT IInkCollector_get_DynamicRendering(IInkCollector* This,VARIANT_BOOL *Enabled) {
   7305     return This->lpVtbl->get_DynamicRendering(This,Enabled);
   7306 }
   7307 static FORCEINLINE HRESULT IInkCollector_put_DynamicRendering(IInkCollector* This,VARIANT_BOOL Enabled) {
   7308     return This->lpVtbl->put_DynamicRendering(This,Enabled);
   7309 }
   7310 static FORCEINLINE HRESULT IInkCollector_get_DesiredPacketDescription(IInkCollector* This,VARIANT *PacketGuids) {
   7311     return This->lpVtbl->get_DesiredPacketDescription(This,PacketGuids);
   7312 }
   7313 static FORCEINLINE HRESULT IInkCollector_put_DesiredPacketDescription(IInkCollector* This,VARIANT PacketGuids) {
   7314     return This->lpVtbl->put_DesiredPacketDescription(This,PacketGuids);
   7315 }
   7316 static FORCEINLINE HRESULT IInkCollector_get_MouseIcon(IInkCollector* This,IPictureDisp **MouseIcon) {
   7317     return This->lpVtbl->get_MouseIcon(This,MouseIcon);
   7318 }
   7319 static FORCEINLINE HRESULT IInkCollector_put_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) {
   7320     return This->lpVtbl->put_MouseIcon(This,MouseIcon);
   7321 }
   7322 static FORCEINLINE HRESULT IInkCollector_putref_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) {
   7323     return This->lpVtbl->putref_MouseIcon(This,MouseIcon);
   7324 }
   7325 static FORCEINLINE HRESULT IInkCollector_get_MousePointer(IInkCollector* This,InkMousePointer *MousePointer) {
   7326     return This->lpVtbl->get_MousePointer(This,MousePointer);
   7327 }
   7328 static FORCEINLINE HRESULT IInkCollector_put_MousePointer(IInkCollector* This,InkMousePointer MousePointer) {
   7329     return This->lpVtbl->put_MousePointer(This,MousePointer);
   7330 }
   7331 static FORCEINLINE HRESULT IInkCollector_get_Cursors(IInkCollector* This,IInkCursors **Cursors) {
   7332     return This->lpVtbl->get_Cursors(This,Cursors);
   7333 }
   7334 static FORCEINLINE HRESULT IInkCollector_get_MarginX(IInkCollector* This,LONG *MarginX) {
   7335     return This->lpVtbl->get_MarginX(This,MarginX);
   7336 }
   7337 static FORCEINLINE HRESULT IInkCollector_put_MarginX(IInkCollector* This,LONG MarginX) {
   7338     return This->lpVtbl->put_MarginX(This,MarginX);
   7339 }
   7340 static FORCEINLINE HRESULT IInkCollector_get_MarginY(IInkCollector* This,LONG *MarginY) {
   7341     return This->lpVtbl->get_MarginY(This,MarginY);
   7342 }
   7343 static FORCEINLINE HRESULT IInkCollector_put_MarginY(IInkCollector* This,LONG MarginY) {
   7344     return This->lpVtbl->put_MarginY(This,MarginY);
   7345 }
   7346 static FORCEINLINE HRESULT IInkCollector_get_Tablet(IInkCollector* This,IInkTablet **SingleTablet) {
   7347     return This->lpVtbl->get_Tablet(This,SingleTablet);
   7348 }
   7349 static FORCEINLINE HRESULT IInkCollector_get_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL *Support) {
   7350     return This->lpVtbl->get_SupportHighContrastInk(This,Support);
   7351 }
   7352 static FORCEINLINE HRESULT IInkCollector_put_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL Support) {
   7353     return This->lpVtbl->put_SupportHighContrastInk(This,Support);
   7354 }
   7355 static FORCEINLINE HRESULT IInkCollector_SetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL Listen) {
   7356     return This->lpVtbl->SetGestureStatus(This,Gesture,Listen);
   7357 }
   7358 static FORCEINLINE HRESULT IInkCollector_GetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL *Listening) {
   7359     return This->lpVtbl->GetGestureStatus(This,Gesture,Listening);
   7360 }
   7361 static FORCEINLINE HRESULT IInkCollector_GetWindowInputRectangle(IInkCollector* This,IInkRectangle **WindowInputRectangle) {
   7362     return This->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle);
   7363 }
   7364 static FORCEINLINE HRESULT IInkCollector_SetWindowInputRectangle(IInkCollector* This,IInkRectangle *WindowInputRectangle) {
   7365     return This->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle);
   7366 }
   7367 static FORCEINLINE HRESULT IInkCollector_SetAllTabletsMode(IInkCollector* This,VARIANT_BOOL UseMouseForInput) {
   7368     return This->lpVtbl->SetAllTabletsMode(This,UseMouseForInput);
   7369 }
   7370 static FORCEINLINE HRESULT IInkCollector_SetSingleTabletIntegratedMode(IInkCollector* This,IInkTablet *Tablet) {
   7371     return This->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet);
   7372 }
   7373 static FORCEINLINE HRESULT IInkCollector_GetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL *Listen) {
   7374     return This->lpVtbl->GetEventInterest(This,EventId,Listen);
   7375 }
   7376 static FORCEINLINE HRESULT IInkCollector_SetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL Listen) {
   7377     return This->lpVtbl->SetEventInterest(This,EventId,Listen);
   7378 }
   7379 #endif
   7380 #endif
   7381 
   7382 #endif
   7383 
   7384 HRESULT STDMETHODCALLTYPE IInkCollector_get_hWnd_Proxy(
   7385     IInkCollector* This,
   7386     LONG_PTR *CurrentWindow);
   7387 void __RPC_STUB IInkCollector_get_hWnd_Stub(
   7388     IRpcStubBuffer* This,
   7389     IRpcChannelBuffer* pRpcChannelBuffer,
   7390     PRPC_MESSAGE pRpcMessage,
   7391     DWORD* pdwStubPhase);
   7392 HRESULT STDMETHODCALLTYPE IInkCollector_put_hWnd_Proxy(
   7393     IInkCollector* This,
   7394     LONG_PTR NewWindow);
   7395 void __RPC_STUB IInkCollector_put_hWnd_Stub(
   7396     IRpcStubBuffer* This,
   7397     IRpcChannelBuffer* pRpcChannelBuffer,
   7398     PRPC_MESSAGE pRpcMessage,
   7399     DWORD* pdwStubPhase);
   7400 HRESULT STDMETHODCALLTYPE IInkCollector_get_Enabled_Proxy(
   7401     IInkCollector* This,
   7402     VARIANT_BOOL *Collecting);
   7403 void __RPC_STUB IInkCollector_get_Enabled_Stub(
   7404     IRpcStubBuffer* This,
   7405     IRpcChannelBuffer* pRpcChannelBuffer,
   7406     PRPC_MESSAGE pRpcMessage,
   7407     DWORD* pdwStubPhase);
   7408 HRESULT STDMETHODCALLTYPE IInkCollector_put_Enabled_Proxy(
   7409     IInkCollector* This,
   7410     VARIANT_BOOL Collecting);
   7411 void __RPC_STUB IInkCollector_put_Enabled_Stub(
   7412     IRpcStubBuffer* This,
   7413     IRpcChannelBuffer* pRpcChannelBuffer,
   7414     PRPC_MESSAGE pRpcMessage,
   7415     DWORD* pdwStubPhase);
   7416 HRESULT STDMETHODCALLTYPE IInkCollector_get_DefaultDrawingAttributes_Proxy(
   7417     IInkCollector* This,
   7418     IInkDrawingAttributes **CurrentAttributes);
   7419 void __RPC_STUB IInkCollector_get_DefaultDrawingAttributes_Stub(
   7420     IRpcStubBuffer* This,
   7421     IRpcChannelBuffer* pRpcChannelBuffer,
   7422     PRPC_MESSAGE pRpcMessage,
   7423     DWORD* pdwStubPhase);
   7424 HRESULT STDMETHODCALLTYPE IInkCollector_putref_DefaultDrawingAttributes_Proxy(
   7425     IInkCollector* This,
   7426     IInkDrawingAttributes *NewAttributes);
   7427 void __RPC_STUB IInkCollector_putref_DefaultDrawingAttributes_Stub(
   7428     IRpcStubBuffer* This,
   7429     IRpcChannelBuffer* pRpcChannelBuffer,
   7430     PRPC_MESSAGE pRpcMessage,
   7431     DWORD* pdwStubPhase);
   7432 HRESULT STDMETHODCALLTYPE IInkCollector_get_Renderer_Proxy(
   7433     IInkCollector* This,
   7434     IInkRenderer **CurrentInkRenderer);
   7435 void __RPC_STUB IInkCollector_get_Renderer_Stub(
   7436     IRpcStubBuffer* This,
   7437     IRpcChannelBuffer* pRpcChannelBuffer,
   7438     PRPC_MESSAGE pRpcMessage,
   7439     DWORD* pdwStubPhase);
   7440 HRESULT STDMETHODCALLTYPE IInkCollector_putref_Renderer_Proxy(
   7441     IInkCollector* This,
   7442     IInkRenderer *NewInkRenderer);
   7443 void __RPC_STUB IInkCollector_putref_Renderer_Stub(
   7444     IRpcStubBuffer* This,
   7445     IRpcChannelBuffer* pRpcChannelBuffer,
   7446     PRPC_MESSAGE pRpcMessage,
   7447     DWORD* pdwStubPhase);
   7448 HRESULT STDMETHODCALLTYPE IInkCollector_get_Ink_Proxy(
   7449     IInkCollector* This,
   7450     IInkDisp **Ink);
   7451 void __RPC_STUB IInkCollector_get_Ink_Stub(
   7452     IRpcStubBuffer* This,
   7453     IRpcChannelBuffer* pRpcChannelBuffer,
   7454     PRPC_MESSAGE pRpcMessage,
   7455     DWORD* pdwStubPhase);
   7456 HRESULT STDMETHODCALLTYPE IInkCollector_putref_Ink_Proxy(
   7457     IInkCollector* This,
   7458     IInkDisp *NewInk);
   7459 void __RPC_STUB IInkCollector_putref_Ink_Stub(
   7460     IRpcStubBuffer* This,
   7461     IRpcChannelBuffer* pRpcChannelBuffer,
   7462     PRPC_MESSAGE pRpcMessage,
   7463     DWORD* pdwStubPhase);
   7464 HRESULT STDMETHODCALLTYPE IInkCollector_get_AutoRedraw_Proxy(
   7465     IInkCollector* This,
   7466     VARIANT_BOOL *AutoRedraw);
   7467 void __RPC_STUB IInkCollector_get_AutoRedraw_Stub(
   7468     IRpcStubBuffer* This,
   7469     IRpcChannelBuffer* pRpcChannelBuffer,
   7470     PRPC_MESSAGE pRpcMessage,
   7471     DWORD* pdwStubPhase);
   7472 HRESULT STDMETHODCALLTYPE IInkCollector_put_AutoRedraw_Proxy(
   7473     IInkCollector* This,
   7474     VARIANT_BOOL AutoRedraw);
   7475 void __RPC_STUB IInkCollector_put_AutoRedraw_Stub(
   7476     IRpcStubBuffer* This,
   7477     IRpcChannelBuffer* pRpcChannelBuffer,
   7478     PRPC_MESSAGE pRpcMessage,
   7479     DWORD* pdwStubPhase);
   7480 HRESULT STDMETHODCALLTYPE IInkCollector_get_CollectingInk_Proxy(
   7481     IInkCollector* This,
   7482     VARIANT_BOOL *Collecting);
   7483 void __RPC_STUB IInkCollector_get_CollectingInk_Stub(
   7484     IRpcStubBuffer* This,
   7485     IRpcChannelBuffer* pRpcChannelBuffer,
   7486     PRPC_MESSAGE pRpcMessage,
   7487     DWORD* pdwStubPhase);
   7488 HRESULT STDMETHODCALLTYPE IInkCollector_get_CollectionMode_Proxy(
   7489     IInkCollector* This,
   7490     InkCollectionMode *Mode);
   7491 void __RPC_STUB IInkCollector_get_CollectionMode_Stub(
   7492     IRpcStubBuffer* This,
   7493     IRpcChannelBuffer* pRpcChannelBuffer,
   7494     PRPC_MESSAGE pRpcMessage,
   7495     DWORD* pdwStubPhase);
   7496 HRESULT STDMETHODCALLTYPE IInkCollector_put_CollectionMode_Proxy(
   7497     IInkCollector* This,
   7498     InkCollectionMode Mode);
   7499 void __RPC_STUB IInkCollector_put_CollectionMode_Stub(
   7500     IRpcStubBuffer* This,
   7501     IRpcChannelBuffer* pRpcChannelBuffer,
   7502     PRPC_MESSAGE pRpcMessage,
   7503     DWORD* pdwStubPhase);
   7504 HRESULT STDMETHODCALLTYPE IInkCollector_get_DynamicRendering_Proxy(
   7505     IInkCollector* This,
   7506     VARIANT_BOOL *Enabled);
   7507 void __RPC_STUB IInkCollector_get_DynamicRendering_Stub(
   7508     IRpcStubBuffer* This,
   7509     IRpcChannelBuffer* pRpcChannelBuffer,
   7510     PRPC_MESSAGE pRpcMessage,
   7511     DWORD* pdwStubPhase);
   7512 HRESULT STDMETHODCALLTYPE IInkCollector_put_DynamicRendering_Proxy(
   7513     IInkCollector* This,
   7514     VARIANT_BOOL Enabled);
   7515 void __RPC_STUB IInkCollector_put_DynamicRendering_Stub(
   7516     IRpcStubBuffer* This,
   7517     IRpcChannelBuffer* pRpcChannelBuffer,
   7518     PRPC_MESSAGE pRpcMessage,
   7519     DWORD* pdwStubPhase);
   7520 HRESULT STDMETHODCALLTYPE IInkCollector_get_DesiredPacketDescription_Proxy(
   7521     IInkCollector* This,
   7522     VARIANT *PacketGuids);
   7523 void __RPC_STUB IInkCollector_get_DesiredPacketDescription_Stub(
   7524     IRpcStubBuffer* This,
   7525     IRpcChannelBuffer* pRpcChannelBuffer,
   7526     PRPC_MESSAGE pRpcMessage,
   7527     DWORD* pdwStubPhase);
   7528 HRESULT STDMETHODCALLTYPE IInkCollector_put_DesiredPacketDescription_Proxy(
   7529     IInkCollector* This,
   7530     VARIANT PacketGuids);
   7531 void __RPC_STUB IInkCollector_put_DesiredPacketDescription_Stub(
   7532     IRpcStubBuffer* This,
   7533     IRpcChannelBuffer* pRpcChannelBuffer,
   7534     PRPC_MESSAGE pRpcMessage,
   7535     DWORD* pdwStubPhase);
   7536 HRESULT STDMETHODCALLTYPE IInkCollector_get_MouseIcon_Proxy(
   7537     IInkCollector* This,
   7538     IPictureDisp **MouseIcon);
   7539 void __RPC_STUB IInkCollector_get_MouseIcon_Stub(
   7540     IRpcStubBuffer* This,
   7541     IRpcChannelBuffer* pRpcChannelBuffer,
   7542     PRPC_MESSAGE pRpcMessage,
   7543     DWORD* pdwStubPhase);
   7544 HRESULT STDMETHODCALLTYPE IInkCollector_put_MouseIcon_Proxy(
   7545     IInkCollector* This,
   7546     IPictureDisp *MouseIcon);
   7547 void __RPC_STUB IInkCollector_put_MouseIcon_Stub(
   7548     IRpcStubBuffer* This,
   7549     IRpcChannelBuffer* pRpcChannelBuffer,
   7550     PRPC_MESSAGE pRpcMessage,
   7551     DWORD* pdwStubPhase);
   7552 HRESULT STDMETHODCALLTYPE IInkCollector_putref_MouseIcon_Proxy(
   7553     IInkCollector* This,
   7554     IPictureDisp *MouseIcon);
   7555 void __RPC_STUB IInkCollector_putref_MouseIcon_Stub(
   7556     IRpcStubBuffer* This,
   7557     IRpcChannelBuffer* pRpcChannelBuffer,
   7558     PRPC_MESSAGE pRpcMessage,
   7559     DWORD* pdwStubPhase);
   7560 HRESULT STDMETHODCALLTYPE IInkCollector_get_MousePointer_Proxy(
   7561     IInkCollector* This,
   7562     InkMousePointer *MousePointer);
   7563 void __RPC_STUB IInkCollector_get_MousePointer_Stub(
   7564     IRpcStubBuffer* This,
   7565     IRpcChannelBuffer* pRpcChannelBuffer,
   7566     PRPC_MESSAGE pRpcMessage,
   7567     DWORD* pdwStubPhase);
   7568 HRESULT STDMETHODCALLTYPE IInkCollector_put_MousePointer_Proxy(
   7569     IInkCollector* This,
   7570     InkMousePointer MousePointer);
   7571 void __RPC_STUB IInkCollector_put_MousePointer_Stub(
   7572     IRpcStubBuffer* This,
   7573     IRpcChannelBuffer* pRpcChannelBuffer,
   7574     PRPC_MESSAGE pRpcMessage,
   7575     DWORD* pdwStubPhase);
   7576 HRESULT STDMETHODCALLTYPE IInkCollector_get_Cursors_Proxy(
   7577     IInkCollector* This,
   7578     IInkCursors **Cursors);
   7579 void __RPC_STUB IInkCollector_get_Cursors_Stub(
   7580     IRpcStubBuffer* This,
   7581     IRpcChannelBuffer* pRpcChannelBuffer,
   7582     PRPC_MESSAGE pRpcMessage,
   7583     DWORD* pdwStubPhase);
   7584 HRESULT STDMETHODCALLTYPE IInkCollector_get_MarginX_Proxy(
   7585     IInkCollector* This,
   7586     LONG *MarginX);
   7587 void __RPC_STUB IInkCollector_get_MarginX_Stub(
   7588     IRpcStubBuffer* This,
   7589     IRpcChannelBuffer* pRpcChannelBuffer,
   7590     PRPC_MESSAGE pRpcMessage,
   7591     DWORD* pdwStubPhase);
   7592 HRESULT STDMETHODCALLTYPE IInkCollector_put_MarginX_Proxy(
   7593     IInkCollector* This,
   7594     LONG MarginX);
   7595 void __RPC_STUB IInkCollector_put_MarginX_Stub(
   7596     IRpcStubBuffer* This,
   7597     IRpcChannelBuffer* pRpcChannelBuffer,
   7598     PRPC_MESSAGE pRpcMessage,
   7599     DWORD* pdwStubPhase);
   7600 HRESULT STDMETHODCALLTYPE IInkCollector_get_MarginY_Proxy(
   7601     IInkCollector* This,
   7602     LONG *MarginY);
   7603 void __RPC_STUB IInkCollector_get_MarginY_Stub(
   7604     IRpcStubBuffer* This,
   7605     IRpcChannelBuffer* pRpcChannelBuffer,
   7606     PRPC_MESSAGE pRpcMessage,
   7607     DWORD* pdwStubPhase);
   7608 HRESULT STDMETHODCALLTYPE IInkCollector_put_MarginY_Proxy(
   7609     IInkCollector* This,
   7610     LONG MarginY);
   7611 void __RPC_STUB IInkCollector_put_MarginY_Stub(
   7612     IRpcStubBuffer* This,
   7613     IRpcChannelBuffer* pRpcChannelBuffer,
   7614     PRPC_MESSAGE pRpcMessage,
   7615     DWORD* pdwStubPhase);
   7616 HRESULT STDMETHODCALLTYPE IInkCollector_get_Tablet_Proxy(
   7617     IInkCollector* This,
   7618     IInkTablet **SingleTablet);
   7619 void __RPC_STUB IInkCollector_get_Tablet_Stub(
   7620     IRpcStubBuffer* This,
   7621     IRpcChannelBuffer* pRpcChannelBuffer,
   7622     PRPC_MESSAGE pRpcMessage,
   7623     DWORD* pdwStubPhase);
   7624 HRESULT STDMETHODCALLTYPE IInkCollector_get_SupportHighContrastInk_Proxy(
   7625     IInkCollector* This,
   7626     VARIANT_BOOL *Support);
   7627 void __RPC_STUB IInkCollector_get_SupportHighContrastInk_Stub(
   7628     IRpcStubBuffer* This,
   7629     IRpcChannelBuffer* pRpcChannelBuffer,
   7630     PRPC_MESSAGE pRpcMessage,
   7631     DWORD* pdwStubPhase);
   7632 HRESULT STDMETHODCALLTYPE IInkCollector_put_SupportHighContrastInk_Proxy(
   7633     IInkCollector* This,
   7634     VARIANT_BOOL Support);
   7635 void __RPC_STUB IInkCollector_put_SupportHighContrastInk_Stub(
   7636     IRpcStubBuffer* This,
   7637     IRpcChannelBuffer* pRpcChannelBuffer,
   7638     PRPC_MESSAGE pRpcMessage,
   7639     DWORD* pdwStubPhase);
   7640 HRESULT STDMETHODCALLTYPE IInkCollector_SetGestureStatus_Proxy(
   7641     IInkCollector* This,
   7642     InkApplicationGesture Gesture,
   7643     VARIANT_BOOL Listen);
   7644 void __RPC_STUB IInkCollector_SetGestureStatus_Stub(
   7645     IRpcStubBuffer* This,
   7646     IRpcChannelBuffer* pRpcChannelBuffer,
   7647     PRPC_MESSAGE pRpcMessage,
   7648     DWORD* pdwStubPhase);
   7649 HRESULT STDMETHODCALLTYPE IInkCollector_GetGestureStatus_Proxy(
   7650     IInkCollector* This,
   7651     InkApplicationGesture Gesture,
   7652     VARIANT_BOOL *Listening);
   7653 void __RPC_STUB IInkCollector_GetGestureStatus_Stub(
   7654     IRpcStubBuffer* This,
   7655     IRpcChannelBuffer* pRpcChannelBuffer,
   7656     PRPC_MESSAGE pRpcMessage,
   7657     DWORD* pdwStubPhase);
   7658 HRESULT STDMETHODCALLTYPE IInkCollector_GetWindowInputRectangle_Proxy(
   7659     IInkCollector* This,
   7660     IInkRectangle **WindowInputRectangle);
   7661 void __RPC_STUB IInkCollector_GetWindowInputRectangle_Stub(
   7662     IRpcStubBuffer* This,
   7663     IRpcChannelBuffer* pRpcChannelBuffer,
   7664     PRPC_MESSAGE pRpcMessage,
   7665     DWORD* pdwStubPhase);
   7666 HRESULT STDMETHODCALLTYPE IInkCollector_SetWindowInputRectangle_Proxy(
   7667     IInkCollector* This,
   7668     IInkRectangle *WindowInputRectangle);
   7669 void __RPC_STUB IInkCollector_SetWindowInputRectangle_Stub(
   7670     IRpcStubBuffer* This,
   7671     IRpcChannelBuffer* pRpcChannelBuffer,
   7672     PRPC_MESSAGE pRpcMessage,
   7673     DWORD* pdwStubPhase);
   7674 HRESULT STDMETHODCALLTYPE IInkCollector_SetAllTabletsMode_Proxy(
   7675     IInkCollector* This,
   7676     VARIANT_BOOL UseMouseForInput);
   7677 void __RPC_STUB IInkCollector_SetAllTabletsMode_Stub(
   7678     IRpcStubBuffer* This,
   7679     IRpcChannelBuffer* pRpcChannelBuffer,
   7680     PRPC_MESSAGE pRpcMessage,
   7681     DWORD* pdwStubPhase);
   7682 HRESULT STDMETHODCALLTYPE IInkCollector_SetSingleTabletIntegratedMode_Proxy(
   7683     IInkCollector* This,
   7684     IInkTablet *Tablet);
   7685 void __RPC_STUB IInkCollector_SetSingleTabletIntegratedMode_Stub(
   7686     IRpcStubBuffer* This,
   7687     IRpcChannelBuffer* pRpcChannelBuffer,
   7688     PRPC_MESSAGE pRpcMessage,
   7689     DWORD* pdwStubPhase);
   7690 HRESULT STDMETHODCALLTYPE IInkCollector_GetEventInterest_Proxy(
   7691     IInkCollector* This,
   7692     InkCollectorEventInterest EventId,
   7693     VARIANT_BOOL *Listen);
   7694 void __RPC_STUB IInkCollector_GetEventInterest_Stub(
   7695     IRpcStubBuffer* This,
   7696     IRpcChannelBuffer* pRpcChannelBuffer,
   7697     PRPC_MESSAGE pRpcMessage,
   7698     DWORD* pdwStubPhase);
   7699 HRESULT STDMETHODCALLTYPE IInkCollector_SetEventInterest_Proxy(
   7700     IInkCollector* This,
   7701     InkCollectorEventInterest EventId,
   7702     VARIANT_BOOL Listen);
   7703 void __RPC_STUB IInkCollector_SetEventInterest_Stub(
   7704     IRpcStubBuffer* This,
   7705     IRpcChannelBuffer* pRpcChannelBuffer,
   7706     PRPC_MESSAGE pRpcMessage,
   7707     DWORD* pdwStubPhase);
   7708 
   7709 #endif  /* __IInkCollector_INTERFACE_DEFINED__ */
   7710 
   7711 /*****************************************************************************
   7712  * _IInkCollectorEvents dispinterface
   7713  */
   7714 #ifndef ___IInkCollectorEvents_DISPINTERFACE_DEFINED__
   7715 #define ___IInkCollectorEvents_DISPINTERFACE_DEFINED__
   7716 
   7717 DEFINE_GUID(DIID__IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b);
   7718 #if defined(__cplusplus) && !defined(CINTERFACE)
   7719 MIDL_INTERFACE("11a583f2-712d-4fea-abcf-ab4af38ea06b")
   7720 _IInkCollectorEvents : public IDispatch
   7721 {
   7722 };
   7723 #ifdef __CRT_UUID_DECL
   7724 __CRT_UUID_DECL(_IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b)
   7725 #endif
   7726 #else
   7727 typedef struct _IInkCollectorEventsVtbl {
   7728     BEGIN_INTERFACE
   7729 
   7730     /*** IUnknown methods ***/
   7731     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7732         _IInkCollectorEvents* This,
   7733         REFIID riid,
   7734         void **ppvObject);
   7735 
   7736     ULONG (STDMETHODCALLTYPE *AddRef)(
   7737         _IInkCollectorEvents* This);
   7738 
   7739     ULONG (STDMETHODCALLTYPE *Release)(
   7740         _IInkCollectorEvents* This);
   7741 
   7742     /*** IDispatch methods ***/
   7743     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7744         _IInkCollectorEvents* This,
   7745         UINT *pctinfo);
   7746 
   7747     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   7748         _IInkCollectorEvents* This,
   7749         UINT iTInfo,
   7750         LCID lcid,
   7751         ITypeInfo **ppTInfo);
   7752 
   7753     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7754         _IInkCollectorEvents* This,
   7755         REFIID riid,
   7756         LPOLESTR *rgszNames,
   7757         UINT cNames,
   7758         LCID lcid,
   7759         DISPID *rgDispId);
   7760 
   7761     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7762         _IInkCollectorEvents* This,
   7763         DISPID dispIdMember,
   7764         REFIID riid,
   7765         LCID lcid,
   7766         WORD wFlags,
   7767         DISPPARAMS *pDispParams,
   7768         VARIANT *pVarResult,
   7769         EXCEPINFO *pExcepInfo,
   7770         UINT *puArgErr);
   7771 
   7772     END_INTERFACE
   7773 } _IInkCollectorEventsVtbl;
   7774 interface _IInkCollectorEvents {
   7775     CONST_VTBL _IInkCollectorEventsVtbl* lpVtbl;
   7776 };
   7777 
   7778 #ifdef COBJMACROS
   7779 #ifndef WIDL_C_INLINE_WRAPPERS
   7780 /*** IUnknown methods ***/
   7781 #define _IInkCollectorEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7782 #define _IInkCollectorEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   7783 #define _IInkCollectorEvents_Release(This) (This)->lpVtbl->Release(This)
   7784 /*** IDispatch methods ***/
   7785 #define _IInkCollectorEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7786 #define _IInkCollectorEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7787 #define _IInkCollectorEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7788 #define _IInkCollectorEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7789 #else
   7790 /*** IUnknown methods ***/
   7791 static FORCEINLINE HRESULT _IInkCollectorEvents_QueryInterface(_IInkCollectorEvents* This,REFIID riid,void **ppvObject) {
   7792     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7793 }
   7794 static FORCEINLINE ULONG _IInkCollectorEvents_AddRef(_IInkCollectorEvents* This) {
   7795     return This->lpVtbl->AddRef(This);
   7796 }
   7797 static FORCEINLINE ULONG _IInkCollectorEvents_Release(_IInkCollectorEvents* This) {
   7798     return This->lpVtbl->Release(This);
   7799 }
   7800 /*** IDispatch methods ***/
   7801 static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfoCount(_IInkCollectorEvents* This,UINT *pctinfo) {
   7802     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7803 }
   7804 static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfo(_IInkCollectorEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7805     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7806 }
   7807 static FORCEINLINE HRESULT _IInkCollectorEvents_GetIDsOfNames(_IInkCollectorEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7808     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7809 }
   7810 static FORCEINLINE HRESULT _IInkCollectorEvents_Invoke(_IInkCollectorEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7811     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7812 }
   7813 #endif
   7814 #endif
   7815 
   7816 #endif
   7817 
   7818 #endif  /* ___IInkCollectorEvents_DISPINTERFACE_DEFINED__ */
   7819 
   7820 /*****************************************************************************
   7821  * InkCollector coclass
   7822  */
   7823 
   7824 DEFINE_GUID(CLSID_InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb);
   7825 
   7826 #ifdef __cplusplus
   7827 class DECLSPEC_UUID("43fb1553-ad74-4ee8-88e4-3e6daac915db") InkCollector;
   7828 #ifdef __CRT_UUID_DECL
   7829 __CRT_UUID_DECL(InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb)
   7830 #endif
   7831 #endif
   7832 
   7833 /* Begin additional prototypes for all interfaces */
   7834 
   7835 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   7836 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   7837 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   7838 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   7839 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   7840 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   7841 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   7842 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   7843 
   7844 /* End additional prototypes */
   7845 
   7846 #ifdef __cplusplus
   7847 }
   7848 #endif
   7849 
   7850 #endif /* __msinkaut_h__ */
   7851