|  | /*** Autogenerated by WIDL 3.20 from include/msinkaut.idl - Do not edit ***/ | 
|  |  | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  |  | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __msinkaut_h__ | 
|  | #define __msinkaut_h__ | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __IInkExtendedProperty_FWD_DEFINED__ | 
|  | #define __IInkExtendedProperty_FWD_DEFINED__ | 
|  | typedef interface IInkExtendedProperty IInkExtendedProperty; | 
|  | #ifdef __cplusplus | 
|  | interface IInkExtendedProperty; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkExtendedProperties_FWD_DEFINED__ | 
|  | #define __IInkExtendedProperties_FWD_DEFINED__ | 
|  | typedef interface IInkExtendedProperties IInkExtendedProperties; | 
|  | #ifdef __cplusplus | 
|  | interface IInkExtendedProperties; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkDrawingAttributes_FWD_DEFINED__ | 
|  | #define __IInkDrawingAttributes_FWD_DEFINED__ | 
|  | typedef interface IInkDrawingAttributes IInkDrawingAttributes; | 
|  | #ifdef __cplusplus | 
|  | interface IInkDrawingAttributes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRectangle_FWD_DEFINED__ | 
|  | #define __IInkRectangle_FWD_DEFINED__ | 
|  | typedef interface IInkRectangle IInkRectangle; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRectangle; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkTablet_FWD_DEFINED__ | 
|  | #define __IInkTablet_FWD_DEFINED__ | 
|  | typedef interface IInkTablet IInkTablet; | 
|  | #ifdef __cplusplus | 
|  | interface IInkTablet; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCursorButton_FWD_DEFINED__ | 
|  | #define __IInkCursorButton_FWD_DEFINED__ | 
|  | typedef interface IInkCursorButton IInkCursorButton; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCursorButton; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCursorButtons_FWD_DEFINED__ | 
|  | #define __IInkCursorButtons_FWD_DEFINED__ | 
|  | typedef interface IInkCursorButtons IInkCursorButtons; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCursorButtons; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCursor_FWD_DEFINED__ | 
|  | #define __IInkCursor_FWD_DEFINED__ | 
|  | typedef interface IInkCursor IInkCursor; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCursor; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkTransform_FWD_DEFINED__ | 
|  | #define __IInkTransform_FWD_DEFINED__ | 
|  | typedef interface IInkTransform IInkTransform; | 
|  | #ifdef __cplusplus | 
|  | interface IInkTransform; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRecognitionAlternates_FWD_DEFINED__ | 
|  | #define __IInkRecognitionAlternates_FWD_DEFINED__ | 
|  | typedef interface IInkRecognitionAlternates IInkRecognitionAlternates; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRecognitionAlternates; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRecognitionAlternate_FWD_DEFINED__ | 
|  | #define __IInkRecognitionAlternate_FWD_DEFINED__ | 
|  | typedef interface IInkRecognitionAlternate IInkRecognitionAlternate; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRecognitionAlternate; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRecognitionResult_FWD_DEFINED__ | 
|  | #define __IInkRecognitionResult_FWD_DEFINED__ | 
|  | typedef interface IInkRecognitionResult IInkRecognitionResult; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRecognitionResult; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkStrokeDisp_FWD_DEFINED__ | 
|  | #define __IInkStrokeDisp_FWD_DEFINED__ | 
|  | typedef interface IInkStrokeDisp IInkStrokeDisp; | 
|  | #ifdef __cplusplus | 
|  | interface IInkStrokeDisp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCustomStrokes_FWD_DEFINED__ | 
|  | #define __IInkCustomStrokes_FWD_DEFINED__ | 
|  | typedef interface IInkCustomStrokes IInkCustomStrokes; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCustomStrokes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkDisp_FWD_DEFINED__ | 
|  | #define __IInkDisp_FWD_DEFINED__ | 
|  | typedef interface IInkDisp IInkDisp; | 
|  | #ifdef __cplusplus | 
|  | interface IInkDisp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkStrokes_FWD_DEFINED__ | 
|  | #define __IInkStrokes_FWD_DEFINED__ | 
|  | typedef interface IInkStrokes IInkStrokes; | 
|  | #ifdef __cplusplus | 
|  | interface IInkStrokes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRenderer_FWD_DEFINED__ | 
|  | #define __IInkRenderer_FWD_DEFINED__ | 
|  | typedef interface IInkRenderer IInkRenderer; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRenderer; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCursors_FWD_DEFINED__ | 
|  | #define __IInkCursors_FWD_DEFINED__ | 
|  | typedef interface IInkCursors IInkCursors; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCursors; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkCollector_FWD_DEFINED__ | 
|  | #define __IInkCollector_FWD_DEFINED__ | 
|  | typedef interface IInkCollector IInkCollector; | 
|  | #ifdef __cplusplus | 
|  | interface IInkCollector; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef ___IInkCollectorEvents_FWD_DEFINED__ | 
|  | #define ___IInkCollectorEvents_FWD_DEFINED__ | 
|  | typedef interface _IInkCollectorEvents _IInkCollectorEvents; | 
|  | #ifdef __cplusplus | 
|  | interface _IInkCollectorEvents; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __InkCollector_FWD_DEFINED__ | 
|  | #define __InkCollector_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class InkCollector InkCollector; | 
|  | #else | 
|  | typedef struct InkCollector InkCollector; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __InkCollector_FWD_DEFINED__ */ | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <oaidl.h> | 
|  | #include <ocidl.h> | 
|  | #include <tpcshrd.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | typedef enum InkRasterOperation { | 
|  | IRO_Black = 1, | 
|  | IRO_NotMergePen = 2, | 
|  | IRO_MaskNotPen = 3, | 
|  | IRO_NotCopyPen = 4, | 
|  | IRO_MaskPenNot = 5, | 
|  | IRO_Not = 6, | 
|  | IRO_XOrPen = 7, | 
|  | IRO_NotMaskPen = 8, | 
|  | IRO_MaskPen = 9, | 
|  | IRO_NotXOrPen = 10, | 
|  | IRO_NoOperation = 11, | 
|  | IRO_MergeNotPen = 12, | 
|  | IRO_CopyPen = 13, | 
|  | IRO_MergePenNot = 14, | 
|  | IRO_MergePen = 15, | 
|  | IRO_White = 16 | 
|  | } InkRasterOperation; | 
|  | typedef enum InkPenTip { | 
|  | IPT_Ball = 0, | 
|  | IPT_Rectangle = 1 | 
|  | } InkPenTip; | 
|  | typedef enum TabletHardwareCapabilities { | 
|  | THWC_Integrated = 0x1, | 
|  | THWC_CursorMustTouch = 0x2, | 
|  | THWC_HardProximity = 0x4, | 
|  | THWC_CursorsHavePhysicalIds = 0x8 | 
|  | } TabletHardwareCapabilities; | 
|  | typedef enum TabletPropertyMetricUnit { | 
|  | TPMU_Default = 0, | 
|  | TPMU_Inches = 1, | 
|  | TPMU_Centimeters = 2, | 
|  | TPMU_Degrees = 3, | 
|  | TPMU_Radians = 4, | 
|  | TPMU_Seconds = 5, | 
|  | TPMU_Pounds = 6, | 
|  | TPMU_Grams = 7 | 
|  | } TabletPropertyMetricUnit; | 
|  | typedef enum InkCursorButtonState { | 
|  | ICBS_Unavailable = 0, | 
|  | ICBS_Up = 1, | 
|  | ICBS_Down = 2 | 
|  | } InkCursorButtonState; | 
|  | typedef enum InkRecognitionConfidence { | 
|  | IRC_Strong = 0, | 
|  | IRC_Intermediate = 1, | 
|  | IRC_Poor = 2 | 
|  | } InkRecognitionConfidence; | 
|  | typedef enum InkBoundingBoxMode { | 
|  | IBBM_Default = 0, | 
|  | IBBM_NoCurveFit = 1, | 
|  | IBBM_CurveFit = 2, | 
|  | IBBM_PointsOnly = 3, | 
|  | IBBM_Union = 4 | 
|  | } InkBoundingBoxMode; | 
|  | typedef enum InkExtractFlags { | 
|  | IEF_CopyFromOriginal = 0, | 
|  | IEF_RemoveFromOriginal = 1, | 
|  | IEF_Default = IEF_RemoveFromOriginal | 
|  | } InkExtractFlags; | 
|  | typedef enum InkPersistenceFormat { | 
|  | IPF_InkSerializedFormat = 0, | 
|  | IPF_Base64InkSerializedFormat = 1, | 
|  | IPF_GIF = 2, | 
|  | IPF_Base64GIF = 3 | 
|  | } InkPersistenceFormat; | 
|  | typedef enum InkPersistenceCompressionMode { | 
|  | IPCM_Default = 0, | 
|  | IPCM_MaximumCompression = 1, | 
|  | IPCM_NoCompression = 2 | 
|  | } InkPersistenceCompressionMode; | 
|  | typedef enum InkClipboardFormats { | 
|  | ICF_None = 0x0, | 
|  | ICF_InkSerializedFormat = 0x1, | 
|  | ICF_SketchInk = 0x2, | 
|  | ICF_TextInk = 0x6, | 
|  | ICF_EnhancedMetafile = 0x8, | 
|  | ICF_Metafile = 0x20, | 
|  | ICF_Bitmap = 0x40, | 
|  | ICF_PasteMask = 0x7, | 
|  | ICF_CopyMask = 0x7f, | 
|  | ICF_Default = ICF_CopyMask | 
|  | } InkClipboardFormats; | 
|  | typedef enum InkClipboardModes { | 
|  | ICB_Copy = 0x0, | 
|  | ICB_Cut = 0x1, | 
|  | ICB_ExtractOnly = 0x30, | 
|  | ICB_DelayedCopy = 0x20, | 
|  | ICB_Default = ICB_Copy | 
|  | } InkClipboardModes; | 
|  | typedef enum InkCollectionMode { | 
|  | ICM_InkOnly = 0, | 
|  | ICM_GestureOnly = 1, | 
|  | ICM_InkAndGesture = 2 | 
|  | } InkCollectionMode; | 
|  | typedef enum InkMousePointer { | 
|  | IMP_Default = 0, | 
|  | IMP_Arrow = 1, | 
|  | IMP_Crosshair = 2, | 
|  | IMP_Ibeam = 3, | 
|  | IMP_SizeNESW = 4, | 
|  | IMP_SizeNS = 5, | 
|  | IMP_SizeNWSE = 6, | 
|  | IMP_SizeWE = 7, | 
|  | IMP_UpArrow = 8, | 
|  | IMP_Hourglass = 9, | 
|  | IMP_NoDrop = 10, | 
|  | IMP_ArrowHourglass = 11, | 
|  | IMP_ArrowQuestion = 12, | 
|  | IMP_SizeAll = 13, | 
|  | IMP_Hand = 14, | 
|  | IMP_Custom = 99 | 
|  | } InkMousePointer; | 
|  | typedef enum InkApplicationGesture { | 
|  | IAG_AllGestures = 0x0, | 
|  | IAG_NoGesture = 0xf000, | 
|  | IAG_Scratchout = 0xf001, | 
|  | IAG_Triangle = 0xf002, | 
|  | IAG_Square = 0xf003, | 
|  | IAG_Star = 0xf004, | 
|  | IAG_Check = 0xf005, | 
|  | IAG_Curlicue = 0xf010, | 
|  | IAG_DoubleCurlicue = 0xf011, | 
|  | IAG_Circle = 0xf020, | 
|  | IAG_DoubleCircle = 0xf021, | 
|  | IAG_SemiCircleLeft = 0xf028, | 
|  | IAG_SemiCircleRight = 0xf029, | 
|  | IAG_ChevronUp = 0xf030, | 
|  | IAG_ChevronDown = 0xf031, | 
|  | IAG_ChevronLeft = 0xf032, | 
|  | IAG_ChevronRight = 0xf033, | 
|  | IAG_ArrowUp = 0xf038, | 
|  | IAG_ArrowDown = 0xf039, | 
|  | IAG_ArrowLeft = 0xf03a, | 
|  | IAG_ArrowRight = 0xf03b, | 
|  | IAG_Up = 0xf058, | 
|  | IAG_Down = 0xf059, | 
|  | IAG_Left = 0xf05a, | 
|  | IAG_Right = 0xf05b, | 
|  | IAG_UpDown = 0xf060, | 
|  | IAG_DownUp = 0xf061, | 
|  | IAG_LeftRight = 0xf062, | 
|  | IAG_RightLeft = 0xf063, | 
|  | IAG_UpLeftLong = 0xf064, | 
|  | IAG_UpRightLong = 0xf065, | 
|  | IAG_DownLeftLong = 0xf066, | 
|  | IAG_DownRightLong = 0xf067, | 
|  | IAG_UpLeft = 0xf068, | 
|  | IAG_UpRight = 0xf069, | 
|  | IAG_DownLeft = 0xf06a, | 
|  | IAG_DownRight = 0xf06b, | 
|  | IAG_LeftUp = 0xf06c, | 
|  | IAG_LeftDown = 0xf06d, | 
|  | IAG_RightUp = 0xf06e, | 
|  | IAG_RightDown = 0xf06f, | 
|  | IAG_Exclamation = 0xf0a4, | 
|  | IAG_Tap = 0xf0f0, | 
|  | IAG_DoubleTap = 0xf0f1 | 
|  | } InkApplicationGesture; | 
|  | typedef enum InkCollectorEventInterest { | 
|  | ICEI_DefaultEvents = -1, | 
|  | ICEI_CursorDown = ICEI_DefaultEvents + 1, | 
|  | ICEI_Stroke = ICEI_CursorDown + 1, | 
|  | ICEI_NewPackets = ICEI_Stroke + 1, | 
|  | ICEI_NewInAirPackets = ICEI_NewPackets + 1, | 
|  | ICEI_CursorButtonDown = ICEI_NewInAirPackets + 1, | 
|  | ICEI_CursorButtonUp = ICEI_CursorButtonDown + 1, | 
|  | ICEI_CursorInRange = ICEI_CursorButtonUp + 1, | 
|  | ICEI_CursorOutOfRange = ICEI_CursorInRange + 1, | 
|  | ICEI_SystemGesture = ICEI_CursorOutOfRange + 1, | 
|  | ICEI_TabletAdded = ICEI_SystemGesture + 1, | 
|  | ICEI_TabletRemoved = ICEI_TabletAdded + 1, | 
|  | ICEI_MouseDown = ICEI_TabletRemoved + 1, | 
|  | ICEI_MouseMove = ICEI_MouseDown + 1, | 
|  | ICEI_MouseUp = ICEI_MouseMove + 1, | 
|  | ICEI_MouseWheel = ICEI_MouseUp + 1, | 
|  | ICEI_DblClick = ICEI_MouseWheel + 1, | 
|  | ICEI_AllEvents = ICEI_DblClick + 1 | 
|  | } InkCollectorEventInterest; | 
|  | typedef enum DISPID_InkCollectorEvent { | 
|  | DISPID_ICEStroke = 1, | 
|  | DISPID_ICECursorDown = DISPID_ICEStroke + 1, | 
|  | DISPID_ICENewPackets = DISPID_ICECursorDown + 1, | 
|  | DISPID_ICENewInAirPackets = DISPID_ICENewPackets + 1, | 
|  | DISPID_ICECursorButtonDown = DISPID_ICENewInAirPackets + 1, | 
|  | DISPID_ICECursorButtonUp = DISPID_ICECursorButtonDown + 1, | 
|  | DISPID_ICECursorInRange = DISPID_ICECursorButtonUp + 1, | 
|  | DISPID_ICECursorOutOfRange = DISPID_ICECursorInRange + 1, | 
|  | DISPID_ICESystemGesture = DISPID_ICECursorOutOfRange + 1, | 
|  | DISPID_ICEGesture = DISPID_ICESystemGesture + 1, | 
|  | DISPID_ICETabletAdded = DISPID_ICEGesture + 1, | 
|  | DISPID_ICETabletRemoved = DISPID_ICETabletAdded + 1, | 
|  | DISPID_IOEPainting = DISPID_ICETabletRemoved + 1, | 
|  | DISPID_IOEPainted = DISPID_IOEPainting + 1, | 
|  | DISPID_IOESelectionChanging = DISPID_IOEPainted + 1, | 
|  | DISPID_IOESelectionChanged = DISPID_IOESelectionChanging + 1, | 
|  | DISPID_IOESelectionMoving = DISPID_IOESelectionChanged + 1, | 
|  | DISPID_IOESelectionMoved = DISPID_IOESelectionMoving + 1, | 
|  | DISPID_IOESelectionResizing = DISPID_IOESelectionMoved + 1, | 
|  | DISPID_IOESelectionResized = DISPID_IOESelectionResizing + 1, | 
|  | DISPID_IOEStrokesDeleting = DISPID_IOESelectionResized + 1, | 
|  | DISPID_IOEStrokesDeleted = DISPID_IOEStrokesDeleting + 1, | 
|  | DISPID_IPEChangeUICues = DISPID_IOEStrokesDeleted + 1, | 
|  | DISPID_IPEClick = DISPID_IPEChangeUICues + 1, | 
|  | DISPID_IPEDblClick = DISPID_IPEClick + 1, | 
|  | DISPID_IPEInvalidated = DISPID_IPEDblClick + 1, | 
|  | DISPID_IPEMouseDown = DISPID_IPEInvalidated + 1, | 
|  | DISPID_IPEMouseEnter = DISPID_IPEMouseDown + 1, | 
|  | DISPID_IPEMouseHover = DISPID_IPEMouseEnter + 1, | 
|  | DISPID_IPEMouseLeave = DISPID_IPEMouseHover + 1, | 
|  | DISPID_IPEMouseMove = DISPID_IPEMouseLeave + 1, | 
|  | DISPID_IPEMouseUp = DISPID_IPEMouseMove + 1, | 
|  | DISPID_IPEMouseWheel = DISPID_IPEMouseUp + 1, | 
|  | DISPID_IPESizeModeChanged = DISPID_IPEMouseWheel + 1, | 
|  | DISPID_IPEStyleChanged = DISPID_IPESizeModeChanged + 1, | 
|  | DISPID_IPESystemColorsChanged = DISPID_IPEStyleChanged + 1, | 
|  | DISPID_IPEKeyDown = DISPID_IPESystemColorsChanged + 1, | 
|  | DISPID_IPEKeyPress = DISPID_IPEKeyDown + 1, | 
|  | DISPID_IPEKeyUp = DISPID_IPEKeyPress + 1, | 
|  | DISPID_IPEResize = DISPID_IPEKeyUp + 1, | 
|  | DISPID_IPESizeChanged = DISPID_IPEResize + 1 | 
|  | } DISPID_InkCollectorEvent; | 
|  | #ifndef __IInkDisp_FWD_DEFINED__ | 
|  | #define __IInkDisp_FWD_DEFINED__ | 
|  | typedef interface IInkDisp IInkDisp; | 
|  | #ifdef __cplusplus | 
|  | interface IInkDisp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkStrokes_FWD_DEFINED__ | 
|  | #define __IInkStrokes_FWD_DEFINED__ | 
|  | typedef interface IInkStrokes IInkStrokes; | 
|  | #ifdef __cplusplus | 
|  | interface IInkStrokes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IInkRecognitionAlternate_FWD_DEFINED__ | 
|  | #define __IInkRecognitionAlternate_FWD_DEFINED__ | 
|  | typedef interface IInkRecognitionAlternate IInkRecognitionAlternate; | 
|  | #ifdef __cplusplus | 
|  | interface IInkRecognitionAlternate; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkExtendedProperty interface | 
|  | */ | 
|  | #ifndef __IInkExtendedProperty_INTERFACE_DEFINED__ | 
|  | #define __IInkExtendedProperty_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("db489209-b7c3-411d-90f6-1548cfff271e") | 
|  | IInkExtendedProperty : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Guid( | 
|  | BSTR *Guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Data( | 
|  | VARIANT *Data) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Data( | 
|  | VARIANT Data) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkExtendedPropertyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkExtendedProperty *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkExtendedProperty *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkExtendedProperty *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkExtendedProperty *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkExtendedProperty *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkExtendedProperty *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkExtendedProperty *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkExtendedProperty methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Guid)( | 
|  | IInkExtendedProperty *This, | 
|  | BSTR *Guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Data)( | 
|  | IInkExtendedProperty *This, | 
|  | VARIANT *Data); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Data)( | 
|  | IInkExtendedProperty *This, | 
|  | VARIANT Data); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkExtendedPropertyVtbl; | 
|  |  | 
|  | interface IInkExtendedProperty { | 
|  | CONST_VTBL IInkExtendedPropertyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkExtendedProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkExtendedProperty_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkExtendedProperty_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkExtendedProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkExtendedProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkExtendedProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkExtendedProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkExtendedProperty methods ***/ | 
|  | #define IInkExtendedProperty_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid) | 
|  | #define IInkExtendedProperty_get_Data(This,Data) (This)->lpVtbl->get_Data(This,Data) | 
|  | #define IInkExtendedProperty_put_Data(This,Data) (This)->lpVtbl->put_Data(This,Data) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_QueryInterface(IInkExtendedProperty* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkExtendedProperty_AddRef(IInkExtendedProperty* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkExtendedProperty_Release(IInkExtendedProperty* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfoCount(IInkExtendedProperty* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfo(IInkExtendedProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_GetIDsOfNames(IInkExtendedProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_Invoke(IInkExtendedProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkExtendedProperty methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_get_Guid(IInkExtendedProperty* This,BSTR *Guid) { | 
|  | return This->lpVtbl->get_Guid(This,Guid); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_get_Data(IInkExtendedProperty* This,VARIANT *Data) { | 
|  | return This->lpVtbl->get_Data(This,Data); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperty_put_Data(IInkExtendedProperty* This,VARIANT Data) { | 
|  | return This->lpVtbl->put_Data(This,Data); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkExtendedProperty_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkExtendedProperties interface | 
|  | */ | 
|  | #ifndef __IInkExtendedProperties_INTERFACE_DEFINED__ | 
|  | #define __IInkExtendedProperties_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("89f2a8be-95a9-4530-8b8f-88e971e3e25f") | 
|  | IInkExtendedProperties : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | VARIANT Identifier, | 
|  | IInkExtendedProperty **Item) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Add( | 
|  | BSTR Guid, | 
|  | VARIANT Data, | 
|  | IInkExtendedProperty **InkExtendedProperty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Remove( | 
|  | VARIANT Identifier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clear( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DoesPropertyExist( | 
|  | BSTR Guid, | 
|  | VARIANT_BOOL *DoesPropertyExist) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkExtendedPropertiesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkExtendedProperties *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkExtendedProperties *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkExtendedProperties *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkExtendedProperties *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkExtendedProperties *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkExtendedProperties *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkExtendedProperties *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkExtendedProperties methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkExtendedProperties *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkExtendedProperties *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkExtendedProperties *This, | 
|  | VARIANT Identifier, | 
|  | IInkExtendedProperty **Item); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Add)( | 
|  | IInkExtendedProperties *This, | 
|  | BSTR Guid, | 
|  | VARIANT Data, | 
|  | IInkExtendedProperty **InkExtendedProperty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Remove)( | 
|  | IInkExtendedProperties *This, | 
|  | VARIANT Identifier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clear)( | 
|  | IInkExtendedProperties *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DoesPropertyExist)( | 
|  | IInkExtendedProperties *This, | 
|  | BSTR Guid, | 
|  | VARIANT_BOOL *DoesPropertyExist); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkExtendedPropertiesVtbl; | 
|  |  | 
|  | interface IInkExtendedProperties { | 
|  | CONST_VTBL IInkExtendedPropertiesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkExtendedProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkExtendedProperties_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkExtendedProperties_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkExtendedProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkExtendedProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkExtendedProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkExtendedProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkExtendedProperties methods ***/ | 
|  | #define IInkExtendedProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkExtendedProperties_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkExtendedProperties_Item(This,Identifier,Item) (This)->lpVtbl->Item(This,Identifier,Item) | 
|  | #define IInkExtendedProperties_Add(This,Guid,Data,InkExtendedProperty) (This)->lpVtbl->Add(This,Guid,Data,InkExtendedProperty) | 
|  | #define IInkExtendedProperties_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier) | 
|  | #define IInkExtendedProperties_Clear(This) (This)->lpVtbl->Clear(This) | 
|  | #define IInkExtendedProperties_DoesPropertyExist(This,Guid,DoesPropertyExist) (This)->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_QueryInterface(IInkExtendedProperties* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkExtendedProperties_AddRef(IInkExtendedProperties* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkExtendedProperties_Release(IInkExtendedProperties* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfoCount(IInkExtendedProperties* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfo(IInkExtendedProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_GetIDsOfNames(IInkExtendedProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_Invoke(IInkExtendedProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkExtendedProperties methods ***/ | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_get_Count(IInkExtendedProperties* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_get__NewEnum(IInkExtendedProperties* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_Item(IInkExtendedProperties* This,VARIANT Identifier,IInkExtendedProperty **Item) { | 
|  | return This->lpVtbl->Item(This,Identifier,Item); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_Add(IInkExtendedProperties* This,BSTR Guid,VARIANT Data,IInkExtendedProperty **InkExtendedProperty) { | 
|  | return This->lpVtbl->Add(This,Guid,Data,InkExtendedProperty); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_Remove(IInkExtendedProperties* This,VARIANT Identifier) { | 
|  | return This->lpVtbl->Remove(This,Identifier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_Clear(IInkExtendedProperties* This) { | 
|  | return This->lpVtbl->Clear(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkExtendedProperties_DoesPropertyExist(IInkExtendedProperties* This,BSTR Guid,VARIANT_BOOL *DoesPropertyExist) { | 
|  | return This->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkExtendedProperties_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkDrawingAttributes interface | 
|  | */ | 
|  | #ifndef __IInkDrawingAttributes_INTERFACE_DEFINED__ | 
|  | #define __IInkDrawingAttributes_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bf519b75-0a15-4623-adc9-c00d436a8092") | 
|  | IInkDrawingAttributes : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Color( | 
|  | LONG *CurrentColor) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Color( | 
|  | LONG NewColor) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Width( | 
|  | float *CurrentWidth) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Width( | 
|  | float NewWidth) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Height( | 
|  | float *CurrentHeight) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Height( | 
|  | float NewHeight) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_FitToCurve( | 
|  | VARIANT_BOOL *Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_FitToCurve( | 
|  | VARIANT_BOOL Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_IgnorePressure( | 
|  | VARIANT_BOOL *Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_IgnorePressure( | 
|  | VARIANT_BOOL Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_AntiAliased( | 
|  | VARIANT_BOOL *Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_AntiAliased( | 
|  | VARIANT_BOOL Flag) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Transparency( | 
|  | LONG *CurrentTransparency) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Transparency( | 
|  | LONG NewTransparency) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_RasterOperation( | 
|  | InkRasterOperation *CurrentRasterOperation) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_RasterOperation( | 
|  | InkRasterOperation NewRasterOperation) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PenTip( | 
|  | InkPenTip *CurrentPenTip) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_PenTip( | 
|  | InkPenTip NewPenTip) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties( | 
|  | IInkExtendedProperties **Properties) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IInkDrawingAttributes **DrawingAttributes) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkDrawingAttributesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkDrawingAttributes *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkDrawingAttributes *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkDrawingAttributes *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkDrawingAttributes *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkDrawingAttributes *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkDrawingAttributes *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkDrawingAttributes *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkDrawingAttributes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Color)( | 
|  | IInkDrawingAttributes *This, | 
|  | LONG *CurrentColor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Color)( | 
|  | IInkDrawingAttributes *This, | 
|  | LONG NewColor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Width)( | 
|  | IInkDrawingAttributes *This, | 
|  | float *CurrentWidth); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Width)( | 
|  | IInkDrawingAttributes *This, | 
|  | float NewWidth); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Height)( | 
|  | IInkDrawingAttributes *This, | 
|  | float *CurrentHeight); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Height)( | 
|  | IInkDrawingAttributes *This, | 
|  | float NewHeight); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_FitToCurve)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL *Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_FitToCurve)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_IgnorePressure)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL *Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_IgnorePressure)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_AntiAliased)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL *Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_AntiAliased)( | 
|  | IInkDrawingAttributes *This, | 
|  | VARIANT_BOOL Flag); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Transparency)( | 
|  | IInkDrawingAttributes *This, | 
|  | LONG *CurrentTransparency); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Transparency)( | 
|  | IInkDrawingAttributes *This, | 
|  | LONG NewTransparency); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_RasterOperation)( | 
|  | IInkDrawingAttributes *This, | 
|  | InkRasterOperation *CurrentRasterOperation); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_RasterOperation)( | 
|  | IInkDrawingAttributes *This, | 
|  | InkRasterOperation NewRasterOperation); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PenTip)( | 
|  | IInkDrawingAttributes *This, | 
|  | InkPenTip *CurrentPenTip); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_PenTip)( | 
|  | IInkDrawingAttributes *This, | 
|  | InkPenTip NewPenTip); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)( | 
|  | IInkDrawingAttributes *This, | 
|  | IInkExtendedProperties **Properties); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IInkDrawingAttributes *This, | 
|  | IInkDrawingAttributes **DrawingAttributes); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkDrawingAttributesVtbl; | 
|  |  | 
|  | interface IInkDrawingAttributes { | 
|  | CONST_VTBL IInkDrawingAttributesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkDrawingAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkDrawingAttributes_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkDrawingAttributes_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkDrawingAttributes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkDrawingAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkDrawingAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkDrawingAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkDrawingAttributes methods ***/ | 
|  | #define IInkDrawingAttributes_get_Color(This,CurrentColor) (This)->lpVtbl->get_Color(This,CurrentColor) | 
|  | #define IInkDrawingAttributes_put_Color(This,NewColor) (This)->lpVtbl->put_Color(This,NewColor) | 
|  | #define IInkDrawingAttributes_get_Width(This,CurrentWidth) (This)->lpVtbl->get_Width(This,CurrentWidth) | 
|  | #define IInkDrawingAttributes_put_Width(This,NewWidth) (This)->lpVtbl->put_Width(This,NewWidth) | 
|  | #define IInkDrawingAttributes_get_Height(This,CurrentHeight) (This)->lpVtbl->get_Height(This,CurrentHeight) | 
|  | #define IInkDrawingAttributes_put_Height(This,NewHeight) (This)->lpVtbl->put_Height(This,NewHeight) | 
|  | #define IInkDrawingAttributes_get_FitToCurve(This,Flag) (This)->lpVtbl->get_FitToCurve(This,Flag) | 
|  | #define IInkDrawingAttributes_put_FitToCurve(This,Flag) (This)->lpVtbl->put_FitToCurve(This,Flag) | 
|  | #define IInkDrawingAttributes_get_IgnorePressure(This,Flag) (This)->lpVtbl->get_IgnorePressure(This,Flag) | 
|  | #define IInkDrawingAttributes_put_IgnorePressure(This,Flag) (This)->lpVtbl->put_IgnorePressure(This,Flag) | 
|  | #define IInkDrawingAttributes_get_AntiAliased(This,Flag) (This)->lpVtbl->get_AntiAliased(This,Flag) | 
|  | #define IInkDrawingAttributes_put_AntiAliased(This,Flag) (This)->lpVtbl->put_AntiAliased(This,Flag) | 
|  | #define IInkDrawingAttributes_get_Transparency(This,CurrentTransparency) (This)->lpVtbl->get_Transparency(This,CurrentTransparency) | 
|  | #define IInkDrawingAttributes_put_Transparency(This,NewTransparency) (This)->lpVtbl->put_Transparency(This,NewTransparency) | 
|  | #define IInkDrawingAttributes_get_RasterOperation(This,CurrentRasterOperation) (This)->lpVtbl->get_RasterOperation(This,CurrentRasterOperation) | 
|  | #define IInkDrawingAttributes_put_RasterOperation(This,NewRasterOperation) (This)->lpVtbl->put_RasterOperation(This,NewRasterOperation) | 
|  | #define IInkDrawingAttributes_get_PenTip(This,CurrentPenTip) (This)->lpVtbl->get_PenTip(This,CurrentPenTip) | 
|  | #define IInkDrawingAttributes_put_PenTip(This,NewPenTip) (This)->lpVtbl->put_PenTip(This,NewPenTip) | 
|  | #define IInkDrawingAttributes_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties) | 
|  | #define IInkDrawingAttributes_Clone(This,DrawingAttributes) (This)->lpVtbl->Clone(This,DrawingAttributes) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_QueryInterface(IInkDrawingAttributes* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkDrawingAttributes_AddRef(IInkDrawingAttributes* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkDrawingAttributes_Release(IInkDrawingAttributes* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfoCount(IInkDrawingAttributes* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfo(IInkDrawingAttributes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_GetIDsOfNames(IInkDrawingAttributes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_Invoke(IInkDrawingAttributes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkDrawingAttributes methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_Color(IInkDrawingAttributes* This,LONG *CurrentColor) { | 
|  | return This->lpVtbl->get_Color(This,CurrentColor); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_Color(IInkDrawingAttributes* This,LONG NewColor) { | 
|  | return This->lpVtbl->put_Color(This,NewColor); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_Width(IInkDrawingAttributes* This,float *CurrentWidth) { | 
|  | return This->lpVtbl->get_Width(This,CurrentWidth); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_Width(IInkDrawingAttributes* This,float NewWidth) { | 
|  | return This->lpVtbl->put_Width(This,NewWidth); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_Height(IInkDrawingAttributes* This,float *CurrentHeight) { | 
|  | return This->lpVtbl->get_Height(This,CurrentHeight); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_Height(IInkDrawingAttributes* This,float NewHeight) { | 
|  | return This->lpVtbl->put_Height(This,NewHeight); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) { | 
|  | return This->lpVtbl->get_FitToCurve(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL Flag) { | 
|  | return This->lpVtbl->put_FitToCurve(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) { | 
|  | return This->lpVtbl->get_IgnorePressure(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL Flag) { | 
|  | return This->lpVtbl->put_IgnorePressure(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) { | 
|  | return This->lpVtbl->get_AntiAliased(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL Flag) { | 
|  | return This->lpVtbl->put_AntiAliased(This,Flag); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_Transparency(IInkDrawingAttributes* This,LONG *CurrentTransparency) { | 
|  | return This->lpVtbl->get_Transparency(This,CurrentTransparency); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_Transparency(IInkDrawingAttributes* This,LONG NewTransparency) { | 
|  | return This->lpVtbl->put_Transparency(This,NewTransparency); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation *CurrentRasterOperation) { | 
|  | return This->lpVtbl->get_RasterOperation(This,CurrentRasterOperation); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation NewRasterOperation) { | 
|  | return This->lpVtbl->put_RasterOperation(This,NewRasterOperation); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_PenTip(IInkDrawingAttributes* This,InkPenTip *CurrentPenTip) { | 
|  | return This->lpVtbl->get_PenTip(This,CurrentPenTip); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_put_PenTip(IInkDrawingAttributes* This,InkPenTip NewPenTip) { | 
|  | return This->lpVtbl->put_PenTip(This,NewPenTip); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_get_ExtendedProperties(IInkDrawingAttributes* This,IInkExtendedProperties **Properties) { | 
|  | return This->lpVtbl->get_ExtendedProperties(This,Properties); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDrawingAttributes_Clone(IInkDrawingAttributes* This,IInkDrawingAttributes **DrawingAttributes) { | 
|  | return This->lpVtbl->Clone(This,DrawingAttributes); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkDrawingAttributes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkRectangle interface | 
|  | */ | 
|  | #ifndef __IInkRectangle_INTERFACE_DEFINED__ | 
|  | #define __IInkRectangle_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("9794ff82-6071-4717-8a8b-6ac7c64a686e") | 
|  | IInkRectangle : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Top( | 
|  | LONG *Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Top( | 
|  | LONG Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Left( | 
|  | LONG *Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Left( | 
|  | LONG Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Bottom( | 
|  | LONG *Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Bottom( | 
|  | LONG Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Right( | 
|  | LONG *Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Right( | 
|  | LONG Units) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Data( | 
|  | RECT *Rect) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Data( | 
|  | RECT Rect) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRectangle( | 
|  | LONG *Top, | 
|  | LONG *Left, | 
|  | LONG *Bottom, | 
|  | LONG *Right) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetRectangle( | 
|  | LONG Top, | 
|  | LONG Left, | 
|  | LONG Bottom, | 
|  | LONG Right) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkRectangleVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkRectangle *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkRectangle *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkRectangle *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkRectangle *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkRectangle *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkRectangle *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkRectangle *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkRectangle methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Top)( | 
|  | IInkRectangle *This, | 
|  | LONG *Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Top)( | 
|  | IInkRectangle *This, | 
|  | LONG Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Left)( | 
|  | IInkRectangle *This, | 
|  | LONG *Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Left)( | 
|  | IInkRectangle *This, | 
|  | LONG Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Bottom)( | 
|  | IInkRectangle *This, | 
|  | LONG *Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Bottom)( | 
|  | IInkRectangle *This, | 
|  | LONG Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Right)( | 
|  | IInkRectangle *This, | 
|  | LONG *Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Right)( | 
|  | IInkRectangle *This, | 
|  | LONG Units); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Data)( | 
|  | IInkRectangle *This, | 
|  | RECT *Rect); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Data)( | 
|  | IInkRectangle *This, | 
|  | RECT Rect); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRectangle)( | 
|  | IInkRectangle *This, | 
|  | LONG *Top, | 
|  | LONG *Left, | 
|  | LONG *Bottom, | 
|  | LONG *Right); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetRectangle)( | 
|  | IInkRectangle *This, | 
|  | LONG Top, | 
|  | LONG Left, | 
|  | LONG Bottom, | 
|  | LONG Right); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkRectangleVtbl; | 
|  |  | 
|  | interface IInkRectangle { | 
|  | CONST_VTBL IInkRectangleVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkRectangle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkRectangle_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkRectangle_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkRectangle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkRectangle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkRectangle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkRectangle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkRectangle methods ***/ | 
|  | #define IInkRectangle_get_Top(This,Units) (This)->lpVtbl->get_Top(This,Units) | 
|  | #define IInkRectangle_put_Top(This,Units) (This)->lpVtbl->put_Top(This,Units) | 
|  | #define IInkRectangle_get_Left(This,Units) (This)->lpVtbl->get_Left(This,Units) | 
|  | #define IInkRectangle_put_Left(This,Units) (This)->lpVtbl->put_Left(This,Units) | 
|  | #define IInkRectangle_get_Bottom(This,Units) (This)->lpVtbl->get_Bottom(This,Units) | 
|  | #define IInkRectangle_put_Bottom(This,Units) (This)->lpVtbl->put_Bottom(This,Units) | 
|  | #define IInkRectangle_get_Right(This,Units) (This)->lpVtbl->get_Right(This,Units) | 
|  | #define IInkRectangle_put_Right(This,Units) (This)->lpVtbl->put_Right(This,Units) | 
|  | #define IInkRectangle_get_Data(This,Rect) (This)->lpVtbl->get_Data(This,Rect) | 
|  | #define IInkRectangle_put_Data(This,Rect) (This)->lpVtbl->put_Data(This,Rect) | 
|  | #define IInkRectangle_GetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right) | 
|  | #define IInkRectangle_SetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRectangle_QueryInterface(IInkRectangle* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRectangle_AddRef(IInkRectangle* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRectangle_Release(IInkRectangle* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRectangle_GetTypeInfoCount(IInkRectangle* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_GetTypeInfo(IInkRectangle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_GetIDsOfNames(IInkRectangle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_Invoke(IInkRectangle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkRectangle methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRectangle_get_Top(IInkRectangle* This,LONG *Units) { | 
|  | return This->lpVtbl->get_Top(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_put_Top(IInkRectangle* This,LONG Units) { | 
|  | return This->lpVtbl->put_Top(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_get_Left(IInkRectangle* This,LONG *Units) { | 
|  | return This->lpVtbl->get_Left(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_put_Left(IInkRectangle* This,LONG Units) { | 
|  | return This->lpVtbl->put_Left(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_get_Bottom(IInkRectangle* This,LONG *Units) { | 
|  | return This->lpVtbl->get_Bottom(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_put_Bottom(IInkRectangle* This,LONG Units) { | 
|  | return This->lpVtbl->put_Bottom(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_get_Right(IInkRectangle* This,LONG *Units) { | 
|  | return This->lpVtbl->get_Right(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_put_Right(IInkRectangle* This,LONG Units) { | 
|  | return This->lpVtbl->put_Right(This,Units); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_get_Data(IInkRectangle* This,RECT *Rect) { | 
|  | return This->lpVtbl->get_Data(This,Rect); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_put_Data(IInkRectangle* This,RECT Rect) { | 
|  | return This->lpVtbl->put_Data(This,Rect); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_GetRectangle(IInkRectangle* This,LONG *Top,LONG *Left,LONG *Bottom,LONG *Right) { | 
|  | return This->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRectangle_SetRectangle(IInkRectangle* This,LONG Top,LONG Left,LONG Bottom,LONG Right) { | 
|  | return This->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkRectangle_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkTablet interface | 
|  | */ | 
|  | #ifndef __IInkTablet_INTERFACE_DEFINED__ | 
|  | #define __IInkTablet_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2de25eaa-6ef8-42d5-aee9-185bc81b912d") | 
|  | IInkTablet : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Name( | 
|  | BSTR *Name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PlugAndPlayId( | 
|  | BSTR *Id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_MaximumInputRectangle( | 
|  | IInkRectangle **Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_HardwareCapabilities( | 
|  | TabletHardwareCapabilities *Capabilities) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsPacketPropertySupported( | 
|  | BSTR packetPropertyName, | 
|  | VARIANT_BOOL *Supported) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPropertyMetrics( | 
|  | BSTR propertyName, | 
|  | LONG *Minimum, | 
|  | LONG *Maximum, | 
|  | TabletPropertyMetricUnit *Units, | 
|  | float *Resolution) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkTabletVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkTablet *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkTablet *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkTablet *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkTablet *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkTablet *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkTablet *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkTablet *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkTablet methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Name)( | 
|  | IInkTablet *This, | 
|  | BSTR *Name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PlugAndPlayId)( | 
|  | IInkTablet *This, | 
|  | BSTR *Id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_MaximumInputRectangle)( | 
|  | IInkTablet *This, | 
|  | IInkRectangle **Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_HardwareCapabilities)( | 
|  | IInkTablet *This, | 
|  | TabletHardwareCapabilities *Capabilities); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsPacketPropertySupported)( | 
|  | IInkTablet *This, | 
|  | BSTR packetPropertyName, | 
|  | VARIANT_BOOL *Supported); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPropertyMetrics)( | 
|  | IInkTablet *This, | 
|  | BSTR propertyName, | 
|  | LONG *Minimum, | 
|  | LONG *Maximum, | 
|  | TabletPropertyMetricUnit *Units, | 
|  | float *Resolution); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkTabletVtbl; | 
|  |  | 
|  | interface IInkTablet { | 
|  | CONST_VTBL IInkTabletVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkTablet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkTablet_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkTablet_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkTablet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkTablet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkTablet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkTablet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkTablet methods ***/ | 
|  | #define IInkTablet_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name) | 
|  | #define IInkTablet_get_PlugAndPlayId(This,Id) (This)->lpVtbl->get_PlugAndPlayId(This,Id) | 
|  | #define IInkTablet_get_MaximumInputRectangle(This,Rectangle) (This)->lpVtbl->get_MaximumInputRectangle(This,Rectangle) | 
|  | #define IInkTablet_get_HardwareCapabilities(This,Capabilities) (This)->lpVtbl->get_HardwareCapabilities(This,Capabilities) | 
|  | #define IInkTablet_IsPacketPropertySupported(This,packetPropertyName,Supported) (This)->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported) | 
|  | #define IInkTablet_GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTablet_QueryInterface(IInkTablet* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkTablet_AddRef(IInkTablet* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkTablet_Release(IInkTablet* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTablet_GetTypeInfoCount(IInkTablet* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_GetTypeInfo(IInkTablet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_GetIDsOfNames(IInkTablet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_Invoke(IInkTablet* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkTablet methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTablet_get_Name(IInkTablet* This,BSTR *Name) { | 
|  | return This->lpVtbl->get_Name(This,Name); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_get_PlugAndPlayId(IInkTablet* This,BSTR *Id) { | 
|  | return This->lpVtbl->get_PlugAndPlayId(This,Id); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_get_MaximumInputRectangle(IInkTablet* This,IInkRectangle **Rectangle) { | 
|  | return This->lpVtbl->get_MaximumInputRectangle(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_get_HardwareCapabilities(IInkTablet* This,TabletHardwareCapabilities *Capabilities) { | 
|  | return This->lpVtbl->get_HardwareCapabilities(This,Capabilities); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_IsPacketPropertySupported(IInkTablet* This,BSTR packetPropertyName,VARIANT_BOOL *Supported) { | 
|  | return This->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTablet_GetPropertyMetrics(IInkTablet* This,BSTR propertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) { | 
|  | return This->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkTablet_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCursorButton interface | 
|  | */ | 
|  | #ifndef __IInkCursorButton_INTERFACE_DEFINED__ | 
|  | #define __IInkCursorButton_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("85ef9417-1d59-49b2-a13c-702c85430894") | 
|  | IInkCursorButton : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Name( | 
|  | BSTR *Name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Id( | 
|  | BSTR *Id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_State( | 
|  | InkCursorButtonState *CurrentState) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCursorButtonVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCursorButton *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCursorButton *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCursorButton *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCursorButton *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCursorButton *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCursorButton *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCursorButton *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCursorButton methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Name)( | 
|  | IInkCursorButton *This, | 
|  | BSTR *Name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Id)( | 
|  | IInkCursorButton *This, | 
|  | BSTR *Id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_State)( | 
|  | IInkCursorButton *This, | 
|  | InkCursorButtonState *CurrentState); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCursorButtonVtbl; | 
|  |  | 
|  | interface IInkCursorButton { | 
|  | CONST_VTBL IInkCursorButtonVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCursorButton_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCursorButton_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCursorButton_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCursorButton_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCursorButton_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCursorButton_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCursorButton_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCursorButton methods ***/ | 
|  | #define IInkCursorButton_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name) | 
|  | #define IInkCursorButton_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id) | 
|  | #define IInkCursorButton_get_State(This,CurrentState) (This)->lpVtbl->get_State(This,CurrentState) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButton_QueryInterface(IInkCursorButton* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursorButton_AddRef(IInkCursorButton* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursorButton_Release(IInkCursorButton* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfoCount(IInkCursorButton* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfo(IInkCursorButton* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButton_GetIDsOfNames(IInkCursorButton* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButton_Invoke(IInkCursorButton* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCursorButton methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButton_get_Name(IInkCursorButton* This,BSTR *Name) { | 
|  | return This->lpVtbl->get_Name(This,Name); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButton_get_Id(IInkCursorButton* This,BSTR *Id) { | 
|  | return This->lpVtbl->get_Id(This,Id); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButton_get_State(IInkCursorButton* This,InkCursorButtonState *CurrentState) { | 
|  | return This->lpVtbl->get_State(This,CurrentState); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCursorButton_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCursorButtons interface | 
|  | */ | 
|  | #ifndef __IInkCursorButtons_INTERFACE_DEFINED__ | 
|  | #define __IInkCursorButtons_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3671cc40-b624-4671-9fa0-db119d952d54") | 
|  | IInkCursorButtons : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | VARIANT Identifier, | 
|  | IInkCursorButton **Button) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCursorButtonsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCursorButtons *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCursorButtons *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCursorButtons *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCursorButtons *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCursorButtons *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCursorButtons *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCursorButtons *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCursorButtons methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkCursorButtons *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkCursorButtons *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkCursorButtons *This, | 
|  | VARIANT Identifier, | 
|  | IInkCursorButton **Button); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCursorButtonsVtbl; | 
|  |  | 
|  | interface IInkCursorButtons { | 
|  | CONST_VTBL IInkCursorButtonsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCursorButtons_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCursorButtons_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCursorButtons_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCursorButtons_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCursorButtons_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCursorButtons_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCursorButtons_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCursorButtons methods ***/ | 
|  | #define IInkCursorButtons_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkCursorButtons_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkCursorButtons_Item(This,Identifier,Button) (This)->lpVtbl->Item(This,Identifier,Button) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_QueryInterface(IInkCursorButtons* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursorButtons_AddRef(IInkCursorButtons* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursorButtons_Release(IInkCursorButtons* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfoCount(IInkCursorButtons* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfo(IInkCursorButtons* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_GetIDsOfNames(IInkCursorButtons* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_Invoke(IInkCursorButtons* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCursorButtons methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_get_Count(IInkCursorButtons* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_get__NewEnum(IInkCursorButtons* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursorButtons_Item(IInkCursorButtons* This,VARIANT Identifier,IInkCursorButton **Button) { | 
|  | return This->lpVtbl->Item(This,Identifier,Button); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCursorButtons_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCursor interface | 
|  | */ | 
|  | #ifndef __IInkCursor_INTERFACE_DEFINED__ | 
|  | #define __IInkCursor_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ad30c630-40c5-4350-8405-9c71012fc558") | 
|  | IInkCursor : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Name( | 
|  | BSTR *Name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Id( | 
|  | LONG *Id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Inverted( | 
|  | VARIANT_BOOL *Status) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes( | 
|  | IInkDrawingAttributes **Attributes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes( | 
|  | IInkDrawingAttributes *Attributes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Tablet( | 
|  | IInkTablet **Tablet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Buttons( | 
|  | IInkCursorButtons **Buttons) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCursorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCursor *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCursor *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCursor *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCursor *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCursor *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCursor *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCursor *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCursor methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Name)( | 
|  | IInkCursor *This, | 
|  | BSTR *Name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Id)( | 
|  | IInkCursor *This, | 
|  | LONG *Id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Inverted)( | 
|  | IInkCursor *This, | 
|  | VARIANT_BOOL *Status); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)( | 
|  | IInkCursor *This, | 
|  | IInkDrawingAttributes **Attributes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)( | 
|  | IInkCursor *This, | 
|  | IInkDrawingAttributes *Attributes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Tablet)( | 
|  | IInkCursor *This, | 
|  | IInkTablet **Tablet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Buttons)( | 
|  | IInkCursor *This, | 
|  | IInkCursorButtons **Buttons); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCursorVtbl; | 
|  |  | 
|  | interface IInkCursor { | 
|  | CONST_VTBL IInkCursorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCursor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCursor_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCursor_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCursor_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCursor_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCursor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCursor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCursor methods ***/ | 
|  | #define IInkCursor_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name) | 
|  | #define IInkCursor_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id) | 
|  | #define IInkCursor_get_Inverted(This,Status) (This)->lpVtbl->get_Inverted(This,Status) | 
|  | #define IInkCursor_get_DrawingAttributes(This,Attributes) (This)->lpVtbl->get_DrawingAttributes(This,Attributes) | 
|  | #define IInkCursor_putref_DrawingAttributes(This,Attributes) (This)->lpVtbl->putref_DrawingAttributes(This,Attributes) | 
|  | #define IInkCursor_get_Tablet(This,Tablet) (This)->lpVtbl->get_Tablet(This,Tablet) | 
|  | #define IInkCursor_get_Buttons(This,Buttons) (This)->lpVtbl->get_Buttons(This,Buttons) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursor_QueryInterface(IInkCursor* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursor_AddRef(IInkCursor* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursor_Release(IInkCursor* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursor_GetTypeInfoCount(IInkCursor* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_GetTypeInfo(IInkCursor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_GetIDsOfNames(IInkCursor* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_Invoke(IInkCursor* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCursor methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursor_get_Name(IInkCursor* This,BSTR *Name) { | 
|  | return This->lpVtbl->get_Name(This,Name); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_get_Id(IInkCursor* This,LONG *Id) { | 
|  | return This->lpVtbl->get_Id(This,Id); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_get_Inverted(IInkCursor* This,VARIANT_BOOL *Status) { | 
|  | return This->lpVtbl->get_Inverted(This,Status); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_get_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes **Attributes) { | 
|  | return This->lpVtbl->get_DrawingAttributes(This,Attributes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_putref_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes *Attributes) { | 
|  | return This->lpVtbl->putref_DrawingAttributes(This,Attributes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_get_Tablet(IInkCursor* This,IInkTablet **Tablet) { | 
|  | return This->lpVtbl->get_Tablet(This,Tablet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursor_get_Buttons(IInkCursor* This,IInkCursorButtons **Buttons) { | 
|  | return This->lpVtbl->get_Buttons(This,Buttons); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCursor_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkTransform interface | 
|  | */ | 
|  | #ifndef __IInkTransform_INTERFACE_DEFINED__ | 
|  | #define __IInkTransform_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("615f1d43-8703-4565-88e2-8201d2ecd7b7") | 
|  | IInkTransform : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Translate( | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Rotate( | 
|  | float Degrees, | 
|  | float x = 0, | 
|  | float y = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reflect( | 
|  | VARIANT_BOOL Horizontally, | 
|  | VARIANT_BOOL Vertically) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Shear( | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleTransform( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTransform( | 
|  | float *eM11, | 
|  | float *eM12, | 
|  | float *eM21, | 
|  | float *eM22, | 
|  | float *eDx, | 
|  | float *eDy) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTransform( | 
|  | float eM11, | 
|  | float eM12, | 
|  | float eM21, | 
|  | float eM22, | 
|  | float eDx, | 
|  | float eDy) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eM11( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eM11( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eM12( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eM12( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eM21( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eM21( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eM22( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eM22( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eDx( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eDx( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_eDy( | 
|  | float *Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_eDy( | 
|  | float Value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Data( | 
|  | XFORM *XForm) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Data( | 
|  | XFORM XForm) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkTransformVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkTransform *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkTransform *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkTransform *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkTransform *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkTransform *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkTransform *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkTransform *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkTransform methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IInkTransform *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Translate)( | 
|  | IInkTransform *This, | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Rotate)( | 
|  | IInkTransform *This, | 
|  | float Degrees, | 
|  | float x, | 
|  | float y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reflect)( | 
|  | IInkTransform *This, | 
|  | VARIANT_BOOL Horizontally, | 
|  | VARIANT_BOOL Vertically); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Shear)( | 
|  | IInkTransform *This, | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleTransform)( | 
|  | IInkTransform *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTransform)( | 
|  | IInkTransform *This, | 
|  | float *eM11, | 
|  | float *eM12, | 
|  | float *eM21, | 
|  | float *eM22, | 
|  | float *eDx, | 
|  | float *eDy); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTransform)( | 
|  | IInkTransform *This, | 
|  | float eM11, | 
|  | float eM12, | 
|  | float eM21, | 
|  | float eM22, | 
|  | float eDx, | 
|  | float eDy); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eM11)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eM11)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eM12)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eM12)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eM21)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eM21)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eM22)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eM22)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eDx)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eDx)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_eDy)( | 
|  | IInkTransform *This, | 
|  | float *Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_eDy)( | 
|  | IInkTransform *This, | 
|  | float Value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Data)( | 
|  | IInkTransform *This, | 
|  | XFORM *XForm); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Data)( | 
|  | IInkTransform *This, | 
|  | XFORM XForm); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkTransformVtbl; | 
|  |  | 
|  | interface IInkTransform { | 
|  | CONST_VTBL IInkTransformVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkTransform_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkTransform_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkTransform_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkTransform_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkTransform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkTransform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkTransform methods ***/ | 
|  | #define IInkTransform_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IInkTransform_Translate(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent) | 
|  | #define IInkTransform_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y) | 
|  | #define IInkTransform_Reflect(This,Horizontally,Vertically) (This)->lpVtbl->Reflect(This,Horizontally,Vertically) | 
|  | #define IInkTransform_Shear(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent) | 
|  | #define IInkTransform_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) | 
|  | #define IInkTransform_GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) | 
|  | #define IInkTransform_SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) | 
|  | #define IInkTransform_get_eM11(This,Value) (This)->lpVtbl->get_eM11(This,Value) | 
|  | #define IInkTransform_put_eM11(This,Value) (This)->lpVtbl->put_eM11(This,Value) | 
|  | #define IInkTransform_get_eM12(This,Value) (This)->lpVtbl->get_eM12(This,Value) | 
|  | #define IInkTransform_put_eM12(This,Value) (This)->lpVtbl->put_eM12(This,Value) | 
|  | #define IInkTransform_get_eM21(This,Value) (This)->lpVtbl->get_eM21(This,Value) | 
|  | #define IInkTransform_put_eM21(This,Value) (This)->lpVtbl->put_eM21(This,Value) | 
|  | #define IInkTransform_get_eM22(This,Value) (This)->lpVtbl->get_eM22(This,Value) | 
|  | #define IInkTransform_put_eM22(This,Value) (This)->lpVtbl->put_eM22(This,Value) | 
|  | #define IInkTransform_get_eDx(This,Value) (This)->lpVtbl->get_eDx(This,Value) | 
|  | #define IInkTransform_put_eDx(This,Value) (This)->lpVtbl->put_eDx(This,Value) | 
|  | #define IInkTransform_get_eDy(This,Value) (This)->lpVtbl->get_eDy(This,Value) | 
|  | #define IInkTransform_put_eDy(This,Value) (This)->lpVtbl->put_eDy(This,Value) | 
|  | #define IInkTransform_get_Data(This,XForm) (This)->lpVtbl->get_Data(This,XForm) | 
|  | #define IInkTransform_put_Data(This,XForm) (This)->lpVtbl->put_Data(This,XForm) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTransform_QueryInterface(IInkTransform* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkTransform_AddRef(IInkTransform* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkTransform_Release(IInkTransform* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTransform_GetTypeInfoCount(IInkTransform* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_GetTypeInfo(IInkTransform* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_GetIDsOfNames(IInkTransform* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_Invoke(IInkTransform* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkTransform methods ***/ | 
|  | static FORCEINLINE HRESULT IInkTransform_Reset(IInkTransform* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_Translate(IInkTransform* This,float HorizontalComponent,float VerticalComponent) { | 
|  | return This->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_Rotate(IInkTransform* This,float Degrees,float x,float y) { | 
|  | return This->lpVtbl->Rotate(This,Degrees,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_Reflect(IInkTransform* This,VARIANT_BOOL Horizontally,VARIANT_BOOL Vertically) { | 
|  | return This->lpVtbl->Reflect(This,Horizontally,Vertically); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_Shear(IInkTransform* This,float HorizontalComponent,float VerticalComponent) { | 
|  | return This->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_ScaleTransform(IInkTransform* This,float HorizontalMultiplier,float VerticalMultiplier) { | 
|  | return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_GetTransform(IInkTransform* This,float *eM11,float *eM12,float *eM21,float *eM22,float *eDx,float *eDy) { | 
|  | return This->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_SetTransform(IInkTransform* This,float eM11,float eM12,float eM21,float eM22,float eDx,float eDy) { | 
|  | return This->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eM11(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eM11(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eM11(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eM11(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eM12(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eM12(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eM12(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eM12(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eM21(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eM21(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eM21(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eM21(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eM22(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eM22(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eM22(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eM22(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eDx(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eDx(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eDx(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eDx(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_eDy(IInkTransform* This,float *Value) { | 
|  | return This->lpVtbl->get_eDy(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_eDy(IInkTransform* This,float Value) { | 
|  | return This->lpVtbl->put_eDy(This,Value); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_get_Data(IInkTransform* This,XFORM *XForm) { | 
|  | return This->lpVtbl->get_Data(This,XForm); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkTransform_put_Data(IInkTransform* This,XFORM XForm) { | 
|  | return This->lpVtbl->put_Data(This,XForm); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkTransform_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkRecognitionAlternates interface | 
|  | */ | 
|  | #ifndef __IInkRecognitionAlternates_INTERFACE_DEFINED__ | 
|  | #define __IInkRecognitionAlternates_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("286a167f-9f19-4c61-9d53-4f07be622b84") | 
|  | IInkRecognitionAlternates : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Strokes( | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | LONG Index, | 
|  | IInkRecognitionAlternate **InkRecoAlternate) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkRecognitionAlternatesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkRecognitionAlternates *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkRecognitionAlternates *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkRecognitionAlternates *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkRecognitionAlternates *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkRecognitionAlternates *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkRecognitionAlternates *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkRecognitionAlternates *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkRecognitionAlternates methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkRecognitionAlternates *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkRecognitionAlternates *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Strokes)( | 
|  | IInkRecognitionAlternates *This, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkRecognitionAlternates *This, | 
|  | LONG Index, | 
|  | IInkRecognitionAlternate **InkRecoAlternate); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkRecognitionAlternatesVtbl; | 
|  |  | 
|  | interface IInkRecognitionAlternates { | 
|  | CONST_VTBL IInkRecognitionAlternatesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkRecognitionAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkRecognitionAlternates_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkRecognitionAlternates_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkRecognitionAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkRecognitionAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkRecognitionAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkRecognitionAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkRecognitionAlternates methods ***/ | 
|  | #define IInkRecognitionAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkRecognitionAlternates_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkRecognitionAlternates_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes) | 
|  | #define IInkRecognitionAlternates_Item(This,Index,InkRecoAlternate) (This)->lpVtbl->Item(This,Index,InkRecoAlternate) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_QueryInterface(IInkRecognitionAlternates* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionAlternates_AddRef(IInkRecognitionAlternates* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionAlternates_Release(IInkRecognitionAlternates* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfoCount(IInkRecognitionAlternates* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfo(IInkRecognitionAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_GetIDsOfNames(IInkRecognitionAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_Invoke(IInkRecognitionAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkRecognitionAlternates methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Count(IInkRecognitionAlternates* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_get__NewEnum(IInkRecognitionAlternates* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Strokes(IInkRecognitionAlternates* This,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->get_Strokes(This,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternates_Item(IInkRecognitionAlternates* This,LONG Index,IInkRecognitionAlternate **InkRecoAlternate) { | 
|  | return This->lpVtbl->Item(This,Index,InkRecoAlternate); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkRecognitionAlternates_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkRecognitionAlternate interface | 
|  | */ | 
|  | #ifndef __IInkRecognitionAlternate_INTERFACE_DEFINED__ | 
|  | #define __IInkRecognitionAlternate_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b7e660ad-77e4-429b-adda-873780d1fc4a") | 
|  | IInkRecognitionAlternate : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_String( | 
|  | BSTR *RecoString) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Confidence( | 
|  | InkRecognitionConfidence *Confidence) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Baseline( | 
|  | VARIANT *Baseline) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Midline( | 
|  | VARIANT *Midline) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Ascender( | 
|  | VARIANT *Ascender) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Descender( | 
|  | VARIANT *Descender) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_LineNumber( | 
|  | LONG *LineNumber) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Strokes( | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_LineAlternates( | 
|  | IInkRecognitionAlternates **LineAlternates) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ConfidenceAlternates( | 
|  | IInkRecognitionAlternates **ConfidenceAlternates) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStrokesFromStrokeRanges( | 
|  | IInkStrokes *Strokes, | 
|  | IInkStrokes **GetStrokesFromStrokeRanges) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStrokesFromTextRange( | 
|  | LONG *selectionStart, | 
|  | LONG *selectionLength, | 
|  | IInkStrokes **GetStrokesFromTextRange) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTextRangeFromStrokes( | 
|  | IInkStrokes *Strokes, | 
|  | LONG *selectionStart, | 
|  | LONG *selectionLength) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AlternatesWithConstantPropertyValues( | 
|  | BSTR PropertyType, | 
|  | IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPropertyValue( | 
|  | BSTR PropertyType, | 
|  | VARIANT *PropertyValue) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkRecognitionAlternateVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkRecognitionAlternate *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkRecognitionAlternate *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkRecognitionAlternate *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkRecognitionAlternate *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkRecognitionAlternate *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkRecognitionAlternate *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkRecognitionAlternate *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkRecognitionAlternate methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_String)( | 
|  | IInkRecognitionAlternate *This, | 
|  | BSTR *RecoString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Confidence)( | 
|  | IInkRecognitionAlternate *This, | 
|  | InkRecognitionConfidence *Confidence); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Baseline)( | 
|  | IInkRecognitionAlternate *This, | 
|  | VARIANT *Baseline); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Midline)( | 
|  | IInkRecognitionAlternate *This, | 
|  | VARIANT *Midline); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Ascender)( | 
|  | IInkRecognitionAlternate *This, | 
|  | VARIANT *Ascender); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Descender)( | 
|  | IInkRecognitionAlternate *This, | 
|  | VARIANT *Descender); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_LineNumber)( | 
|  | IInkRecognitionAlternate *This, | 
|  | LONG *LineNumber); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Strokes)( | 
|  | IInkRecognitionAlternate *This, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_LineAlternates)( | 
|  | IInkRecognitionAlternate *This, | 
|  | IInkRecognitionAlternates **LineAlternates); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_ConfidenceAlternates)( | 
|  | IInkRecognitionAlternate *This, | 
|  | IInkRecognitionAlternates **ConfidenceAlternates); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStrokesFromStrokeRanges)( | 
|  | IInkRecognitionAlternate *This, | 
|  | IInkStrokes *Strokes, | 
|  | IInkStrokes **GetStrokesFromStrokeRanges); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStrokesFromTextRange)( | 
|  | IInkRecognitionAlternate *This, | 
|  | LONG *selectionStart, | 
|  | LONG *selectionLength, | 
|  | IInkStrokes **GetStrokesFromTextRange); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTextRangeFromStrokes)( | 
|  | IInkRecognitionAlternate *This, | 
|  | IInkStrokes *Strokes, | 
|  | LONG *selectionStart, | 
|  | LONG *selectionLength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AlternatesWithConstantPropertyValues)( | 
|  | IInkRecognitionAlternate *This, | 
|  | BSTR PropertyType, | 
|  | IInkRecognitionAlternates **AlternatesWithConstantPropertyValues); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPropertyValue)( | 
|  | IInkRecognitionAlternate *This, | 
|  | BSTR PropertyType, | 
|  | VARIANT *PropertyValue); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkRecognitionAlternateVtbl; | 
|  |  | 
|  | interface IInkRecognitionAlternate { | 
|  | CONST_VTBL IInkRecognitionAlternateVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkRecognitionAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkRecognitionAlternate_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkRecognitionAlternate_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkRecognitionAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkRecognitionAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkRecognitionAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkRecognitionAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkRecognitionAlternate methods ***/ | 
|  | #define IInkRecognitionAlternate_get_String(This,RecoString) (This)->lpVtbl->get_String(This,RecoString) | 
|  | #define IInkRecognitionAlternate_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence) | 
|  | #define IInkRecognitionAlternate_get_Baseline(This,Baseline) (This)->lpVtbl->get_Baseline(This,Baseline) | 
|  | #define IInkRecognitionAlternate_get_Midline(This,Midline) (This)->lpVtbl->get_Midline(This,Midline) | 
|  | #define IInkRecognitionAlternate_get_Ascender(This,Ascender) (This)->lpVtbl->get_Ascender(This,Ascender) | 
|  | #define IInkRecognitionAlternate_get_Descender(This,Descender) (This)->lpVtbl->get_Descender(This,Descender) | 
|  | #define IInkRecognitionAlternate_get_LineNumber(This,LineNumber) (This)->lpVtbl->get_LineNumber(This,LineNumber) | 
|  | #define IInkRecognitionAlternate_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes) | 
|  | #define IInkRecognitionAlternate_get_LineAlternates(This,LineAlternates) (This)->lpVtbl->get_LineAlternates(This,LineAlternates) | 
|  | #define IInkRecognitionAlternate_get_ConfidenceAlternates(This,ConfidenceAlternates) (This)->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates) | 
|  | #define IInkRecognitionAlternate_GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges) (This)->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges) | 
|  | #define IInkRecognitionAlternate_GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange) (This)->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange) | 
|  | #define IInkRecognitionAlternate_GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength) (This)->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength) | 
|  | #define IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues) (This)->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues) | 
|  | #define IInkRecognitionAlternate_GetPropertyValue(This,PropertyType,PropertyValue) (This)->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_QueryInterface(IInkRecognitionAlternate* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionAlternate_AddRef(IInkRecognitionAlternate* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionAlternate_Release(IInkRecognitionAlternate* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfoCount(IInkRecognitionAlternate* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfo(IInkRecognitionAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetIDsOfNames(IInkRecognitionAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_Invoke(IInkRecognitionAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkRecognitionAlternate methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_String(IInkRecognitionAlternate* This,BSTR *RecoString) { | 
|  | return This->lpVtbl->get_String(This,RecoString); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Confidence(IInkRecognitionAlternate* This,InkRecognitionConfidence *Confidence) { | 
|  | return This->lpVtbl->get_Confidence(This,Confidence); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Baseline(IInkRecognitionAlternate* This,VARIANT *Baseline) { | 
|  | return This->lpVtbl->get_Baseline(This,Baseline); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Midline(IInkRecognitionAlternate* This,VARIANT *Midline) { | 
|  | return This->lpVtbl->get_Midline(This,Midline); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Ascender(IInkRecognitionAlternate* This,VARIANT *Ascender) { | 
|  | return This->lpVtbl->get_Ascender(This,Ascender); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Descender(IInkRecognitionAlternate* This,VARIANT *Descender) { | 
|  | return This->lpVtbl->get_Descender(This,Descender); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineNumber(IInkRecognitionAlternate* This,LONG *LineNumber) { | 
|  | return This->lpVtbl->get_LineNumber(This,LineNumber); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Strokes(IInkRecognitionAlternate* This,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->get_Strokes(This,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **LineAlternates) { | 
|  | return This->lpVtbl->get_LineAlternates(This,LineAlternates); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_get_ConfidenceAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **ConfidenceAlternates) { | 
|  | return This->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromStrokeRanges(IInkRecognitionAlternate* This,IInkStrokes *Strokes,IInkStrokes **GetStrokesFromStrokeRanges) { | 
|  | return This->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromTextRange(IInkRecognitionAlternate* This,LONG *selectionStart,LONG *selectionLength,IInkStrokes **GetStrokesFromTextRange) { | 
|  | return This->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTextRangeFromStrokes(IInkRecognitionAlternate* This,IInkStrokes *Strokes,LONG *selectionStart,LONG *selectionLength) { | 
|  | return This->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(IInkRecognitionAlternate* This,BSTR PropertyType,IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) { | 
|  | return This->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionAlternate_GetPropertyValue(IInkRecognitionAlternate* This,BSTR PropertyType,VARIANT *PropertyValue) { | 
|  | return This->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkRecognitionAlternate_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkRecognitionResult interface | 
|  | */ | 
|  | #ifndef __IInkRecognitionResult_INTERFACE_DEFINED__ | 
|  | #define __IInkRecognitionResult_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3bc129a8-86cd-45ad-bde8-e0d32d61c16d") | 
|  | IInkRecognitionResult : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_TopString( | 
|  | BSTR *TopString) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_TopAlternate( | 
|  | IInkRecognitionAlternate **TopAlternate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_TopConfidence( | 
|  | InkRecognitionConfidence *TopConfidence) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Strokes( | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AlternatesFromSelection( | 
|  | LONG selectionStart, | 
|  | LONG selectionLength, | 
|  | LONG maximumAlternates, | 
|  | IInkRecognitionAlternates **AlternatesFromSelection) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ModifyTopAlternate( | 
|  | IInkRecognitionAlternate *Alternate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetResultOnStrokes( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkRecognitionResultVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkRecognitionResult *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkRecognitionResult *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkRecognitionResult *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkRecognitionResult *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkRecognitionResult *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkRecognitionResult *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkRecognitionResult *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkRecognitionResult methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_TopString)( | 
|  | IInkRecognitionResult *This, | 
|  | BSTR *TopString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_TopAlternate)( | 
|  | IInkRecognitionResult *This, | 
|  | IInkRecognitionAlternate **TopAlternate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_TopConfidence)( | 
|  | IInkRecognitionResult *This, | 
|  | InkRecognitionConfidence *TopConfidence); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Strokes)( | 
|  | IInkRecognitionResult *This, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AlternatesFromSelection)( | 
|  | IInkRecognitionResult *This, | 
|  | LONG selectionStart, | 
|  | LONG selectionLength, | 
|  | LONG maximumAlternates, | 
|  | IInkRecognitionAlternates **AlternatesFromSelection); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ModifyTopAlternate)( | 
|  | IInkRecognitionResult *This, | 
|  | IInkRecognitionAlternate *Alternate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetResultOnStrokes)( | 
|  | IInkRecognitionResult *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkRecognitionResultVtbl; | 
|  |  | 
|  | interface IInkRecognitionResult { | 
|  | CONST_VTBL IInkRecognitionResultVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkRecognitionResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkRecognitionResult_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkRecognitionResult_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkRecognitionResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkRecognitionResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkRecognitionResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkRecognitionResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkRecognitionResult methods ***/ | 
|  | #define IInkRecognitionResult_get_TopString(This,TopString) (This)->lpVtbl->get_TopString(This,TopString) | 
|  | #define IInkRecognitionResult_get_TopAlternate(This,TopAlternate) (This)->lpVtbl->get_TopAlternate(This,TopAlternate) | 
|  | #define IInkRecognitionResult_get_TopConfidence(This,TopConfidence) (This)->lpVtbl->get_TopConfidence(This,TopConfidence) | 
|  | #define IInkRecognitionResult_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes) | 
|  | #define IInkRecognitionResult_AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection) (This)->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection) | 
|  | #define IInkRecognitionResult_ModifyTopAlternate(This,Alternate) (This)->lpVtbl->ModifyTopAlternate(This,Alternate) | 
|  | #define IInkRecognitionResult_SetResultOnStrokes(This) (This)->lpVtbl->SetResultOnStrokes(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_QueryInterface(IInkRecognitionResult* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionResult_AddRef(IInkRecognitionResult* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRecognitionResult_Release(IInkRecognitionResult* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfoCount(IInkRecognitionResult* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfo(IInkRecognitionResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_GetIDsOfNames(IInkRecognitionResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_Invoke(IInkRecognitionResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkRecognitionResult methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_get_TopString(IInkRecognitionResult* This,BSTR *TopString) { | 
|  | return This->lpVtbl->get_TopString(This,TopString); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_get_TopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate **TopAlternate) { | 
|  | return This->lpVtbl->get_TopAlternate(This,TopAlternate); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_get_TopConfidence(IInkRecognitionResult* This,InkRecognitionConfidence *TopConfidence) { | 
|  | return This->lpVtbl->get_TopConfidence(This,TopConfidence); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_get_Strokes(IInkRecognitionResult* This,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->get_Strokes(This,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_AlternatesFromSelection(IInkRecognitionResult* This,LONG selectionStart,LONG selectionLength,LONG maximumAlternates,IInkRecognitionAlternates **AlternatesFromSelection) { | 
|  | return This->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_ModifyTopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate *Alternate) { | 
|  | return This->lpVtbl->ModifyTopAlternate(This,Alternate); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRecognitionResult_SetResultOnStrokes(IInkRecognitionResult* This) { | 
|  | return This->lpVtbl->SetResultOnStrokes(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkRecognitionResult_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkStrokeDisp interface | 
|  | */ | 
|  | #ifndef __IInkStrokeDisp_INTERFACE_DEFINED__ | 
|  | #define __IInkStrokeDisp_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("43242fea-91d1-4a72-963e-fbb91829cfa2") | 
|  | IInkStrokeDisp : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ID( | 
|  | LONG *ID) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_BezierPoints( | 
|  | VARIANT *Points) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes( | 
|  | IInkDrawingAttributes **DrawAttrs) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes( | 
|  | IInkDrawingAttributes *DrawAttrs) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Ink( | 
|  | IInkDisp **Ink) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties( | 
|  | IInkExtendedProperties **Properties) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PolylineCusps( | 
|  | VARIANT *Cusps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_BezierCusps( | 
|  | VARIANT *Cusps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_SelfIntersections( | 
|  | VARIANT *Intersections) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PacketCount( | 
|  | LONG *plCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PacketSize( | 
|  | LONG *plSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PacketDescription( | 
|  | VARIANT *PacketDescription) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Deleted( | 
|  | VARIANT_BOOL *Deleted) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBoundingBox( | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindIntersections( | 
|  | IInkStrokes *Strokes, | 
|  | VARIANT *Intersections) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRectangleIntersections( | 
|  | IInkRectangle *Rectangle, | 
|  | VARIANT *Intersections) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clip( | 
|  | IInkRectangle *Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE HitTestCircle( | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float Radius, | 
|  | VARIANT_BOOL *Intersects) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NearestPoint( | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float *Distance, | 
|  | float *Point) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Split( | 
|  | float SplitAt, | 
|  | IInkStrokeDisp **NewStroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPacketDescriptionPropertyMetrics( | 
|  | BSTR PropertyName, | 
|  | LONG *Minimum, | 
|  | LONG *Maximum, | 
|  | TabletPropertyMetricUnit *Units, | 
|  | float *Resolution) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPoints( | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *Points) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPoints( | 
|  | VARIANT Points, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | LONG *NumberOfPointsSet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPacketData( | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *PacketData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPacketValuesByProperty( | 
|  | BSTR PropertyName, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *PacketValues) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPacketValuesByProperty( | 
|  | BSTR bstrPropertyName, | 
|  | VARIANT PacketValues, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | LONG *NumberOfPacketsSet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFlattenedBezierPoints( | 
|  | LONG FittingError, | 
|  | VARIANT *FlattenedBezierPoints) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Transform( | 
|  | IInkTransform *Transform, | 
|  | VARIANT_BOOL ApplyOnPenWidth = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle( | 
|  | IInkRectangle *Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Move( | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Rotate( | 
|  | float Degrees, | 
|  | float x = 0, | 
|  | float y = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Shear( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleTransform( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkStrokeDispVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkStrokeDisp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkStrokeDisp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkStrokeDisp *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkStrokeDisp *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkStrokeDisp *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkStrokeDisp *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkStrokeDisp *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkStrokeDisp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_ID)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG *ID); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_BezierPoints)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT *Points); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkDrawingAttributes **DrawAttrs); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkDrawingAttributes *DrawAttrs); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Ink)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkDisp **Ink); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkExtendedProperties **Properties); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PolylineCusps)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT *Cusps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_BezierCusps)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT *Cusps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_SelfIntersections)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT *Intersections); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PacketCount)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG *plCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PacketSize)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG *plSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PacketDescription)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT *PacketDescription); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Deleted)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT_BOOL *Deleted); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBoundingBox)( | 
|  | IInkStrokeDisp *This, | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindIntersections)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkStrokes *Strokes, | 
|  | VARIANT *Intersections); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRectangleIntersections)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkRectangle *Rectangle, | 
|  | VARIANT *Intersections); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clip)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkRectangle *Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *HitTestCircle)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float Radius, | 
|  | VARIANT_BOOL *Intersects); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NearestPoint)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float *Distance, | 
|  | float *Point); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Split)( | 
|  | IInkStrokeDisp *This, | 
|  | float SplitAt, | 
|  | IInkStrokeDisp **NewStroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPacketDescriptionPropertyMetrics)( | 
|  | IInkStrokeDisp *This, | 
|  | BSTR PropertyName, | 
|  | LONG *Minimum, | 
|  | LONG *Maximum, | 
|  | TabletPropertyMetricUnit *Units, | 
|  | float *Resolution); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPoints)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *Points); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPoints)( | 
|  | IInkStrokeDisp *This, | 
|  | VARIANT Points, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | LONG *NumberOfPointsSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPacketData)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *PacketData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPacketValuesByProperty)( | 
|  | IInkStrokeDisp *This, | 
|  | BSTR PropertyName, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | VARIANT *PacketValues); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPacketValuesByProperty)( | 
|  | IInkStrokeDisp *This, | 
|  | BSTR bstrPropertyName, | 
|  | VARIANT PacketValues, | 
|  | LONG Index, | 
|  | LONG Count, | 
|  | LONG *NumberOfPacketsSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFlattenedBezierPoints)( | 
|  | IInkStrokeDisp *This, | 
|  | LONG FittingError, | 
|  | VARIANT *FlattenedBezierPoints); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Transform)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkTransform *Transform, | 
|  | VARIANT_BOOL ApplyOnPenWidth); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)( | 
|  | IInkStrokeDisp *This, | 
|  | IInkRectangle *Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Move)( | 
|  | IInkStrokeDisp *This, | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Rotate)( | 
|  | IInkStrokeDisp *This, | 
|  | float Degrees, | 
|  | float x, | 
|  | float y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Shear)( | 
|  | IInkStrokeDisp *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleTransform)( | 
|  | IInkStrokeDisp *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkStrokeDispVtbl; | 
|  |  | 
|  | interface IInkStrokeDisp { | 
|  | CONST_VTBL IInkStrokeDispVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkStrokeDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkStrokeDisp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkStrokeDisp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkStrokeDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkStrokeDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkStrokeDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkStrokeDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkStrokeDisp methods ***/ | 
|  | #define IInkStrokeDisp_get_ID(This,ID) (This)->lpVtbl->get_ID(This,ID) | 
|  | #define IInkStrokeDisp_get_BezierPoints(This,Points) (This)->lpVtbl->get_BezierPoints(This,Points) | 
|  | #define IInkStrokeDisp_get_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->get_DrawingAttributes(This,DrawAttrs) | 
|  | #define IInkStrokeDisp_putref_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->putref_DrawingAttributes(This,DrawAttrs) | 
|  | #define IInkStrokeDisp_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink) | 
|  | #define IInkStrokeDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties) | 
|  | #define IInkStrokeDisp_get_PolylineCusps(This,Cusps) (This)->lpVtbl->get_PolylineCusps(This,Cusps) | 
|  | #define IInkStrokeDisp_get_BezierCusps(This,Cusps) (This)->lpVtbl->get_BezierCusps(This,Cusps) | 
|  | #define IInkStrokeDisp_get_SelfIntersections(This,Intersections) (This)->lpVtbl->get_SelfIntersections(This,Intersections) | 
|  | #define IInkStrokeDisp_get_PacketCount(This,plCount) (This)->lpVtbl->get_PacketCount(This,plCount) | 
|  | #define IInkStrokeDisp_get_PacketSize(This,plSize) (This)->lpVtbl->get_PacketSize(This,plSize) | 
|  | #define IInkStrokeDisp_get_PacketDescription(This,PacketDescription) (This)->lpVtbl->get_PacketDescription(This,PacketDescription) | 
|  | #define IInkStrokeDisp_get_Deleted(This,Deleted) (This)->lpVtbl->get_Deleted(This,Deleted) | 
|  | #define IInkStrokeDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle) | 
|  | #define IInkStrokeDisp_FindIntersections(This,Strokes,Intersections) (This)->lpVtbl->FindIntersections(This,Strokes,Intersections) | 
|  | #define IInkStrokeDisp_GetRectangleIntersections(This,Rectangle,Intersections) (This)->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections) | 
|  | #define IInkStrokeDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle) | 
|  | #define IInkStrokeDisp_HitTestCircle(This,X,Y,Radius,Intersects) (This)->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects) | 
|  | #define IInkStrokeDisp_NearestPoint(This,X,Y,Distance,Point) (This)->lpVtbl->NearestPoint(This,X,Y,Distance,Point) | 
|  | #define IInkStrokeDisp_Split(This,SplitAt,NewStroke) (This)->lpVtbl->Split(This,SplitAt,NewStroke) | 
|  | #define IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution) | 
|  | #define IInkStrokeDisp_GetPoints(This,Index,Count,Points) (This)->lpVtbl->GetPoints(This,Index,Count,Points) | 
|  | #define IInkStrokeDisp_SetPoints(This,Points,Index,Count,NumberOfPointsSet) (This)->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet) | 
|  | #define IInkStrokeDisp_GetPacketData(This,Index,Count,PacketData) (This)->lpVtbl->GetPacketData(This,Index,Count,PacketData) | 
|  | #define IInkStrokeDisp_GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues) (This)->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues) | 
|  | #define IInkStrokeDisp_SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet) (This)->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet) | 
|  | #define IInkStrokeDisp_GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints) (This)->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints) | 
|  | #define IInkStrokeDisp_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth) | 
|  | #define IInkStrokeDisp_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle) | 
|  | #define IInkStrokeDisp_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent) | 
|  | #define IInkStrokeDisp_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y) | 
|  | #define IInkStrokeDisp_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier) | 
|  | #define IInkStrokeDisp_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_QueryInterface(IInkStrokeDisp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkStrokeDisp_AddRef(IInkStrokeDisp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkStrokeDisp_Release(IInkStrokeDisp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfoCount(IInkStrokeDisp* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfo(IInkStrokeDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetIDsOfNames(IInkStrokeDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Invoke(IInkStrokeDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkStrokeDisp methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_ID(IInkStrokeDisp* This,LONG *ID) { | 
|  | return This->lpVtbl->get_ID(This,ID); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierPoints(IInkStrokeDisp* This,VARIANT *Points) { | 
|  | return This->lpVtbl->get_BezierPoints(This,Points); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes **DrawAttrs) { | 
|  | return This->lpVtbl->get_DrawingAttributes(This,DrawAttrs); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_putref_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes *DrawAttrs) { | 
|  | return This->lpVtbl->putref_DrawingAttributes(This,DrawAttrs); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_Ink(IInkStrokeDisp* This,IInkDisp **Ink) { | 
|  | return This->lpVtbl->get_Ink(This,Ink); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_ExtendedProperties(IInkStrokeDisp* This,IInkExtendedProperties **Properties) { | 
|  | return This->lpVtbl->get_ExtendedProperties(This,Properties); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_PolylineCusps(IInkStrokeDisp* This,VARIANT *Cusps) { | 
|  | return This->lpVtbl->get_PolylineCusps(This,Cusps); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierCusps(IInkStrokeDisp* This,VARIANT *Cusps) { | 
|  | return This->lpVtbl->get_BezierCusps(This,Cusps); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_SelfIntersections(IInkStrokeDisp* This,VARIANT *Intersections) { | 
|  | return This->lpVtbl->get_SelfIntersections(This,Intersections); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketCount(IInkStrokeDisp* This,LONG *plCount) { | 
|  | return This->lpVtbl->get_PacketCount(This,plCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketSize(IInkStrokeDisp* This,LONG *plSize) { | 
|  | return This->lpVtbl->get_PacketSize(This,plSize); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketDescription(IInkStrokeDisp* This,VARIANT *PacketDescription) { | 
|  | return This->lpVtbl->get_PacketDescription(This,PacketDescription); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_get_Deleted(IInkStrokeDisp* This,VARIANT_BOOL *Deleted) { | 
|  | return This->lpVtbl->get_Deleted(This,Deleted); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetBoundingBox(IInkStrokeDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) { | 
|  | return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_FindIntersections(IInkStrokeDisp* This,IInkStrokes *Strokes,VARIANT *Intersections) { | 
|  | return This->lpVtbl->FindIntersections(This,Strokes,Intersections); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetRectangleIntersections(IInkStrokeDisp* This,IInkRectangle *Rectangle,VARIANT *Intersections) { | 
|  | return This->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Clip(IInkStrokeDisp* This,IInkRectangle *Rectangle) { | 
|  | return This->lpVtbl->Clip(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_HitTestCircle(IInkStrokeDisp* This,LONG X,LONG Y,float Radius,VARIANT_BOOL *Intersects) { | 
|  | return This->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_NearestPoint(IInkStrokeDisp* This,LONG X,LONG Y,float *Distance,float *Point) { | 
|  | return This->lpVtbl->NearestPoint(This,X,Y,Distance,Point); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Split(IInkStrokeDisp* This,float SplitAt,IInkStrokeDisp **NewStroke) { | 
|  | return This->lpVtbl->Split(This,SplitAt,NewStroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(IInkStrokeDisp* This,BSTR PropertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) { | 
|  | return This->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetPoints(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *Points) { | 
|  | return This->lpVtbl->GetPoints(This,Index,Count,Points); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_SetPoints(IInkStrokeDisp* This,VARIANT Points,LONG Index,LONG Count,LONG *NumberOfPointsSet) { | 
|  | return This->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketData(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *PacketData) { | 
|  | return This->lpVtbl->GetPacketData(This,Index,Count,PacketData); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketValuesByProperty(IInkStrokeDisp* This,BSTR PropertyName,LONG Index,LONG Count,VARIANT *PacketValues) { | 
|  | return This->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_SetPacketValuesByProperty(IInkStrokeDisp* This,BSTR bstrPropertyName,VARIANT PacketValues,LONG Index,LONG Count,LONG *NumberOfPacketsSet) { | 
|  | return This->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_GetFlattenedBezierPoints(IInkStrokeDisp* This,LONG FittingError,VARIANT *FlattenedBezierPoints) { | 
|  | return This->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Transform(IInkStrokeDisp* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) { | 
|  | return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_ScaleToRectangle(IInkStrokeDisp* This,IInkRectangle *Rectangle) { | 
|  | return This->lpVtbl->ScaleToRectangle(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Move(IInkStrokeDisp* This,float HorizontalComponent,float VerticalComponent) { | 
|  | return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Rotate(IInkStrokeDisp* This,float Degrees,float x,float y) { | 
|  | return This->lpVtbl->Rotate(This,Degrees,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_Shear(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) { | 
|  | return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokeDisp_ScaleTransform(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) { | 
|  | return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkStrokeDisp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCustomStrokes interface | 
|  | */ | 
|  | #ifndef __IInkCustomStrokes_INTERFACE_DEFINED__ | 
|  | #define __IInkCustomStrokes_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("7e23a88f-c30e-420f-9bdb-28902543f0c1") | 
|  | IInkCustomStrokes : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | VARIANT Identifier, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Add( | 
|  | BSTR Name, | 
|  | IInkStrokes *Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Remove( | 
|  | VARIANT Identifier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clear( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCustomStrokesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCustomStrokes *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCustomStrokes *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCustomStrokes *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCustomStrokes *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCustomStrokes *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCustomStrokes *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCustomStrokes *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCustomStrokes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkCustomStrokes *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkCustomStrokes *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkCustomStrokes *This, | 
|  | VARIANT Identifier, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Add)( | 
|  | IInkCustomStrokes *This, | 
|  | BSTR Name, | 
|  | IInkStrokes *Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Remove)( | 
|  | IInkCustomStrokes *This, | 
|  | VARIANT Identifier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clear)( | 
|  | IInkCustomStrokes *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCustomStrokesVtbl; | 
|  |  | 
|  | interface IInkCustomStrokes { | 
|  | CONST_VTBL IInkCustomStrokesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCustomStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCustomStrokes_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCustomStrokes_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCustomStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCustomStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCustomStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCustomStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCustomStrokes methods ***/ | 
|  | #define IInkCustomStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkCustomStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkCustomStrokes_Item(This,Identifier,Strokes) (This)->lpVtbl->Item(This,Identifier,Strokes) | 
|  | #define IInkCustomStrokes_Add(This,Name,Strokes) (This)->lpVtbl->Add(This,Name,Strokes) | 
|  | #define IInkCustomStrokes_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier) | 
|  | #define IInkCustomStrokes_Clear(This) (This)->lpVtbl->Clear(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_QueryInterface(IInkCustomStrokes* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCustomStrokes_AddRef(IInkCustomStrokes* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCustomStrokes_Release(IInkCustomStrokes* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfoCount(IInkCustomStrokes* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfo(IInkCustomStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_GetIDsOfNames(IInkCustomStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_Invoke(IInkCustomStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCustomStrokes methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_get_Count(IInkCustomStrokes* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_get__NewEnum(IInkCustomStrokes* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_Item(IInkCustomStrokes* This,VARIANT Identifier,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->Item(This,Identifier,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_Add(IInkCustomStrokes* This,BSTR Name,IInkStrokes *Strokes) { | 
|  | return This->lpVtbl->Add(This,Name,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_Remove(IInkCustomStrokes* This,VARIANT Identifier) { | 
|  | return This->lpVtbl->Remove(This,Identifier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCustomStrokes_Clear(IInkCustomStrokes* This) { | 
|  | return This->lpVtbl->Clear(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCustomStrokes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkDisp interface | 
|  | */ | 
|  | #ifndef __IInkDisp_INTERFACE_DEFINED__ | 
|  | #define __IInkDisp_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("9d398fa0-c4e2-4fcd-9973-975caaf47ea6") | 
|  | IInkDisp : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Strokes( | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties( | 
|  | IInkExtendedProperties **Properties) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Dirty( | 
|  | VARIANT_BOOL *Dirty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Dirty( | 
|  | VARIANT_BOOL Dirty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CustomStrokes( | 
|  | IInkCustomStrokes **ppunkInkCustomStrokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBoundingBox( | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteStrokes( | 
|  | IInkStrokes *Strokes = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeleteStroke( | 
|  | IInkStrokeDisp *Stroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExtractStrokes( | 
|  | IInkStrokes *Strokes, | 
|  | InkExtractFlags ExtractFlags, | 
|  | IInkDisp **ExtractedInk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExtractWithRectangle( | 
|  | IInkRectangle *Rectangle, | 
|  | InkExtractFlags extractFlags, | 
|  | IInkDisp **ExtractedInk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clip( | 
|  | IInkRectangle *Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IInkDisp **NewInk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE HitTestCircle( | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float radius, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE HitTestWithRectangle( | 
|  | IInkRectangle *SelectionRectangle, | 
|  | float IntersectPercent, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE HitTestWithLasso( | 
|  | VARIANT Points, | 
|  | float IntersectPercent, | 
|  | VARIANT *LassoPoints, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NearestPoint( | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float *PointOnStroke, | 
|  | float *DistanceFromPacket, | 
|  | IInkStrokeDisp **Stroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateStrokes( | 
|  | VARIANT StrokeIds, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddStrokesAtRectangle( | 
|  | IInkStrokes *SourceStrokes, | 
|  | IInkRectangle *TargetRectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Save( | 
|  | InkPersistenceFormat PersistenceFormat, | 
|  | InkPersistenceCompressionMode CompressionMode, | 
|  | VARIANT *Data) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Load( | 
|  | VARIANT Data) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateStroke( | 
|  | VARIANT PacketData, | 
|  | VARIANT PacketDescription, | 
|  | IInkStrokeDisp **Stroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClipboardCopyWithRectangle( | 
|  | IInkRectangle *Rectangle, | 
|  | InkClipboardFormats ClipboardFormats, | 
|  | InkClipboardModes ClipboardModes, | 
|  | IDataObject **DataObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClipboardCopy( | 
|  | IInkStrokes *strokes, | 
|  | InkClipboardFormats ClipboardFormats, | 
|  | InkClipboardModes ClipboardModes, | 
|  | IDataObject **DataObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CanPaste( | 
|  | IDataObject *DataObject, | 
|  | VARIANT_BOOL *CanPaste) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClipboardPaste( | 
|  | LONG x, | 
|  | LONG y, | 
|  | IDataObject *DataObject, | 
|  | IInkStrokes **Strokes) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkDispVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkDisp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkDisp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkDisp *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkDisp *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkDisp *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkDisp *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkDisp *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkDisp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Strokes)( | 
|  | IInkDisp *This, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)( | 
|  | IInkDisp *This, | 
|  | IInkExtendedProperties **Properties); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Dirty)( | 
|  | IInkDisp *This, | 
|  | VARIANT_BOOL *Dirty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Dirty)( | 
|  | IInkDisp *This, | 
|  | VARIANT_BOOL Dirty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CustomStrokes)( | 
|  | IInkDisp *This, | 
|  | IInkCustomStrokes **ppunkInkCustomStrokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBoundingBox)( | 
|  | IInkDisp *This, | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteStrokes)( | 
|  | IInkDisp *This, | 
|  | IInkStrokes *Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeleteStroke)( | 
|  | IInkDisp *This, | 
|  | IInkStrokeDisp *Stroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExtractStrokes)( | 
|  | IInkDisp *This, | 
|  | IInkStrokes *Strokes, | 
|  | InkExtractFlags ExtractFlags, | 
|  | IInkDisp **ExtractedInk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExtractWithRectangle)( | 
|  | IInkDisp *This, | 
|  | IInkRectangle *Rectangle, | 
|  | InkExtractFlags extractFlags, | 
|  | IInkDisp **ExtractedInk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clip)( | 
|  | IInkDisp *This, | 
|  | IInkRectangle *Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IInkDisp *This, | 
|  | IInkDisp **NewInk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *HitTestCircle)( | 
|  | IInkDisp *This, | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float radius, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *HitTestWithRectangle)( | 
|  | IInkDisp *This, | 
|  | IInkRectangle *SelectionRectangle, | 
|  | float IntersectPercent, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *HitTestWithLasso)( | 
|  | IInkDisp *This, | 
|  | VARIANT Points, | 
|  | float IntersectPercent, | 
|  | VARIANT *LassoPoints, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NearestPoint)( | 
|  | IInkDisp *This, | 
|  | LONG X, | 
|  | LONG Y, | 
|  | float *PointOnStroke, | 
|  | float *DistanceFromPacket, | 
|  | IInkStrokeDisp **Stroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateStrokes)( | 
|  | IInkDisp *This, | 
|  | VARIANT StrokeIds, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddStrokesAtRectangle)( | 
|  | IInkDisp *This, | 
|  | IInkStrokes *SourceStrokes, | 
|  | IInkRectangle *TargetRectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Save)( | 
|  | IInkDisp *This, | 
|  | InkPersistenceFormat PersistenceFormat, | 
|  | InkPersistenceCompressionMode CompressionMode, | 
|  | VARIANT *Data); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Load)( | 
|  | IInkDisp *This, | 
|  | VARIANT Data); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateStroke)( | 
|  | IInkDisp *This, | 
|  | VARIANT PacketData, | 
|  | VARIANT PacketDescription, | 
|  | IInkStrokeDisp **Stroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClipboardCopyWithRectangle)( | 
|  | IInkDisp *This, | 
|  | IInkRectangle *Rectangle, | 
|  | InkClipboardFormats ClipboardFormats, | 
|  | InkClipboardModes ClipboardModes, | 
|  | IDataObject **DataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClipboardCopy)( | 
|  | IInkDisp *This, | 
|  | IInkStrokes *strokes, | 
|  | InkClipboardFormats ClipboardFormats, | 
|  | InkClipboardModes ClipboardModes, | 
|  | IDataObject **DataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CanPaste)( | 
|  | IInkDisp *This, | 
|  | IDataObject *DataObject, | 
|  | VARIANT_BOOL *CanPaste); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClipboardPaste)( | 
|  | IInkDisp *This, | 
|  | LONG x, | 
|  | LONG y, | 
|  | IDataObject *DataObject, | 
|  | IInkStrokes **Strokes); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkDispVtbl; | 
|  |  | 
|  | interface IInkDisp { | 
|  | CONST_VTBL IInkDispVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkDisp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkDisp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkDisp methods ***/ | 
|  | #define IInkDisp_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes) | 
|  | #define IInkDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties) | 
|  | #define IInkDisp_get_Dirty(This,Dirty) (This)->lpVtbl->get_Dirty(This,Dirty) | 
|  | #define IInkDisp_put_Dirty(This,Dirty) (This)->lpVtbl->put_Dirty(This,Dirty) | 
|  | #define IInkDisp_get_CustomStrokes(This,ppunkInkCustomStrokes) (This)->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes) | 
|  | #define IInkDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle) | 
|  | #define IInkDisp_DeleteStrokes(This,Strokes) (This)->lpVtbl->DeleteStrokes(This,Strokes) | 
|  | #define IInkDisp_DeleteStroke(This,Stroke) (This)->lpVtbl->DeleteStroke(This,Stroke) | 
|  | #define IInkDisp_ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk) (This)->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk) | 
|  | #define IInkDisp_ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk) (This)->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk) | 
|  | #define IInkDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle) | 
|  | #define IInkDisp_Clone(This,NewInk) (This)->lpVtbl->Clone(This,NewInk) | 
|  | #define IInkDisp_HitTestCircle(This,X,Y,radius,Strokes) (This)->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes) | 
|  | #define IInkDisp_HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes) (This)->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes) | 
|  | #define IInkDisp_HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes) (This)->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes) | 
|  | #define IInkDisp_NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke) (This)->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke) | 
|  | #define IInkDisp_CreateStrokes(This,StrokeIds,Strokes) (This)->lpVtbl->CreateStrokes(This,StrokeIds,Strokes) | 
|  | #define IInkDisp_AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle) (This)->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle) | 
|  | #define IInkDisp_Save(This,PersistenceFormat,CompressionMode,Data) (This)->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data) | 
|  | #define IInkDisp_Load(This,Data) (This)->lpVtbl->Load(This,Data) | 
|  | #define IInkDisp_CreateStroke(This,PacketData,PacketDescription,Stroke) (This)->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke) | 
|  | #define IInkDisp_ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject) | 
|  | #define IInkDisp_ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject) | 
|  | #define IInkDisp_CanPaste(This,DataObject,CanPaste) (This)->lpVtbl->CanPaste(This,DataObject,CanPaste) | 
|  | #define IInkDisp_ClipboardPaste(This,x,y,DataObject,Strokes) (This)->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDisp_QueryInterface(IInkDisp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkDisp_AddRef(IInkDisp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkDisp_Release(IInkDisp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDisp_GetTypeInfoCount(IInkDisp* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_GetTypeInfo(IInkDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_GetIDsOfNames(IInkDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_Invoke(IInkDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkDisp methods ***/ | 
|  | static FORCEINLINE HRESULT IInkDisp_get_Strokes(IInkDisp* This,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->get_Strokes(This,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_get_ExtendedProperties(IInkDisp* This,IInkExtendedProperties **Properties) { | 
|  | return This->lpVtbl->get_ExtendedProperties(This,Properties); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_get_Dirty(IInkDisp* This,VARIANT_BOOL *Dirty) { | 
|  | return This->lpVtbl->get_Dirty(This,Dirty); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_put_Dirty(IInkDisp* This,VARIANT_BOOL Dirty) { | 
|  | return This->lpVtbl->put_Dirty(This,Dirty); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_get_CustomStrokes(IInkDisp* This,IInkCustomStrokes **ppunkInkCustomStrokes) { | 
|  | return This->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_GetBoundingBox(IInkDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) { | 
|  | return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_DeleteStrokes(IInkDisp* This,IInkStrokes *Strokes) { | 
|  | return This->lpVtbl->DeleteStrokes(This,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_DeleteStroke(IInkDisp* This,IInkStrokeDisp *Stroke) { | 
|  | return This->lpVtbl->DeleteStroke(This,Stroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_ExtractStrokes(IInkDisp* This,IInkStrokes *Strokes,InkExtractFlags ExtractFlags,IInkDisp **ExtractedInk) { | 
|  | return This->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_ExtractWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkExtractFlags extractFlags,IInkDisp **ExtractedInk) { | 
|  | return This->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_Clip(IInkDisp* This,IInkRectangle *Rectangle) { | 
|  | return This->lpVtbl->Clip(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_Clone(IInkDisp* This,IInkDisp **NewInk) { | 
|  | return This->lpVtbl->Clone(This,NewInk); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_HitTestCircle(IInkDisp* This,LONG X,LONG Y,float radius,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_HitTestWithRectangle(IInkDisp* This,IInkRectangle *SelectionRectangle,float IntersectPercent,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_HitTestWithLasso(IInkDisp* This,VARIANT Points,float IntersectPercent,VARIANT *LassoPoints,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_NearestPoint(IInkDisp* This,LONG X,LONG Y,float *PointOnStroke,float *DistanceFromPacket,IInkStrokeDisp **Stroke) { | 
|  | return This->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_CreateStrokes(IInkDisp* This,VARIANT StrokeIds,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->CreateStrokes(This,StrokeIds,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_AddStrokesAtRectangle(IInkDisp* This,IInkStrokes *SourceStrokes,IInkRectangle *TargetRectangle) { | 
|  | return This->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_Save(IInkDisp* This,InkPersistenceFormat PersistenceFormat,InkPersistenceCompressionMode CompressionMode,VARIANT *Data) { | 
|  | return This->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_Load(IInkDisp* This,VARIANT Data) { | 
|  | return This->lpVtbl->Load(This,Data); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_CreateStroke(IInkDisp* This,VARIANT PacketData,VARIANT PacketDescription,IInkStrokeDisp **Stroke) { | 
|  | return This->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_ClipboardCopyWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) { | 
|  | return This->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_ClipboardCopy(IInkDisp* This,IInkStrokes *strokes,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) { | 
|  | return This->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_CanPaste(IInkDisp* This,IDataObject *DataObject,VARIANT_BOOL *CanPaste) { | 
|  | return This->lpVtbl->CanPaste(This,DataObject,CanPaste); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkDisp_ClipboardPaste(IInkDisp* This,LONG x,LONG y,IDataObject *DataObject,IInkStrokes **Strokes) { | 
|  | return This->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkDisp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkStrokes interface | 
|  | */ | 
|  | #ifndef __IInkStrokes_INTERFACE_DEFINED__ | 
|  | #define __IInkStrokes_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("f1f4c9d8-590a-4963-b3ae-1935671bb6f3") | 
|  | IInkStrokes : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Ink( | 
|  | IInkDisp **Ink) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_RecognitionResult( | 
|  | IInkRecognitionResult **RecognitionResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ToString( | 
|  | BSTR *ToString) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | LONG Index, | 
|  | IInkStrokeDisp **Stroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Add( | 
|  | IInkStrokeDisp *InkStroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddStrokes( | 
|  | IInkStrokes *InkStrokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Remove( | 
|  | IInkStrokeDisp *InkStroke) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveStrokes( | 
|  | IInkStrokes *InkStrokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ModifyDrawingAttributes( | 
|  | IInkDrawingAttributes *DrawAttrs) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBoundingBox( | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **BoundingBox) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Transform( | 
|  | IInkTransform *Transform, | 
|  | VARIANT_BOOL ApplyOnPenWidth = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle( | 
|  | IInkRectangle *Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Move( | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Rotate( | 
|  | float Degrees, | 
|  | float x = 0, | 
|  | float y = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Shear( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleTransform( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clip( | 
|  | IInkRectangle *Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveRecognitionResult( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkStrokesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkStrokes *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkStrokes *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkStrokes *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkStrokes *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkStrokes *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkStrokes *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkStrokes *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkStrokes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkStrokes *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkStrokes *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Ink)( | 
|  | IInkStrokes *This, | 
|  | IInkDisp **Ink); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_RecognitionResult)( | 
|  | IInkStrokes *This, | 
|  | IInkRecognitionResult **RecognitionResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ToString)( | 
|  | IInkStrokes *This, | 
|  | BSTR *ToString); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkStrokes *This, | 
|  | LONG Index, | 
|  | IInkStrokeDisp **Stroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Add)( | 
|  | IInkStrokes *This, | 
|  | IInkStrokeDisp *InkStroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddStrokes)( | 
|  | IInkStrokes *This, | 
|  | IInkStrokes *InkStrokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Remove)( | 
|  | IInkStrokes *This, | 
|  | IInkStrokeDisp *InkStroke); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveStrokes)( | 
|  | IInkStrokes *This, | 
|  | IInkStrokes *InkStrokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ModifyDrawingAttributes)( | 
|  | IInkStrokes *This, | 
|  | IInkDrawingAttributes *DrawAttrs); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBoundingBox)( | 
|  | IInkStrokes *This, | 
|  | InkBoundingBoxMode BoundingBoxMode, | 
|  | IInkRectangle **BoundingBox); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Transform)( | 
|  | IInkStrokes *This, | 
|  | IInkTransform *Transform, | 
|  | VARIANT_BOOL ApplyOnPenWidth); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)( | 
|  | IInkStrokes *This, | 
|  | IInkRectangle *Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Move)( | 
|  | IInkStrokes *This, | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Rotate)( | 
|  | IInkStrokes *This, | 
|  | float Degrees, | 
|  | float x, | 
|  | float y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Shear)( | 
|  | IInkStrokes *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleTransform)( | 
|  | IInkStrokes *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clip)( | 
|  | IInkStrokes *This, | 
|  | IInkRectangle *Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveRecognitionResult)( | 
|  | IInkStrokes *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkStrokesVtbl; | 
|  |  | 
|  | interface IInkStrokes { | 
|  | CONST_VTBL IInkStrokesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkStrokes_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkStrokes_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkStrokes methods ***/ | 
|  | #define IInkStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkStrokes_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink) | 
|  | #define IInkStrokes_get_RecognitionResult(This,RecognitionResult) (This)->lpVtbl->get_RecognitionResult(This,RecognitionResult) | 
|  | #define IInkStrokes_ToString(This,ToString) (This)->lpVtbl->ToString(This,ToString) | 
|  | #define IInkStrokes_Item(This,Index,Stroke) (This)->lpVtbl->Item(This,Index,Stroke) | 
|  | #define IInkStrokes_Add(This,InkStroke) (This)->lpVtbl->Add(This,InkStroke) | 
|  | #define IInkStrokes_AddStrokes(This,InkStrokes) (This)->lpVtbl->AddStrokes(This,InkStrokes) | 
|  | #define IInkStrokes_Remove(This,InkStroke) (This)->lpVtbl->Remove(This,InkStroke) | 
|  | #define IInkStrokes_RemoveStrokes(This,InkStrokes) (This)->lpVtbl->RemoveStrokes(This,InkStrokes) | 
|  | #define IInkStrokes_ModifyDrawingAttributes(This,DrawAttrs) (This)->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs) | 
|  | #define IInkStrokes_GetBoundingBox(This,BoundingBoxMode,BoundingBox) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox) | 
|  | #define IInkStrokes_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth) | 
|  | #define IInkStrokes_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle) | 
|  | #define IInkStrokes_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent) | 
|  | #define IInkStrokes_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y) | 
|  | #define IInkStrokes_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier) | 
|  | #define IInkStrokes_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) | 
|  | #define IInkStrokes_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle) | 
|  | #define IInkStrokes_RemoveRecognitionResult(This) (This)->lpVtbl->RemoveRecognitionResult(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokes_QueryInterface(IInkStrokes* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkStrokes_AddRef(IInkStrokes* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkStrokes_Release(IInkStrokes* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokes_GetTypeInfoCount(IInkStrokes* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_GetTypeInfo(IInkStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_GetIDsOfNames(IInkStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Invoke(IInkStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkStrokes methods ***/ | 
|  | static FORCEINLINE HRESULT IInkStrokes_get_Count(IInkStrokes* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_get__NewEnum(IInkStrokes* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_get_Ink(IInkStrokes* This,IInkDisp **Ink) { | 
|  | return This->lpVtbl->get_Ink(This,Ink); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_get_RecognitionResult(IInkStrokes* This,IInkRecognitionResult **RecognitionResult) { | 
|  | return This->lpVtbl->get_RecognitionResult(This,RecognitionResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_ToString(IInkStrokes* This,BSTR *ToString) { | 
|  | return This->lpVtbl->ToString(This,ToString); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Item(IInkStrokes* This,LONG Index,IInkStrokeDisp **Stroke) { | 
|  | return This->lpVtbl->Item(This,Index,Stroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Add(IInkStrokes* This,IInkStrokeDisp *InkStroke) { | 
|  | return This->lpVtbl->Add(This,InkStroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_AddStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) { | 
|  | return This->lpVtbl->AddStrokes(This,InkStrokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Remove(IInkStrokes* This,IInkStrokeDisp *InkStroke) { | 
|  | return This->lpVtbl->Remove(This,InkStroke); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_RemoveStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) { | 
|  | return This->lpVtbl->RemoveStrokes(This,InkStrokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_ModifyDrawingAttributes(IInkStrokes* This,IInkDrawingAttributes *DrawAttrs) { | 
|  | return This->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_GetBoundingBox(IInkStrokes* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **BoundingBox) { | 
|  | return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Transform(IInkStrokes* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) { | 
|  | return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_ScaleToRectangle(IInkStrokes* This,IInkRectangle *Rectangle) { | 
|  | return This->lpVtbl->ScaleToRectangle(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Move(IInkStrokes* This,float HorizontalComponent,float VerticalComponent) { | 
|  | return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Rotate(IInkStrokes* This,float Degrees,float x,float y) { | 
|  | return This->lpVtbl->Rotate(This,Degrees,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Shear(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) { | 
|  | return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_ScaleTransform(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) { | 
|  | return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_Clip(IInkStrokes* This,IInkRectangle *Rectangle) { | 
|  | return This->lpVtbl->Clip(This,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkStrokes_RemoveRecognitionResult(IInkStrokes* This) { | 
|  | return This->lpVtbl->RemoveRecognitionResult(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkStrokes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkRenderer interface | 
|  | */ | 
|  | #ifndef __IInkRenderer_INTERFACE_DEFINED__ | 
|  | #define __IInkRenderer_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("e6257a9c-b511-4f4c-a8b0-a7dbc9506b83") | 
|  | IInkRenderer : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetViewTransform( | 
|  | IInkTransform *ViewTransform) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetViewTransform( | 
|  | IInkTransform *ViewTransform) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetObjectTransform( | 
|  | IInkTransform *ObjectTransform) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetObjectTransform( | 
|  | IInkTransform *ObjectTransform) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Draw( | 
|  | LONG_PTR hDC, | 
|  | IInkStrokes *Strokes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DrawStroke( | 
|  | LONG_PTR hDC, | 
|  | IInkStrokeDisp *Stroke, | 
|  | IInkDrawingAttributes *DrawingAttributes = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PixelToInkSpace( | 
|  | LONG_PTR hDC, | 
|  | LONG *x, | 
|  | LONG *y) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixel( | 
|  | LONG_PTR hdcDisplay, | 
|  | LONG *x, | 
|  | LONG *y) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PixelToInkSpaceFromPoints( | 
|  | LONG_PTR hDC, | 
|  | VARIANT *Points) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixelFromPoints( | 
|  | LONG_PTR hDC, | 
|  | VARIANT *Points) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Measure( | 
|  | IInkStrokes *Strokes, | 
|  | IInkRectangle **Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE MeasureStroke( | 
|  | IInkStrokeDisp *Stroke, | 
|  | IInkDrawingAttributes *DrawingAttributes, | 
|  | IInkRectangle **Rectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Move( | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Rotate( | 
|  | float Degrees, | 
|  | float x = 0, | 
|  | float y = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ScaleTransform( | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier, | 
|  | VARIANT_BOOL ApplyOnPenWidth = -1) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkRendererVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkRenderer *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkRenderer *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkRenderer *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkRenderer *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkRenderer *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkRenderer *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkRenderer *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkRenderer methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetViewTransform)( | 
|  | IInkRenderer *This, | 
|  | IInkTransform *ViewTransform); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetViewTransform)( | 
|  | IInkRenderer *This, | 
|  | IInkTransform *ViewTransform); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetObjectTransform)( | 
|  | IInkRenderer *This, | 
|  | IInkTransform *ObjectTransform); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetObjectTransform)( | 
|  | IInkRenderer *This, | 
|  | IInkTransform *ObjectTransform); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Draw)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hDC, | 
|  | IInkStrokes *Strokes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DrawStroke)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hDC, | 
|  | IInkStrokeDisp *Stroke, | 
|  | IInkDrawingAttributes *DrawingAttributes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PixelToInkSpace)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hDC, | 
|  | LONG *x, | 
|  | LONG *y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InkSpaceToPixel)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hdcDisplay, | 
|  | LONG *x, | 
|  | LONG *y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PixelToInkSpaceFromPoints)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hDC, | 
|  | VARIANT *Points); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InkSpaceToPixelFromPoints)( | 
|  | IInkRenderer *This, | 
|  | LONG_PTR hDC, | 
|  | VARIANT *Points); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Measure)( | 
|  | IInkRenderer *This, | 
|  | IInkStrokes *Strokes, | 
|  | IInkRectangle **Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *MeasureStroke)( | 
|  | IInkRenderer *This, | 
|  | IInkStrokeDisp *Stroke, | 
|  | IInkDrawingAttributes *DrawingAttributes, | 
|  | IInkRectangle **Rectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Move)( | 
|  | IInkRenderer *This, | 
|  | float HorizontalComponent, | 
|  | float VerticalComponent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Rotate)( | 
|  | IInkRenderer *This, | 
|  | float Degrees, | 
|  | float x, | 
|  | float y); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ScaleTransform)( | 
|  | IInkRenderer *This, | 
|  | float HorizontalMultiplier, | 
|  | float VerticalMultiplier, | 
|  | VARIANT_BOOL ApplyOnPenWidth); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkRendererVtbl; | 
|  |  | 
|  | interface IInkRenderer { | 
|  | CONST_VTBL IInkRendererVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkRenderer_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkRenderer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkRenderer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkRenderer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkRenderer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkRenderer methods ***/ | 
|  | #define IInkRenderer_GetViewTransform(This,ViewTransform) (This)->lpVtbl->GetViewTransform(This,ViewTransform) | 
|  | #define IInkRenderer_SetViewTransform(This,ViewTransform) (This)->lpVtbl->SetViewTransform(This,ViewTransform) | 
|  | #define IInkRenderer_GetObjectTransform(This,ObjectTransform) (This)->lpVtbl->GetObjectTransform(This,ObjectTransform) | 
|  | #define IInkRenderer_SetObjectTransform(This,ObjectTransform) (This)->lpVtbl->SetObjectTransform(This,ObjectTransform) | 
|  | #define IInkRenderer_Draw(This,hDC,Strokes) (This)->lpVtbl->Draw(This,hDC,Strokes) | 
|  | #define IInkRenderer_DrawStroke(This,hDC,Stroke,DrawingAttributes) (This)->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes) | 
|  | #define IInkRenderer_PixelToInkSpace(This,hDC,x,y) (This)->lpVtbl->PixelToInkSpace(This,hDC,x,y) | 
|  | #define IInkRenderer_InkSpaceToPixel(This,hdcDisplay,x,y) (This)->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y) | 
|  | #define IInkRenderer_PixelToInkSpaceFromPoints(This,hDC,Points) (This)->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points) | 
|  | #define IInkRenderer_InkSpaceToPixelFromPoints(This,hDC,Points) (This)->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points) | 
|  | #define IInkRenderer_Measure(This,Strokes,Rectangle) (This)->lpVtbl->Measure(This,Strokes,Rectangle) | 
|  | #define IInkRenderer_MeasureStroke(This,Stroke,DrawingAttributes,Rectangle) (This)->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle) | 
|  | #define IInkRenderer_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent) | 
|  | #define IInkRenderer_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y) | 
|  | #define IInkRenderer_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRenderer_QueryInterface(IInkRenderer* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRenderer_AddRef(IInkRenderer* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkRenderer_Release(IInkRenderer* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRenderer_GetTypeInfoCount(IInkRenderer* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_GetTypeInfo(IInkRenderer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_GetIDsOfNames(IInkRenderer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_Invoke(IInkRenderer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkRenderer methods ***/ | 
|  | static FORCEINLINE HRESULT IInkRenderer_GetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) { | 
|  | return This->lpVtbl->GetViewTransform(This,ViewTransform); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_SetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) { | 
|  | return This->lpVtbl->SetViewTransform(This,ViewTransform); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_GetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) { | 
|  | return This->lpVtbl->GetObjectTransform(This,ObjectTransform); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_SetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) { | 
|  | return This->lpVtbl->SetObjectTransform(This,ObjectTransform); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_Draw(IInkRenderer* This,LONG_PTR hDC,IInkStrokes *Strokes) { | 
|  | return This->lpVtbl->Draw(This,hDC,Strokes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_DrawStroke(IInkRenderer* This,LONG_PTR hDC,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes) { | 
|  | return This->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpace(IInkRenderer* This,LONG_PTR hDC,LONG *x,LONG *y) { | 
|  | return This->lpVtbl->PixelToInkSpace(This,hDC,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixel(IInkRenderer* This,LONG_PTR hdcDisplay,LONG *x,LONG *y) { | 
|  | return This->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpaceFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) { | 
|  | return This->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixelFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) { | 
|  | return This->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_Measure(IInkRenderer* This,IInkStrokes *Strokes,IInkRectangle **Rectangle) { | 
|  | return This->lpVtbl->Measure(This,Strokes,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_MeasureStroke(IInkRenderer* This,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes,IInkRectangle **Rectangle) { | 
|  | return This->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_Move(IInkRenderer* This,float HorizontalComponent,float VerticalComponent) { | 
|  | return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_Rotate(IInkRenderer* This,float Degrees,float x,float y) { | 
|  | return This->lpVtbl->Rotate(This,Degrees,x,y); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkRenderer_ScaleTransform(IInkRenderer* This,float HorizontalMultiplier,float VerticalMultiplier,VARIANT_BOOL ApplyOnPenWidth) { | 
|  | return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkRenderer_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCursors interface | 
|  | */ | 
|  | #ifndef __IInkCursors_INTERFACE_DEFINED__ | 
|  | #define __IInkCursors_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a248c1ac-c698-4e06-9e5c-d57f77c7e647") | 
|  | IInkCursors : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Count( | 
|  | LONG *Count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get__NewEnum( | 
|  | IUnknown **_NewEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Item( | 
|  | LONG Index, | 
|  | IInkCursor **Cursor) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCursorsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCursors *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCursors *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCursors *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCursors *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCursors *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCursors *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCursors *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCursors methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Count)( | 
|  | IInkCursors *This, | 
|  | LONG *Count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get__NewEnum)( | 
|  | IInkCursors *This, | 
|  | IUnknown **_NewEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Item)( | 
|  | IInkCursors *This, | 
|  | LONG Index, | 
|  | IInkCursor **Cursor); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCursorsVtbl; | 
|  |  | 
|  | interface IInkCursors { | 
|  | CONST_VTBL IInkCursorsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCursors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCursors_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCursors_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCursors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCursors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCursors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCursors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCursors methods ***/ | 
|  | #define IInkCursors_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) | 
|  | #define IInkCursors_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum) | 
|  | #define IInkCursors_Item(This,Index,Cursor) (This)->lpVtbl->Item(This,Index,Cursor) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursors_QueryInterface(IInkCursors* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursors_AddRef(IInkCursors* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCursors_Release(IInkCursors* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursors_GetTypeInfoCount(IInkCursors* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursors_GetTypeInfo(IInkCursors* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursors_GetIDsOfNames(IInkCursors* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursors_Invoke(IInkCursors* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCursors methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCursors_get_Count(IInkCursors* This,LONG *Count) { | 
|  | return This->lpVtbl->get_Count(This,Count); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursors_get__NewEnum(IInkCursors* This,IUnknown **_NewEnum) { | 
|  | return This->lpVtbl->get__NewEnum(This,_NewEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCursors_Item(IInkCursors* This,LONG Index,IInkCursor **Cursor) { | 
|  | return This->lpVtbl->Item(This,Index,Cursor); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCursors_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IInkCollector interface | 
|  | */ | 
|  | #ifndef __IInkCollector_INTERFACE_DEFINED__ | 
|  | #define __IInkCollector_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("f0f060b5-8b1f-4a7c-89ec-880692588a4f") | 
|  | IInkCollector : public IDispatch | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_hWnd( | 
|  | LONG_PTR *CurrentWindow) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_hWnd( | 
|  | LONG_PTR NewWindow) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Enabled( | 
|  | VARIANT_BOOL *Collecting) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Enabled( | 
|  | VARIANT_BOOL Collecting) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_DefaultDrawingAttributes( | 
|  | IInkDrawingAttributes **CurrentAttributes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_DefaultDrawingAttributes( | 
|  | IInkDrawingAttributes *NewAttributes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Renderer( | 
|  | IInkRenderer **CurrentInkRenderer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_Renderer( | 
|  | IInkRenderer *NewInkRenderer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Ink( | 
|  | IInkDisp **Ink) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_Ink( | 
|  | IInkDisp *NewInk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_AutoRedraw( | 
|  | VARIANT_BOOL *AutoRedraw) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_AutoRedraw( | 
|  | VARIANT_BOOL AutoRedraw) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CollectingInk( | 
|  | VARIANT_BOOL *Collecting) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CollectionMode( | 
|  | InkCollectionMode *Mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_CollectionMode( | 
|  | InkCollectionMode Mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_DynamicRendering( | 
|  | VARIANT_BOOL *Enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_DynamicRendering( | 
|  | VARIANT_BOOL Enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_DesiredPacketDescription( | 
|  | VARIANT *PacketGuids) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_DesiredPacketDescription( | 
|  | VARIANT PacketGuids) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_MouseIcon( | 
|  | IPictureDisp **MouseIcon) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_MouseIcon( | 
|  | IPictureDisp *MouseIcon) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE putref_MouseIcon( | 
|  | IPictureDisp *MouseIcon) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_MousePointer( | 
|  | InkMousePointer *MousePointer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_MousePointer( | 
|  | InkMousePointer MousePointer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Cursors( | 
|  | IInkCursors **Cursors) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_MarginX( | 
|  | LONG *MarginX) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_MarginX( | 
|  | LONG MarginX) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_MarginY( | 
|  | LONG *MarginY) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_MarginY( | 
|  | LONG MarginY) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Tablet( | 
|  | IInkTablet **SingleTablet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_SupportHighContrastInk( | 
|  | VARIANT_BOOL *Support) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_SupportHighContrastInk( | 
|  | VARIANT_BOOL Support) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGestureStatus( | 
|  | InkApplicationGesture Gesture, | 
|  | VARIANT_BOOL Listen) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGestureStatus( | 
|  | InkApplicationGesture Gesture, | 
|  | VARIANT_BOOL *Listening) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetWindowInputRectangle( | 
|  | IInkRectangle **WindowInputRectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetWindowInputRectangle( | 
|  | IInkRectangle *WindowInputRectangle) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetAllTabletsMode( | 
|  | VARIANT_BOOL UseMouseForInput = -1) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSingleTabletIntegratedMode( | 
|  | IInkTablet *Tablet) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEventInterest( | 
|  | InkCollectorEventInterest EventId, | 
|  | VARIANT_BOOL *Listen) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEventInterest( | 
|  | InkCollectorEventInterest EventId, | 
|  | VARIANT_BOOL Listen) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IInkCollectorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IInkCollector *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IInkCollector *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IInkCollector *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | IInkCollector *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | IInkCollector *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | IInkCollector *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | IInkCollector *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | /*** IInkCollector methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_hWnd)( | 
|  | IInkCollector *This, | 
|  | LONG_PTR *CurrentWindow); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_hWnd)( | 
|  | IInkCollector *This, | 
|  | LONG_PTR NewWindow); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Enabled)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL *Collecting); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Enabled)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL Collecting); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_DefaultDrawingAttributes)( | 
|  | IInkCollector *This, | 
|  | IInkDrawingAttributes **CurrentAttributes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_DefaultDrawingAttributes)( | 
|  | IInkCollector *This, | 
|  | IInkDrawingAttributes *NewAttributes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Renderer)( | 
|  | IInkCollector *This, | 
|  | IInkRenderer **CurrentInkRenderer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_Renderer)( | 
|  | IInkCollector *This, | 
|  | IInkRenderer *NewInkRenderer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Ink)( | 
|  | IInkCollector *This, | 
|  | IInkDisp **Ink); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_Ink)( | 
|  | IInkCollector *This, | 
|  | IInkDisp *NewInk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_AutoRedraw)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL *AutoRedraw); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_AutoRedraw)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL AutoRedraw); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CollectingInk)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL *Collecting); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CollectionMode)( | 
|  | IInkCollector *This, | 
|  | InkCollectionMode *Mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_CollectionMode)( | 
|  | IInkCollector *This, | 
|  | InkCollectionMode Mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_DynamicRendering)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL *Enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_DynamicRendering)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL Enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_DesiredPacketDescription)( | 
|  | IInkCollector *This, | 
|  | VARIANT *PacketGuids); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_DesiredPacketDescription)( | 
|  | IInkCollector *This, | 
|  | VARIANT PacketGuids); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_MouseIcon)( | 
|  | IInkCollector *This, | 
|  | IPictureDisp **MouseIcon); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_MouseIcon)( | 
|  | IInkCollector *This, | 
|  | IPictureDisp *MouseIcon); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *putref_MouseIcon)( | 
|  | IInkCollector *This, | 
|  | IPictureDisp *MouseIcon); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_MousePointer)( | 
|  | IInkCollector *This, | 
|  | InkMousePointer *MousePointer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_MousePointer)( | 
|  | IInkCollector *This, | 
|  | InkMousePointer MousePointer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Cursors)( | 
|  | IInkCollector *This, | 
|  | IInkCursors **Cursors); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_MarginX)( | 
|  | IInkCollector *This, | 
|  | LONG *MarginX); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_MarginX)( | 
|  | IInkCollector *This, | 
|  | LONG MarginX); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_MarginY)( | 
|  | IInkCollector *This, | 
|  | LONG *MarginY); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_MarginY)( | 
|  | IInkCollector *This, | 
|  | LONG MarginY); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Tablet)( | 
|  | IInkCollector *This, | 
|  | IInkTablet **SingleTablet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_SupportHighContrastInk)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL *Support); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_SupportHighContrastInk)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL Support); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGestureStatus)( | 
|  | IInkCollector *This, | 
|  | InkApplicationGesture Gesture, | 
|  | VARIANT_BOOL Listen); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGestureStatus)( | 
|  | IInkCollector *This, | 
|  | InkApplicationGesture Gesture, | 
|  | VARIANT_BOOL *Listening); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetWindowInputRectangle)( | 
|  | IInkCollector *This, | 
|  | IInkRectangle **WindowInputRectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetWindowInputRectangle)( | 
|  | IInkCollector *This, | 
|  | IInkRectangle *WindowInputRectangle); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetAllTabletsMode)( | 
|  | IInkCollector *This, | 
|  | VARIANT_BOOL UseMouseForInput); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSingleTabletIntegratedMode)( | 
|  | IInkCollector *This, | 
|  | IInkTablet *Tablet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEventInterest)( | 
|  | IInkCollector *This, | 
|  | InkCollectorEventInterest EventId, | 
|  | VARIANT_BOOL *Listen); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEventInterest)( | 
|  | IInkCollector *This, | 
|  | InkCollectorEventInterest EventId, | 
|  | VARIANT_BOOL Listen); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IInkCollectorVtbl; | 
|  |  | 
|  | interface IInkCollector { | 
|  | CONST_VTBL IInkCollectorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IInkCollector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IInkCollector_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IInkCollector_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define IInkCollector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define IInkCollector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define IInkCollector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define IInkCollector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | /*** IInkCollector methods ***/ | 
|  | #define IInkCollector_get_hWnd(This,CurrentWindow) (This)->lpVtbl->get_hWnd(This,CurrentWindow) | 
|  | #define IInkCollector_put_hWnd(This,NewWindow) (This)->lpVtbl->put_hWnd(This,NewWindow) | 
|  | #define IInkCollector_get_Enabled(This,Collecting) (This)->lpVtbl->get_Enabled(This,Collecting) | 
|  | #define IInkCollector_put_Enabled(This,Collecting) (This)->lpVtbl->put_Enabled(This,Collecting) | 
|  | #define IInkCollector_get_DefaultDrawingAttributes(This,CurrentAttributes) (This)->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes) | 
|  | #define IInkCollector_putref_DefaultDrawingAttributes(This,NewAttributes) (This)->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes) | 
|  | #define IInkCollector_get_Renderer(This,CurrentInkRenderer) (This)->lpVtbl->get_Renderer(This,CurrentInkRenderer) | 
|  | #define IInkCollector_putref_Renderer(This,NewInkRenderer) (This)->lpVtbl->putref_Renderer(This,NewInkRenderer) | 
|  | #define IInkCollector_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink) | 
|  | #define IInkCollector_putref_Ink(This,NewInk) (This)->lpVtbl->putref_Ink(This,NewInk) | 
|  | #define IInkCollector_get_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->get_AutoRedraw(This,AutoRedraw) | 
|  | #define IInkCollector_put_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->put_AutoRedraw(This,AutoRedraw) | 
|  | #define IInkCollector_get_CollectingInk(This,Collecting) (This)->lpVtbl->get_CollectingInk(This,Collecting) | 
|  | #define IInkCollector_get_CollectionMode(This,Mode) (This)->lpVtbl->get_CollectionMode(This,Mode) | 
|  | #define IInkCollector_put_CollectionMode(This,Mode) (This)->lpVtbl->put_CollectionMode(This,Mode) | 
|  | #define IInkCollector_get_DynamicRendering(This,Enabled) (This)->lpVtbl->get_DynamicRendering(This,Enabled) | 
|  | #define IInkCollector_put_DynamicRendering(This,Enabled) (This)->lpVtbl->put_DynamicRendering(This,Enabled) | 
|  | #define IInkCollector_get_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->get_DesiredPacketDescription(This,PacketGuids) | 
|  | #define IInkCollector_put_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->put_DesiredPacketDescription(This,PacketGuids) | 
|  | #define IInkCollector_get_MouseIcon(This,MouseIcon) (This)->lpVtbl->get_MouseIcon(This,MouseIcon) | 
|  | #define IInkCollector_put_MouseIcon(This,MouseIcon) (This)->lpVtbl->put_MouseIcon(This,MouseIcon) | 
|  | #define IInkCollector_putref_MouseIcon(This,MouseIcon) (This)->lpVtbl->putref_MouseIcon(This,MouseIcon) | 
|  | #define IInkCollector_get_MousePointer(This,MousePointer) (This)->lpVtbl->get_MousePointer(This,MousePointer) | 
|  | #define IInkCollector_put_MousePointer(This,MousePointer) (This)->lpVtbl->put_MousePointer(This,MousePointer) | 
|  | #define IInkCollector_get_Cursors(This,Cursors) (This)->lpVtbl->get_Cursors(This,Cursors) | 
|  | #define IInkCollector_get_MarginX(This,MarginX) (This)->lpVtbl->get_MarginX(This,MarginX) | 
|  | #define IInkCollector_put_MarginX(This,MarginX) (This)->lpVtbl->put_MarginX(This,MarginX) | 
|  | #define IInkCollector_get_MarginY(This,MarginY) (This)->lpVtbl->get_MarginY(This,MarginY) | 
|  | #define IInkCollector_put_MarginY(This,MarginY) (This)->lpVtbl->put_MarginY(This,MarginY) | 
|  | #define IInkCollector_get_Tablet(This,SingleTablet) (This)->lpVtbl->get_Tablet(This,SingleTablet) | 
|  | #define IInkCollector_get_SupportHighContrastInk(This,Support) (This)->lpVtbl->get_SupportHighContrastInk(This,Support) | 
|  | #define IInkCollector_put_SupportHighContrastInk(This,Support) (This)->lpVtbl->put_SupportHighContrastInk(This,Support) | 
|  | #define IInkCollector_SetGestureStatus(This,Gesture,Listen) (This)->lpVtbl->SetGestureStatus(This,Gesture,Listen) | 
|  | #define IInkCollector_GetGestureStatus(This,Gesture,Listening) (This)->lpVtbl->GetGestureStatus(This,Gesture,Listening) | 
|  | #define IInkCollector_GetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle) | 
|  | #define IInkCollector_SetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle) | 
|  | #define IInkCollector_SetAllTabletsMode(This,UseMouseForInput) (This)->lpVtbl->SetAllTabletsMode(This,UseMouseForInput) | 
|  | #define IInkCollector_SetSingleTabletIntegratedMode(This,Tablet) (This)->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet) | 
|  | #define IInkCollector_GetEventInterest(This,EventId,Listen) (This)->lpVtbl->GetEventInterest(This,EventId,Listen) | 
|  | #define IInkCollector_SetEventInterest(This,EventId,Listen) (This)->lpVtbl->SetEventInterest(This,EventId,Listen) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCollector_QueryInterface(IInkCollector* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCollector_AddRef(IInkCollector* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IInkCollector_Release(IInkCollector* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCollector_GetTypeInfoCount(IInkCollector* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_GetTypeInfo(IInkCollector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_GetIDsOfNames(IInkCollector* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_Invoke(IInkCollector* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | /*** IInkCollector methods ***/ | 
|  | static FORCEINLINE HRESULT IInkCollector_get_hWnd(IInkCollector* This,LONG_PTR *CurrentWindow) { | 
|  | return This->lpVtbl->get_hWnd(This,CurrentWindow); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_hWnd(IInkCollector* This,LONG_PTR NewWindow) { | 
|  | return This->lpVtbl->put_hWnd(This,NewWindow); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_Enabled(IInkCollector* This,VARIANT_BOOL *Collecting) { | 
|  | return This->lpVtbl->get_Enabled(This,Collecting); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_Enabled(IInkCollector* This,VARIANT_BOOL Collecting) { | 
|  | return This->lpVtbl->put_Enabled(This,Collecting); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes **CurrentAttributes) { | 
|  | return This->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_putref_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes *NewAttributes) { | 
|  | return This->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_Renderer(IInkCollector* This,IInkRenderer **CurrentInkRenderer) { | 
|  | return This->lpVtbl->get_Renderer(This,CurrentInkRenderer); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_putref_Renderer(IInkCollector* This,IInkRenderer *NewInkRenderer) { | 
|  | return This->lpVtbl->putref_Renderer(This,NewInkRenderer); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_Ink(IInkCollector* This,IInkDisp **Ink) { | 
|  | return This->lpVtbl->get_Ink(This,Ink); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_putref_Ink(IInkCollector* This,IInkDisp *NewInk) { | 
|  | return This->lpVtbl->putref_Ink(This,NewInk); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_AutoRedraw(IInkCollector* This,VARIANT_BOOL *AutoRedraw) { | 
|  | return This->lpVtbl->get_AutoRedraw(This,AutoRedraw); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_AutoRedraw(IInkCollector* This,VARIANT_BOOL AutoRedraw) { | 
|  | return This->lpVtbl->put_AutoRedraw(This,AutoRedraw); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_CollectingInk(IInkCollector* This,VARIANT_BOOL *Collecting) { | 
|  | return This->lpVtbl->get_CollectingInk(This,Collecting); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_CollectionMode(IInkCollector* This,InkCollectionMode *Mode) { | 
|  | return This->lpVtbl->get_CollectionMode(This,Mode); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_CollectionMode(IInkCollector* This,InkCollectionMode Mode) { | 
|  | return This->lpVtbl->put_CollectionMode(This,Mode); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_DynamicRendering(IInkCollector* This,VARIANT_BOOL *Enabled) { | 
|  | return This->lpVtbl->get_DynamicRendering(This,Enabled); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_DynamicRendering(IInkCollector* This,VARIANT_BOOL Enabled) { | 
|  | return This->lpVtbl->put_DynamicRendering(This,Enabled); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_DesiredPacketDescription(IInkCollector* This,VARIANT *PacketGuids) { | 
|  | return This->lpVtbl->get_DesiredPacketDescription(This,PacketGuids); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_DesiredPacketDescription(IInkCollector* This,VARIANT PacketGuids) { | 
|  | return This->lpVtbl->put_DesiredPacketDescription(This,PacketGuids); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_MouseIcon(IInkCollector* This,IPictureDisp **MouseIcon) { | 
|  | return This->lpVtbl->get_MouseIcon(This,MouseIcon); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) { | 
|  | return This->lpVtbl->put_MouseIcon(This,MouseIcon); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_putref_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) { | 
|  | return This->lpVtbl->putref_MouseIcon(This,MouseIcon); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_MousePointer(IInkCollector* This,InkMousePointer *MousePointer) { | 
|  | return This->lpVtbl->get_MousePointer(This,MousePointer); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_MousePointer(IInkCollector* This,InkMousePointer MousePointer) { | 
|  | return This->lpVtbl->put_MousePointer(This,MousePointer); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_Cursors(IInkCollector* This,IInkCursors **Cursors) { | 
|  | return This->lpVtbl->get_Cursors(This,Cursors); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_MarginX(IInkCollector* This,LONG *MarginX) { | 
|  | return This->lpVtbl->get_MarginX(This,MarginX); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_MarginX(IInkCollector* This,LONG MarginX) { | 
|  | return This->lpVtbl->put_MarginX(This,MarginX); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_MarginY(IInkCollector* This,LONG *MarginY) { | 
|  | return This->lpVtbl->get_MarginY(This,MarginY); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_MarginY(IInkCollector* This,LONG MarginY) { | 
|  | return This->lpVtbl->put_MarginY(This,MarginY); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_Tablet(IInkCollector* This,IInkTablet **SingleTablet) { | 
|  | return This->lpVtbl->get_Tablet(This,SingleTablet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_get_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL *Support) { | 
|  | return This->lpVtbl->get_SupportHighContrastInk(This,Support); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_put_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL Support) { | 
|  | return This->lpVtbl->put_SupportHighContrastInk(This,Support); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_SetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL Listen) { | 
|  | return This->lpVtbl->SetGestureStatus(This,Gesture,Listen); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_GetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL *Listening) { | 
|  | return This->lpVtbl->GetGestureStatus(This,Gesture,Listening); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_GetWindowInputRectangle(IInkCollector* This,IInkRectangle **WindowInputRectangle) { | 
|  | return This->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_SetWindowInputRectangle(IInkCollector* This,IInkRectangle *WindowInputRectangle) { | 
|  | return This->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_SetAllTabletsMode(IInkCollector* This,VARIANT_BOOL UseMouseForInput) { | 
|  | return This->lpVtbl->SetAllTabletsMode(This,UseMouseForInput); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_SetSingleTabletIntegratedMode(IInkCollector* This,IInkTablet *Tablet) { | 
|  | return This->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_GetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL *Listen) { | 
|  | return This->lpVtbl->GetEventInterest(This,EventId,Listen); | 
|  | } | 
|  | static FORCEINLINE HRESULT IInkCollector_SetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL Listen) { | 
|  | return This->lpVtbl->SetEventInterest(This,EventId,Listen); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IInkCollector_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * _IInkCollectorEvents dispinterface | 
|  | */ | 
|  | #ifndef ___IInkCollectorEvents_DISPINTERFACE_DEFINED__ | 
|  | #define ___IInkCollectorEvents_DISPINTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(DIID__IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("11a583f2-712d-4fea-abcf-ab4af38ea06b") | 
|  | _IInkCollectorEvents : public IDispatch | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(_IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b) | 
|  | #endif | 
|  | #else | 
|  | typedef struct _IInkCollectorEventsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | _IInkCollectorEvents *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | _IInkCollectorEvents *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | _IInkCollectorEvents *This); | 
|  |  | 
|  | /*** IDispatch methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( | 
|  | _IInkCollectorEvents *This, | 
|  | UINT *pctinfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( | 
|  | _IInkCollectorEvents *This, | 
|  | UINT iTInfo, | 
|  | LCID lcid, | 
|  | ITypeInfo **ppTInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( | 
|  | _IInkCollectorEvents *This, | 
|  | REFIID riid, | 
|  | LPOLESTR *rgszNames, | 
|  | UINT cNames, | 
|  | LCID lcid, | 
|  | DISPID *rgDispId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Invoke)( | 
|  | _IInkCollectorEvents *This, | 
|  | DISPID dispIdMember, | 
|  | REFIID riid, | 
|  | LCID lcid, | 
|  | WORD wFlags, | 
|  | DISPPARAMS *pDispParams, | 
|  | VARIANT *pVarResult, | 
|  | EXCEPINFO *pExcepInfo, | 
|  | UINT *puArgErr); | 
|  |  | 
|  | END_INTERFACE | 
|  | } _IInkCollectorEventsVtbl; | 
|  |  | 
|  | interface _IInkCollectorEvents { | 
|  | CONST_VTBL _IInkCollectorEventsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define _IInkCollectorEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define _IInkCollectorEvents_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define _IInkCollectorEvents_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IDispatch methods ***/ | 
|  | #define _IInkCollectorEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) | 
|  | #define _IInkCollectorEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) | 
|  | #define _IInkCollectorEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) | 
|  | #define _IInkCollectorEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT _IInkCollectorEvents_QueryInterface(_IInkCollectorEvents* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG _IInkCollectorEvents_AddRef(_IInkCollectorEvents* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG _IInkCollectorEvents_Release(_IInkCollectorEvents* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IDispatch methods ***/ | 
|  | static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfoCount(_IInkCollectorEvents* This,UINT *pctinfo) { | 
|  | return This->lpVtbl->GetTypeInfoCount(This,pctinfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfo(_IInkCollectorEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { | 
|  | return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); | 
|  | } | 
|  | static FORCEINLINE HRESULT _IInkCollectorEvents_GetIDsOfNames(_IInkCollectorEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { | 
|  | return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); | 
|  | } | 
|  | static FORCEINLINE HRESULT _IInkCollectorEvents_Invoke(_IInkCollectorEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { | 
|  | return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #endif  /* ___IInkCollectorEvents_DISPINTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * InkCollector coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("43fb1553-ad74-4ee8-88e4-3e6daac915db") InkCollector; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
|  | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
|  | ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); | 
|  | void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *); | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __msinkaut_h__ */ |