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