1 /*** Autogenerated by WIDL 6.4 from include/ocidl.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __ocidl_h__
17 #define __ocidl_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IEnumConnections_FWD_DEFINED__
22 #define __IEnumConnections_FWD_DEFINED__
23 typedef interface IEnumConnections IEnumConnections;
24 #ifdef __cplusplus
25 interface IEnumConnections;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IConnectionPoint_FWD_DEFINED__
30 #define __IConnectionPoint_FWD_DEFINED__
31 typedef interface IConnectionPoint IConnectionPoint;
32 #ifdef __cplusplus
33 interface IConnectionPoint;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IEnumConnectionPoints_FWD_DEFINED__
38 #define __IEnumConnectionPoints_FWD_DEFINED__
39 typedef interface IEnumConnectionPoints IEnumConnectionPoints;
40 #ifdef __cplusplus
41 interface IEnumConnectionPoints;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __IConnectionPointContainer_FWD_DEFINED__
46 #define __IConnectionPointContainer_FWD_DEFINED__
47 typedef interface IConnectionPointContainer IConnectionPointContainer;
48 #ifdef __cplusplus
49 interface IConnectionPointContainer;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __IClassFactory2_FWD_DEFINED__
54 #define __IClassFactory2_FWD_DEFINED__
55 typedef interface IClassFactory2 IClassFactory2;
56 #ifdef __cplusplus
57 interface IClassFactory2;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __IProvideClassInfo_FWD_DEFINED__
62 #define __IProvideClassInfo_FWD_DEFINED__
63 typedef interface IProvideClassInfo IProvideClassInfo;
64 #ifdef __cplusplus
65 interface IProvideClassInfo;
66 #endif /* __cplusplus */
67 #endif
68 
69 #ifndef __IProvideClassInfo2_FWD_DEFINED__
70 #define __IProvideClassInfo2_FWD_DEFINED__
71 typedef interface IProvideClassInfo2 IProvideClassInfo2;
72 #ifdef __cplusplus
73 interface IProvideClassInfo2;
74 #endif /* __cplusplus */
75 #endif
76 
77 #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
78 #define __IProvideMultipleClassInfo_FWD_DEFINED__
79 typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
80 #ifdef __cplusplus
81 interface IProvideMultipleClassInfo;
82 #endif /* __cplusplus */
83 #endif
84 
85 #ifndef __IOleControl_FWD_DEFINED__
86 #define __IOleControl_FWD_DEFINED__
87 typedef interface IOleControl IOleControl;
88 #ifdef __cplusplus
89 interface IOleControl;
90 #endif /* __cplusplus */
91 #endif
92 
93 #ifndef __IOleControlSite_FWD_DEFINED__
94 #define __IOleControlSite_FWD_DEFINED__
95 typedef interface IOleControlSite IOleControlSite;
96 #ifdef __cplusplus
97 interface IOleControlSite;
98 #endif /* __cplusplus */
99 #endif
100 
101 #ifndef __IPropertyPage_FWD_DEFINED__
102 #define __IPropertyPage_FWD_DEFINED__
103 typedef interface IPropertyPage IPropertyPage;
104 #ifdef __cplusplus
105 interface IPropertyPage;
106 #endif /* __cplusplus */
107 #endif
108 
109 #ifndef __IPropertyPage2_FWD_DEFINED__
110 #define __IPropertyPage2_FWD_DEFINED__
111 typedef interface IPropertyPage2 IPropertyPage2;
112 #ifdef __cplusplus
113 interface IPropertyPage2;
114 #endif /* __cplusplus */
115 #endif
116 
117 #ifndef __IPropertyPageSite_FWD_DEFINED__
118 #define __IPropertyPageSite_FWD_DEFINED__
119 typedef interface IPropertyPageSite IPropertyPageSite;
120 #ifdef __cplusplus
121 interface IPropertyPageSite;
122 #endif /* __cplusplus */
123 #endif
124 
125 #ifndef __IPropertyNotifySink_FWD_DEFINED__
126 #define __IPropertyNotifySink_FWD_DEFINED__
127 typedef interface IPropertyNotifySink IPropertyNotifySink;
128 #ifdef __cplusplus
129 interface IPropertyNotifySink;
130 #endif /* __cplusplus */
131 #endif
132 
133 #ifndef __ISpecifyPropertyPages_FWD_DEFINED__
134 #define __ISpecifyPropertyPages_FWD_DEFINED__
135 typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
136 #ifdef __cplusplus
137 interface ISpecifyPropertyPages;
138 #endif /* __cplusplus */
139 #endif
140 
141 #ifndef __IPersistMemory_FWD_DEFINED__
142 #define __IPersistMemory_FWD_DEFINED__
143 typedef interface IPersistMemory IPersistMemory;
144 #ifdef __cplusplus
145 interface IPersistMemory;
146 #endif /* __cplusplus */
147 #endif
148 
149 #ifndef __IPersistStreamInit_FWD_DEFINED__
150 #define __IPersistStreamInit_FWD_DEFINED__
151 typedef interface IPersistStreamInit IPersistStreamInit;
152 #ifdef __cplusplus
153 interface IPersistStreamInit;
154 #endif /* __cplusplus */
155 #endif
156 
157 #ifndef __IPersistPropertyBag_FWD_DEFINED__
158 #define __IPersistPropertyBag_FWD_DEFINED__
159 typedef interface IPersistPropertyBag IPersistPropertyBag;
160 #ifdef __cplusplus
161 interface IPersistPropertyBag;
162 #endif /* __cplusplus */
163 #endif
164 
165 #ifndef __ISimpleFrameSite_FWD_DEFINED__
166 #define __ISimpleFrameSite_FWD_DEFINED__
167 typedef interface ISimpleFrameSite ISimpleFrameSite;
168 #ifdef __cplusplus
169 interface ISimpleFrameSite;
170 #endif /* __cplusplus */
171 #endif
172 
173 #ifndef __IFont_FWD_DEFINED__
174 #define __IFont_FWD_DEFINED__
175 typedef interface IFont IFont;
176 #ifdef __cplusplus
177 interface IFont;
178 #endif /* __cplusplus */
179 #endif
180 
181 #ifndef __IPicture_FWD_DEFINED__
182 #define __IPicture_FWD_DEFINED__
183 typedef interface IPicture IPicture;
184 #ifdef __cplusplus
185 interface IPicture;
186 #endif /* __cplusplus */
187 #endif
188 
189 #ifndef __IPicture2_FWD_DEFINED__
190 #define __IPicture2_FWD_DEFINED__
191 typedef interface IPicture2 IPicture2;
192 #ifdef __cplusplus
193 interface IPicture2;
194 #endif /* __cplusplus */
195 #endif
196 
197 #ifndef __IFontEventsDisp_FWD_DEFINED__
198 #define __IFontEventsDisp_FWD_DEFINED__
199 typedef interface IFontEventsDisp IFontEventsDisp;
200 #ifdef __cplusplus
201 interface IFontEventsDisp;
202 #endif /* __cplusplus */
203 #endif
204 
205 #ifndef __IFontDisp_FWD_DEFINED__
206 #define __IFontDisp_FWD_DEFINED__
207 typedef interface IFontDisp IFontDisp;
208 #ifdef __cplusplus
209 interface IFontDisp;
210 #endif /* __cplusplus */
211 #endif
212 
213 #ifndef __IPictureDisp_FWD_DEFINED__
214 #define __IPictureDisp_FWD_DEFINED__
215 typedef interface IPictureDisp IPictureDisp;
216 #ifdef __cplusplus
217 interface IPictureDisp;
218 #endif /* __cplusplus */
219 #endif
220 
221 #ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
222 #define __IOleInPlaceObjectWindowless_FWD_DEFINED__
223 typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
224 #ifdef __cplusplus
225 interface IOleInPlaceObjectWindowless;
226 #endif /* __cplusplus */
227 #endif
228 
229 #ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
230 #define __IOleInPlaceSiteEx_FWD_DEFINED__
231 typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
232 #ifdef __cplusplus
233 interface IOleInPlaceSiteEx;
234 #endif /* __cplusplus */
235 #endif
236 
237 #ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
238 #define __IOleInPlaceSiteWindowless_FWD_DEFINED__
239 typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
240 #ifdef __cplusplus
241 interface IOleInPlaceSiteWindowless;
242 #endif /* __cplusplus */
243 #endif
244 
245 #ifndef __IViewObjectEx_FWD_DEFINED__
246 #define __IViewObjectEx_FWD_DEFINED__
247 typedef interface IViewObjectEx IViewObjectEx;
248 #ifdef __cplusplus
249 interface IViewObjectEx;
250 #endif /* __cplusplus */
251 #endif
252 
253 #ifndef __IOleUndoUnit_FWD_DEFINED__
254 #define __IOleUndoUnit_FWD_DEFINED__
255 typedef interface IOleUndoUnit IOleUndoUnit;
256 #ifdef __cplusplus
257 interface IOleUndoUnit;
258 #endif /* __cplusplus */
259 #endif
260 
261 #ifndef __IOleParentUndoUnit_FWD_DEFINED__
262 #define __IOleParentUndoUnit_FWD_DEFINED__
263 typedef interface IOleParentUndoUnit IOleParentUndoUnit;
264 #ifdef __cplusplus
265 interface IOleParentUndoUnit;
266 #endif /* __cplusplus */
267 #endif
268 
269 #ifndef __IEnumOleUndoUnits_FWD_DEFINED__
270 #define __IEnumOleUndoUnits_FWD_DEFINED__
271 typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
272 #ifdef __cplusplus
273 interface IEnumOleUndoUnits;
274 #endif /* __cplusplus */
275 #endif
276 
277 #ifndef __IOleUndoManager_FWD_DEFINED__
278 #define __IOleUndoManager_FWD_DEFINED__
279 typedef interface IOleUndoManager IOleUndoManager;
280 #ifdef __cplusplus
281 interface IOleUndoManager;
282 #endif /* __cplusplus */
283 #endif
284 
285 #ifndef __IPointerInactive_FWD_DEFINED__
286 #define __IPointerInactive_FWD_DEFINED__
287 typedef interface IPointerInactive IPointerInactive;
288 #ifdef __cplusplus
289 interface IPointerInactive;
290 #endif /* __cplusplus */
291 #endif
292 
293 #ifndef __IObjectWithSite_FWD_DEFINED__
294 #define __IObjectWithSite_FWD_DEFINED__
295 typedef interface IObjectWithSite IObjectWithSite;
296 #ifdef __cplusplus
297 interface IObjectWithSite;
298 #endif /* __cplusplus */
299 #endif
300 
301 #ifndef __IPerPropertyBrowsing_FWD_DEFINED__
302 #define __IPerPropertyBrowsing_FWD_DEFINED__
303 typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
304 #ifdef __cplusplus
305 interface IPerPropertyBrowsing;
306 #endif /* __cplusplus */
307 #endif
308 
309 #ifndef __IPropertyBag2_FWD_DEFINED__
310 #define __IPropertyBag2_FWD_DEFINED__
311 typedef interface IPropertyBag2 IPropertyBag2;
312 #ifdef __cplusplus
313 interface IPropertyBag2;
314 #endif /* __cplusplus */
315 #endif
316 
317 #ifndef __IPersistPropertyBag2_FWD_DEFINED__
318 #define __IPersistPropertyBag2_FWD_DEFINED__
319 typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
320 #ifdef __cplusplus
321 interface IPersistPropertyBag2;
322 #endif /* __cplusplus */
323 #endif
324 
325 #ifndef __IAdviseSinkEx_FWD_DEFINED__
326 #define __IAdviseSinkEx_FWD_DEFINED__
327 typedef interface IAdviseSinkEx IAdviseSinkEx;
328 #ifdef __cplusplus
329 interface IAdviseSinkEx;
330 #endif /* __cplusplus */
331 #endif
332 
333 #ifndef __IQuickActivate_FWD_DEFINED__
334 #define __IQuickActivate_FWD_DEFINED__
335 typedef interface IQuickActivate IQuickActivate;
336 #ifdef __cplusplus
337 interface IQuickActivate;
338 #endif /* __cplusplus */
339 #endif
340 
341 /* Headers for imported files */
342 
343 #include <oleidl.h>
344 #include <oaidl.h>
345 #include <oleidl.h>
346 #include <servprov.h>
347 #include <urlmon.h>
348 
349 #ifdef __cplusplus
350 extern "C" {
351 #endif
352 
353 /**
354  * This file is part of the mingw-w64 runtime package.
355  * No warranty is given; refer to the file DISCLAIMER within this package.
356  */
357 
358 #include <winapifamily.h>
359 
360 
361 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
362 #ifndef __IEnumConnections_FWD_DEFINED__
363 #define __IEnumConnections_FWD_DEFINED__
364 typedef interface IEnumConnections IEnumConnections;
365 #ifdef __cplusplus
366 interface IEnumConnections;
367 #endif /* __cplusplus */
368 #endif
369 
370 #ifndef __IEnumConnectionPoints_FWD_DEFINED__
371 #define __IEnumConnectionPoints_FWD_DEFINED__
372 typedef interface IEnumConnectionPoints IEnumConnectionPoints;
373 #ifdef __cplusplus
374 interface IEnumConnectionPoints;
375 #endif /* __cplusplus */
376 #endif
377 
378 #ifndef __IConnectionPoint_FWD_DEFINED__
379 #define __IConnectionPoint_FWD_DEFINED__
380 typedef interface IConnectionPoint IConnectionPoint;
381 #ifdef __cplusplus
382 interface IConnectionPoint;
383 #endif /* __cplusplus */
384 #endif
385 
386 #ifndef __IConnectionPointContainer_FWD_DEFINED__
387 #define __IConnectionPointContainer_FWD_DEFINED__
388 typedef interface IConnectionPointContainer IConnectionPointContainer;
389 #ifdef __cplusplus
390 interface IConnectionPointContainer;
391 #endif /* __cplusplus */
392 #endif
393 
394 #endif
395 
396 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
397 #ifndef __IBindHost_FWD_DEFINED__
398 #define __IBindHost_FWD_DEFINED__
399 typedef interface IBindHost IBindHost;
400 #ifdef __cplusplus
401 interface IBindHost;
402 #endif /* __cplusplus */
403 #endif
404 
405 #ifndef __IClassFactory2_FWD_DEFINED__
406 #define __IClassFactory2_FWD_DEFINED__
407 typedef interface IClassFactory2 IClassFactory2;
408 #ifdef __cplusplus
409 interface IClassFactory2;
410 #endif /* __cplusplus */
411 #endif
412 
413 #ifndef __IDropTarget_FWD_DEFINED__
414 #define __IDropTarget_FWD_DEFINED__
415 typedef interface IDropTarget IDropTarget;
416 #ifdef __cplusplus
417 interface IDropTarget;
418 #endif /* __cplusplus */
419 #endif
420 
421 #ifndef __IProvideClassInfo_FWD_DEFINED__
422 #define __IProvideClassInfo_FWD_DEFINED__
423 typedef interface IProvideClassInfo IProvideClassInfo;
424 #ifdef __cplusplus
425 interface IProvideClassInfo;
426 #endif /* __cplusplus */
427 #endif
428 
429 #ifndef __IProvideClassInfo2_FWD_DEFINED__
430 #define __IProvideClassInfo2_FWD_DEFINED__
431 typedef interface IProvideClassInfo2 IProvideClassInfo2;
432 #ifdef __cplusplus
433 interface IProvideClassInfo2;
434 #endif /* __cplusplus */
435 #endif
436 
437 #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
438 #define __IProvideMultipleClassInfo_FWD_DEFINED__
439 typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
440 #ifdef __cplusplus
441 interface IProvideMultipleClassInfo;
442 #endif /* __cplusplus */
443 #endif
444 
445 #ifndef __IOleClientSite_FWD_DEFINED__
446 #define __IOleClientSite_FWD_DEFINED__
447 typedef interface IOleClientSite IOleClientSite;
448 #ifdef __cplusplus
449 interface IOleClientSite;
450 #endif /* __cplusplus */
451 #endif
452 
453 #ifndef __IOleControl_FWD_DEFINED__
454 #define __IOleControl_FWD_DEFINED__
455 typedef interface IOleControl IOleControl;
456 #ifdef __cplusplus
457 interface IOleControl;
458 #endif /* __cplusplus */
459 #endif
460 
461 #ifndef __IOleControlSite_FWD_DEFINED__
462 #define __IOleControlSite_FWD_DEFINED__
463 typedef interface IOleControlSite IOleControlSite;
464 #ifdef __cplusplus
465 interface IOleControlSite;
466 #endif /* __cplusplus */
467 #endif
468 
469 #ifndef __IPropertyPage_FWD_DEFINED__
470 #define __IPropertyPage_FWD_DEFINED__
471 typedef interface IPropertyPage IPropertyPage;
472 #ifdef __cplusplus
473 interface IPropertyPage;
474 #endif /* __cplusplus */
475 #endif
476 
477 #ifndef __IPropertyPage2_FWD_DEFINED__
478 #define __IPropertyPage2_FWD_DEFINED__
479 typedef interface IPropertyPage2 IPropertyPage2;
480 #ifdef __cplusplus
481 interface IPropertyPage2;
482 #endif /* __cplusplus */
483 #endif
484 
485 #ifndef __IPropertyPageSite_FWD_DEFINED__
486 #define __IPropertyPageSite_FWD_DEFINED__
487 typedef interface IPropertyPageSite IPropertyPageSite;
488 #ifdef __cplusplus
489 interface IPropertyPageSite;
490 #endif /* __cplusplus */
491 #endif
492 
493 #ifndef __IPropertyNotifySink_FWD_DEFINED__
494 #define __IPropertyNotifySink_FWD_DEFINED__
495 typedef interface IPropertyNotifySink IPropertyNotifySink;
496 #ifdef __cplusplus
497 interface IPropertyNotifySink;
498 #endif /* __cplusplus */
499 #endif
500 
501 #ifndef __ISpecifyPropertyPages_FWD_DEFINED__
502 #define __ISpecifyPropertyPages_FWD_DEFINED__
503 typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
504 #ifdef __cplusplus
505 interface ISpecifyPropertyPages;
506 #endif /* __cplusplus */
507 #endif
508 
509 #ifndef __IPersistMemory_FWD_DEFINED__
510 #define __IPersistMemory_FWD_DEFINED__
511 typedef interface IPersistMemory IPersistMemory;
512 #ifdef __cplusplus
513 interface IPersistMemory;
514 #endif /* __cplusplus */
515 #endif
516 
517 #ifndef __IPersistStreamInit_FWD_DEFINED__
518 #define __IPersistStreamInit_FWD_DEFINED__
519 typedef interface IPersistStreamInit IPersistStreamInit;
520 #ifdef __cplusplus
521 interface IPersistStreamInit;
522 #endif /* __cplusplus */
523 #endif
524 
525 #ifndef __IPersistPropertyBag_FWD_DEFINED__
526 #define __IPersistPropertyBag_FWD_DEFINED__
527 typedef interface IPersistPropertyBag IPersistPropertyBag;
528 #ifdef __cplusplus
529 interface IPersistPropertyBag;
530 #endif /* __cplusplus */
531 #endif
532 
533 #ifndef __ISimpleFrameSite_FWD_DEFINED__
534 #define __ISimpleFrameSite_FWD_DEFINED__
535 typedef interface ISimpleFrameSite ISimpleFrameSite;
536 #ifdef __cplusplus
537 interface ISimpleFrameSite;
538 #endif /* __cplusplus */
539 #endif
540 
541 #ifndef __IFont_FWD_DEFINED__
542 #define __IFont_FWD_DEFINED__
543 typedef interface IFont IFont;
544 #ifdef __cplusplus
545 interface IFont;
546 #endif /* __cplusplus */
547 #endif
548 
549 #ifndef __IPicture_FWD_DEFINED__
550 #define __IPicture_FWD_DEFINED__
551 typedef interface IPicture IPicture;
552 #ifdef __cplusplus
553 interface IPicture;
554 #endif /* __cplusplus */
555 #endif
556 
557 #ifndef __IFontEventsDisp_FWD_DEFINED__
558 #define __IFontEventsDisp_FWD_DEFINED__
559 typedef interface IFontEventsDisp IFontEventsDisp;
560 #ifdef __cplusplus
561 interface IFontEventsDisp;
562 #endif /* __cplusplus */
563 #endif
564 
565 #ifndef __IFontDisp_FWD_DEFINED__
566 #define __IFontDisp_FWD_DEFINED__
567 typedef interface IFontDisp IFontDisp;
568 #ifdef __cplusplus
569 interface IFontDisp;
570 #endif /* __cplusplus */
571 #endif
572 
573 #ifndef __IPictureDisp_FWD_DEFINED__
574 #define __IPictureDisp_FWD_DEFINED__
575 typedef interface IPictureDisp IPictureDisp;
576 #ifdef __cplusplus
577 interface IPictureDisp;
578 #endif /* __cplusplus */
579 #endif
580 
581 #ifndef __IAdviseSinkEx_FWD_DEFINED__
582 #define __IAdviseSinkEx_FWD_DEFINED__
583 typedef interface IAdviseSinkEx IAdviseSinkEx;
584 #ifdef __cplusplus
585 interface IAdviseSinkEx;
586 #endif /* __cplusplus */
587 #endif
588 
589 #ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
590 #define __IOleInPlaceObjectWindowless_FWD_DEFINED__
591 typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
592 #ifdef __cplusplus
593 interface IOleInPlaceObjectWindowless;
594 #endif /* __cplusplus */
595 #endif
596 
597 #ifndef __IOleInPlaceSite_FWD_DEFINED__
598 #define __IOleInPlaceSite_FWD_DEFINED__
599 typedef interface IOleInPlaceSite IOleInPlaceSite;
600 #ifdef __cplusplus
601 interface IOleInPlaceSite;
602 #endif /* __cplusplus */
603 #endif
604 
605 #ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
606 #define __IOleInPlaceSiteEx_FWD_DEFINED__
607 typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
608 #ifdef __cplusplus
609 interface IOleInPlaceSiteEx;
610 #endif /* __cplusplus */
611 #endif
612 
613 #ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
614 #define __IOleInPlaceSiteWindowless_FWD_DEFINED__
615 typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
616 #ifdef __cplusplus
617 interface IOleInPlaceSiteWindowless;
618 #endif /* __cplusplus */
619 #endif
620 
621 #ifndef __IViewObject2_FWD_DEFINED__
622 #define __IViewObject2_FWD_DEFINED__
623 typedef interface IViewObject2 IViewObject2;
624 #ifdef __cplusplus
625 interface IViewObject2;
626 #endif /* __cplusplus */
627 #endif
628 
629 #ifndef __IViewObjectEx_FWD_DEFINED__
630 #define __IViewObjectEx_FWD_DEFINED__
631 typedef interface IViewObjectEx IViewObjectEx;
632 #ifdef __cplusplus
633 interface IViewObjectEx;
634 #endif /* __cplusplus */
635 #endif
636 
637 #ifndef __IOleUndoUnit_FWD_DEFINED__
638 #define __IOleUndoUnit_FWD_DEFINED__
639 typedef interface IOleUndoUnit IOleUndoUnit;
640 #ifdef __cplusplus
641 interface IOleUndoUnit;
642 #endif /* __cplusplus */
643 #endif
644 
645 #ifndef __IOleParentUndoUnit_FWD_DEFINED__
646 #define __IOleParentUndoUnit_FWD_DEFINED__
647 typedef interface IOleParentUndoUnit IOleParentUndoUnit;
648 #ifdef __cplusplus
649 interface IOleParentUndoUnit;
650 #endif /* __cplusplus */
651 #endif
652 
653 #ifndef __IEnumOleUndoUnits_FWD_DEFINED__
654 #define __IEnumOleUndoUnits_FWD_DEFINED__
655 typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
656 #ifdef __cplusplus
657 interface IEnumOleUndoUnits;
658 #endif /* __cplusplus */
659 #endif
660 
661 #ifndef __IOleUndoManager_FWD_DEFINED__
662 #define __IOleUndoManager_FWD_DEFINED__
663 typedef interface IOleUndoManager IOleUndoManager;
664 #ifdef __cplusplus
665 interface IOleUndoManager;
666 #endif /* __cplusplus */
667 #endif
668 
669 #ifndef __IPointerInactive_FWD_DEFINED__
670 #define __IPointerInactive_FWD_DEFINED__
671 typedef interface IPointerInactive IPointerInactive;
672 #ifdef __cplusplus
673 interface IPointerInactive;
674 #endif /* __cplusplus */
675 #endif
676 
677 #ifndef __IObjectWithSite_FWD_DEFINED__
678 #define __IObjectWithSite_FWD_DEFINED__
679 typedef interface IObjectWithSite IObjectWithSite;
680 #ifdef __cplusplus
681 interface IObjectWithSite;
682 #endif /* __cplusplus */
683 #endif
684 
685 #ifndef __IErrorLog_FWD_DEFINED__
686 #define __IErrorLog_FWD_DEFINED__
687 typedef interface IErrorLog IErrorLog;
688 #ifdef __cplusplus
689 interface IErrorLog;
690 #endif /* __cplusplus */
691 #endif
692 
693 #ifndef __IPropertyBag_FWD_DEFINED__
694 #define __IPropertyBag_FWD_DEFINED__
695 typedef interface IPropertyBag IPropertyBag;
696 #ifdef __cplusplus
697 interface IPropertyBag;
698 #endif /* __cplusplus */
699 #endif
700 
701 #ifndef __IPerPropertyBrowsing_FWD_DEFINED__
702 #define __IPerPropertyBrowsing_FWD_DEFINED__
703 typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
704 #ifdef __cplusplus
705 interface IPerPropertyBrowsing;
706 #endif /* __cplusplus */
707 #endif
708 
709 #ifndef __IPropertyBag2_FWD_DEFINED__
710 #define __IPropertyBag2_FWD_DEFINED__
711 typedef interface IPropertyBag2 IPropertyBag2;
712 #ifdef __cplusplus
713 interface IPropertyBag2;
714 #endif /* __cplusplus */
715 #endif
716 
717 #ifndef __IPersistPropertyBag2_FWD_DEFINED__
718 #define __IPersistPropertyBag2_FWD_DEFINED__
719 typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
720 #ifdef __cplusplus
721 interface IPersistPropertyBag2;
722 #endif /* __cplusplus */
723 #endif
724 
725 #ifndef __IQuickActivate_FWD_DEFINED__
726 #define __IQuickActivate_FWD_DEFINED__
727 typedef interface IQuickActivate IQuickActivate;
728 #ifdef __cplusplus
729 interface IQuickActivate;
730 #endif /* __cplusplus */
731 #endif
732 
733 #endif
734 
735 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
736 /*****************************************************************************
737  * IOleControlTypes interface (v1.0)
738  */
739 #ifndef __IOleControlTypes_INTERFACE_DEFINED__
740 #define __IOleControlTypes_INTERFACE_DEFINED__
741 
742 extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
743 extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
744 typedef enum tagUASFLAGS {
745     UAS_NORMAL = 0x0,
746     UAS_BLOCKED = 0x1,
747     UAS_NOPARENTENABLE = 0x2,
748     UAS_MASK = 0x3
749 } UASFLAGS;
750 
751 typedef enum tagREADYSTATE {
752     READYSTATE_UNINITIALIZED = 0,
753     READYSTATE_LOADING = 1,
754     READYSTATE_LOADED = 2,
755     READYSTATE_INTERACTIVE = 3,
756     READYSTATE_COMPLETE = 4
757 } READYSTATE;
758 
759 #endif  /* __IOleControlTypes_INTERFACE_DEFINED__ */
760 
761 #endif
762 
763 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
764 /*****************************************************************************
765  * IEnumConnections interface
766  */
767 #ifndef __IEnumConnections_INTERFACE_DEFINED__
768 #define __IEnumConnections_INTERFACE_DEFINED__
769 
770 typedef IEnumConnections *PENUMCONNECTIONS;
771 typedef IEnumConnections *LPENUMCONNECTIONS;
772 typedef struct tagCONNECTDATA {
773     IUnknown *pUnk;
774     DWORD dwCookie;
775 } CONNECTDATA;
776 
777 typedef struct tagCONNECTDATA *PCONNECTDATA;
778 typedef struct tagCONNECTDATA *LPCONNECTDATA;
779 
780 DEFINE_GUID(IID_IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
781 #if defined(__cplusplus) && !defined(CINTERFACE)
782 MIDL_INTERFACE("b196b287-bab4-101a-b69c-00aa00341d07")
783 IEnumConnections : public IUnknown
784 {
785     virtual HRESULT STDMETHODCALLTYPE Next(
786         ULONG cConnections,
787         LPCONNECTDATA rgcd,
788         ULONG *pcFetched) = 0;
789 
790     virtual HRESULT STDMETHODCALLTYPE Skip(
791         ULONG cConnections) = 0;
792 
793     virtual HRESULT STDMETHODCALLTYPE Reset(
794         ) = 0;
795 
796     virtual HRESULT STDMETHODCALLTYPE Clone(
797         IEnumConnections **ppEnum) = 0;
798 
799 };
800 #ifdef __CRT_UUID_DECL
801 __CRT_UUID_DECL(IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
802 #endif
803 #else
804 typedef struct IEnumConnectionsVtbl {
805     BEGIN_INTERFACE
806 
807     /*** IUnknown methods ***/
808     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
809         IEnumConnections *This,
810         REFIID riid,
811         void **ppvObject);
812 
813     ULONG (STDMETHODCALLTYPE *AddRef)(
814         IEnumConnections *This);
815 
816     ULONG (STDMETHODCALLTYPE *Release)(
817         IEnumConnections *This);
818 
819     /*** IEnumConnections methods ***/
820     HRESULT (STDMETHODCALLTYPE *Next)(
821         IEnumConnections *This,
822         ULONG cConnections,
823         LPCONNECTDATA rgcd,
824         ULONG *pcFetched);
825 
826     HRESULT (STDMETHODCALLTYPE *Skip)(
827         IEnumConnections *This,
828         ULONG cConnections);
829 
830     HRESULT (STDMETHODCALLTYPE *Reset)(
831         IEnumConnections *This);
832 
833     HRESULT (STDMETHODCALLTYPE *Clone)(
834         IEnumConnections *This,
835         IEnumConnections **ppEnum);
836 
837     END_INTERFACE
838 } IEnumConnectionsVtbl;
839 
840 interface IEnumConnections {
841     CONST_VTBL IEnumConnectionsVtbl* lpVtbl;
842 };
843 
844 #ifdef COBJMACROS
845 #ifndef WIDL_C_INLINE_WRAPPERS
846 /*** IUnknown methods ***/
847 #define IEnumConnections_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
848 #define IEnumConnections_AddRef(This) (This)->lpVtbl->AddRef(This)
849 #define IEnumConnections_Release(This) (This)->lpVtbl->Release(This)
850 /*** IEnumConnections methods ***/
851 #define IEnumConnections_Next(This,cConnections,rgcd,pcFetched) (This)->lpVtbl->Next(This,cConnections,rgcd,pcFetched)
852 #define IEnumConnections_Skip(This,cConnections) (This)->lpVtbl->Skip(This,cConnections)
853 #define IEnumConnections_Reset(This) (This)->lpVtbl->Reset(This)
854 #define IEnumConnections_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
855 #else
856 /*** IUnknown methods ***/
857 static FORCEINLINE HRESULT IEnumConnections_QueryInterface(IEnumConnections* This,REFIID riid,void **ppvObject) {
858     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
859 }
860 static FORCEINLINE ULONG IEnumConnections_AddRef(IEnumConnections* This) {
861     return This->lpVtbl->AddRef(This);
862 }
863 static FORCEINLINE ULONG IEnumConnections_Release(IEnumConnections* This) {
864     return This->lpVtbl->Release(This);
865 }
866 /*** IEnumConnections methods ***/
867 static FORCEINLINE HRESULT IEnumConnections_Next(IEnumConnections* This,ULONG cConnections,LPCONNECTDATA rgcd,ULONG *pcFetched) {
868     return This->lpVtbl->Next(This,cConnections,rgcd,pcFetched);
869 }
870 static FORCEINLINE HRESULT IEnumConnections_Skip(IEnumConnections* This,ULONG cConnections) {
871     return This->lpVtbl->Skip(This,cConnections);
872 }
873 static FORCEINLINE HRESULT IEnumConnections_Reset(IEnumConnections* This) {
874     return This->lpVtbl->Reset(This);
875 }
876 static FORCEINLINE HRESULT IEnumConnections_Clone(IEnumConnections* This,IEnumConnections **ppEnum) {
877     return This->lpVtbl->Clone(This,ppEnum);
878 }
879 #endif
880 #endif
881 
882 #endif
883 
884 HRESULT STDMETHODCALLTYPE IEnumConnections_RemoteNext_Proxy(
885     IEnumConnections* This,
886     ULONG cConnections,
887     LPCONNECTDATA rgcd,
888     ULONG *pcFetched);
889 void __RPC_STUB IEnumConnections_RemoteNext_Stub(
890     IRpcStubBuffer* This,
891     IRpcChannelBuffer* pRpcChannelBuffer,
892     PRPC_MESSAGE pRpcMessage,
893     DWORD* pdwStubPhase);
894 HRESULT CALLBACK IEnumConnections_Next_Proxy(
895     IEnumConnections* This,
896     ULONG cConnections,
897     LPCONNECTDATA rgcd,
898     ULONG *pcFetched);
899 HRESULT __RPC_STUB IEnumConnections_Next_Stub(
900     IEnumConnections* This,
901     ULONG cConnections,
902     LPCONNECTDATA rgcd,
903     ULONG *pcFetched);
904 
905 #endif  /* __IEnumConnections_INTERFACE_DEFINED__ */
906 
907 
908 /*****************************************************************************
909  * IConnectionPoint interface
910  */
911 #ifndef __IConnectionPoint_INTERFACE_DEFINED__
912 #define __IConnectionPoint_INTERFACE_DEFINED__
913 
914 typedef IConnectionPoint *PCONNECTIONPOINT;
915 typedef IConnectionPoint *LPCONNECTIONPOINT;
916 
917 DEFINE_GUID(IID_IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
918 #if defined(__cplusplus) && !defined(CINTERFACE)
919 MIDL_INTERFACE("b196b286-bab4-101a-b69c-00aa00341d07")
920 IConnectionPoint : public IUnknown
921 {
922     virtual HRESULT STDMETHODCALLTYPE GetConnectionInterface(
923         IID *pIID) = 0;
924 
925     virtual HRESULT STDMETHODCALLTYPE GetConnectionPointContainer(
926         IConnectionPointContainer **ppCPC) = 0;
927 
928     virtual HRESULT STDMETHODCALLTYPE Advise(
929         IUnknown *pUnkSink,
930         DWORD *pdwCookie) = 0;
931 
932     virtual HRESULT STDMETHODCALLTYPE Unadvise(
933         DWORD dwCookie) = 0;
934 
935     virtual HRESULT STDMETHODCALLTYPE EnumConnections(
936         IEnumConnections **ppEnum) = 0;
937 
938 };
939 #ifdef __CRT_UUID_DECL
940 __CRT_UUID_DECL(IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
941 #endif
942 #else
943 typedef struct IConnectionPointVtbl {
944     BEGIN_INTERFACE
945 
946     /*** IUnknown methods ***/
947     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
948         IConnectionPoint *This,
949         REFIID riid,
950         void **ppvObject);
951 
952     ULONG (STDMETHODCALLTYPE *AddRef)(
953         IConnectionPoint *This);
954 
955     ULONG (STDMETHODCALLTYPE *Release)(
956         IConnectionPoint *This);
957 
958     /*** IConnectionPoint methods ***/
959     HRESULT (STDMETHODCALLTYPE *GetConnectionInterface)(
960         IConnectionPoint *This,
961         IID *pIID);
962 
963     HRESULT (STDMETHODCALLTYPE *GetConnectionPointContainer)(
964         IConnectionPoint *This,
965         IConnectionPointContainer **ppCPC);
966 
967     HRESULT (STDMETHODCALLTYPE *Advise)(
968         IConnectionPoint *This,
969         IUnknown *pUnkSink,
970         DWORD *pdwCookie);
971 
972     HRESULT (STDMETHODCALLTYPE *Unadvise)(
973         IConnectionPoint *This,
974         DWORD dwCookie);
975 
976     HRESULT (STDMETHODCALLTYPE *EnumConnections)(
977         IConnectionPoint *This,
978         IEnumConnections **ppEnum);
979 
980     END_INTERFACE
981 } IConnectionPointVtbl;
982 
983 interface IConnectionPoint {
984     CONST_VTBL IConnectionPointVtbl* lpVtbl;
985 };
986 
987 #ifdef COBJMACROS
988 #ifndef WIDL_C_INLINE_WRAPPERS
989 /*** IUnknown methods ***/
990 #define IConnectionPoint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
991 #define IConnectionPoint_AddRef(This) (This)->lpVtbl->AddRef(This)
992 #define IConnectionPoint_Release(This) (This)->lpVtbl->Release(This)
993 /*** IConnectionPoint methods ***/
994 #define IConnectionPoint_GetConnectionInterface(This,pIID) (This)->lpVtbl->GetConnectionInterface(This,pIID)
995 #define IConnectionPoint_GetConnectionPointContainer(This,ppCPC) (This)->lpVtbl->GetConnectionPointContainer(This,ppCPC)
996 #define IConnectionPoint_Advise(This,pUnkSink,pdwCookie) (This)->lpVtbl->Advise(This,pUnkSink,pdwCookie)
997 #define IConnectionPoint_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
998 #define IConnectionPoint_EnumConnections(This,ppEnum) (This)->lpVtbl->EnumConnections(This,ppEnum)
999 #else
1000 /*** IUnknown methods ***/
1001 static FORCEINLINE HRESULT IConnectionPoint_QueryInterface(IConnectionPoint* This,REFIID riid,void **ppvObject) {
1002     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1003 }
1004 static FORCEINLINE ULONG IConnectionPoint_AddRef(IConnectionPoint* This) {
1005     return This->lpVtbl->AddRef(This);
1006 }
1007 static FORCEINLINE ULONG IConnectionPoint_Release(IConnectionPoint* This) {
1008     return This->lpVtbl->Release(This);
1009 }
1010 /*** IConnectionPoint methods ***/
1011 static FORCEINLINE HRESULT IConnectionPoint_GetConnectionInterface(IConnectionPoint* This,IID *pIID) {
1012     return This->lpVtbl->GetConnectionInterface(This,pIID);
1013 }
1014 static FORCEINLINE HRESULT IConnectionPoint_GetConnectionPointContainer(IConnectionPoint* This,IConnectionPointContainer **ppCPC) {
1015     return This->lpVtbl->GetConnectionPointContainer(This,ppCPC);
1016 }
1017 static FORCEINLINE HRESULT IConnectionPoint_Advise(IConnectionPoint* This,IUnknown *pUnkSink,DWORD *pdwCookie) {
1018     return This->lpVtbl->Advise(This,pUnkSink,pdwCookie);
1019 }
1020 static FORCEINLINE HRESULT IConnectionPoint_Unadvise(IConnectionPoint* This,DWORD dwCookie) {
1021     return This->lpVtbl->Unadvise(This,dwCookie);
1022 }
1023 static FORCEINLINE HRESULT IConnectionPoint_EnumConnections(IConnectionPoint* This,IEnumConnections **ppEnum) {
1024     return This->lpVtbl->EnumConnections(This,ppEnum);
1025 }
1026 #endif
1027 #endif
1028 
1029 #endif
1030 
1031 
1032 #endif  /* __IConnectionPoint_INTERFACE_DEFINED__ */
1033 
1034 
1035 /*****************************************************************************
1036  * IEnumConnectionPoints interface
1037  */
1038 #ifndef __IEnumConnectionPoints_INTERFACE_DEFINED__
1039 #define __IEnumConnectionPoints_INTERFACE_DEFINED__
1040 
1041 typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
1042 typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
1043 
1044 DEFINE_GUID(IID_IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1045 #if defined(__cplusplus) && !defined(CINTERFACE)
1046 MIDL_INTERFACE("b196b285-bab4-101a-b69c-00aa00341d07")
1047 IEnumConnectionPoints : public IUnknown
1048 {
1049     virtual HRESULT STDMETHODCALLTYPE Next(
1050         ULONG cConnections,
1051         LPCONNECTIONPOINT *ppCP,
1052         ULONG *pcFetched) = 0;
1053 
1054     virtual HRESULT STDMETHODCALLTYPE Skip(
1055         ULONG cConnections) = 0;
1056 
1057     virtual HRESULT STDMETHODCALLTYPE Reset(
1058         ) = 0;
1059 
1060     virtual HRESULT STDMETHODCALLTYPE Clone(
1061         IEnumConnectionPoints **ppEnum) = 0;
1062 
1063 };
1064 #ifdef __CRT_UUID_DECL
1065 __CRT_UUID_DECL(IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1066 #endif
1067 #else
1068 typedef struct IEnumConnectionPointsVtbl {
1069     BEGIN_INTERFACE
1070 
1071     /*** IUnknown methods ***/
1072     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1073         IEnumConnectionPoints *This,
1074         REFIID riid,
1075         void **ppvObject);
1076 
1077     ULONG (STDMETHODCALLTYPE *AddRef)(
1078         IEnumConnectionPoints *This);
1079 
1080     ULONG (STDMETHODCALLTYPE *Release)(
1081         IEnumConnectionPoints *This);
1082 
1083     /*** IEnumConnectionPoints methods ***/
1084     HRESULT (STDMETHODCALLTYPE *Next)(
1085         IEnumConnectionPoints *This,
1086         ULONG cConnections,
1087         LPCONNECTIONPOINT *ppCP,
1088         ULONG *pcFetched);
1089 
1090     HRESULT (STDMETHODCALLTYPE *Skip)(
1091         IEnumConnectionPoints *This,
1092         ULONG cConnections);
1093 
1094     HRESULT (STDMETHODCALLTYPE *Reset)(
1095         IEnumConnectionPoints *This);
1096 
1097     HRESULT (STDMETHODCALLTYPE *Clone)(
1098         IEnumConnectionPoints *This,
1099         IEnumConnectionPoints **ppEnum);
1100 
1101     END_INTERFACE
1102 } IEnumConnectionPointsVtbl;
1103 
1104 interface IEnumConnectionPoints {
1105     CONST_VTBL IEnumConnectionPointsVtbl* lpVtbl;
1106 };
1107 
1108 #ifdef COBJMACROS
1109 #ifndef WIDL_C_INLINE_WRAPPERS
1110 /*** IUnknown methods ***/
1111 #define IEnumConnectionPoints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1112 #define IEnumConnectionPoints_AddRef(This) (This)->lpVtbl->AddRef(This)
1113 #define IEnumConnectionPoints_Release(This) (This)->lpVtbl->Release(This)
1114 /*** IEnumConnectionPoints methods ***/
1115 #define IEnumConnectionPoints_Next(This,cConnections,ppCP,pcFetched) (This)->lpVtbl->Next(This,cConnections,ppCP,pcFetched)
1116 #define IEnumConnectionPoints_Skip(This,cConnections) (This)->lpVtbl->Skip(This,cConnections)
1117 #define IEnumConnectionPoints_Reset(This) (This)->lpVtbl->Reset(This)
1118 #define IEnumConnectionPoints_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1119 #else
1120 /*** IUnknown methods ***/
1121 static FORCEINLINE HRESULT IEnumConnectionPoints_QueryInterface(IEnumConnectionPoints* This,REFIID riid,void **ppvObject) {
1122     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1123 }
1124 static FORCEINLINE ULONG IEnumConnectionPoints_AddRef(IEnumConnectionPoints* This) {
1125     return This->lpVtbl->AddRef(This);
1126 }
1127 static FORCEINLINE ULONG IEnumConnectionPoints_Release(IEnumConnectionPoints* This) {
1128     return This->lpVtbl->Release(This);
1129 }
1130 /*** IEnumConnectionPoints methods ***/
1131 static FORCEINLINE HRESULT IEnumConnectionPoints_Next(IEnumConnectionPoints* This,ULONG cConnections,LPCONNECTIONPOINT *ppCP,ULONG *pcFetched) {
1132     return This->lpVtbl->Next(This,cConnections,ppCP,pcFetched);
1133 }
1134 static FORCEINLINE HRESULT IEnumConnectionPoints_Skip(IEnumConnectionPoints* This,ULONG cConnections) {
1135     return This->lpVtbl->Skip(This,cConnections);
1136 }
1137 static FORCEINLINE HRESULT IEnumConnectionPoints_Reset(IEnumConnectionPoints* This) {
1138     return This->lpVtbl->Reset(This);
1139 }
1140 static FORCEINLINE HRESULT IEnumConnectionPoints_Clone(IEnumConnectionPoints* This,IEnumConnectionPoints **ppEnum) {
1141     return This->lpVtbl->Clone(This,ppEnum);
1142 }
1143 #endif
1144 #endif
1145 
1146 #endif
1147 
1148 HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_RemoteNext_Proxy(
1149     IEnumConnectionPoints* This,
1150     ULONG cConnections,
1151     LPCONNECTIONPOINT *ppCP,
1152     ULONG *pcFetched);
1153 void __RPC_STUB IEnumConnectionPoints_RemoteNext_Stub(
1154     IRpcStubBuffer* This,
1155     IRpcChannelBuffer* pRpcChannelBuffer,
1156     PRPC_MESSAGE pRpcMessage,
1157     DWORD* pdwStubPhase);
1158 HRESULT CALLBACK IEnumConnectionPoints_Next_Proxy(
1159     IEnumConnectionPoints* This,
1160     ULONG cConnections,
1161     LPCONNECTIONPOINT *ppCP,
1162     ULONG *pcFetched);
1163 HRESULT __RPC_STUB IEnumConnectionPoints_Next_Stub(
1164     IEnumConnectionPoints* This,
1165     ULONG cConnections,
1166     LPCONNECTIONPOINT *ppCP,
1167     ULONG *pcFetched);
1168 
1169 #endif  /* __IEnumConnectionPoints_INTERFACE_DEFINED__ */
1170 
1171 
1172 /*****************************************************************************
1173  * IConnectionPointContainer interface
1174  */
1175 #ifndef __IConnectionPointContainer_INTERFACE_DEFINED__
1176 #define __IConnectionPointContainer_INTERFACE_DEFINED__
1177 
1178 typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
1179 typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
1180 
1181 DEFINE_GUID(IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1182 #if defined(__cplusplus) && !defined(CINTERFACE)
1183 MIDL_INTERFACE("b196b284-bab4-101a-b69c-00aa00341d07")
1184 IConnectionPointContainer : public IUnknown
1185 {
1186     virtual HRESULT STDMETHODCALLTYPE EnumConnectionPoints(
1187         IEnumConnectionPoints **ppEnum) = 0;
1188 
1189     virtual HRESULT STDMETHODCALLTYPE FindConnectionPoint(
1190         REFIID riid,
1191         IConnectionPoint **ppCP) = 0;
1192 
1193 };
1194 #ifdef __CRT_UUID_DECL
1195 __CRT_UUID_DECL(IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1196 #endif
1197 #else
1198 typedef struct IConnectionPointContainerVtbl {
1199     BEGIN_INTERFACE
1200 
1201     /*** IUnknown methods ***/
1202     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1203         IConnectionPointContainer *This,
1204         REFIID riid,
1205         void **ppvObject);
1206 
1207     ULONG (STDMETHODCALLTYPE *AddRef)(
1208         IConnectionPointContainer *This);
1209 
1210     ULONG (STDMETHODCALLTYPE *Release)(
1211         IConnectionPointContainer *This);
1212 
1213     /*** IConnectionPointContainer methods ***/
1214     HRESULT (STDMETHODCALLTYPE *EnumConnectionPoints)(
1215         IConnectionPointContainer *This,
1216         IEnumConnectionPoints **ppEnum);
1217 
1218     HRESULT (STDMETHODCALLTYPE *FindConnectionPoint)(
1219         IConnectionPointContainer *This,
1220         REFIID riid,
1221         IConnectionPoint **ppCP);
1222 
1223     END_INTERFACE
1224 } IConnectionPointContainerVtbl;
1225 
1226 interface IConnectionPointContainer {
1227     CONST_VTBL IConnectionPointContainerVtbl* lpVtbl;
1228 };
1229 
1230 #ifdef COBJMACROS
1231 #ifndef WIDL_C_INLINE_WRAPPERS
1232 /*** IUnknown methods ***/
1233 #define IConnectionPointContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1234 #define IConnectionPointContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
1235 #define IConnectionPointContainer_Release(This) (This)->lpVtbl->Release(This)
1236 /*** IConnectionPointContainer methods ***/
1237 #define IConnectionPointContainer_EnumConnectionPoints(This,ppEnum) (This)->lpVtbl->EnumConnectionPoints(This,ppEnum)
1238 #define IConnectionPointContainer_FindConnectionPoint(This,riid,ppCP) (This)->lpVtbl->FindConnectionPoint(This,riid,ppCP)
1239 #else
1240 /*** IUnknown methods ***/
1241 static FORCEINLINE HRESULT IConnectionPointContainer_QueryInterface(IConnectionPointContainer* This,REFIID riid,void **ppvObject) {
1242     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1243 }
1244 static FORCEINLINE ULONG IConnectionPointContainer_AddRef(IConnectionPointContainer* This) {
1245     return This->lpVtbl->AddRef(This);
1246 }
1247 static FORCEINLINE ULONG IConnectionPointContainer_Release(IConnectionPointContainer* This) {
1248     return This->lpVtbl->Release(This);
1249 }
1250 /*** IConnectionPointContainer methods ***/
1251 static FORCEINLINE HRESULT IConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer* This,IEnumConnectionPoints **ppEnum) {
1252     return This->lpVtbl->EnumConnectionPoints(This,ppEnum);
1253 }
1254 static FORCEINLINE HRESULT IConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer* This,REFIID riid,IConnectionPoint **ppCP) {
1255     return This->lpVtbl->FindConnectionPoint(This,riid,ppCP);
1256 }
1257 #endif
1258 #endif
1259 
1260 #endif
1261 
1262 
1263 #endif  /* __IConnectionPointContainer_INTERFACE_DEFINED__ */
1264 
1265 #endif
1266 
1267 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1268 /*****************************************************************************
1269  * IClassFactory2 interface
1270  */
1271 #ifndef __IClassFactory2_INTERFACE_DEFINED__
1272 #define __IClassFactory2_INTERFACE_DEFINED__
1273 
1274 typedef IClassFactory2 *LPCLASSFACTORY2;
1275 
1276 typedef struct tagLICINFO {
1277     LONG cbLicInfo;
1278     WINBOOL fRuntimeKeyAvail;
1279     WINBOOL fLicVerified;
1280 } LICINFO;
1281 
1282 typedef struct tagLICINFO *LPLICINFO;
1283 
1284 DEFINE_GUID(IID_IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1285 #if defined(__cplusplus) && !defined(CINTERFACE)
1286 MIDL_INTERFACE("b196b28f-bab4-101a-b69c-00aa00341d07")
1287 IClassFactory2 : public IClassFactory
1288 {
1289     virtual HRESULT STDMETHODCALLTYPE GetLicInfo(
1290         LICINFO *pLicInfo) = 0;
1291 
1292     virtual HRESULT STDMETHODCALLTYPE RequestLicKey(
1293         DWORD dwReserved,
1294         BSTR *pBstrKey) = 0;
1295 
1296     virtual HRESULT STDMETHODCALLTYPE CreateInstanceLic(
1297         IUnknown *pUnkOuter,
1298         IUnknown *pUnkReserved,
1299         REFIID riid,
1300         BSTR bstrKey,
1301         PVOID *ppvObj) = 0;
1302 
1303 };
1304 #ifdef __CRT_UUID_DECL
1305 __CRT_UUID_DECL(IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1306 #endif
1307 #else
1308 typedef struct IClassFactory2Vtbl {
1309     BEGIN_INTERFACE
1310 
1311     /*** IUnknown methods ***/
1312     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1313         IClassFactory2 *This,
1314         REFIID riid,
1315         void **ppvObject);
1316 
1317     ULONG (STDMETHODCALLTYPE *AddRef)(
1318         IClassFactory2 *This);
1319 
1320     ULONG (STDMETHODCALLTYPE *Release)(
1321         IClassFactory2 *This);
1322 
1323     /*** IClassFactory methods ***/
1324     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1325         IClassFactory2 *This,
1326         IUnknown *pUnkOuter,
1327         REFIID riid,
1328         void **ppvObject);
1329 
1330     HRESULT (STDMETHODCALLTYPE *LockServer)(
1331         IClassFactory2 *This,
1332         WINBOOL fLock);
1333 
1334     /*** IClassFactory2 methods ***/
1335     HRESULT (STDMETHODCALLTYPE *GetLicInfo)(
1336         IClassFactory2 *This,
1337         LICINFO *pLicInfo);
1338 
1339     HRESULT (STDMETHODCALLTYPE *RequestLicKey)(
1340         IClassFactory2 *This,
1341         DWORD dwReserved,
1342         BSTR *pBstrKey);
1343 
1344     HRESULT (STDMETHODCALLTYPE *CreateInstanceLic)(
1345         IClassFactory2 *This,
1346         IUnknown *pUnkOuter,
1347         IUnknown *pUnkReserved,
1348         REFIID riid,
1349         BSTR bstrKey,
1350         PVOID *ppvObj);
1351 
1352     END_INTERFACE
1353 } IClassFactory2Vtbl;
1354 
1355 interface IClassFactory2 {
1356     CONST_VTBL IClassFactory2Vtbl* lpVtbl;
1357 };
1358 
1359 #ifdef COBJMACROS
1360 #ifndef WIDL_C_INLINE_WRAPPERS
1361 /*** IUnknown methods ***/
1362 #define IClassFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1363 #define IClassFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
1364 #define IClassFactory2_Release(This) (This)->lpVtbl->Release(This)
1365 /*** IClassFactory methods ***/
1366 #define IClassFactory2_CreateInstance(This,pUnkOuter,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject)
1367 #define IClassFactory2_LockServer(This,fLock) (This)->lpVtbl->LockServer(This,fLock)
1368 /*** IClassFactory2 methods ***/
1369 #define IClassFactory2_GetLicInfo(This,pLicInfo) (This)->lpVtbl->GetLicInfo(This,pLicInfo)
1370 #define IClassFactory2_RequestLicKey(This,dwReserved,pBstrKey) (This)->lpVtbl->RequestLicKey(This,dwReserved,pBstrKey)
1371 #define IClassFactory2_CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj) (This)->lpVtbl->CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj)
1372 #else
1373 /*** IUnknown methods ***/
1374 static FORCEINLINE HRESULT IClassFactory2_QueryInterface(IClassFactory2* This,REFIID riid,void **ppvObject) {
1375     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1376 }
1377 static FORCEINLINE ULONG IClassFactory2_AddRef(IClassFactory2* This) {
1378     return This->lpVtbl->AddRef(This);
1379 }
1380 static FORCEINLINE ULONG IClassFactory2_Release(IClassFactory2* This) {
1381     return This->lpVtbl->Release(This);
1382 }
1383 /*** IClassFactory methods ***/
1384 static FORCEINLINE HRESULT IClassFactory2_CreateInstance(IClassFactory2* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) {
1385     return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject);
1386 }
1387 static FORCEINLINE HRESULT IClassFactory2_LockServer(IClassFactory2* This,WINBOOL fLock) {
1388     return This->lpVtbl->LockServer(This,fLock);
1389 }
1390 /*** IClassFactory2 methods ***/
1391 static FORCEINLINE HRESULT IClassFactory2_GetLicInfo(IClassFactory2* This,LICINFO *pLicInfo) {
1392     return This->lpVtbl->GetLicInfo(This,pLicInfo);
1393 }
1394 static FORCEINLINE HRESULT IClassFactory2_RequestLicKey(IClassFactory2* This,DWORD dwReserved,BSTR *pBstrKey) {
1395     return This->lpVtbl->RequestLicKey(This,dwReserved,pBstrKey);
1396 }
1397 static FORCEINLINE HRESULT IClassFactory2_CreateInstanceLic(IClassFactory2* This,IUnknown *pUnkOuter,IUnknown *pUnkReserved,REFIID riid,BSTR bstrKey,PVOID *ppvObj) {
1398     return This->lpVtbl->CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj);
1399 }
1400 #endif
1401 #endif
1402 
1403 #endif
1404 
1405 HRESULT STDMETHODCALLTYPE IClassFactory2_RemoteCreateInstanceLic_Proxy(
1406     IClassFactory2* This,
1407     REFIID riid,
1408     BSTR bstrKey,
1409     IUnknown **ppvObj);
1410 void __RPC_STUB IClassFactory2_RemoteCreateInstanceLic_Stub(
1411     IRpcStubBuffer* This,
1412     IRpcChannelBuffer* pRpcChannelBuffer,
1413     PRPC_MESSAGE pRpcMessage,
1414     DWORD* pdwStubPhase);
1415 HRESULT CALLBACK IClassFactory2_CreateInstanceLic_Proxy(
1416     IClassFactory2* This,
1417     IUnknown *pUnkOuter,
1418     IUnknown *pUnkReserved,
1419     REFIID riid,
1420     BSTR bstrKey,
1421     PVOID *ppvObj);
1422 HRESULT __RPC_STUB IClassFactory2_CreateInstanceLic_Stub(
1423     IClassFactory2* This,
1424     REFIID riid,
1425     BSTR bstrKey,
1426     IUnknown **ppvObj);
1427 
1428 #endif  /* __IClassFactory2_INTERFACE_DEFINED__ */
1429 
1430 
1431 /*****************************************************************************
1432  * IProvideClassInfo interface
1433  */
1434 #ifndef __IProvideClassInfo_INTERFACE_DEFINED__
1435 #define __IProvideClassInfo_INTERFACE_DEFINED__
1436 
1437 typedef IProvideClassInfo *LPPROVIDECLASSINFO;
1438 
1439 DEFINE_GUID(IID_IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1440 #if defined(__cplusplus) && !defined(CINTERFACE)
1441 MIDL_INTERFACE("b196b283-bab4-101a-b69c-00aa00341d07")
1442 IProvideClassInfo : public IUnknown
1443 {
1444     virtual HRESULT STDMETHODCALLTYPE GetClassInfo(
1445         ITypeInfo **ppTI) = 0;
1446 
1447 };
1448 #ifdef __CRT_UUID_DECL
1449 __CRT_UUID_DECL(IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1450 #endif
1451 #else
1452 typedef struct IProvideClassInfoVtbl {
1453     BEGIN_INTERFACE
1454 
1455     /*** IUnknown methods ***/
1456     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1457         IProvideClassInfo *This,
1458         REFIID riid,
1459         void **ppvObject);
1460 
1461     ULONG (STDMETHODCALLTYPE *AddRef)(
1462         IProvideClassInfo *This);
1463 
1464     ULONG (STDMETHODCALLTYPE *Release)(
1465         IProvideClassInfo *This);
1466 
1467     /*** IProvideClassInfo methods ***/
1468     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1469         IProvideClassInfo *This,
1470         ITypeInfo **ppTI);
1471 
1472     END_INTERFACE
1473 } IProvideClassInfoVtbl;
1474 
1475 interface IProvideClassInfo {
1476     CONST_VTBL IProvideClassInfoVtbl* lpVtbl;
1477 };
1478 
1479 #ifdef COBJMACROS
1480 #ifndef WIDL_C_INLINE_WRAPPERS
1481 /*** IUnknown methods ***/
1482 #define IProvideClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1483 #define IProvideClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1484 #define IProvideClassInfo_Release(This) (This)->lpVtbl->Release(This)
1485 /*** IProvideClassInfo methods ***/
1486 #define IProvideClassInfo_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1487 #else
1488 /*** IUnknown methods ***/
1489 static FORCEINLINE HRESULT IProvideClassInfo_QueryInterface(IProvideClassInfo* This,REFIID riid,void **ppvObject) {
1490     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1491 }
1492 static FORCEINLINE ULONG IProvideClassInfo_AddRef(IProvideClassInfo* This) {
1493     return This->lpVtbl->AddRef(This);
1494 }
1495 static FORCEINLINE ULONG IProvideClassInfo_Release(IProvideClassInfo* This) {
1496     return This->lpVtbl->Release(This);
1497 }
1498 /*** IProvideClassInfo methods ***/
1499 static FORCEINLINE HRESULT IProvideClassInfo_GetClassInfo(IProvideClassInfo* This,ITypeInfo **ppTI) {
1500     return This->lpVtbl->GetClassInfo(This,ppTI);
1501 }
1502 #endif
1503 #endif
1504 
1505 #endif
1506 
1507 
1508 #endif  /* __IProvideClassInfo_INTERFACE_DEFINED__ */
1509 
1510 
1511 /*****************************************************************************
1512  * IProvideClassInfo2 interface
1513  */
1514 #ifndef __IProvideClassInfo2_INTERFACE_DEFINED__
1515 #define __IProvideClassInfo2_INTERFACE_DEFINED__
1516 
1517 typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
1518 
1519 typedef enum tagGUIDKIND {
1520     GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
1521 } GUIDKIND;
1522 
1523 DEFINE_GUID(IID_IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d,0xe3, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
1524 #if defined(__cplusplus) && !defined(CINTERFACE)
1525 MIDL_INTERFACE("a6bc3ac0-dbaa-11ce-9de3-00aa004bb851")
1526 IProvideClassInfo2 : public IProvideClassInfo
1527 {
1528     virtual HRESULT STDMETHODCALLTYPE GetGUID(
1529         DWORD dwGuidKind,
1530         GUID *pGUID) = 0;
1531 
1532 };
1533 #ifdef __CRT_UUID_DECL
1534 __CRT_UUID_DECL(IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d,0xe3, 0x00,0xaa,0x00,0x4b,0xb8,0x51)
1535 #endif
1536 #else
1537 typedef struct IProvideClassInfo2Vtbl {
1538     BEGIN_INTERFACE
1539 
1540     /*** IUnknown methods ***/
1541     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1542         IProvideClassInfo2 *This,
1543         REFIID riid,
1544         void **ppvObject);
1545 
1546     ULONG (STDMETHODCALLTYPE *AddRef)(
1547         IProvideClassInfo2 *This);
1548 
1549     ULONG (STDMETHODCALLTYPE *Release)(
1550         IProvideClassInfo2 *This);
1551 
1552     /*** IProvideClassInfo methods ***/
1553     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1554         IProvideClassInfo2 *This,
1555         ITypeInfo **ppTI);
1556 
1557     /*** IProvideClassInfo2 methods ***/
1558     HRESULT (STDMETHODCALLTYPE *GetGUID)(
1559         IProvideClassInfo2 *This,
1560         DWORD dwGuidKind,
1561         GUID *pGUID);
1562 
1563     END_INTERFACE
1564 } IProvideClassInfo2Vtbl;
1565 
1566 interface IProvideClassInfo2 {
1567     CONST_VTBL IProvideClassInfo2Vtbl* lpVtbl;
1568 };
1569 
1570 #ifdef COBJMACROS
1571 #ifndef WIDL_C_INLINE_WRAPPERS
1572 /*** IUnknown methods ***/
1573 #define IProvideClassInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1574 #define IProvideClassInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
1575 #define IProvideClassInfo2_Release(This) (This)->lpVtbl->Release(This)
1576 /*** IProvideClassInfo methods ***/
1577 #define IProvideClassInfo2_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1578 /*** IProvideClassInfo2 methods ***/
1579 #define IProvideClassInfo2_GetGUID(This,dwGuidKind,pGUID) (This)->lpVtbl->GetGUID(This,dwGuidKind,pGUID)
1580 #else
1581 /*** IUnknown methods ***/
1582 static FORCEINLINE HRESULT IProvideClassInfo2_QueryInterface(IProvideClassInfo2* This,REFIID riid,void **ppvObject) {
1583     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1584 }
1585 static FORCEINLINE ULONG IProvideClassInfo2_AddRef(IProvideClassInfo2* This) {
1586     return This->lpVtbl->AddRef(This);
1587 }
1588 static FORCEINLINE ULONG IProvideClassInfo2_Release(IProvideClassInfo2* This) {
1589     return This->lpVtbl->Release(This);
1590 }
1591 /*** IProvideClassInfo methods ***/
1592 static FORCEINLINE HRESULT IProvideClassInfo2_GetClassInfo(IProvideClassInfo2* This,ITypeInfo **ppTI) {
1593     return This->lpVtbl->GetClassInfo(This,ppTI);
1594 }
1595 /*** IProvideClassInfo2 methods ***/
1596 static FORCEINLINE HRESULT IProvideClassInfo2_GetGUID(IProvideClassInfo2* This,DWORD dwGuidKind,GUID *pGUID) {
1597     return This->lpVtbl->GetGUID(This,dwGuidKind,pGUID);
1598 }
1599 #endif
1600 #endif
1601 
1602 #endif
1603 
1604 
1605 #endif  /* __IProvideClassInfo2_INTERFACE_DEFINED__ */
1606 
1607 
1608 /*****************************************************************************
1609  * IProvideMultipleClassInfo interface
1610  */
1611 #ifndef __IProvideMultipleClassInfo_INTERFACE_DEFINED__
1612 #define __IProvideMultipleClassInfo_INTERFACE_DEFINED__
1613 
1614 #define MULTICLASSINFO_GETTYPEINFO 0x1
1615 #define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x2
1616 #define MULTICLASSINFO_GETIIDPRIMARY 0x4
1617 #define MULTICLASSINFO_GETIIDSOURCE 0x8
1618 
1619 #define TIFLAGS_EXTENDDISPATCHONLY 0x1
1620 
1621 typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
1622 
1623 DEFINE_GUID(IID_IProvideMultipleClassInfo, 0xa7aba9c1, 0x8983, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
1624 #if defined(__cplusplus) && !defined(CINTERFACE)
1625 MIDL_INTERFACE("a7aba9c1-8983-11cf-8f20-00805f2cd064")
1626 IProvideMultipleClassInfo : public IProvideClassInfo2
1627 {
1628     virtual HRESULT STDMETHODCALLTYPE GetMultiTypeInfoCount(
1629         ULONG *pcti) = 0;
1630 
1631     virtual HRESULT STDMETHODCALLTYPE GetInfoOfIndex(
1632         ULONG iti,
1633         DWORD dwFlags,
1634         ITypeInfo **pptiCoClass,
1635         DWORD *pdwTIFlags,
1636         ULONG *pcdispidReserved,
1637         IID *piidPrimary,
1638         IID *piidSource) = 0;
1639 
1640 };
1641 #ifdef __CRT_UUID_DECL
1642 __CRT_UUID_DECL(IProvideMultipleClassInfo, 0xa7aba9c1, 0x8983, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
1643 #endif
1644 #else
1645 typedef struct IProvideMultipleClassInfoVtbl {
1646     BEGIN_INTERFACE
1647 
1648     /*** IUnknown methods ***/
1649     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1650         IProvideMultipleClassInfo *This,
1651         REFIID riid,
1652         void **ppvObject);
1653 
1654     ULONG (STDMETHODCALLTYPE *AddRef)(
1655         IProvideMultipleClassInfo *This);
1656 
1657     ULONG (STDMETHODCALLTYPE *Release)(
1658         IProvideMultipleClassInfo *This);
1659 
1660     /*** IProvideClassInfo methods ***/
1661     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1662         IProvideMultipleClassInfo *This,
1663         ITypeInfo **ppTI);
1664 
1665     /*** IProvideClassInfo2 methods ***/
1666     HRESULT (STDMETHODCALLTYPE *GetGUID)(
1667         IProvideMultipleClassInfo *This,
1668         DWORD dwGuidKind,
1669         GUID *pGUID);
1670 
1671     /*** IProvideMultipleClassInfo methods ***/
1672     HRESULT (STDMETHODCALLTYPE *GetMultiTypeInfoCount)(
1673         IProvideMultipleClassInfo *This,
1674         ULONG *pcti);
1675 
1676     HRESULT (STDMETHODCALLTYPE *GetInfoOfIndex)(
1677         IProvideMultipleClassInfo *This,
1678         ULONG iti,
1679         DWORD dwFlags,
1680         ITypeInfo **pptiCoClass,
1681         DWORD *pdwTIFlags,
1682         ULONG *pcdispidReserved,
1683         IID *piidPrimary,
1684         IID *piidSource);
1685 
1686     END_INTERFACE
1687 } IProvideMultipleClassInfoVtbl;
1688 
1689 interface IProvideMultipleClassInfo {
1690     CONST_VTBL IProvideMultipleClassInfoVtbl* lpVtbl;
1691 };
1692 
1693 #ifdef COBJMACROS
1694 #ifndef WIDL_C_INLINE_WRAPPERS
1695 /*** IUnknown methods ***/
1696 #define IProvideMultipleClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1697 #define IProvideMultipleClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1698 #define IProvideMultipleClassInfo_Release(This) (This)->lpVtbl->Release(This)
1699 /*** IProvideClassInfo methods ***/
1700 #define IProvideMultipleClassInfo_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1701 /*** IProvideClassInfo2 methods ***/
1702 #define IProvideMultipleClassInfo_GetGUID(This,dwGuidKind,pGUID) (This)->lpVtbl->GetGUID(This,dwGuidKind,pGUID)
1703 /*** IProvideMultipleClassInfo methods ***/
1704 #define IProvideMultipleClassInfo_GetMultiTypeInfoCount(This,pcti) (This)->lpVtbl->GetMultiTypeInfoCount(This,pcti)
1705 #define IProvideMultipleClassInfo_GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource) (This)->lpVtbl->GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)
1706 #else
1707 /*** IUnknown methods ***/
1708 static FORCEINLINE HRESULT IProvideMultipleClassInfo_QueryInterface(IProvideMultipleClassInfo* This,REFIID riid,void **ppvObject) {
1709     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1710 }
1711 static FORCEINLINE ULONG IProvideMultipleClassInfo_AddRef(IProvideMultipleClassInfo* This) {
1712     return This->lpVtbl->AddRef(This);
1713 }
1714 static FORCEINLINE ULONG IProvideMultipleClassInfo_Release(IProvideMultipleClassInfo* This) {
1715     return This->lpVtbl->Release(This);
1716 }
1717 /*** IProvideClassInfo methods ***/
1718 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetClassInfo(IProvideMultipleClassInfo* This,ITypeInfo **ppTI) {
1719     return This->lpVtbl->GetClassInfo(This,ppTI);
1720 }
1721 /*** IProvideClassInfo2 methods ***/
1722 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetGUID(IProvideMultipleClassInfo* This,DWORD dwGuidKind,GUID *pGUID) {
1723     return This->lpVtbl->GetGUID(This,dwGuidKind,pGUID);
1724 }
1725 /*** IProvideMultipleClassInfo methods ***/
1726 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetMultiTypeInfoCount(IProvideMultipleClassInfo* This,ULONG *pcti) {
1727     return This->lpVtbl->GetMultiTypeInfoCount(This,pcti);
1728 }
1729 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetInfoOfIndex(IProvideMultipleClassInfo* This,ULONG iti,DWORD dwFlags,ITypeInfo **pptiCoClass,DWORD *pdwTIFlags,ULONG *pcdispidReserved,IID *piidPrimary,IID *piidSource) {
1730     return This->lpVtbl->GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource);
1731 }
1732 #endif
1733 #endif
1734 
1735 #endif
1736 
1737 
1738 #endif  /* __IProvideMultipleClassInfo_INTERFACE_DEFINED__ */
1739 
1740 
1741 /*****************************************************************************
1742  * IOleControl interface
1743  */
1744 #ifndef __IOleControl_INTERFACE_DEFINED__
1745 #define __IOleControl_INTERFACE_DEFINED__
1746 
1747 typedef IOleControl *LPOLECONTROL;
1748 
1749 typedef struct tagCONTROLINFO {
1750     ULONG cb;
1751     HACCEL hAccel;
1752     USHORT cAccel;
1753     DWORD dwFlags;
1754 } CONTROLINFO;
1755 
1756 typedef struct tagCONTROLINFO *LPCONTROLINFO;
1757 
1758 typedef enum tagCTRLINFO {
1759     CTRLINFO_EATS_RETURN = 1,
1760     CTRLINFO_EATS_ESCAPE = 2
1761 } CTRLINFO;
1762 
1763 DEFINE_GUID(IID_IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1764 #if defined(__cplusplus) && !defined(CINTERFACE)
1765 MIDL_INTERFACE("b196b288-bab4-101a-b69c-00aa00341d07")
1766 IOleControl : public IUnknown
1767 {
1768     virtual HRESULT STDMETHODCALLTYPE GetControlInfo(
1769         CONTROLINFO *pCI) = 0;
1770 
1771     virtual HRESULT STDMETHODCALLTYPE OnMnemonic(
1772         MSG *pMsg) = 0;
1773 
1774     virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange(
1775         DISPID dispID) = 0;
1776 
1777     virtual HRESULT STDMETHODCALLTYPE FreezeEvents(
1778         WINBOOL bFreeze) = 0;
1779 
1780 };
1781 #ifdef __CRT_UUID_DECL
1782 __CRT_UUID_DECL(IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1783 #endif
1784 #else
1785 typedef struct IOleControlVtbl {
1786     BEGIN_INTERFACE
1787 
1788     /*** IUnknown methods ***/
1789     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1790         IOleControl *This,
1791         REFIID riid,
1792         void **ppvObject);
1793 
1794     ULONG (STDMETHODCALLTYPE *AddRef)(
1795         IOleControl *This);
1796 
1797     ULONG (STDMETHODCALLTYPE *Release)(
1798         IOleControl *This);
1799 
1800     /*** IOleControl methods ***/
1801     HRESULT (STDMETHODCALLTYPE *GetControlInfo)(
1802         IOleControl *This,
1803         CONTROLINFO *pCI);
1804 
1805     HRESULT (STDMETHODCALLTYPE *OnMnemonic)(
1806         IOleControl *This,
1807         MSG *pMsg);
1808 
1809     HRESULT (STDMETHODCALLTYPE *OnAmbientPropertyChange)(
1810         IOleControl *This,
1811         DISPID dispID);
1812 
1813     HRESULT (STDMETHODCALLTYPE *FreezeEvents)(
1814         IOleControl *This,
1815         WINBOOL bFreeze);
1816 
1817     END_INTERFACE
1818 } IOleControlVtbl;
1819 
1820 interface IOleControl {
1821     CONST_VTBL IOleControlVtbl* lpVtbl;
1822 };
1823 
1824 #ifdef COBJMACROS
1825 #ifndef WIDL_C_INLINE_WRAPPERS
1826 /*** IUnknown methods ***/
1827 #define IOleControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1828 #define IOleControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1829 #define IOleControl_Release(This) (This)->lpVtbl->Release(This)
1830 /*** IOleControl methods ***/
1831 #define IOleControl_GetControlInfo(This,pCI) (This)->lpVtbl->GetControlInfo(This,pCI)
1832 #define IOleControl_OnMnemonic(This,pMsg) (This)->lpVtbl->OnMnemonic(This,pMsg)
1833 #define IOleControl_OnAmbientPropertyChange(This,dispID) (This)->lpVtbl->OnAmbientPropertyChange(This,dispID)
1834 #define IOleControl_FreezeEvents(This,bFreeze) (This)->lpVtbl->FreezeEvents(This,bFreeze)
1835 #else
1836 /*** IUnknown methods ***/
1837 static FORCEINLINE HRESULT IOleControl_QueryInterface(IOleControl* This,REFIID riid,void **ppvObject) {
1838     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1839 }
1840 static FORCEINLINE ULONG IOleControl_AddRef(IOleControl* This) {
1841     return This->lpVtbl->AddRef(This);
1842 }
1843 static FORCEINLINE ULONG IOleControl_Release(IOleControl* This) {
1844     return This->lpVtbl->Release(This);
1845 }
1846 /*** IOleControl methods ***/
1847 static FORCEINLINE HRESULT IOleControl_GetControlInfo(IOleControl* This,CONTROLINFO *pCI) {
1848     return This->lpVtbl->GetControlInfo(This,pCI);
1849 }
1850 static FORCEINLINE HRESULT IOleControl_OnMnemonic(IOleControl* This,MSG *pMsg) {
1851     return This->lpVtbl->OnMnemonic(This,pMsg);
1852 }
1853 static FORCEINLINE HRESULT IOleControl_OnAmbientPropertyChange(IOleControl* This,DISPID dispID) {
1854     return This->lpVtbl->OnAmbientPropertyChange(This,dispID);
1855 }
1856 static FORCEINLINE HRESULT IOleControl_FreezeEvents(IOleControl* This,WINBOOL bFreeze) {
1857     return This->lpVtbl->FreezeEvents(This,bFreeze);
1858 }
1859 #endif
1860 #endif
1861 
1862 #endif
1863 
1864 
1865 #endif  /* __IOleControl_INTERFACE_DEFINED__ */
1866 
1867 
1868 /*****************************************************************************
1869  * IOleControlSite interface
1870  */
1871 #ifndef __IOleControlSite_INTERFACE_DEFINED__
1872 #define __IOleControlSite_INTERFACE_DEFINED__
1873 
1874 typedef IOleControlSite *LPOLECONTROLSITE;
1875 
1876 typedef struct tagPOINTF {
1877     FLOAT x;
1878     FLOAT y;
1879 } POINTF;
1880 
1881 typedef struct tagPOINTF *LPPOINTF;
1882 
1883 typedef enum tagXFORMCOORDS {
1884     XFORMCOORDS_POSITION = 0x1,
1885     XFORMCOORDS_SIZE = 0x2,
1886     XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
1887     XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
1888     XFORMCOORDS_EVENTCOMPAT = 0x10
1889 } XFORMCOORDS;
1890 
1891 DEFINE_GUID(IID_IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1892 #if defined(__cplusplus) && !defined(CINTERFACE)
1893 MIDL_INTERFACE("b196b289-bab4-101a-b69c-00aa00341d07")
1894 IOleControlSite : public IUnknown
1895 {
1896     virtual HRESULT STDMETHODCALLTYPE OnControlInfoChanged(
1897         ) = 0;
1898 
1899     virtual HRESULT STDMETHODCALLTYPE LockInPlaceActive(
1900         WINBOOL fLock) = 0;
1901 
1902     virtual HRESULT STDMETHODCALLTYPE GetExtendedControl(
1903         IDispatch **ppDisp) = 0;
1904 
1905     virtual HRESULT STDMETHODCALLTYPE TransformCoords(
1906         POINTL *pPtlHimetric,
1907         POINTF *pPtfContainer,
1908         DWORD dwFlags) = 0;
1909 
1910     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
1911         MSG *pMsg,
1912         DWORD grfModifiers) = 0;
1913 
1914     virtual HRESULT STDMETHODCALLTYPE OnFocus(
1915         WINBOOL fGotFocus) = 0;
1916 
1917     virtual HRESULT STDMETHODCALLTYPE ShowPropertyFrame(
1918         ) = 0;
1919 
1920 };
1921 #ifdef __CRT_UUID_DECL
1922 __CRT_UUID_DECL(IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1923 #endif
1924 #else
1925 typedef struct IOleControlSiteVtbl {
1926     BEGIN_INTERFACE
1927 
1928     /*** IUnknown methods ***/
1929     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1930         IOleControlSite *This,
1931         REFIID riid,
1932         void **ppvObject);
1933 
1934     ULONG (STDMETHODCALLTYPE *AddRef)(
1935         IOleControlSite *This);
1936 
1937     ULONG (STDMETHODCALLTYPE *Release)(
1938         IOleControlSite *This);
1939 
1940     /*** IOleControlSite methods ***/
1941     HRESULT (STDMETHODCALLTYPE *OnControlInfoChanged)(
1942         IOleControlSite *This);
1943 
1944     HRESULT (STDMETHODCALLTYPE *LockInPlaceActive)(
1945         IOleControlSite *This,
1946         WINBOOL fLock);
1947 
1948     HRESULT (STDMETHODCALLTYPE *GetExtendedControl)(
1949         IOleControlSite *This,
1950         IDispatch **ppDisp);
1951 
1952     HRESULT (STDMETHODCALLTYPE *TransformCoords)(
1953         IOleControlSite *This,
1954         POINTL *pPtlHimetric,
1955         POINTF *pPtfContainer,
1956         DWORD dwFlags);
1957 
1958     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
1959         IOleControlSite *This,
1960         MSG *pMsg,
1961         DWORD grfModifiers);
1962 
1963     HRESULT (STDMETHODCALLTYPE *OnFocus)(
1964         IOleControlSite *This,
1965         WINBOOL fGotFocus);
1966 
1967     HRESULT (STDMETHODCALLTYPE *ShowPropertyFrame)(
1968         IOleControlSite *This);
1969 
1970     END_INTERFACE
1971 } IOleControlSiteVtbl;
1972 
1973 interface IOleControlSite {
1974     CONST_VTBL IOleControlSiteVtbl* lpVtbl;
1975 };
1976 
1977 #ifdef COBJMACROS
1978 #ifndef WIDL_C_INLINE_WRAPPERS
1979 /*** IUnknown methods ***/
1980 #define IOleControlSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1981 #define IOleControlSite_AddRef(This) (This)->lpVtbl->AddRef(This)
1982 #define IOleControlSite_Release(This) (This)->lpVtbl->Release(This)
1983 /*** IOleControlSite methods ***/
1984 #define IOleControlSite_OnControlInfoChanged(This) (This)->lpVtbl->OnControlInfoChanged(This)
1985 #define IOleControlSite_LockInPlaceActive(This,fLock) (This)->lpVtbl->LockInPlaceActive(This,fLock)
1986 #define IOleControlSite_GetExtendedControl(This,ppDisp) (This)->lpVtbl->GetExtendedControl(This,ppDisp)
1987 #define IOleControlSite_TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags) (This)->lpVtbl->TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags)
1988 #define IOleControlSite_TranslateAccelerator(This,pMsg,grfModifiers) (This)->lpVtbl->TranslateAccelerator(This,pMsg,grfModifiers)
1989 #define IOleControlSite_OnFocus(This,fGotFocus) (This)->lpVtbl->OnFocus(This,fGotFocus)
1990 #define IOleControlSite_ShowPropertyFrame(This) (This)->lpVtbl->ShowPropertyFrame(This)
1991 #else
1992 /*** IUnknown methods ***/
1993 static FORCEINLINE HRESULT IOleControlSite_QueryInterface(IOleControlSite* This,REFIID riid,void **ppvObject) {
1994     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1995 }
1996 static FORCEINLINE ULONG IOleControlSite_AddRef(IOleControlSite* This) {
1997     return This->lpVtbl->AddRef(This);
1998 }
1999 static FORCEINLINE ULONG IOleControlSite_Release(IOleControlSite* This) {
2000     return This->lpVtbl->Release(This);
2001 }
2002 /*** IOleControlSite methods ***/
2003 static FORCEINLINE HRESULT IOleControlSite_OnControlInfoChanged(IOleControlSite* This) {
2004     return This->lpVtbl->OnControlInfoChanged(This);
2005 }
2006 static FORCEINLINE HRESULT IOleControlSite_LockInPlaceActive(IOleControlSite* This,WINBOOL fLock) {
2007     return This->lpVtbl->LockInPlaceActive(This,fLock);
2008 }
2009 static FORCEINLINE HRESULT IOleControlSite_GetExtendedControl(IOleControlSite* This,IDispatch **ppDisp) {
2010     return This->lpVtbl->GetExtendedControl(This,ppDisp);
2011 }
2012 static FORCEINLINE HRESULT IOleControlSite_TransformCoords(IOleControlSite* This,POINTL *pPtlHimetric,POINTF *pPtfContainer,DWORD dwFlags) {
2013     return This->lpVtbl->TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags);
2014 }
2015 static FORCEINLINE HRESULT IOleControlSite_TranslateAccelerator(IOleControlSite* This,MSG *pMsg,DWORD grfModifiers) {
2016     return This->lpVtbl->TranslateAccelerator(This,pMsg,grfModifiers);
2017 }
2018 static FORCEINLINE HRESULT IOleControlSite_OnFocus(IOleControlSite* This,WINBOOL fGotFocus) {
2019     return This->lpVtbl->OnFocus(This,fGotFocus);
2020 }
2021 static FORCEINLINE HRESULT IOleControlSite_ShowPropertyFrame(IOleControlSite* This) {
2022     return This->lpVtbl->ShowPropertyFrame(This);
2023 }
2024 #endif
2025 #endif
2026 
2027 #endif
2028 
2029 
2030 #endif  /* __IOleControlSite_INTERFACE_DEFINED__ */
2031 
2032 
2033 /*****************************************************************************
2034  * IPropertyPage interface
2035  */
2036 #ifndef __IPropertyPage_INTERFACE_DEFINED__
2037 #define __IPropertyPage_INTERFACE_DEFINED__
2038 
2039 typedef IPropertyPage *LPPROPERTYPAGE;
2040 
2041 typedef struct tagPROPPAGEINFO {
2042     ULONG cb;
2043     LPOLESTR pszTitle;
2044     SIZE size;
2045     LPOLESTR pszDocString;
2046     LPOLESTR pszHelpFile;
2047     DWORD dwHelpContext;
2048 } PROPPAGEINFO;
2049 
2050 typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
2051 
2052 DEFINE_GUID(IID_IPropertyPage, 0xb196b28d, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2053 #if defined(__cplusplus) && !defined(CINTERFACE)
2054 MIDL_INTERFACE("b196b28d-bab4-101a-b69c-00aa00341d07")
2055 IPropertyPage : public IUnknown
2056 {
2057     virtual HRESULT STDMETHODCALLTYPE SetPageSite(
2058         IPropertyPageSite *pPageSite) = 0;
2059 
2060     virtual HRESULT STDMETHODCALLTYPE Activate(
2061         HWND hWndParent,
2062         LPCRECT pRect,
2063         WINBOOL bModal) = 0;
2064 
2065     virtual HRESULT STDMETHODCALLTYPE Deactivate(
2066         ) = 0;
2067 
2068     virtual HRESULT STDMETHODCALLTYPE GetPageInfo(
2069         PROPPAGEINFO *pPageInfo) = 0;
2070 
2071     virtual HRESULT STDMETHODCALLTYPE SetObjects(
2072         ULONG cObjects,
2073         IUnknown **ppUnk) = 0;
2074 
2075     virtual HRESULT STDMETHODCALLTYPE Show(
2076         UINT nCmdShow) = 0;
2077 
2078     virtual HRESULT STDMETHODCALLTYPE Move(
2079         LPCRECT pRect) = 0;
2080 
2081     virtual HRESULT STDMETHODCALLTYPE IsPageDirty(
2082         ) = 0;
2083 
2084     virtual HRESULT STDMETHODCALLTYPE Apply(
2085         ) = 0;
2086 
2087     virtual HRESULT STDMETHODCALLTYPE Help(
2088         LPCOLESTR pszHelpDir) = 0;
2089 
2090     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2091         MSG *pMsg) = 0;
2092 
2093 };
2094 #ifdef __CRT_UUID_DECL
2095 __CRT_UUID_DECL(IPropertyPage, 0xb196b28d, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2096 #endif
2097 #else
2098 typedef struct IPropertyPageVtbl {
2099     BEGIN_INTERFACE
2100 
2101     /*** IUnknown methods ***/
2102     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2103         IPropertyPage *This,
2104         REFIID riid,
2105         void **ppvObject);
2106 
2107     ULONG (STDMETHODCALLTYPE *AddRef)(
2108         IPropertyPage *This);
2109 
2110     ULONG (STDMETHODCALLTYPE *Release)(
2111         IPropertyPage *This);
2112 
2113     /*** IPropertyPage methods ***/
2114     HRESULT (STDMETHODCALLTYPE *SetPageSite)(
2115         IPropertyPage *This,
2116         IPropertyPageSite *pPageSite);
2117 
2118     HRESULT (STDMETHODCALLTYPE *Activate)(
2119         IPropertyPage *This,
2120         HWND hWndParent,
2121         LPCRECT pRect,
2122         WINBOOL bModal);
2123 
2124     HRESULT (STDMETHODCALLTYPE *Deactivate)(
2125         IPropertyPage *This);
2126 
2127     HRESULT (STDMETHODCALLTYPE *GetPageInfo)(
2128         IPropertyPage *This,
2129         PROPPAGEINFO *pPageInfo);
2130 
2131     HRESULT (STDMETHODCALLTYPE *SetObjects)(
2132         IPropertyPage *This,
2133         ULONG cObjects,
2134         IUnknown **ppUnk);
2135 
2136     HRESULT (STDMETHODCALLTYPE *Show)(
2137         IPropertyPage *This,
2138         UINT nCmdShow);
2139 
2140     HRESULT (STDMETHODCALLTYPE *Move)(
2141         IPropertyPage *This,
2142         LPCRECT pRect);
2143 
2144     HRESULT (STDMETHODCALLTYPE *IsPageDirty)(
2145         IPropertyPage *This);
2146 
2147     HRESULT (STDMETHODCALLTYPE *Apply)(
2148         IPropertyPage *This);
2149 
2150     HRESULT (STDMETHODCALLTYPE *Help)(
2151         IPropertyPage *This,
2152         LPCOLESTR pszHelpDir);
2153 
2154     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2155         IPropertyPage *This,
2156         MSG *pMsg);
2157 
2158     END_INTERFACE
2159 } IPropertyPageVtbl;
2160 
2161 interface IPropertyPage {
2162     CONST_VTBL IPropertyPageVtbl* lpVtbl;
2163 };
2164 
2165 #ifdef COBJMACROS
2166 #ifndef WIDL_C_INLINE_WRAPPERS
2167 /*** IUnknown methods ***/
2168 #define IPropertyPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2169 #define IPropertyPage_AddRef(This) (This)->lpVtbl->AddRef(This)
2170 #define IPropertyPage_Release(This) (This)->lpVtbl->Release(This)
2171 /*** IPropertyPage methods ***/
2172 #define IPropertyPage_SetPageSite(This,pPageSite) (This)->lpVtbl->SetPageSite(This,pPageSite)
2173 #define IPropertyPage_Activate(This,hWndParent,pRect,bModal) (This)->lpVtbl->Activate(This,hWndParent,pRect,bModal)
2174 #define IPropertyPage_Deactivate(This) (This)->lpVtbl->Deactivate(This)
2175 #define IPropertyPage_GetPageInfo(This,pPageInfo) (This)->lpVtbl->GetPageInfo(This,pPageInfo)
2176 #define IPropertyPage_SetObjects(This,cObjects,ppUnk) (This)->lpVtbl->SetObjects(This,cObjects,ppUnk)
2177 #define IPropertyPage_Show(This,nCmdShow) (This)->lpVtbl->Show(This,nCmdShow)
2178 #define IPropertyPage_Move(This,pRect) (This)->lpVtbl->Move(This,pRect)
2179 #define IPropertyPage_IsPageDirty(This) (This)->lpVtbl->IsPageDirty(This)
2180 #define IPropertyPage_Apply(This) (This)->lpVtbl->Apply(This)
2181 #define IPropertyPage_Help(This,pszHelpDir) (This)->lpVtbl->Help(This,pszHelpDir)
2182 #define IPropertyPage_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2183 #else
2184 /*** IUnknown methods ***/
2185 static FORCEINLINE HRESULT IPropertyPage_QueryInterface(IPropertyPage* This,REFIID riid,void **ppvObject) {
2186     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2187 }
2188 static FORCEINLINE ULONG IPropertyPage_AddRef(IPropertyPage* This) {
2189     return This->lpVtbl->AddRef(This);
2190 }
2191 static FORCEINLINE ULONG IPropertyPage_Release(IPropertyPage* This) {
2192     return This->lpVtbl->Release(This);
2193 }
2194 /*** IPropertyPage methods ***/
2195 static FORCEINLINE HRESULT IPropertyPage_SetPageSite(IPropertyPage* This,IPropertyPageSite *pPageSite) {
2196     return This->lpVtbl->SetPageSite(This,pPageSite);
2197 }
2198 static FORCEINLINE HRESULT IPropertyPage_Activate(IPropertyPage* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2199     return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2200 }
2201 static FORCEINLINE HRESULT IPropertyPage_Deactivate(IPropertyPage* This) {
2202     return This->lpVtbl->Deactivate(This);
2203 }
2204 static FORCEINLINE HRESULT IPropertyPage_GetPageInfo(IPropertyPage* This,PROPPAGEINFO *pPageInfo) {
2205     return This->lpVtbl->GetPageInfo(This,pPageInfo);
2206 }
2207 static FORCEINLINE HRESULT IPropertyPage_SetObjects(IPropertyPage* This,ULONG cObjects,IUnknown **ppUnk) {
2208     return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2209 }
2210 static FORCEINLINE HRESULT IPropertyPage_Show(IPropertyPage* This,UINT nCmdShow) {
2211     return This->lpVtbl->Show(This,nCmdShow);
2212 }
2213 static FORCEINLINE HRESULT IPropertyPage_Move(IPropertyPage* This,LPCRECT pRect) {
2214     return This->lpVtbl->Move(This,pRect);
2215 }
2216 static FORCEINLINE HRESULT IPropertyPage_IsPageDirty(IPropertyPage* This) {
2217     return This->lpVtbl->IsPageDirty(This);
2218 }
2219 static FORCEINLINE HRESULT IPropertyPage_Apply(IPropertyPage* This) {
2220     return This->lpVtbl->Apply(This);
2221 }
2222 static FORCEINLINE HRESULT IPropertyPage_Help(IPropertyPage* This,LPCOLESTR pszHelpDir) {
2223     return This->lpVtbl->Help(This,pszHelpDir);
2224 }
2225 static FORCEINLINE HRESULT IPropertyPage_TranslateAccelerator(IPropertyPage* This,MSG *pMsg) {
2226     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2227 }
2228 #endif
2229 #endif
2230 
2231 #endif
2232 
2233 
2234 #endif  /* __IPropertyPage_INTERFACE_DEFINED__ */
2235 
2236 
2237 /*****************************************************************************
2238  * IPropertyPage2 interface
2239  */
2240 #ifndef __IPropertyPage2_INTERFACE_DEFINED__
2241 #define __IPropertyPage2_INTERFACE_DEFINED__
2242 
2243 typedef IPropertyPage2 *LPPROPERTYPAGE2;
2244 
2245 DEFINE_GUID(IID_IPropertyPage2, 0x01e44665, 0x24ac, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
2246 #if defined(__cplusplus) && !defined(CINTERFACE)
2247 MIDL_INTERFACE("01e44665-24ac-101b-84ed-08002b2ec713")
2248 IPropertyPage2 : public IPropertyPage
2249 {
2250     virtual HRESULT STDMETHODCALLTYPE EditProperty(
2251         DISPID dispID) = 0;
2252 
2253 };
2254 #ifdef __CRT_UUID_DECL
2255 __CRT_UUID_DECL(IPropertyPage2, 0x01e44665, 0x24ac, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
2256 #endif
2257 #else
2258 typedef struct IPropertyPage2Vtbl {
2259     BEGIN_INTERFACE
2260 
2261     /*** IUnknown methods ***/
2262     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2263         IPropertyPage2 *This,
2264         REFIID riid,
2265         void **ppvObject);
2266 
2267     ULONG (STDMETHODCALLTYPE *AddRef)(
2268         IPropertyPage2 *This);
2269 
2270     ULONG (STDMETHODCALLTYPE *Release)(
2271         IPropertyPage2 *This);
2272 
2273     /*** IPropertyPage methods ***/
2274     HRESULT (STDMETHODCALLTYPE *SetPageSite)(
2275         IPropertyPage2 *This,
2276         IPropertyPageSite *pPageSite);
2277 
2278     HRESULT (STDMETHODCALLTYPE *Activate)(
2279         IPropertyPage2 *This,
2280         HWND hWndParent,
2281         LPCRECT pRect,
2282         WINBOOL bModal);
2283 
2284     HRESULT (STDMETHODCALLTYPE *Deactivate)(
2285         IPropertyPage2 *This);
2286 
2287     HRESULT (STDMETHODCALLTYPE *GetPageInfo)(
2288         IPropertyPage2 *This,
2289         PROPPAGEINFO *pPageInfo);
2290 
2291     HRESULT (STDMETHODCALLTYPE *SetObjects)(
2292         IPropertyPage2 *This,
2293         ULONG cObjects,
2294         IUnknown **ppUnk);
2295 
2296     HRESULT (STDMETHODCALLTYPE *Show)(
2297         IPropertyPage2 *This,
2298         UINT nCmdShow);
2299 
2300     HRESULT (STDMETHODCALLTYPE *Move)(
2301         IPropertyPage2 *This,
2302         LPCRECT pRect);
2303 
2304     HRESULT (STDMETHODCALLTYPE *IsPageDirty)(
2305         IPropertyPage2 *This);
2306 
2307     HRESULT (STDMETHODCALLTYPE *Apply)(
2308         IPropertyPage2 *This);
2309 
2310     HRESULT (STDMETHODCALLTYPE *Help)(
2311         IPropertyPage2 *This,
2312         LPCOLESTR pszHelpDir);
2313 
2314     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2315         IPropertyPage2 *This,
2316         MSG *pMsg);
2317 
2318     /*** IPropertyPage2 methods ***/
2319     HRESULT (STDMETHODCALLTYPE *EditProperty)(
2320         IPropertyPage2 *This,
2321         DISPID dispID);
2322 
2323     END_INTERFACE
2324 } IPropertyPage2Vtbl;
2325 
2326 interface IPropertyPage2 {
2327     CONST_VTBL IPropertyPage2Vtbl* lpVtbl;
2328 };
2329 
2330 #ifdef COBJMACROS
2331 #ifndef WIDL_C_INLINE_WRAPPERS
2332 /*** IUnknown methods ***/
2333 #define IPropertyPage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2334 #define IPropertyPage2_AddRef(This) (This)->lpVtbl->AddRef(This)
2335 #define IPropertyPage2_Release(This) (This)->lpVtbl->Release(This)
2336 /*** IPropertyPage methods ***/
2337 #define IPropertyPage2_SetPageSite(This,pPageSite) (This)->lpVtbl->SetPageSite(This,pPageSite)
2338 #define IPropertyPage2_Activate(This,hWndParent,pRect,bModal) (This)->lpVtbl->Activate(This,hWndParent,pRect,bModal)
2339 #define IPropertyPage2_Deactivate(This) (This)->lpVtbl->Deactivate(This)
2340 #define IPropertyPage2_GetPageInfo(This,pPageInfo) (This)->lpVtbl->GetPageInfo(This,pPageInfo)
2341 #define IPropertyPage2_SetObjects(This,cObjects,ppUnk) (This)->lpVtbl->SetObjects(This,cObjects,ppUnk)
2342 #define IPropertyPage2_Show(This,nCmdShow) (This)->lpVtbl->Show(This,nCmdShow)
2343 #define IPropertyPage2_Move(This,pRect) (This)->lpVtbl->Move(This,pRect)
2344 #define IPropertyPage2_IsPageDirty(This) (This)->lpVtbl->IsPageDirty(This)
2345 #define IPropertyPage2_Apply(This) (This)->lpVtbl->Apply(This)
2346 #define IPropertyPage2_Help(This,pszHelpDir) (This)->lpVtbl->Help(This,pszHelpDir)
2347 #define IPropertyPage2_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2348 /*** IPropertyPage2 methods ***/
2349 #define IPropertyPage2_EditProperty(This,dispID) (This)->lpVtbl->EditProperty(This,dispID)
2350 #else
2351 /*** IUnknown methods ***/
2352 static FORCEINLINE HRESULT IPropertyPage2_QueryInterface(IPropertyPage2* This,REFIID riid,void **ppvObject) {
2353     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2354 }
2355 static FORCEINLINE ULONG IPropertyPage2_AddRef(IPropertyPage2* This) {
2356     return This->lpVtbl->AddRef(This);
2357 }
2358 static FORCEINLINE ULONG IPropertyPage2_Release(IPropertyPage2* This) {
2359     return This->lpVtbl->Release(This);
2360 }
2361 /*** IPropertyPage methods ***/
2362 static FORCEINLINE HRESULT IPropertyPage2_SetPageSite(IPropertyPage2* This,IPropertyPageSite *pPageSite) {
2363     return This->lpVtbl->SetPageSite(This,pPageSite);
2364 }
2365 static FORCEINLINE HRESULT IPropertyPage2_Activate(IPropertyPage2* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2366     return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2367 }
2368 static FORCEINLINE HRESULT IPropertyPage2_Deactivate(IPropertyPage2* This) {
2369     return This->lpVtbl->Deactivate(This);
2370 }
2371 static FORCEINLINE HRESULT IPropertyPage2_GetPageInfo(IPropertyPage2* This,PROPPAGEINFO *pPageInfo) {
2372     return This->lpVtbl->GetPageInfo(This,pPageInfo);
2373 }
2374 static FORCEINLINE HRESULT IPropertyPage2_SetObjects(IPropertyPage2* This,ULONG cObjects,IUnknown **ppUnk) {
2375     return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2376 }
2377 static FORCEINLINE HRESULT IPropertyPage2_Show(IPropertyPage2* This,UINT nCmdShow) {
2378     return This->lpVtbl->Show(This,nCmdShow);
2379 }
2380 static FORCEINLINE HRESULT IPropertyPage2_Move(IPropertyPage2* This,LPCRECT pRect) {
2381     return This->lpVtbl->Move(This,pRect);
2382 }
2383 static FORCEINLINE HRESULT IPropertyPage2_IsPageDirty(IPropertyPage2* This) {
2384     return This->lpVtbl->IsPageDirty(This);
2385 }
2386 static FORCEINLINE HRESULT IPropertyPage2_Apply(IPropertyPage2* This) {
2387     return This->lpVtbl->Apply(This);
2388 }
2389 static FORCEINLINE HRESULT IPropertyPage2_Help(IPropertyPage2* This,LPCOLESTR pszHelpDir) {
2390     return This->lpVtbl->Help(This,pszHelpDir);
2391 }
2392 static FORCEINLINE HRESULT IPropertyPage2_TranslateAccelerator(IPropertyPage2* This,MSG *pMsg) {
2393     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2394 }
2395 /*** IPropertyPage2 methods ***/
2396 static FORCEINLINE HRESULT IPropertyPage2_EditProperty(IPropertyPage2* This,DISPID dispID) {
2397     return This->lpVtbl->EditProperty(This,dispID);
2398 }
2399 #endif
2400 #endif
2401 
2402 #endif
2403 
2404 
2405 #endif  /* __IPropertyPage2_INTERFACE_DEFINED__ */
2406 
2407 
2408 /*****************************************************************************
2409  * IPropertyPageSite interface
2410  */
2411 #ifndef __IPropertyPageSite_INTERFACE_DEFINED__
2412 #define __IPropertyPageSite_INTERFACE_DEFINED__
2413 
2414 typedef IPropertyPageSite *LPPROPERTYPAGESITE;
2415 
2416 typedef enum tagPROPPAGESTATUS {
2417     PROPPAGESTATUS_DIRTY = 0x1,
2418     PROPPAGESTATUS_VALIDATE = 0x2,
2419     PROPPAGESTATUS_CLEAN = 0x4
2420 } PROPPAGESTATUS;
2421 
2422 DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28c, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2423 #if defined(__cplusplus) && !defined(CINTERFACE)
2424 MIDL_INTERFACE("b196b28c-bab4-101a-b69c-00aa00341d07")
2425 IPropertyPageSite : public IUnknown
2426 {
2427     virtual HRESULT STDMETHODCALLTYPE OnStatusChange(
2428         DWORD dwFlags) = 0;
2429 
2430     virtual HRESULT STDMETHODCALLTYPE GetLocaleID(
2431         LCID *pLocaleID) = 0;
2432 
2433     virtual HRESULT STDMETHODCALLTYPE GetPageContainer(
2434         IUnknown **ppUnk) = 0;
2435 
2436     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2437         MSG *pMsg) = 0;
2438 
2439 };
2440 #ifdef __CRT_UUID_DECL
2441 __CRT_UUID_DECL(IPropertyPageSite, 0xb196b28c, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2442 #endif
2443 #else
2444 typedef struct IPropertyPageSiteVtbl {
2445     BEGIN_INTERFACE
2446 
2447     /*** IUnknown methods ***/
2448     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2449         IPropertyPageSite *This,
2450         REFIID riid,
2451         void **ppvObject);
2452 
2453     ULONG (STDMETHODCALLTYPE *AddRef)(
2454         IPropertyPageSite *This);
2455 
2456     ULONG (STDMETHODCALLTYPE *Release)(
2457         IPropertyPageSite *This);
2458 
2459     /*** IPropertyPageSite methods ***/
2460     HRESULT (STDMETHODCALLTYPE *OnStatusChange)(
2461         IPropertyPageSite *This,
2462         DWORD dwFlags);
2463 
2464     HRESULT (STDMETHODCALLTYPE *GetLocaleID)(
2465         IPropertyPageSite *This,
2466         LCID *pLocaleID);
2467 
2468     HRESULT (STDMETHODCALLTYPE *GetPageContainer)(
2469         IPropertyPageSite *This,
2470         IUnknown **ppUnk);
2471 
2472     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2473         IPropertyPageSite *This,
2474         MSG *pMsg);
2475 
2476     END_INTERFACE
2477 } IPropertyPageSiteVtbl;
2478 
2479 interface IPropertyPageSite {
2480     CONST_VTBL IPropertyPageSiteVtbl* lpVtbl;
2481 };
2482 
2483 #ifdef COBJMACROS
2484 #ifndef WIDL_C_INLINE_WRAPPERS
2485 /*** IUnknown methods ***/
2486 #define IPropertyPageSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2487 #define IPropertyPageSite_AddRef(This) (This)->lpVtbl->AddRef(This)
2488 #define IPropertyPageSite_Release(This) (This)->lpVtbl->Release(This)
2489 /*** IPropertyPageSite methods ***/
2490 #define IPropertyPageSite_OnStatusChange(This,dwFlags) (This)->lpVtbl->OnStatusChange(This,dwFlags)
2491 #define IPropertyPageSite_GetLocaleID(This,pLocaleID) (This)->lpVtbl->GetLocaleID(This,pLocaleID)
2492 #define IPropertyPageSite_GetPageContainer(This,ppUnk) (This)->lpVtbl->GetPageContainer(This,ppUnk)
2493 #define IPropertyPageSite_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2494 #else
2495 /*** IUnknown methods ***/
2496 static FORCEINLINE HRESULT IPropertyPageSite_QueryInterface(IPropertyPageSite* This,REFIID riid,void **ppvObject) {
2497     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2498 }
2499 static FORCEINLINE ULONG IPropertyPageSite_AddRef(IPropertyPageSite* This) {
2500     return This->lpVtbl->AddRef(This);
2501 }
2502 static FORCEINLINE ULONG IPropertyPageSite_Release(IPropertyPageSite* This) {
2503     return This->lpVtbl->Release(This);
2504 }
2505 /*** IPropertyPageSite methods ***/
2506 static FORCEINLINE HRESULT IPropertyPageSite_OnStatusChange(IPropertyPageSite* This,DWORD dwFlags) {
2507     return This->lpVtbl->OnStatusChange(This,dwFlags);
2508 }
2509 static FORCEINLINE HRESULT IPropertyPageSite_GetLocaleID(IPropertyPageSite* This,LCID *pLocaleID) {
2510     return This->lpVtbl->GetLocaleID(This,pLocaleID);
2511 }
2512 static FORCEINLINE HRESULT IPropertyPageSite_GetPageContainer(IPropertyPageSite* This,IUnknown **ppUnk) {
2513     return This->lpVtbl->GetPageContainer(This,ppUnk);
2514 }
2515 static FORCEINLINE HRESULT IPropertyPageSite_TranslateAccelerator(IPropertyPageSite* This,MSG *pMsg) {
2516     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2517 }
2518 #endif
2519 #endif
2520 
2521 #endif
2522 
2523 
2524 #endif  /* __IPropertyPageSite_INTERFACE_DEFINED__ */
2525 
2526 
2527 /*****************************************************************************
2528  * IPropertyNotifySink interface
2529  */
2530 #ifndef __IPropertyNotifySink_INTERFACE_DEFINED__
2531 #define __IPropertyNotifySink_INTERFACE_DEFINED__
2532 
2533 typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
2534 
2535 DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02, 0xeff1, 0x101a, 0x84,0xed, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2536 #if defined(__cplusplus) && !defined(CINTERFACE)
2537 MIDL_INTERFACE("9bfbbc02-eff1-101a-84ed-00aa00341d07")
2538 IPropertyNotifySink : public IUnknown
2539 {
2540     virtual HRESULT STDMETHODCALLTYPE OnChanged(
2541         DISPID dispID) = 0;
2542 
2543     virtual HRESULT STDMETHODCALLTYPE OnRequestEdit(
2544         DISPID dispID) = 0;
2545 
2546 };
2547 #ifdef __CRT_UUID_DECL
2548 __CRT_UUID_DECL(IPropertyNotifySink, 0x9bfbbc02, 0xeff1, 0x101a, 0x84,0xed, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2549 #endif
2550 #else
2551 typedef struct IPropertyNotifySinkVtbl {
2552     BEGIN_INTERFACE
2553 
2554     /*** IUnknown methods ***/
2555     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2556         IPropertyNotifySink *This,
2557         REFIID riid,
2558         void **ppvObject);
2559 
2560     ULONG (STDMETHODCALLTYPE *AddRef)(
2561         IPropertyNotifySink *This);
2562 
2563     ULONG (STDMETHODCALLTYPE *Release)(
2564         IPropertyNotifySink *This);
2565 
2566     /*** IPropertyNotifySink methods ***/
2567     HRESULT (STDMETHODCALLTYPE *OnChanged)(
2568         IPropertyNotifySink *This,
2569         DISPID dispID);
2570 
2571     HRESULT (STDMETHODCALLTYPE *OnRequestEdit)(
2572         IPropertyNotifySink *This,
2573         DISPID dispID);
2574 
2575     END_INTERFACE
2576 } IPropertyNotifySinkVtbl;
2577 
2578 interface IPropertyNotifySink {
2579     CONST_VTBL IPropertyNotifySinkVtbl* lpVtbl;
2580 };
2581 
2582 #ifdef COBJMACROS
2583 #ifndef WIDL_C_INLINE_WRAPPERS
2584 /*** IUnknown methods ***/
2585 #define IPropertyNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2586 #define IPropertyNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
2587 #define IPropertyNotifySink_Release(This) (This)->lpVtbl->Release(This)
2588 /*** IPropertyNotifySink methods ***/
2589 #define IPropertyNotifySink_OnChanged(This,dispID) (This)->lpVtbl->OnChanged(This,dispID)
2590 #define IPropertyNotifySink_OnRequestEdit(This,dispID) (This)->lpVtbl->OnRequestEdit(This,dispID)
2591 #else
2592 /*** IUnknown methods ***/
2593 static FORCEINLINE HRESULT IPropertyNotifySink_QueryInterface(IPropertyNotifySink* This,REFIID riid,void **ppvObject) {
2594     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2595 }
2596 static FORCEINLINE ULONG IPropertyNotifySink_AddRef(IPropertyNotifySink* This) {
2597     return This->lpVtbl->AddRef(This);
2598 }
2599 static FORCEINLINE ULONG IPropertyNotifySink_Release(IPropertyNotifySink* This) {
2600     return This->lpVtbl->Release(This);
2601 }
2602 /*** IPropertyNotifySink methods ***/
2603 static FORCEINLINE HRESULT IPropertyNotifySink_OnChanged(IPropertyNotifySink* This,DISPID dispID) {
2604     return This->lpVtbl->OnChanged(This,dispID);
2605 }
2606 static FORCEINLINE HRESULT IPropertyNotifySink_OnRequestEdit(IPropertyNotifySink* This,DISPID dispID) {
2607     return This->lpVtbl->OnRequestEdit(This,dispID);
2608 }
2609 #endif
2610 #endif
2611 
2612 #endif
2613 
2614 
2615 #endif  /* __IPropertyNotifySink_INTERFACE_DEFINED__ */
2616 
2617 
2618 /*****************************************************************************
2619  * ISpecifyPropertyPages interface
2620  */
2621 #ifndef __ISpecifyPropertyPages_INTERFACE_DEFINED__
2622 #define __ISpecifyPropertyPages_INTERFACE_DEFINED__
2623 
2624 typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
2625 
2626 typedef struct tagCAUUID {
2627     ULONG cElems;
2628     GUID *pElems;
2629 } CAUUID;
2630 
2631 typedef struct tagCAUUID *LPCAUUID;
2632 
2633 DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2634 #if defined(__cplusplus) && !defined(CINTERFACE)
2635 MIDL_INTERFACE("b196b28b-bab4-101a-b69c-00aa00341d07")
2636 ISpecifyPropertyPages : public IUnknown
2637 {
2638     virtual HRESULT STDMETHODCALLTYPE GetPages(
2639         CAUUID *pPages) = 0;
2640 
2641 };
2642 #ifdef __CRT_UUID_DECL
2643 __CRT_UUID_DECL(ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2644 #endif
2645 #else
2646 typedef struct ISpecifyPropertyPagesVtbl {
2647     BEGIN_INTERFACE
2648 
2649     /*** IUnknown methods ***/
2650     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2651         ISpecifyPropertyPages *This,
2652         REFIID riid,
2653         void **ppvObject);
2654 
2655     ULONG (STDMETHODCALLTYPE *AddRef)(
2656         ISpecifyPropertyPages *This);
2657 
2658     ULONG (STDMETHODCALLTYPE *Release)(
2659         ISpecifyPropertyPages *This);
2660 
2661     /*** ISpecifyPropertyPages methods ***/
2662     HRESULT (STDMETHODCALLTYPE *GetPages)(
2663         ISpecifyPropertyPages *This,
2664         CAUUID *pPages);
2665 
2666     END_INTERFACE
2667 } ISpecifyPropertyPagesVtbl;
2668 
2669 interface ISpecifyPropertyPages {
2670     CONST_VTBL ISpecifyPropertyPagesVtbl* lpVtbl;
2671 };
2672 
2673 #ifdef COBJMACROS
2674 #ifndef WIDL_C_INLINE_WRAPPERS
2675 /*** IUnknown methods ***/
2676 #define ISpecifyPropertyPages_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2677 #define ISpecifyPropertyPages_AddRef(This) (This)->lpVtbl->AddRef(This)
2678 #define ISpecifyPropertyPages_Release(This) (This)->lpVtbl->Release(This)
2679 /*** ISpecifyPropertyPages methods ***/
2680 #define ISpecifyPropertyPages_GetPages(This,pPages) (This)->lpVtbl->GetPages(This,pPages)
2681 #else
2682 /*** IUnknown methods ***/
2683 static FORCEINLINE HRESULT ISpecifyPropertyPages_QueryInterface(ISpecifyPropertyPages* This,REFIID riid,void **ppvObject) {
2684     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2685 }
2686 static FORCEINLINE ULONG ISpecifyPropertyPages_AddRef(ISpecifyPropertyPages* This) {
2687     return This->lpVtbl->AddRef(This);
2688 }
2689 static FORCEINLINE ULONG ISpecifyPropertyPages_Release(ISpecifyPropertyPages* This) {
2690     return This->lpVtbl->Release(This);
2691 }
2692 /*** ISpecifyPropertyPages methods ***/
2693 static FORCEINLINE HRESULT ISpecifyPropertyPages_GetPages(ISpecifyPropertyPages* This,CAUUID *pPages) {
2694     return This->lpVtbl->GetPages(This,pPages);
2695 }
2696 #endif
2697 #endif
2698 
2699 #endif
2700 
2701 
2702 #endif  /* __ISpecifyPropertyPages_INTERFACE_DEFINED__ */
2703 
2704 
2705 /*****************************************************************************
2706  * IPersistMemory interface
2707  */
2708 #ifndef __IPersistMemory_INTERFACE_DEFINED__
2709 #define __IPersistMemory_INTERFACE_DEFINED__
2710 
2711 typedef IPersistMemory *LPPERSISTMEMORY;
2712 
2713 DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0, 0xa6ae, 0x11ce, 0xbd,0x37, 0x50,0x42,0x00,0xc1,0x00,0x00);
2714 #if defined(__cplusplus) && !defined(CINTERFACE)
2715 MIDL_INTERFACE("bd1ae5e0-a6ae-11ce-bd37-504200c10000")
2716 IPersistMemory : public IPersist
2717 {
2718     virtual HRESULT STDMETHODCALLTYPE IsDirty(
2719         ) = 0;
2720 
2721     virtual HRESULT STDMETHODCALLTYPE Load(
2722         LPVOID pMem,
2723         ULONG cbSize) = 0;
2724 
2725     virtual HRESULT STDMETHODCALLTYPE Save(
2726         LPVOID pMem,
2727         WINBOOL fClearDirty,
2728         ULONG cbSize) = 0;
2729 
2730     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
2731         ULONG *pCbSize) = 0;
2732 
2733     virtual HRESULT STDMETHODCALLTYPE InitNew(
2734         ) = 0;
2735 
2736 };
2737 #ifdef __CRT_UUID_DECL
2738 __CRT_UUID_DECL(IPersistMemory, 0xbd1ae5e0, 0xa6ae, 0x11ce, 0xbd,0x37, 0x50,0x42,0x00,0xc1,0x00,0x00)
2739 #endif
2740 #else
2741 typedef struct IPersistMemoryVtbl {
2742     BEGIN_INTERFACE
2743 
2744     /*** IUnknown methods ***/
2745     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2746         IPersistMemory *This,
2747         REFIID riid,
2748         void **ppvObject);
2749 
2750     ULONG (STDMETHODCALLTYPE *AddRef)(
2751         IPersistMemory *This);
2752 
2753     ULONG (STDMETHODCALLTYPE *Release)(
2754         IPersistMemory *This);
2755 
2756     /*** IPersist methods ***/
2757     HRESULT (STDMETHODCALLTYPE *GetClassID)(
2758         IPersistMemory *This,
2759         CLSID *pClassID);
2760 
2761     /*** IPersistMemory methods ***/
2762     HRESULT (STDMETHODCALLTYPE *IsDirty)(
2763         IPersistMemory *This);
2764 
2765     HRESULT (STDMETHODCALLTYPE *Load)(
2766         IPersistMemory *This,
2767         LPVOID pMem,
2768         ULONG cbSize);
2769 
2770     HRESULT (STDMETHODCALLTYPE *Save)(
2771         IPersistMemory *This,
2772         LPVOID pMem,
2773         WINBOOL fClearDirty,
2774         ULONG cbSize);
2775 
2776     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2777         IPersistMemory *This,
2778         ULONG *pCbSize);
2779 
2780     HRESULT (STDMETHODCALLTYPE *InitNew)(
2781         IPersistMemory *This);
2782 
2783     END_INTERFACE
2784 } IPersistMemoryVtbl;
2785 
2786 interface IPersistMemory {
2787     CONST_VTBL IPersistMemoryVtbl* lpVtbl;
2788 };
2789 
2790 #ifdef COBJMACROS
2791 #ifndef WIDL_C_INLINE_WRAPPERS
2792 /*** IUnknown methods ***/
2793 #define IPersistMemory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2794 #define IPersistMemory_AddRef(This) (This)->lpVtbl->AddRef(This)
2795 #define IPersistMemory_Release(This) (This)->lpVtbl->Release(This)
2796 /*** IPersist methods ***/
2797 #define IPersistMemory_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
2798 /*** IPersistMemory methods ***/
2799 #define IPersistMemory_IsDirty(This) (This)->lpVtbl->IsDirty(This)
2800 #define IPersistMemory_Load(This,pMem,cbSize) (This)->lpVtbl->Load(This,pMem,cbSize)
2801 #define IPersistMemory_Save(This,pMem,fClearDirty,cbSize) (This)->lpVtbl->Save(This,pMem,fClearDirty,cbSize)
2802 #define IPersistMemory_GetSizeMax(This,pCbSize) (This)->lpVtbl->GetSizeMax(This,pCbSize)
2803 #define IPersistMemory_InitNew(This) (This)->lpVtbl->InitNew(This)
2804 #else
2805 /*** IUnknown methods ***/
2806 static FORCEINLINE HRESULT IPersistMemory_QueryInterface(IPersistMemory* This,REFIID riid,void **ppvObject) {
2807     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2808 }
2809 static FORCEINLINE ULONG IPersistMemory_AddRef(IPersistMemory* This) {
2810     return This->lpVtbl->AddRef(This);
2811 }
2812 static FORCEINLINE ULONG IPersistMemory_Release(IPersistMemory* This) {
2813     return This->lpVtbl->Release(This);
2814 }
2815 /*** IPersist methods ***/
2816 static FORCEINLINE HRESULT IPersistMemory_GetClassID(IPersistMemory* This,CLSID *pClassID) {
2817     return This->lpVtbl->GetClassID(This,pClassID);
2818 }
2819 /*** IPersistMemory methods ***/
2820 static FORCEINLINE HRESULT IPersistMemory_IsDirty(IPersistMemory* This) {
2821     return This->lpVtbl->IsDirty(This);
2822 }
2823 static FORCEINLINE HRESULT IPersistMemory_Load(IPersistMemory* This,LPVOID pMem,ULONG cbSize) {
2824     return This->lpVtbl->Load(This,pMem,cbSize);
2825 }
2826 static FORCEINLINE HRESULT IPersistMemory_Save(IPersistMemory* This,LPVOID pMem,WINBOOL fClearDirty,ULONG cbSize) {
2827     return This->lpVtbl->Save(This,pMem,fClearDirty,cbSize);
2828 }
2829 static FORCEINLINE HRESULT IPersistMemory_GetSizeMax(IPersistMemory* This,ULONG *pCbSize) {
2830     return This->lpVtbl->GetSizeMax(This,pCbSize);
2831 }
2832 static FORCEINLINE HRESULT IPersistMemory_InitNew(IPersistMemory* This) {
2833     return This->lpVtbl->InitNew(This);
2834 }
2835 #endif
2836 #endif
2837 
2838 #endif
2839 
2840 HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteLoad_Proxy(
2841     IPersistMemory* This,
2842     BYTE *pMem,
2843     ULONG cbSize);
2844 void __RPC_STUB IPersistMemory_RemoteLoad_Stub(
2845     IRpcStubBuffer* This,
2846     IRpcChannelBuffer* pRpcChannelBuffer,
2847     PRPC_MESSAGE pRpcMessage,
2848     DWORD* pdwStubPhase);
2849 HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteSave_Proxy(
2850     IPersistMemory* This,
2851     BYTE *pMem,
2852     WINBOOL fClearDirty,
2853     ULONG cbSize);
2854 void __RPC_STUB IPersistMemory_RemoteSave_Stub(
2855     IRpcStubBuffer* This,
2856     IRpcChannelBuffer* pRpcChannelBuffer,
2857     PRPC_MESSAGE pRpcMessage,
2858     DWORD* pdwStubPhase);
2859 HRESULT CALLBACK IPersistMemory_Load_Proxy(
2860     IPersistMemory* This,
2861     LPVOID pMem,
2862     ULONG cbSize);
2863 HRESULT __RPC_STUB IPersistMemory_Load_Stub(
2864     IPersistMemory* This,
2865     BYTE *pMem,
2866     ULONG cbSize);
2867 HRESULT CALLBACK IPersistMemory_Save_Proxy(
2868     IPersistMemory* This,
2869     LPVOID pMem,
2870     WINBOOL fClearDirty,
2871     ULONG cbSize);
2872 HRESULT __RPC_STUB IPersistMemory_Save_Stub(
2873     IPersistMemory* This,
2874     BYTE *pMem,
2875     WINBOOL fClearDirty,
2876     ULONG cbSize);
2877 
2878 #endif  /* __IPersistMemory_INTERFACE_DEFINED__ */
2879 
2880 
2881 /*****************************************************************************
2882  * IPersistStreamInit interface
2883  */
2884 #ifndef __IPersistStreamInit_INTERFACE_DEFINED__
2885 #define __IPersistStreamInit_INTERFACE_DEFINED__
2886 
2887 typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
2888 
2889 DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380, 0x4e07, 0x101b, 0xae,0x2d, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
2890 #if defined(__cplusplus) && !defined(CINTERFACE)
2891 MIDL_INTERFACE("7fd52380-4e07-101b-ae2d-08002b2ec713")
2892 IPersistStreamInit : public IPersist
2893 {
2894     virtual HRESULT STDMETHODCALLTYPE IsDirty(
2895         ) = 0;
2896 
2897     virtual HRESULT STDMETHODCALLTYPE Load(
2898         LPSTREAM pStm) = 0;
2899 
2900     virtual HRESULT STDMETHODCALLTYPE Save(
2901         LPSTREAM pStm,
2902         WINBOOL fClearDirty) = 0;
2903 
2904     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
2905         ULARGE_INTEGER *pCbSize) = 0;
2906 
2907     virtual HRESULT STDMETHODCALLTYPE InitNew(
2908         ) = 0;
2909 
2910 };
2911 #ifdef __CRT_UUID_DECL
2912 __CRT_UUID_DECL(IPersistStreamInit, 0x7fd52380, 0x4e07, 0x101b, 0xae,0x2d, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
2913 #endif
2914 #else
2915 typedef struct IPersistStreamInitVtbl {
2916     BEGIN_INTERFACE
2917 
2918     /*** IUnknown methods ***/
2919     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2920         IPersistStreamInit *This,
2921         REFIID riid,
2922         void **ppvObject);
2923 
2924     ULONG (STDMETHODCALLTYPE *AddRef)(
2925         IPersistStreamInit *This);
2926 
2927     ULONG (STDMETHODCALLTYPE *Release)(
2928         IPersistStreamInit *This);
2929 
2930     /*** IPersist methods ***/
2931     HRESULT (STDMETHODCALLTYPE *GetClassID)(
2932         IPersistStreamInit *This,
2933         CLSID *pClassID);
2934 
2935     /*** IPersistStreamInit methods ***/
2936     HRESULT (STDMETHODCALLTYPE *IsDirty)(
2937         IPersistStreamInit *This);
2938 
2939     HRESULT (STDMETHODCALLTYPE *Load)(
2940         IPersistStreamInit *This,
2941         LPSTREAM pStm);
2942 
2943     HRESULT (STDMETHODCALLTYPE *Save)(
2944         IPersistStreamInit *This,
2945         LPSTREAM pStm,
2946         WINBOOL fClearDirty);
2947 
2948     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2949         IPersistStreamInit *This,
2950         ULARGE_INTEGER *pCbSize);
2951 
2952     HRESULT (STDMETHODCALLTYPE *InitNew)(
2953         IPersistStreamInit *This);
2954 
2955     END_INTERFACE
2956 } IPersistStreamInitVtbl;
2957 
2958 interface IPersistStreamInit {
2959     CONST_VTBL IPersistStreamInitVtbl* lpVtbl;
2960 };
2961 
2962 #ifdef COBJMACROS
2963 #ifndef WIDL_C_INLINE_WRAPPERS
2964 /*** IUnknown methods ***/
2965 #define IPersistStreamInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2966 #define IPersistStreamInit_AddRef(This) (This)->lpVtbl->AddRef(This)
2967 #define IPersistStreamInit_Release(This) (This)->lpVtbl->Release(This)
2968 /*** IPersist methods ***/
2969 #define IPersistStreamInit_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
2970 /*** IPersistStreamInit methods ***/
2971 #define IPersistStreamInit_IsDirty(This) (This)->lpVtbl->IsDirty(This)
2972 #define IPersistStreamInit_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
2973 #define IPersistStreamInit_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
2974 #define IPersistStreamInit_GetSizeMax(This,pCbSize) (This)->lpVtbl->GetSizeMax(This,pCbSize)
2975 #define IPersistStreamInit_InitNew(This) (This)->lpVtbl->InitNew(This)
2976 #else
2977 /*** IUnknown methods ***/
2978 static FORCEINLINE HRESULT IPersistStreamInit_QueryInterface(IPersistStreamInit* This,REFIID riid,void **ppvObject) {
2979     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2980 }
2981 static FORCEINLINE ULONG IPersistStreamInit_AddRef(IPersistStreamInit* This) {
2982     return This->lpVtbl->AddRef(This);
2983 }
2984 static FORCEINLINE ULONG IPersistStreamInit_Release(IPersistStreamInit* This) {
2985     return This->lpVtbl->Release(This);
2986 }
2987 /*** IPersist methods ***/
2988 static FORCEINLINE HRESULT IPersistStreamInit_GetClassID(IPersistStreamInit* This,CLSID *pClassID) {
2989     return This->lpVtbl->GetClassID(This,pClassID);
2990 }
2991 /*** IPersistStreamInit methods ***/
2992 static FORCEINLINE HRESULT IPersistStreamInit_IsDirty(IPersistStreamInit* This) {
2993     return This->lpVtbl->IsDirty(This);
2994 }
2995 static FORCEINLINE HRESULT IPersistStreamInit_Load(IPersistStreamInit* This,LPSTREAM pStm) {
2996     return This->lpVtbl->Load(This,pStm);
2997 }
2998 static FORCEINLINE HRESULT IPersistStreamInit_Save(IPersistStreamInit* This,LPSTREAM pStm,WINBOOL fClearDirty) {
2999     return This->lpVtbl->Save(This,pStm,fClearDirty);
3000 }
3001 static FORCEINLINE HRESULT IPersistStreamInit_GetSizeMax(IPersistStreamInit* This,ULARGE_INTEGER *pCbSize) {
3002     return This->lpVtbl->GetSizeMax(This,pCbSize);
3003 }
3004 static FORCEINLINE HRESULT IPersistStreamInit_InitNew(IPersistStreamInit* This) {
3005     return This->lpVtbl->InitNew(This);
3006 }
3007 #endif
3008 #endif
3009 
3010 #endif
3011 
3012 
3013 #endif  /* __IPersistStreamInit_INTERFACE_DEFINED__ */
3014 
3015 
3016 /*****************************************************************************
3017  * IPersistPropertyBag interface
3018  */
3019 #ifndef __IPersistPropertyBag_INTERFACE_DEFINED__
3020 #define __IPersistPropertyBag_INTERFACE_DEFINED__
3021 
3022 typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
3023 
3024 DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
3025 #if defined(__cplusplus) && !defined(CINTERFACE)
3026 MIDL_INTERFACE("37d84f60-42cb-11ce-8135-00aa004bb851")
3027 IPersistPropertyBag : public IPersist
3028 {
3029     virtual HRESULT STDMETHODCALLTYPE InitNew(
3030         ) = 0;
3031 
3032     virtual HRESULT STDMETHODCALLTYPE Load(
3033         IPropertyBag *pPropBag,
3034         IErrorLog *pErrorLog) = 0;
3035 
3036     virtual HRESULT STDMETHODCALLTYPE Save(
3037         IPropertyBag *pPropBag,
3038         WINBOOL fClearDirty,
3039         WINBOOL fSaveAllProperties) = 0;
3040 
3041 };
3042 #ifdef __CRT_UUID_DECL
3043 __CRT_UUID_DECL(IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51)
3044 #endif
3045 #else
3046 typedef struct IPersistPropertyBagVtbl {
3047     BEGIN_INTERFACE
3048 
3049     /*** IUnknown methods ***/
3050     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3051         IPersistPropertyBag *This,
3052         REFIID riid,
3053         void **ppvObject);
3054 
3055     ULONG (STDMETHODCALLTYPE *AddRef)(
3056         IPersistPropertyBag *This);
3057 
3058     ULONG (STDMETHODCALLTYPE *Release)(
3059         IPersistPropertyBag *This);
3060 
3061     /*** IPersist methods ***/
3062     HRESULT (STDMETHODCALLTYPE *GetClassID)(
3063         IPersistPropertyBag *This,
3064         CLSID *pClassID);
3065 
3066     /*** IPersistPropertyBag methods ***/
3067     HRESULT (STDMETHODCALLTYPE *InitNew)(
3068         IPersistPropertyBag *This);
3069 
3070     HRESULT (STDMETHODCALLTYPE *Load)(
3071         IPersistPropertyBag *This,
3072         IPropertyBag *pPropBag,
3073         IErrorLog *pErrorLog);
3074 
3075     HRESULT (STDMETHODCALLTYPE *Save)(
3076         IPersistPropertyBag *This,
3077         IPropertyBag *pPropBag,
3078         WINBOOL fClearDirty,
3079         WINBOOL fSaveAllProperties);
3080 
3081     END_INTERFACE
3082 } IPersistPropertyBagVtbl;
3083 
3084 interface IPersistPropertyBag {
3085     CONST_VTBL IPersistPropertyBagVtbl* lpVtbl;
3086 };
3087 
3088 #ifdef COBJMACROS
3089 #ifndef WIDL_C_INLINE_WRAPPERS
3090 /*** IUnknown methods ***/
3091 #define IPersistPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3092 #define IPersistPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
3093 #define IPersistPropertyBag_Release(This) (This)->lpVtbl->Release(This)
3094 /*** IPersist methods ***/
3095 #define IPersistPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3096 /*** IPersistPropertyBag methods ***/
3097 #define IPersistPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
3098 #define IPersistPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
3099 #define IPersistPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
3100 #else
3101 /*** IUnknown methods ***/
3102 static FORCEINLINE HRESULT IPersistPropertyBag_QueryInterface(IPersistPropertyBag* This,REFIID riid,void **ppvObject) {
3103     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3104 }
3105 static FORCEINLINE ULONG IPersistPropertyBag_AddRef(IPersistPropertyBag* This) {
3106     return This->lpVtbl->AddRef(This);
3107 }
3108 static FORCEINLINE ULONG IPersistPropertyBag_Release(IPersistPropertyBag* This) {
3109     return This->lpVtbl->Release(This);
3110 }
3111 /*** IPersist methods ***/
3112 static FORCEINLINE HRESULT IPersistPropertyBag_GetClassID(IPersistPropertyBag* This,CLSID *pClassID) {
3113     return This->lpVtbl->GetClassID(This,pClassID);
3114 }
3115 /*** IPersistPropertyBag methods ***/
3116 static FORCEINLINE HRESULT IPersistPropertyBag_InitNew(IPersistPropertyBag* This) {
3117     return This->lpVtbl->InitNew(This);
3118 }
3119 static FORCEINLINE HRESULT IPersistPropertyBag_Load(IPersistPropertyBag* This,IPropertyBag *pPropBag,IErrorLog *pErrorLog) {
3120     return This->lpVtbl->Load(This,pPropBag,pErrorLog);
3121 }
3122 static FORCEINLINE HRESULT IPersistPropertyBag_Save(IPersistPropertyBag* This,IPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
3123     return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
3124 }
3125 #endif
3126 #endif
3127 
3128 #endif
3129 
3130 
3131 #endif  /* __IPersistPropertyBag_INTERFACE_DEFINED__ */
3132 
3133 
3134 /*****************************************************************************
3135  * ISimpleFrameSite interface
3136  */
3137 #ifndef __ISimpleFrameSite_INTERFACE_DEFINED__
3138 #define __ISimpleFrameSite_INTERFACE_DEFINED__
3139 
3140 typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
3141 
3142 DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01, 0x14e6, 0x101b, 0x91,0x4e, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3143 #if defined(__cplusplus) && !defined(CINTERFACE)
3144 MIDL_INTERFACE("742b0e01-14e6-101b-914e-00aa00300cab")
3145 ISimpleFrameSite : public IUnknown
3146 {
3147     virtual HRESULT STDMETHODCALLTYPE PreMessageFilter(
3148         HWND hWnd,
3149         UINT msg,
3150         WPARAM wp,
3151         LPARAM lp,
3152         LRESULT *plResult,
3153         DWORD *pdwCookie) = 0;
3154 
3155     virtual HRESULT STDMETHODCALLTYPE PostMessageFilter(
3156         HWND hWnd,
3157         UINT msg,
3158         WPARAM wp,
3159         LPARAM lp,
3160         LRESULT *plResult,
3161         DWORD dwCookie) = 0;
3162 
3163 };
3164 #ifdef __CRT_UUID_DECL
3165 __CRT_UUID_DECL(ISimpleFrameSite, 0x742b0e01, 0x14e6, 0x101b, 0x91,0x4e, 0x00,0xaa,0x00,0x30,0x0c,0xab)
3166 #endif
3167 #else
3168 typedef struct ISimpleFrameSiteVtbl {
3169     BEGIN_INTERFACE
3170 
3171     /*** IUnknown methods ***/
3172     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3173         ISimpleFrameSite *This,
3174         REFIID riid,
3175         void **ppvObject);
3176 
3177     ULONG (STDMETHODCALLTYPE *AddRef)(
3178         ISimpleFrameSite *This);
3179 
3180     ULONG (STDMETHODCALLTYPE *Release)(
3181         ISimpleFrameSite *This);
3182 
3183     /*** ISimpleFrameSite methods ***/
3184     HRESULT (STDMETHODCALLTYPE *PreMessageFilter)(
3185         ISimpleFrameSite *This,
3186         HWND hWnd,
3187         UINT msg,
3188         WPARAM wp,
3189         LPARAM lp,
3190         LRESULT *plResult,
3191         DWORD *pdwCookie);
3192 
3193     HRESULT (STDMETHODCALLTYPE *PostMessageFilter)(
3194         ISimpleFrameSite *This,
3195         HWND hWnd,
3196         UINT msg,
3197         WPARAM wp,
3198         LPARAM lp,
3199         LRESULT *plResult,
3200         DWORD dwCookie);
3201 
3202     END_INTERFACE
3203 } ISimpleFrameSiteVtbl;
3204 
3205 interface ISimpleFrameSite {
3206     CONST_VTBL ISimpleFrameSiteVtbl* lpVtbl;
3207 };
3208 
3209 #ifdef COBJMACROS
3210 #ifndef WIDL_C_INLINE_WRAPPERS
3211 /*** IUnknown methods ***/
3212 #define ISimpleFrameSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3213 #define ISimpleFrameSite_AddRef(This) (This)->lpVtbl->AddRef(This)
3214 #define ISimpleFrameSite_Release(This) (This)->lpVtbl->Release(This)
3215 /*** ISimpleFrameSite methods ***/
3216 #define ISimpleFrameSite_PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie) (This)->lpVtbl->PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie)
3217 #define ISimpleFrameSite_PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie) (This)->lpVtbl->PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie)
3218 #else
3219 /*** IUnknown methods ***/
3220 static FORCEINLINE HRESULT ISimpleFrameSite_QueryInterface(ISimpleFrameSite* This,REFIID riid,void **ppvObject) {
3221     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3222 }
3223 static FORCEINLINE ULONG ISimpleFrameSite_AddRef(ISimpleFrameSite* This) {
3224     return This->lpVtbl->AddRef(This);
3225 }
3226 static FORCEINLINE ULONG ISimpleFrameSite_Release(ISimpleFrameSite* This) {
3227     return This->lpVtbl->Release(This);
3228 }
3229 /*** ISimpleFrameSite methods ***/
3230 static FORCEINLINE HRESULT ISimpleFrameSite_PreMessageFilter(ISimpleFrameSite* This,HWND hWnd,UINT msg,WPARAM wp,LPARAM lp,LRESULT *plResult,DWORD *pdwCookie) {
3231     return This->lpVtbl->PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie);
3232 }
3233 static FORCEINLINE HRESULT ISimpleFrameSite_PostMessageFilter(ISimpleFrameSite* This,HWND hWnd,UINT msg,WPARAM wp,LPARAM lp,LRESULT *plResult,DWORD dwCookie) {
3234     return This->lpVtbl->PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie);
3235 }
3236 #endif
3237 #endif
3238 
3239 #endif
3240 
3241 
3242 #endif  /* __ISimpleFrameSite_INTERFACE_DEFINED__ */
3243 
3244 
3245 /*****************************************************************************
3246  * IFont interface
3247  */
3248 #ifndef __IFont_INTERFACE_DEFINED__
3249 #define __IFont_INTERFACE_DEFINED__
3250 
3251 typedef IFont *LPFONT;
3252 
3253 #ifndef OLE2ANSI
3254 typedef TEXTMETRICW TEXTMETRICOLE;
3255 #else
3256 typedef TEXTMETRIC TEXTMETRICOLE;
3257 #endif
3258 
3259 typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
3260 
3261 DEFINE_GUID(IID_IFont, 0xbef6e002, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3262 #if defined(__cplusplus) && !defined(CINTERFACE)
3263 MIDL_INTERFACE("bef6e002-a874-101a-8bba-00aa00300cab")
3264 IFont : public IUnknown
3265 {
3266     virtual HRESULT STDMETHODCALLTYPE get_Name(
3267         BSTR *pName) = 0;
3268 
3269     virtual HRESULT STDMETHODCALLTYPE put_Name(
3270         BSTR name) = 0;
3271 
3272     virtual HRESULT STDMETHODCALLTYPE get_Size(
3273         CY *pSize) = 0;
3274 
3275     virtual HRESULT STDMETHODCALLTYPE put_Size(
3276         CY size) = 0;
3277 
3278     virtual HRESULT STDMETHODCALLTYPE get_Bold(
3279         WINBOOL *pBold) = 0;
3280 
3281     virtual HRESULT STDMETHODCALLTYPE put_Bold(
3282         WINBOOL bold) = 0;
3283 
3284     virtual HRESULT STDMETHODCALLTYPE get_Italic(
3285         WINBOOL *pItalic) = 0;
3286 
3287     virtual HRESULT STDMETHODCALLTYPE put_Italic(
3288         WINBOOL italic) = 0;
3289 
3290     virtual HRESULT STDMETHODCALLTYPE get_Underline(
3291         WINBOOL *pUnderline) = 0;
3292 
3293     virtual HRESULT STDMETHODCALLTYPE put_Underline(
3294         WINBOOL underline) = 0;
3295 
3296     virtual HRESULT STDMETHODCALLTYPE get_Strikethrough(
3297         WINBOOL *pStrikethrough) = 0;
3298 
3299     virtual HRESULT STDMETHODCALLTYPE put_Strikethrough(
3300         WINBOOL strikethrough) = 0;
3301 
3302     virtual HRESULT STDMETHODCALLTYPE get_Weight(
3303         SHORT *pWeight) = 0;
3304 
3305     virtual HRESULT STDMETHODCALLTYPE put_Weight(
3306         SHORT weight) = 0;
3307 
3308     virtual HRESULT STDMETHODCALLTYPE get_Charset(
3309         SHORT *pCharset) = 0;
3310 
3311     virtual HRESULT STDMETHODCALLTYPE put_Charset(
3312         SHORT charset) = 0;
3313 
3314     virtual HRESULT STDMETHODCALLTYPE get_hFont(
3315         HFONT *phFont) = 0;
3316 
3317     virtual HRESULT STDMETHODCALLTYPE Clone(
3318         IFont **ppFont) = 0;
3319 
3320     virtual HRESULT STDMETHODCALLTYPE IsEqual(
3321         IFont *pFontOther) = 0;
3322 
3323     virtual HRESULT STDMETHODCALLTYPE SetRatio(
3324         LONG cyLogical,
3325         LONG cyHimetric) = 0;
3326 
3327     virtual HRESULT STDMETHODCALLTYPE QueryTextMetrics(
3328         TEXTMETRICOLE *pTM) = 0;
3329 
3330     virtual HRESULT STDMETHODCALLTYPE AddRefHfont(
3331         HFONT hFont) = 0;
3332 
3333     virtual HRESULT STDMETHODCALLTYPE ReleaseHfont(
3334         HFONT hFont) = 0;
3335 
3336     virtual HRESULT STDMETHODCALLTYPE SetHdc(
3337         HDC hDC) = 0;
3338 
3339 };
3340 #ifdef __CRT_UUID_DECL
3341 __CRT_UUID_DECL(IFont, 0xbef6e002, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab)
3342 #endif
3343 #else
3344 typedef struct IFontVtbl {
3345     BEGIN_INTERFACE
3346 
3347     /*** IUnknown methods ***/
3348     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3349         IFont *This,
3350         REFIID riid,
3351         void **ppvObject);
3352 
3353     ULONG (STDMETHODCALLTYPE *AddRef)(
3354         IFont *This);
3355 
3356     ULONG (STDMETHODCALLTYPE *Release)(
3357         IFont *This);
3358 
3359     /*** IFont methods ***/
3360     HRESULT (STDMETHODCALLTYPE *get_Name)(
3361         IFont *This,
3362         BSTR *pName);
3363 
3364     HRESULT (STDMETHODCALLTYPE *put_Name)(
3365         IFont *This,
3366         BSTR name);
3367 
3368     HRESULT (STDMETHODCALLTYPE *get_Size)(
3369         IFont *This,
3370         CY *pSize);
3371 
3372     HRESULT (STDMETHODCALLTYPE *put_Size)(
3373         IFont *This,
3374         CY size);
3375 
3376     HRESULT (STDMETHODCALLTYPE *get_Bold)(
3377         IFont *This,
3378         WINBOOL *pBold);
3379 
3380     HRESULT (STDMETHODCALLTYPE *put_Bold)(
3381         IFont *This,
3382         WINBOOL bold);
3383 
3384     HRESULT (STDMETHODCALLTYPE *get_Italic)(
3385         IFont *This,
3386         WINBOOL *pItalic);
3387 
3388     HRESULT (STDMETHODCALLTYPE *put_Italic)(
3389         IFont *This,
3390         WINBOOL italic);
3391 
3392     HRESULT (STDMETHODCALLTYPE *get_Underline)(
3393         IFont *This,
3394         WINBOOL *pUnderline);
3395 
3396     HRESULT (STDMETHODCALLTYPE *put_Underline)(
3397         IFont *This,
3398         WINBOOL underline);
3399 
3400     HRESULT (STDMETHODCALLTYPE *get_Strikethrough)(
3401         IFont *This,
3402         WINBOOL *pStrikethrough);
3403 
3404     HRESULT (STDMETHODCALLTYPE *put_Strikethrough)(
3405         IFont *This,
3406         WINBOOL strikethrough);
3407 
3408     HRESULT (STDMETHODCALLTYPE *get_Weight)(
3409         IFont *This,
3410         SHORT *pWeight);
3411 
3412     HRESULT (STDMETHODCALLTYPE *put_Weight)(
3413         IFont *This,
3414         SHORT weight);
3415 
3416     HRESULT (STDMETHODCALLTYPE *get_Charset)(
3417         IFont *This,
3418         SHORT *pCharset);
3419 
3420     HRESULT (STDMETHODCALLTYPE *put_Charset)(
3421         IFont *This,
3422         SHORT charset);
3423 
3424     HRESULT (STDMETHODCALLTYPE *get_hFont)(
3425         IFont *This,
3426         HFONT *phFont);
3427 
3428     HRESULT (STDMETHODCALLTYPE *Clone)(
3429         IFont *This,
3430         IFont **ppFont);
3431 
3432     HRESULT (STDMETHODCALLTYPE *IsEqual)(
3433         IFont *This,
3434         IFont *pFontOther);
3435 
3436     HRESULT (STDMETHODCALLTYPE *SetRatio)(
3437         IFont *This,
3438         LONG cyLogical,
3439         LONG cyHimetric);
3440 
3441     HRESULT (STDMETHODCALLTYPE *QueryTextMetrics)(
3442         IFont *This,
3443         TEXTMETRICOLE *pTM);
3444 
3445     HRESULT (STDMETHODCALLTYPE *AddRefHfont)(
3446         IFont *This,
3447         HFONT hFont);
3448 
3449     HRESULT (STDMETHODCALLTYPE *ReleaseHfont)(
3450         IFont *This,
3451         HFONT hFont);
3452 
3453     HRESULT (STDMETHODCALLTYPE *SetHdc)(
3454         IFont *This,
3455         HDC hDC);
3456 
3457     END_INTERFACE
3458 } IFontVtbl;
3459 
3460 interface IFont {
3461     CONST_VTBL IFontVtbl* lpVtbl;
3462 };
3463 
3464 #ifdef COBJMACROS
3465 #ifndef WIDL_C_INLINE_WRAPPERS
3466 /*** IUnknown methods ***/
3467 #define IFont_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3468 #define IFont_AddRef(This) (This)->lpVtbl->AddRef(This)
3469 #define IFont_Release(This) (This)->lpVtbl->Release(This)
3470 /*** IFont methods ***/
3471 #define IFont_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
3472 #define IFont_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
3473 #define IFont_get_Size(This,pSize) (This)->lpVtbl->get_Size(This,pSize)
3474 #define IFont_put_Size(This,size) (This)->lpVtbl->put_Size(This,size)
3475 #define IFont_get_Bold(This,pBold) (This)->lpVtbl->get_Bold(This,pBold)
3476 #define IFont_put_Bold(This,bold) (This)->lpVtbl->put_Bold(This,bold)
3477 #define IFont_get_Italic(This,pItalic) (This)->lpVtbl->get_Italic(This,pItalic)
3478 #define IFont_put_Italic(This,italic) (This)->lpVtbl->put_Italic(This,italic)
3479 #define IFont_get_Underline(This,pUnderline) (This)->lpVtbl->get_Underline(This,pUnderline)
3480 #define IFont_put_Underline(This,underline) (This)->lpVtbl->put_Underline(This,underline)
3481 #define IFont_get_Strikethrough(This,pStrikethrough) (This)->lpVtbl->get_Strikethrough(This,pStrikethrough)
3482 #define IFont_put_Strikethrough(This,strikethrough) (This)->lpVtbl->put_Strikethrough(This,strikethrough)
3483 #define IFont_get_Weight(This,pWeight) (This)->lpVtbl->get_Weight(This,pWeight)
3484 #define IFont_put_Weight(This,weight) (This)->lpVtbl->put_Weight(This,weight)
3485 #define IFont_get_Charset(This,pCharset) (This)->lpVtbl->get_Charset(This,pCharset)
3486 #define IFont_put_Charset(This,charset) (This)->lpVtbl->put_Charset(This,charset)
3487 #define IFont_get_hFont(This,phFont) (This)->lpVtbl->get_hFont(This,phFont)
3488 #define IFont_Clone(This,ppFont) (This)->lpVtbl->Clone(This,ppFont)
3489 #define IFont_IsEqual(This,pFontOther) (This)->lpVtbl->IsEqual(This,pFontOther)
3490 #define IFont_SetRatio(This,cyLogical,cyHimetric) (This)->lpVtbl->SetRatio(This,cyLogical,cyHimetric)
3491 #define IFont_QueryTextMetrics(This,pTM) (This)->lpVtbl->QueryTextMetrics(This,pTM)
3492 #define IFont_AddRefHfont(This,hFont) (This)->lpVtbl->AddRefHfont(This,hFont)
3493 #define IFont_ReleaseHfont(This,hFont) (This)->lpVtbl->ReleaseHfont(This,hFont)
3494 #define IFont_SetHdc(This,hDC) (This)->lpVtbl->SetHdc(This,hDC)
3495 #else
3496 /*** IUnknown methods ***/
3497 static FORCEINLINE HRESULT IFont_QueryInterface(IFont* This,REFIID riid,void **ppvObject) {
3498     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3499 }
3500 static FORCEINLINE ULONG IFont_AddRef(IFont* This) {
3501     return This->lpVtbl->AddRef(This);
3502 }
3503 static FORCEINLINE ULONG IFont_Release(IFont* This) {
3504     return This->lpVtbl->Release(This);
3505 }
3506 /*** IFont methods ***/
3507 static FORCEINLINE HRESULT IFont_get_Name(IFont* This,BSTR *pName) {
3508     return This->lpVtbl->get_Name(This,pName);
3509 }
3510 static FORCEINLINE HRESULT IFont_put_Name(IFont* This,BSTR name) {
3511     return This->lpVtbl->put_Name(This,name);
3512 }
3513 static FORCEINLINE HRESULT IFont_get_Size(IFont* This,CY *pSize) {
3514     return This->lpVtbl->get_Size(This,pSize);
3515 }
3516 static FORCEINLINE HRESULT IFont_put_Size(IFont* This,CY size) {
3517     return This->lpVtbl->put_Size(This,size);
3518 }
3519 static FORCEINLINE HRESULT IFont_get_Bold(IFont* This,WINBOOL *pBold) {
3520     return This->lpVtbl->get_Bold(This,pBold);
3521 }
3522 static FORCEINLINE HRESULT IFont_put_Bold(IFont* This,WINBOOL bold) {
3523     return This->lpVtbl->put_Bold(This,bold);
3524 }
3525 static FORCEINLINE HRESULT IFont_get_Italic(IFont* This,WINBOOL *pItalic) {
3526     return This->lpVtbl->get_Italic(This,pItalic);
3527 }
3528 static FORCEINLINE HRESULT IFont_put_Italic(IFont* This,WINBOOL italic) {
3529     return This->lpVtbl->put_Italic(This,italic);
3530 }
3531 static FORCEINLINE HRESULT IFont_get_Underline(IFont* This,WINBOOL *pUnderline) {
3532     return This->lpVtbl->get_Underline(This,pUnderline);
3533 }
3534 static FORCEINLINE HRESULT IFont_put_Underline(IFont* This,WINBOOL underline) {
3535     return This->lpVtbl->put_Underline(This,underline);
3536 }
3537 static FORCEINLINE HRESULT IFont_get_Strikethrough(IFont* This,WINBOOL *pStrikethrough) {
3538     return This->lpVtbl->get_Strikethrough(This,pStrikethrough);
3539 }
3540 static FORCEINLINE HRESULT IFont_put_Strikethrough(IFont* This,WINBOOL strikethrough) {
3541     return This->lpVtbl->put_Strikethrough(This,strikethrough);
3542 }
3543 static FORCEINLINE HRESULT IFont_get_Weight(IFont* This,SHORT *pWeight) {
3544     return This->lpVtbl->get_Weight(This,pWeight);
3545 }
3546 static FORCEINLINE HRESULT IFont_put_Weight(IFont* This,SHORT weight) {
3547     return This->lpVtbl->put_Weight(This,weight);
3548 }
3549 static FORCEINLINE HRESULT IFont_get_Charset(IFont* This,SHORT *pCharset) {
3550     return This->lpVtbl->get_Charset(This,pCharset);
3551 }
3552 static FORCEINLINE HRESULT IFont_put_Charset(IFont* This,SHORT charset) {
3553     return This->lpVtbl->put_Charset(This,charset);
3554 }
3555 static FORCEINLINE HRESULT IFont_get_hFont(IFont* This,HFONT *phFont) {
3556     return This->lpVtbl->get_hFont(This,phFont);
3557 }
3558 static FORCEINLINE HRESULT IFont_Clone(IFont* This,IFont **ppFont) {
3559     return This->lpVtbl->Clone(This,ppFont);
3560 }
3561 static FORCEINLINE HRESULT IFont_IsEqual(IFont* This,IFont *pFontOther) {
3562     return This->lpVtbl->IsEqual(This,pFontOther);
3563 }
3564 static FORCEINLINE HRESULT IFont_SetRatio(IFont* This,LONG cyLogical,LONG cyHimetric) {
3565     return This->lpVtbl->SetRatio(This,cyLogical,cyHimetric);
3566 }
3567 static FORCEINLINE HRESULT IFont_QueryTextMetrics(IFont* This,TEXTMETRICOLE *pTM) {
3568     return This->lpVtbl->QueryTextMetrics(This,pTM);
3569 }
3570 static FORCEINLINE HRESULT IFont_AddRefHfont(IFont* This,HFONT hFont) {
3571     return This->lpVtbl->AddRefHfont(This,hFont);
3572 }
3573 static FORCEINLINE HRESULT IFont_ReleaseHfont(IFont* This,HFONT hFont) {
3574     return This->lpVtbl->ReleaseHfont(This,hFont);
3575 }
3576 static FORCEINLINE HRESULT IFont_SetHdc(IFont* This,HDC hDC) {
3577     return This->lpVtbl->SetHdc(This,hDC);
3578 }
3579 #endif
3580 #endif
3581 
3582 #endif
3583 
3584 
3585 #endif  /* __IFont_INTERFACE_DEFINED__ */
3586 
3587 
3588 /*****************************************************************************
3589  * IPicture interface
3590  */
3591 #ifndef __IPicture_INTERFACE_DEFINED__
3592 #define __IPicture_INTERFACE_DEFINED__
3593 
3594 typedef IPicture *LPPICTURE;
3595 
3596 typedef enum tagPictureAttributes {
3597     PICTURE_SCALABLE = 0x1,
3598     PICTURE_TRANSPARENT = 0x2
3599 } PICTUREATTRIBUTES;
3600 
3601 typedef UINT OLE_HANDLE;
3602 typedef LONG OLE_XPOS_HIMETRIC;
3603 typedef LONG OLE_YPOS_HIMETRIC;
3604 typedef LONG OLE_XSIZE_HIMETRIC;
3605 typedef LONG OLE_YSIZE_HIMETRIC;
3606 
3607 DEFINE_GUID(IID_IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3608 #if defined(__cplusplus) && !defined(CINTERFACE)
3609 MIDL_INTERFACE("7bf80980-bf32-101a-8bbb-00aa00300cab")
3610 IPicture : public IUnknown
3611 {
3612     virtual HRESULT STDMETHODCALLTYPE get_Handle(
3613         OLE_HANDLE *pHandle) = 0;
3614 
3615     virtual HRESULT STDMETHODCALLTYPE get_hPal(
3616         OLE_HANDLE *phPal) = 0;
3617 
3618     virtual HRESULT STDMETHODCALLTYPE get_Type(
3619         SHORT *pType) = 0;
3620 
3621     virtual HRESULT STDMETHODCALLTYPE get_Width(
3622         OLE_XSIZE_HIMETRIC *pWidth) = 0;
3623 
3624     virtual HRESULT STDMETHODCALLTYPE get_Height(
3625         OLE_YSIZE_HIMETRIC *pHeight) = 0;
3626 
3627     virtual HRESULT STDMETHODCALLTYPE Render(
3628         HDC hDC,
3629         LONG x,
3630         LONG y,
3631         LONG cx,
3632         LONG cy,
3633         OLE_XPOS_HIMETRIC xSrc,
3634         OLE_YPOS_HIMETRIC ySrc,
3635         OLE_XSIZE_HIMETRIC cxSrc,
3636         OLE_YSIZE_HIMETRIC cySrc,
3637         LPCRECT pRcWBounds) = 0;
3638 
3639     virtual HRESULT STDMETHODCALLTYPE set_hPal(
3640         OLE_HANDLE hPal) = 0;
3641 
3642     virtual HRESULT STDMETHODCALLTYPE get_CurDC(
3643         HDC *phDC) = 0;
3644 
3645     virtual HRESULT STDMETHODCALLTYPE SelectPicture(
3646         HDC hDCIn,
3647         HDC *phDCOut,
3648         OLE_HANDLE *phBmpOut) = 0;
3649 
3650     virtual HRESULT STDMETHODCALLTYPE get_KeepOriginalFormat(
3651         WINBOOL *pKeep) = 0;
3652 
3653     virtual HRESULT STDMETHODCALLTYPE put_KeepOriginalFormat(
3654         WINBOOL keep) = 0;
3655 
3656     virtual HRESULT STDMETHODCALLTYPE PictureChanged(
3657         ) = 0;
3658 
3659     virtual HRESULT STDMETHODCALLTYPE SaveAsFile(
3660         LPSTREAM pStream,
3661         WINBOOL fSaveMemCopy,
3662         LONG *pCbSize) = 0;
3663 
3664     virtual HRESULT STDMETHODCALLTYPE get_Attributes(
3665         DWORD *pDwAttr) = 0;
3666 
3667 };
3668 #ifdef __CRT_UUID_DECL
3669 __CRT_UUID_DECL(IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab)
3670 #endif
3671 #else
3672 typedef struct IPictureVtbl {
3673     BEGIN_INTERFACE
3674 
3675     /*** IUnknown methods ***/
3676     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3677         IPicture *This,
3678         REFIID riid,
3679         void **ppvObject);
3680 
3681     ULONG (STDMETHODCALLTYPE *AddRef)(
3682         IPicture *This);
3683 
3684     ULONG (STDMETHODCALLTYPE *Release)(
3685         IPicture *This);
3686 
3687     /*** IPicture methods ***/
3688     HRESULT (STDMETHODCALLTYPE *get_Handle)(
3689         IPicture *This,
3690         OLE_HANDLE *pHandle);
3691 
3692     HRESULT (STDMETHODCALLTYPE *get_hPal)(
3693         IPicture *This,
3694         OLE_HANDLE *phPal);
3695 
3696     HRESULT (STDMETHODCALLTYPE *get_Type)(
3697         IPicture *This,
3698         SHORT *pType);
3699 
3700     HRESULT (STDMETHODCALLTYPE *get_Width)(
3701         IPicture *This,
3702         OLE_XSIZE_HIMETRIC *pWidth);
3703 
3704     HRESULT (STDMETHODCALLTYPE *get_Height)(
3705         IPicture *This,
3706         OLE_YSIZE_HIMETRIC *pHeight);
3707 
3708     HRESULT (STDMETHODCALLTYPE *Render)(
3709         IPicture *This,
3710         HDC hDC,
3711         LONG x,
3712         LONG y,
3713         LONG cx,
3714         LONG cy,
3715         OLE_XPOS_HIMETRIC xSrc,
3716         OLE_YPOS_HIMETRIC ySrc,
3717         OLE_XSIZE_HIMETRIC cxSrc,
3718         OLE_YSIZE_HIMETRIC cySrc,
3719         LPCRECT pRcWBounds);
3720 
3721     HRESULT (STDMETHODCALLTYPE *set_hPal)(
3722         IPicture *This,
3723         OLE_HANDLE hPal);
3724 
3725     HRESULT (STDMETHODCALLTYPE *get_CurDC)(
3726         IPicture *This,
3727         HDC *phDC);
3728 
3729     HRESULT (STDMETHODCALLTYPE *SelectPicture)(
3730         IPicture *This,
3731         HDC hDCIn,
3732         HDC *phDCOut,
3733         OLE_HANDLE *phBmpOut);
3734 
3735     HRESULT (STDMETHODCALLTYPE *get_KeepOriginalFormat)(
3736         IPicture *This,
3737         WINBOOL *pKeep);
3738 
3739     HRESULT (STDMETHODCALLTYPE *put_KeepOriginalFormat)(
3740         IPicture *This,
3741         WINBOOL keep);
3742 
3743     HRESULT (STDMETHODCALLTYPE *PictureChanged)(
3744         IPicture *This);
3745 
3746     HRESULT (STDMETHODCALLTYPE *SaveAsFile)(
3747         IPicture *This,
3748         LPSTREAM pStream,
3749         WINBOOL fSaveMemCopy,
3750         LONG *pCbSize);
3751 
3752     HRESULT (STDMETHODCALLTYPE *get_Attributes)(
3753         IPicture *This,
3754         DWORD *pDwAttr);
3755 
3756     END_INTERFACE
3757 } IPictureVtbl;
3758 
3759 interface IPicture {
3760     CONST_VTBL IPictureVtbl* lpVtbl;
3761 };
3762 
3763 #ifdef COBJMACROS
3764 #ifndef WIDL_C_INLINE_WRAPPERS
3765 /*** IUnknown methods ***/
3766 #define IPicture_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3767 #define IPicture_AddRef(This) (This)->lpVtbl->AddRef(This)
3768 #define IPicture_Release(This) (This)->lpVtbl->Release(This)
3769 /*** IPicture methods ***/
3770 #define IPicture_get_Handle(This,pHandle) (This)->lpVtbl->get_Handle(This,pHandle)
3771 #define IPicture_get_hPal(This,phPal) (This)->lpVtbl->get_hPal(This,phPal)
3772 #define IPicture_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType)
3773 #define IPicture_get_Width(This,pWidth) (This)->lpVtbl->get_Width(This,pWidth)
3774 #define IPicture_get_Height(This,pHeight) (This)->lpVtbl->get_Height(This,pHeight)
3775 #define IPicture_Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds) (This)->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds)
3776 #define IPicture_set_hPal(This,hPal) (This)->lpVtbl->set_hPal(This,hPal)
3777 #define IPicture_get_CurDC(This,phDC) (This)->lpVtbl->get_CurDC(This,phDC)
3778 #define IPicture_SelectPicture(This,hDCIn,phDCOut,phBmpOut) (This)->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut)
3779 #define IPicture_get_KeepOriginalFormat(This,pKeep) (This)->lpVtbl->get_KeepOriginalFormat(This,pKeep)
3780 #define IPicture_put_KeepOriginalFormat(This,keep) (This)->lpVtbl->put_KeepOriginalFormat(This,keep)
3781 #define IPicture_PictureChanged(This) (This)->lpVtbl->PictureChanged(This)
3782 #define IPicture_SaveAsFile(This,pStream,fSaveMemCopy,pCbSize) (This)->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize)
3783 #define IPicture_get_Attributes(This,pDwAttr) (This)->lpVtbl->get_Attributes(This,pDwAttr)
3784 #else
3785 /*** IUnknown methods ***/
3786 static FORCEINLINE HRESULT IPicture_QueryInterface(IPicture* This,REFIID riid,void **ppvObject) {
3787     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3788 }
3789 static FORCEINLINE ULONG IPicture_AddRef(IPicture* This) {
3790     return This->lpVtbl->AddRef(This);
3791 }
3792 static FORCEINLINE ULONG IPicture_Release(IPicture* This) {
3793     return This->lpVtbl->Release(This);
3794 }
3795 /*** IPicture methods ***/
3796 static FORCEINLINE HRESULT IPicture_get_Handle(IPicture* This,OLE_HANDLE *pHandle) {
3797     return This->lpVtbl->get_Handle(This,pHandle);
3798 }
3799 static FORCEINLINE HRESULT IPicture_get_hPal(IPicture* This,OLE_HANDLE *phPal) {
3800     return This->lpVtbl->get_hPal(This,phPal);
3801 }
3802 static FORCEINLINE HRESULT IPicture_get_Type(IPicture* This,SHORT *pType) {
3803     return This->lpVtbl->get_Type(This,pType);
3804 }
3805 static FORCEINLINE HRESULT IPicture_get_Width(IPicture* This,OLE_XSIZE_HIMETRIC *pWidth) {
3806     return This->lpVtbl->get_Width(This,pWidth);
3807 }
3808 static FORCEINLINE HRESULT IPicture_get_Height(IPicture* This,OLE_YSIZE_HIMETRIC *pHeight) {
3809     return This->lpVtbl->get_Height(This,pHeight);
3810 }
3811 static FORCEINLINE HRESULT IPicture_Render(IPicture* This,HDC hDC,LONG x,LONG y,LONG cx,LONG cy,OLE_XPOS_HIMETRIC xSrc,OLE_YPOS_HIMETRIC ySrc,OLE_XSIZE_HIMETRIC cxSrc,OLE_YSIZE_HIMETRIC cySrc,LPCRECT pRcWBounds) {
3812     return This->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds);
3813 }
3814 static FORCEINLINE HRESULT IPicture_set_hPal(IPicture* This,OLE_HANDLE hPal) {
3815     return This->lpVtbl->set_hPal(This,hPal);
3816 }
3817 static FORCEINLINE HRESULT IPicture_get_CurDC(IPicture* This,HDC *phDC) {
3818     return This->lpVtbl->get_CurDC(This,phDC);
3819 }
3820 static FORCEINLINE HRESULT IPicture_SelectPicture(IPicture* This,HDC hDCIn,HDC *phDCOut,OLE_HANDLE *phBmpOut) {
3821     return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
3822 }
3823 static FORCEINLINE HRESULT IPicture_get_KeepOriginalFormat(IPicture* This,WINBOOL *pKeep) {
3824     return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
3825 }
3826 static FORCEINLINE HRESULT IPicture_put_KeepOriginalFormat(IPicture* This,WINBOOL keep) {
3827     return This->lpVtbl->put_KeepOriginalFormat(This,keep);
3828 }
3829 static FORCEINLINE HRESULT IPicture_PictureChanged(IPicture* This) {
3830     return This->lpVtbl->PictureChanged(This);
3831 }
3832 static FORCEINLINE HRESULT IPicture_SaveAsFile(IPicture* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
3833     return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
3834 }
3835 static FORCEINLINE HRESULT IPicture_get_Attributes(IPicture* This,DWORD *pDwAttr) {
3836     return This->lpVtbl->get_Attributes(This,pDwAttr);
3837 }
3838 #endif
3839 #endif
3840 
3841 #endif
3842 
3843 
3844 #endif  /* __IPicture_INTERFACE_DEFINED__ */
3845 
3846 
3847 /*****************************************************************************
3848  * IPicture2 interface
3849  */
3850 #ifndef __IPicture2_INTERFACE_DEFINED__
3851 #define __IPicture2_INTERFACE_DEFINED__
3852 
3853 typedef IPicture2 *LPPICTURE2;
3854 typedef UINT_PTR HHANDLE;
3855 
3856 DEFINE_GUID(IID_IPicture2, 0xf5185dd8, 0x2012, 0x4b0b, 0xaa,0xd9, 0xf0,0x52,0xc6,0xbd,0x48,0x2b);
3857 #if defined(__cplusplus) && !defined(CINTERFACE)
3858 MIDL_INTERFACE("f5185dd8-2012-4b0b-aad9-f052c6bd482b")
3859 IPicture2 : public IUnknown
3860 {
3861     virtual HRESULT STDMETHODCALLTYPE get_Handle(
3862         HHANDLE *pHandle) = 0;
3863 
3864     virtual HRESULT STDMETHODCALLTYPE get_hPal(
3865         HHANDLE *phPal) = 0;
3866 
3867     virtual HRESULT STDMETHODCALLTYPE get_Type(
3868         SHORT *pType) = 0;
3869 
3870     virtual HRESULT STDMETHODCALLTYPE get_Width(
3871         OLE_XSIZE_HIMETRIC *pWidth) = 0;
3872 
3873     virtual HRESULT STDMETHODCALLTYPE get_Height(
3874         OLE_YSIZE_HIMETRIC *pHeight) = 0;
3875 
3876     virtual HRESULT STDMETHODCALLTYPE Render(
3877         HDC hDC,
3878         LONG x,
3879         LONG y,
3880         LONG cx,
3881         LONG cy,
3882         OLE_XPOS_HIMETRIC xSrc,
3883         OLE_YPOS_HIMETRIC ySrc,
3884         OLE_XSIZE_HIMETRIC cxSrc,
3885         OLE_YSIZE_HIMETRIC cySrc,
3886         LPCRECT pRcWBounds) = 0;
3887 
3888     virtual HRESULT STDMETHODCALLTYPE set_hPal(
3889         HHANDLE hPal) = 0;
3890 
3891     virtual HRESULT STDMETHODCALLTYPE get_CurDC(
3892         HDC *phDC) = 0;
3893 
3894     virtual HRESULT STDMETHODCALLTYPE SelectPicture(
3895         HDC hDCIn,
3896         HDC *phDCOut,
3897         HHANDLE *phBmpOut) = 0;
3898 
3899     virtual HRESULT STDMETHODCALLTYPE get_KeepOriginalFormat(
3900         WINBOOL *pKeep) = 0;
3901 
3902     virtual HRESULT STDMETHODCALLTYPE put_KeepOriginalFormat(
3903         WINBOOL keep) = 0;
3904 
3905     virtual HRESULT STDMETHODCALLTYPE PictureChanged(
3906         ) = 0;
3907 
3908     virtual HRESULT STDMETHODCALLTYPE SaveAsFile(
3909         LPSTREAM pStream,
3910         WINBOOL fSaveMemCopy,
3911         LONG *pCbSize) = 0;
3912 
3913     virtual HRESULT STDMETHODCALLTYPE get_Attributes(
3914         DWORD *pDwAttr) = 0;
3915 
3916 };
3917 #ifdef __CRT_UUID_DECL
3918 __CRT_UUID_DECL(IPicture2, 0xf5185dd8, 0x2012, 0x4b0b, 0xaa,0xd9, 0xf0,0x52,0xc6,0xbd,0x48,0x2b)
3919 #endif
3920 #else
3921 typedef struct IPicture2Vtbl {
3922     BEGIN_INTERFACE
3923 
3924     /*** IUnknown methods ***/
3925     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3926         IPicture2 *This,
3927         REFIID riid,
3928         void **ppvObject);
3929 
3930     ULONG (STDMETHODCALLTYPE *AddRef)(
3931         IPicture2 *This);
3932 
3933     ULONG (STDMETHODCALLTYPE *Release)(
3934         IPicture2 *This);
3935 
3936     /*** IPicture2 methods ***/
3937     HRESULT (STDMETHODCALLTYPE *get_Handle)(
3938         IPicture2 *This,
3939         HHANDLE *pHandle);
3940 
3941     HRESULT (STDMETHODCALLTYPE *get_hPal)(
3942         IPicture2 *This,
3943         HHANDLE *phPal);
3944 
3945     HRESULT (STDMETHODCALLTYPE *get_Type)(
3946         IPicture2 *This,
3947         SHORT *pType);
3948 
3949     HRESULT (STDMETHODCALLTYPE *get_Width)(
3950         IPicture2 *This,
3951         OLE_XSIZE_HIMETRIC *pWidth);
3952 
3953     HRESULT (STDMETHODCALLTYPE *get_Height)(
3954         IPicture2 *This,
3955         OLE_YSIZE_HIMETRIC *pHeight);
3956 
3957     HRESULT (STDMETHODCALLTYPE *Render)(
3958         IPicture2 *This,
3959         HDC hDC,
3960         LONG x,
3961         LONG y,
3962         LONG cx,
3963         LONG cy,
3964         OLE_XPOS_HIMETRIC xSrc,
3965         OLE_YPOS_HIMETRIC ySrc,
3966         OLE_XSIZE_HIMETRIC cxSrc,
3967         OLE_YSIZE_HIMETRIC cySrc,
3968         LPCRECT pRcWBounds);
3969 
3970     HRESULT (STDMETHODCALLTYPE *set_hPal)(
3971         IPicture2 *This,
3972         HHANDLE hPal);
3973 
3974     HRESULT (STDMETHODCALLTYPE *get_CurDC)(
3975         IPicture2 *This,
3976         HDC *phDC);
3977 
3978     HRESULT (STDMETHODCALLTYPE *SelectPicture)(
3979         IPicture2 *This,
3980         HDC hDCIn,
3981         HDC *phDCOut,
3982         HHANDLE *phBmpOut);
3983 
3984     HRESULT (STDMETHODCALLTYPE *get_KeepOriginalFormat)(
3985         IPicture2 *This,
3986         WINBOOL *pKeep);
3987 
3988     HRESULT (STDMETHODCALLTYPE *put_KeepOriginalFormat)(
3989         IPicture2 *This,
3990         WINBOOL keep);
3991 
3992     HRESULT (STDMETHODCALLTYPE *PictureChanged)(
3993         IPicture2 *This);
3994 
3995     HRESULT (STDMETHODCALLTYPE *SaveAsFile)(
3996         IPicture2 *This,
3997         LPSTREAM pStream,
3998         WINBOOL fSaveMemCopy,
3999         LONG *pCbSize);
4000 
4001     HRESULT (STDMETHODCALLTYPE *get_Attributes)(
4002         IPicture2 *This,
4003         DWORD *pDwAttr);
4004 
4005     END_INTERFACE
4006 } IPicture2Vtbl;
4007 
4008 interface IPicture2 {
4009     CONST_VTBL IPicture2Vtbl* lpVtbl;
4010 };
4011 
4012 #ifdef COBJMACROS
4013 #ifndef WIDL_C_INLINE_WRAPPERS
4014 /*** IUnknown methods ***/
4015 #define IPicture2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4016 #define IPicture2_AddRef(This) (This)->lpVtbl->AddRef(This)
4017 #define IPicture2_Release(This) (This)->lpVtbl->Release(This)
4018 /*** IPicture2 methods ***/
4019 #define IPicture2_get_Handle(This,pHandle) (This)->lpVtbl->get_Handle(This,pHandle)
4020 #define IPicture2_get_hPal(This,phPal) (This)->lpVtbl->get_hPal(This,phPal)
4021 #define IPicture2_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType)
4022 #define IPicture2_get_Width(This,pWidth) (This)->lpVtbl->get_Width(This,pWidth)
4023 #define IPicture2_get_Height(This,pHeight) (This)->lpVtbl->get_Height(This,pHeight)
4024 #define IPicture2_Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds) (This)->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds)
4025 #define IPicture2_set_hPal(This,hPal) (This)->lpVtbl->set_hPal(This,hPal)
4026 #define IPicture2_get_CurDC(This,phDC) (This)->lpVtbl->get_CurDC(This,phDC)
4027 #define IPicture2_SelectPicture(This,hDCIn,phDCOut,phBmpOut) (This)->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut)
4028 #define IPicture2_get_KeepOriginalFormat(This,pKeep) (This)->lpVtbl->get_KeepOriginalFormat(This,pKeep)
4029 #define IPicture2_put_KeepOriginalFormat(This,keep) (This)->lpVtbl->put_KeepOriginalFormat(This,keep)
4030 #define IPicture2_PictureChanged(This) (This)->lpVtbl->PictureChanged(This)
4031 #define IPicture2_SaveAsFile(This,pStream,fSaveMemCopy,pCbSize) (This)->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize)
4032 #define IPicture2_get_Attributes(This,pDwAttr) (This)->lpVtbl->get_Attributes(This,pDwAttr)
4033 #else
4034 /*** IUnknown methods ***/
4035 static FORCEINLINE HRESULT IPicture2_QueryInterface(IPicture2* This,REFIID riid,void **ppvObject) {
4036     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4037 }
4038 static FORCEINLINE ULONG IPicture2_AddRef(IPicture2* This) {
4039     return This->lpVtbl->AddRef(This);
4040 }
4041 static FORCEINLINE ULONG IPicture2_Release(IPicture2* This) {
4042     return This->lpVtbl->Release(This);
4043 }
4044 /*** IPicture2 methods ***/
4045 static FORCEINLINE HRESULT IPicture2_get_Handle(IPicture2* This,HHANDLE *pHandle) {
4046     return This->lpVtbl->get_Handle(This,pHandle);
4047 }
4048 static FORCEINLINE HRESULT IPicture2_get_hPal(IPicture2* This,HHANDLE *phPal) {
4049     return This->lpVtbl->get_hPal(This,phPal);
4050 }
4051 static FORCEINLINE HRESULT IPicture2_get_Type(IPicture2* This,SHORT *pType) {
4052     return This->lpVtbl->get_Type(This,pType);
4053 }
4054 static FORCEINLINE HRESULT IPicture2_get_Width(IPicture2* This,OLE_XSIZE_HIMETRIC *pWidth) {
4055     return This->lpVtbl->get_Width(This,pWidth);
4056 }
4057 static FORCEINLINE HRESULT IPicture2_get_Height(IPicture2* This,OLE_YSIZE_HIMETRIC *pHeight) {
4058     return This->lpVtbl->get_Height(This,pHeight);
4059 }
4060 static FORCEINLINE HRESULT IPicture2_Render(IPicture2* This,HDC hDC,LONG x,LONG y,LONG cx,LONG cy,OLE_XPOS_HIMETRIC xSrc,OLE_YPOS_HIMETRIC ySrc,OLE_XSIZE_HIMETRIC cxSrc,OLE_YSIZE_HIMETRIC cySrc,LPCRECT pRcWBounds) {
4061     return This->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds);
4062 }
4063 static FORCEINLINE HRESULT IPicture2_set_hPal(IPicture2* This,HHANDLE hPal) {
4064     return This->lpVtbl->set_hPal(This,hPal);
4065 }
4066 static FORCEINLINE HRESULT IPicture2_get_CurDC(IPicture2* This,HDC *phDC) {
4067     return This->lpVtbl->get_CurDC(This,phDC);
4068 }
4069 static FORCEINLINE HRESULT IPicture2_SelectPicture(IPicture2* This,HDC hDCIn,HDC *phDCOut,HHANDLE *phBmpOut) {
4070     return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
4071 }
4072 static FORCEINLINE HRESULT IPicture2_get_KeepOriginalFormat(IPicture2* This,WINBOOL *pKeep) {
4073     return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
4074 }
4075 static FORCEINLINE HRESULT IPicture2_put_KeepOriginalFormat(IPicture2* This,WINBOOL keep) {
4076     return This->lpVtbl->put_KeepOriginalFormat(This,keep);
4077 }
4078 static FORCEINLINE HRESULT IPicture2_PictureChanged(IPicture2* This) {
4079     return This->lpVtbl->PictureChanged(This);
4080 }
4081 static FORCEINLINE HRESULT IPicture2_SaveAsFile(IPicture2* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
4082     return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
4083 }
4084 static FORCEINLINE HRESULT IPicture2_get_Attributes(IPicture2* This,DWORD *pDwAttr) {
4085     return This->lpVtbl->get_Attributes(This,pDwAttr);
4086 }
4087 #endif
4088 #endif
4089 
4090 #endif
4091 
4092 
4093 #endif  /* __IPicture2_INTERFACE_DEFINED__ */
4094 
4095 
4096 /*****************************************************************************
4097  * IFontEventsDisp interface
4098  */
4099 #ifndef __IFontEventsDisp_INTERFACE_DEFINED__
4100 #define __IFontEventsDisp_INTERFACE_DEFINED__
4101 
4102 typedef IFontEventsDisp *LPFONTEVENTS;
4103 DEFINE_GUID(IID_IFontEventsDisp, 0x4ef6100a, 0xaf88, 0x11d0, 0x98,0x46, 0x00,0xc0,0x4f,0xc2,0x99,0x93);
4104 #if defined(__cplusplus) && !defined(CINTERFACE)
4105 MIDL_INTERFACE("4ef6100a-af88-11d0-9846-00c04fc29993")
4106 IFontEventsDisp : public IDispatch
4107 {
4108 };
4109 #ifdef __CRT_UUID_DECL
4110 __CRT_UUID_DECL(IFontEventsDisp, 0x4ef6100a, 0xaf88, 0x11d0, 0x98,0x46, 0x00,0xc0,0x4f,0xc2,0x99,0x93)
4111 #endif
4112 #else
4113 typedef struct IFontEventsDispVtbl {
4114     BEGIN_INTERFACE
4115 
4116     /*** IUnknown methods ***/
4117     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4118         IFontEventsDisp *This,
4119         REFIID riid,
4120         void **ppvObject);
4121 
4122     ULONG (STDMETHODCALLTYPE *AddRef)(
4123         IFontEventsDisp *This);
4124 
4125     ULONG (STDMETHODCALLTYPE *Release)(
4126         IFontEventsDisp *This);
4127 
4128     /*** IDispatch methods ***/
4129     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4130         IFontEventsDisp *This,
4131         UINT *pctinfo);
4132 
4133     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4134         IFontEventsDisp *This,
4135         UINT iTInfo,
4136         LCID lcid,
4137         ITypeInfo **ppTInfo);
4138 
4139     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4140         IFontEventsDisp *This,
4141         REFIID riid,
4142         LPOLESTR *rgszNames,
4143         UINT cNames,
4144         LCID lcid,
4145         DISPID *rgDispId);
4146 
4147     HRESULT (STDMETHODCALLTYPE *Invoke)(
4148         IFontEventsDisp *This,
4149         DISPID dispIdMember,
4150         REFIID riid,
4151         LCID lcid,
4152         WORD wFlags,
4153         DISPPARAMS *pDispParams,
4154         VARIANT *pVarResult,
4155         EXCEPINFO *pExcepInfo,
4156         UINT *puArgErr);
4157 
4158     END_INTERFACE
4159 } IFontEventsDispVtbl;
4160 
4161 interface IFontEventsDisp {
4162     CONST_VTBL IFontEventsDispVtbl* lpVtbl;
4163 };
4164 
4165 #ifdef COBJMACROS
4166 #ifndef WIDL_C_INLINE_WRAPPERS
4167 /*** IUnknown methods ***/
4168 #define IFontEventsDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4169 #define IFontEventsDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
4170 #define IFontEventsDisp_Release(This) (This)->lpVtbl->Release(This)
4171 /*** IDispatch methods ***/
4172 #define IFontEventsDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4173 #define IFontEventsDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4174 #define IFontEventsDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4175 #define IFontEventsDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4176 #else
4177 /*** IUnknown methods ***/
4178 static FORCEINLINE HRESULT IFontEventsDisp_QueryInterface(IFontEventsDisp* This,REFIID riid,void **ppvObject) {
4179     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4180 }
4181 static FORCEINLINE ULONG IFontEventsDisp_AddRef(IFontEventsDisp* This) {
4182     return This->lpVtbl->AddRef(This);
4183 }
4184 static FORCEINLINE ULONG IFontEventsDisp_Release(IFontEventsDisp* This) {
4185     return This->lpVtbl->Release(This);
4186 }
4187 /*** IDispatch methods ***/
4188 static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfoCount(IFontEventsDisp* This,UINT *pctinfo) {
4189     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4190 }
4191 static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfo(IFontEventsDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4192     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4193 }
4194 static FORCEINLINE HRESULT IFontEventsDisp_GetIDsOfNames(IFontEventsDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4195     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4196 }
4197 static FORCEINLINE HRESULT IFontEventsDisp_Invoke(IFontEventsDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4198     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4199 }
4200 #endif
4201 #endif
4202 
4203 #endif
4204 
4205 
4206 #endif  /* __IFontEventsDisp_INTERFACE_DEFINED__ */
4207 
4208 
4209 /*****************************************************************************
4210  * IFontDisp interface
4211  */
4212 #ifndef __IFontDisp_INTERFACE_DEFINED__
4213 #define __IFontDisp_INTERFACE_DEFINED__
4214 
4215 typedef IFontDisp *LPFONTDISP;
4216 DEFINE_GUID(IID_IFontDisp, 0xbef6e003, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4217 #if defined(__cplusplus) && !defined(CINTERFACE)
4218 MIDL_INTERFACE("bef6e003-a874-101a-8bba-00aa00300cab")
4219 IFontDisp : public IDispatch
4220 {
4221 };
4222 #ifdef __CRT_UUID_DECL
4223 __CRT_UUID_DECL(IFontDisp, 0xbef6e003, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab)
4224 #endif
4225 #else
4226 typedef struct IFontDispVtbl {
4227     BEGIN_INTERFACE
4228 
4229     /*** IUnknown methods ***/
4230     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4231         IFontDisp *This,
4232         REFIID riid,
4233         void **ppvObject);
4234 
4235     ULONG (STDMETHODCALLTYPE *AddRef)(
4236         IFontDisp *This);
4237 
4238     ULONG (STDMETHODCALLTYPE *Release)(
4239         IFontDisp *This);
4240 
4241     /*** IDispatch methods ***/
4242     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4243         IFontDisp *This,
4244         UINT *pctinfo);
4245 
4246     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4247         IFontDisp *This,
4248         UINT iTInfo,
4249         LCID lcid,
4250         ITypeInfo **ppTInfo);
4251 
4252     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4253         IFontDisp *This,
4254         REFIID riid,
4255         LPOLESTR *rgszNames,
4256         UINT cNames,
4257         LCID lcid,
4258         DISPID *rgDispId);
4259 
4260     HRESULT (STDMETHODCALLTYPE *Invoke)(
4261         IFontDisp *This,
4262         DISPID dispIdMember,
4263         REFIID riid,
4264         LCID lcid,
4265         WORD wFlags,
4266         DISPPARAMS *pDispParams,
4267         VARIANT *pVarResult,
4268         EXCEPINFO *pExcepInfo,
4269         UINT *puArgErr);
4270 
4271     END_INTERFACE
4272 } IFontDispVtbl;
4273 
4274 interface IFontDisp {
4275     CONST_VTBL IFontDispVtbl* lpVtbl;
4276 };
4277 
4278 #ifdef COBJMACROS
4279 #ifndef WIDL_C_INLINE_WRAPPERS
4280 /*** IUnknown methods ***/
4281 #define IFontDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4282 #define IFontDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
4283 #define IFontDisp_Release(This) (This)->lpVtbl->Release(This)
4284 /*** IDispatch methods ***/
4285 #define IFontDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4286 #define IFontDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4287 #define IFontDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4288 #define IFontDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4289 #else
4290 /*** IUnknown methods ***/
4291 static FORCEINLINE HRESULT IFontDisp_QueryInterface(IFontDisp* This,REFIID riid,void **ppvObject) {
4292     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4293 }
4294 static FORCEINLINE ULONG IFontDisp_AddRef(IFontDisp* This) {
4295     return This->lpVtbl->AddRef(This);
4296 }
4297 static FORCEINLINE ULONG IFontDisp_Release(IFontDisp* This) {
4298     return This->lpVtbl->Release(This);
4299 }
4300 /*** IDispatch methods ***/
4301 static FORCEINLINE HRESULT IFontDisp_GetTypeInfoCount(IFontDisp* This,UINT *pctinfo) {
4302     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4303 }
4304 static FORCEINLINE HRESULT IFontDisp_GetTypeInfo(IFontDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4305     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4306 }
4307 static FORCEINLINE HRESULT IFontDisp_GetIDsOfNames(IFontDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4308     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4309 }
4310 static FORCEINLINE HRESULT IFontDisp_Invoke(IFontDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4311     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4312 }
4313 #endif
4314 #endif
4315 
4316 #endif
4317 
4318 
4319 #endif  /* __IFontDisp_INTERFACE_DEFINED__ */
4320 
4321 
4322 /*****************************************************************************
4323  * IPictureDisp interface
4324  */
4325 #ifndef __IPictureDisp_INTERFACE_DEFINED__
4326 #define __IPictureDisp_INTERFACE_DEFINED__
4327 
4328 typedef IPictureDisp *LPPICTUREDISP;
4329 DEFINE_GUID(IID_IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4330 #if defined(__cplusplus) && !defined(CINTERFACE)
4331 MIDL_INTERFACE("7bf80981-bf32-101a-8bbb-00aa00300cab")
4332 IPictureDisp : public IDispatch
4333 {
4334 };
4335 #ifdef __CRT_UUID_DECL
4336 __CRT_UUID_DECL(IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab)
4337 #endif
4338 #else
4339 typedef struct IPictureDispVtbl {
4340     BEGIN_INTERFACE
4341 
4342     /*** IUnknown methods ***/
4343     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4344         IPictureDisp *This,
4345         REFIID riid,
4346         void **ppvObject);
4347 
4348     ULONG (STDMETHODCALLTYPE *AddRef)(
4349         IPictureDisp *This);
4350 
4351     ULONG (STDMETHODCALLTYPE *Release)(
4352         IPictureDisp *This);
4353 
4354     /*** IDispatch methods ***/
4355     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4356         IPictureDisp *This,
4357         UINT *pctinfo);
4358 
4359     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4360         IPictureDisp *This,
4361         UINT iTInfo,
4362         LCID lcid,
4363         ITypeInfo **ppTInfo);
4364 
4365     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4366         IPictureDisp *This,
4367         REFIID riid,
4368         LPOLESTR *rgszNames,
4369         UINT cNames,
4370         LCID lcid,
4371         DISPID *rgDispId);
4372 
4373     HRESULT (STDMETHODCALLTYPE *Invoke)(
4374         IPictureDisp *This,
4375         DISPID dispIdMember,
4376         REFIID riid,
4377         LCID lcid,
4378         WORD wFlags,
4379         DISPPARAMS *pDispParams,
4380         VARIANT *pVarResult,
4381         EXCEPINFO *pExcepInfo,
4382         UINT *puArgErr);
4383 
4384     END_INTERFACE
4385 } IPictureDispVtbl;
4386 
4387 interface IPictureDisp {
4388     CONST_VTBL IPictureDispVtbl* lpVtbl;
4389 };
4390 
4391 #ifdef COBJMACROS
4392 #ifndef WIDL_C_INLINE_WRAPPERS
4393 /*** IUnknown methods ***/
4394 #define IPictureDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4395 #define IPictureDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
4396 #define IPictureDisp_Release(This) (This)->lpVtbl->Release(This)
4397 /*** IDispatch methods ***/
4398 #define IPictureDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4399 #define IPictureDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4400 #define IPictureDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4401 #define IPictureDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4402 #else
4403 /*** IUnknown methods ***/
4404 static FORCEINLINE HRESULT IPictureDisp_QueryInterface(IPictureDisp* This,REFIID riid,void **ppvObject) {
4405     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4406 }
4407 static FORCEINLINE ULONG IPictureDisp_AddRef(IPictureDisp* This) {
4408     return This->lpVtbl->AddRef(This);
4409 }
4410 static FORCEINLINE ULONG IPictureDisp_Release(IPictureDisp* This) {
4411     return This->lpVtbl->Release(This);
4412 }
4413 /*** IDispatch methods ***/
4414 static FORCEINLINE HRESULT IPictureDisp_GetTypeInfoCount(IPictureDisp* This,UINT *pctinfo) {
4415     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4416 }
4417 static FORCEINLINE HRESULT IPictureDisp_GetTypeInfo(IPictureDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4418     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4419 }
4420 static FORCEINLINE HRESULT IPictureDisp_GetIDsOfNames(IPictureDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4421     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4422 }
4423 static FORCEINLINE HRESULT IPictureDisp_Invoke(IPictureDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4424     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4425 }
4426 #endif
4427 #endif
4428 
4429 #endif
4430 
4431 
4432 #endif  /* __IPictureDisp_INTERFACE_DEFINED__ */
4433 
4434 
4435 /*****************************************************************************
4436  * IOleInPlaceObjectWindowless interface
4437  */
4438 #ifndef __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__
4439 #define __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__
4440 
4441 typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
4442 
4443 DEFINE_GUID(IID_IOleInPlaceObjectWindowless, 0x1c2056cc, 0x5ef4, 0x101b, 0x8b,0xc8, 0x00,0xaa,0x00,0x3e,0x3b,0x29);
4444 #if defined(__cplusplus) && !defined(CINTERFACE)
4445 MIDL_INTERFACE("1c2056cc-5ef4-101b-8bc8-00aa003e3b29")
4446 IOleInPlaceObjectWindowless : public IOleInPlaceObject
4447 {
4448     virtual HRESULT STDMETHODCALLTYPE OnWindowMessage(
4449         UINT msg,
4450         WPARAM wParam,
4451         LPARAM lParam,
4452         LRESULT *plResult) = 0;
4453 
4454     virtual HRESULT STDMETHODCALLTYPE GetDropTarget(
4455         IDropTarget **ppDropTarget) = 0;
4456 
4457 };
4458 #ifdef __CRT_UUID_DECL
4459 __CRT_UUID_DECL(IOleInPlaceObjectWindowless, 0x1c2056cc, 0x5ef4, 0x101b, 0x8b,0xc8, 0x00,0xaa,0x00,0x3e,0x3b,0x29)
4460 #endif
4461 #else
4462 typedef struct IOleInPlaceObjectWindowlessVtbl {
4463     BEGIN_INTERFACE
4464 
4465     /*** IUnknown methods ***/
4466     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4467         IOleInPlaceObjectWindowless *This,
4468         REFIID riid,
4469         void **ppvObject);
4470 
4471     ULONG (STDMETHODCALLTYPE *AddRef)(
4472         IOleInPlaceObjectWindowless *This);
4473 
4474     ULONG (STDMETHODCALLTYPE *Release)(
4475         IOleInPlaceObjectWindowless *This);
4476 
4477     /*** IOleWindow methods ***/
4478     HRESULT (STDMETHODCALLTYPE *GetWindow)(
4479         IOleInPlaceObjectWindowless *This,
4480         HWND *phwnd);
4481 
4482     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
4483         IOleInPlaceObjectWindowless *This,
4484         WINBOOL fEnterMode);
4485 
4486     /*** IOleInPlaceObject methods ***/
4487     HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
4488         IOleInPlaceObjectWindowless *This);
4489 
4490     HRESULT (STDMETHODCALLTYPE *UIDeactivate)(
4491         IOleInPlaceObjectWindowless *This);
4492 
4493     HRESULT (STDMETHODCALLTYPE *SetObjectRects)(
4494         IOleInPlaceObjectWindowless *This,
4495         LPCRECT lprcPosRect,
4496         LPCRECT lprcClipRect);
4497 
4498     HRESULT (STDMETHODCALLTYPE *ReactivateAndUndo)(
4499         IOleInPlaceObjectWindowless *This);
4500 
4501     /*** IOleInPlaceObjectWindowless methods ***/
4502     HRESULT (STDMETHODCALLTYPE *OnWindowMessage)(
4503         IOleInPlaceObjectWindowless *This,
4504         UINT msg,
4505         WPARAM wParam,
4506         LPARAM lParam,
4507         LRESULT *plResult);
4508 
4509     HRESULT (STDMETHODCALLTYPE *GetDropTarget)(
4510         IOleInPlaceObjectWindowless *This,
4511         IDropTarget **ppDropTarget);
4512 
4513     END_INTERFACE
4514 } IOleInPlaceObjectWindowlessVtbl;
4515 
4516 interface IOleInPlaceObjectWindowless {
4517     CONST_VTBL IOleInPlaceObjectWindowlessVtbl* lpVtbl;
4518 };
4519 
4520 #ifdef COBJMACROS
4521 #ifndef WIDL_C_INLINE_WRAPPERS
4522 /*** IUnknown methods ***/
4523 #define IOleInPlaceObjectWindowless_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4524 #define IOleInPlaceObjectWindowless_AddRef(This) (This)->lpVtbl->AddRef(This)
4525 #define IOleInPlaceObjectWindowless_Release(This) (This)->lpVtbl->Release(This)
4526 /*** IOleWindow methods ***/
4527 #define IOleInPlaceObjectWindowless_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
4528 #define IOleInPlaceObjectWindowless_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
4529 /*** IOleInPlaceObject methods ***/
4530 #define IOleInPlaceObjectWindowless_InPlaceDeactivate(This) (This)->lpVtbl->InPlaceDeactivate(This)
4531 #define IOleInPlaceObjectWindowless_UIDeactivate(This) (This)->lpVtbl->UIDeactivate(This)
4532 #define IOleInPlaceObjectWindowless_SetObjectRects(This,lprcPosRect,lprcClipRect) (This)->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect)
4533 #define IOleInPlaceObjectWindowless_ReactivateAndUndo(This) (This)->lpVtbl->ReactivateAndUndo(This)
4534 /*** IOleInPlaceObjectWindowless methods ***/
4535 #define IOleInPlaceObjectWindowless_OnWindowMessage(This,msg,wParam,lParam,plResult) (This)->lpVtbl->OnWindowMessage(This,msg,wParam,lParam,plResult)
4536 #define IOleInPlaceObjectWindowless_GetDropTarget(This,ppDropTarget) (This)->lpVtbl->GetDropTarget(This,ppDropTarget)
4537 #else
4538 /*** IUnknown methods ***/
4539 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_QueryInterface(IOleInPlaceObjectWindowless* This,REFIID riid,void **ppvObject) {
4540     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4541 }
4542 static FORCEINLINE ULONG IOleInPlaceObjectWindowless_AddRef(IOleInPlaceObjectWindowless* This) {
4543     return This->lpVtbl->AddRef(This);
4544 }
4545 static FORCEINLINE ULONG IOleInPlaceObjectWindowless_Release(IOleInPlaceObjectWindowless* This) {
4546     return This->lpVtbl->Release(This);
4547 }
4548 /*** IOleWindow methods ***/
4549 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetWindow(IOleInPlaceObjectWindowless* This,HWND *phwnd) {
4550     return This->lpVtbl->GetWindow(This,phwnd);
4551 }
4552 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ContextSensitiveHelp(IOleInPlaceObjectWindowless* This,WINBOOL fEnterMode) {
4553     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
4554 }
4555 /*** IOleInPlaceObject methods ***/
4556 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceObjectWindowless* This) {
4557     return This->lpVtbl->InPlaceDeactivate(This);
4558 }
4559 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_UIDeactivate(IOleInPlaceObjectWindowless* This) {
4560     return This->lpVtbl->UIDeactivate(This);
4561 }
4562 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_SetObjectRects(IOleInPlaceObjectWindowless* This,LPCRECT lprcPosRect,LPCRECT lprcClipRect) {
4563     return This->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect);
4564 }
4565 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ReactivateAndUndo(IOleInPlaceObjectWindowless* This) {
4566     return This->lpVtbl->ReactivateAndUndo(This);
4567 }
4568 /*** IOleInPlaceObjectWindowless methods ***/
4569 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_OnWindowMessage(IOleInPlaceObjectWindowless* This,UINT msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
4570     return This->lpVtbl->OnWindowMessage(This,msg,wParam,lParam,plResult);
4571 }
4572 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetDropTarget(IOleInPlaceObjectWindowless* This,IDropTarget **ppDropTarget) {
4573     return This->lpVtbl->GetDropTarget(This,ppDropTarget);
4574 }
4575 #endif
4576 #endif
4577 
4578 #endif
4579 
4580 
4581 #endif  /* __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__ */
4582 
4583 
4584 /*****************************************************************************
4585  * IOleInPlaceSiteEx interface
4586  */
4587 #ifndef __IOleInPlaceSiteEx_INTERFACE_DEFINED__
4588 #define __IOleInPlaceSiteEx_INTERFACE_DEFINED__
4589 
4590 typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
4591 
4592 typedef enum tagACTIVATEFLAGS {
4593     ACTIVATE_WINDOWLESS = 1
4594 } ACTIVATEFLAGS;
4595 
4596 DEFINE_GUID(IID_IOleInPlaceSiteEx, 0x9c2cad80, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
4597 #if defined(__cplusplus) && !defined(CINTERFACE)
4598 MIDL_INTERFACE("9c2cad80-3424-11cf-b670-00aa004cd6d8")
4599 IOleInPlaceSiteEx : public IOleInPlaceSite
4600 {
4601     virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivateEx(
4602         WINBOOL *pfNoRedraw,
4603         DWORD dwFlags) = 0;
4604 
4605     virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivateEx(
4606         WINBOOL fNoRedraw) = 0;
4607 
4608     virtual HRESULT STDMETHODCALLTYPE RequestUIActivate(
4609         ) = 0;
4610 
4611 };
4612 #ifdef __CRT_UUID_DECL
4613 __CRT_UUID_DECL(IOleInPlaceSiteEx, 0x9c2cad80, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
4614 #endif
4615 #else
4616 typedef struct IOleInPlaceSiteExVtbl {
4617     BEGIN_INTERFACE
4618 
4619     /*** IUnknown methods ***/
4620     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4621         IOleInPlaceSiteEx *This,
4622         REFIID riid,
4623         void **ppvObject);
4624 
4625     ULONG (STDMETHODCALLTYPE *AddRef)(
4626         IOleInPlaceSiteEx *This);
4627 
4628     ULONG (STDMETHODCALLTYPE *Release)(
4629         IOleInPlaceSiteEx *This);
4630 
4631     /*** IOleWindow methods ***/
4632     HRESULT (STDMETHODCALLTYPE *GetWindow)(
4633         IOleInPlaceSiteEx *This,
4634         HWND *phwnd);
4635 
4636     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
4637         IOleInPlaceSiteEx *This,
4638         WINBOOL fEnterMode);
4639 
4640     /*** IOleInPlaceSite methods ***/
4641     HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
4642         IOleInPlaceSiteEx *This);
4643 
4644     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
4645         IOleInPlaceSiteEx *This);
4646 
4647     HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
4648         IOleInPlaceSiteEx *This);
4649 
4650     HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
4651         IOleInPlaceSiteEx *This,
4652         IOleInPlaceFrame **ppFrame,
4653         IOleInPlaceUIWindow **ppDoc,
4654         LPRECT lprcPosRect,
4655         LPRECT lprcClipRect,
4656         LPOLEINPLACEFRAMEINFO lpFrameInfo);
4657 
4658     HRESULT (STDMETHODCALLTYPE *Scroll)(
4659         IOleInPlaceSiteEx *This,
4660         SIZE scrollExtant);
4661 
4662     HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
4663         IOleInPlaceSiteEx *This,
4664         WINBOOL fUndoable);
4665 
4666     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
4667         IOleInPlaceSiteEx *This);
4668 
4669     HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
4670         IOleInPlaceSiteEx *This);
4671 
4672     HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
4673         IOleInPlaceSiteEx *This);
4674 
4675     HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
4676         IOleInPlaceSiteEx *This,
4677         LPCRECT lprcPosRect);
4678 
4679     /*** IOleInPlaceSiteEx methods ***/
4680     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivateEx)(
4681         IOleInPlaceSiteEx *This,
4682         WINBOOL *pfNoRedraw,
4683         DWORD dwFlags);
4684 
4685     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivateEx)(
4686         IOleInPlaceSiteEx *This,
4687         WINBOOL fNoRedraw);
4688 
4689     HRESULT (STDMETHODCALLTYPE *RequestUIActivate)(
4690         IOleInPlaceSiteEx *This);
4691 
4692     END_INTERFACE
4693 } IOleInPlaceSiteExVtbl;
4694 
4695 interface IOleInPlaceSiteEx {
4696     CONST_VTBL IOleInPlaceSiteExVtbl* lpVtbl;
4697 };
4698 
4699 #ifdef COBJMACROS
4700 #ifndef WIDL_C_INLINE_WRAPPERS
4701 /*** IUnknown methods ***/
4702 #define IOleInPlaceSiteEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4703 #define IOleInPlaceSiteEx_AddRef(This) (This)->lpVtbl->AddRef(This)
4704 #define IOleInPlaceSiteEx_Release(This) (This)->lpVtbl->Release(This)
4705 /*** IOleWindow methods ***/
4706 #define IOleInPlaceSiteEx_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
4707 #define IOleInPlaceSiteEx_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
4708 /*** IOleInPlaceSite methods ***/
4709 #define IOleInPlaceSiteEx_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
4710 #define IOleInPlaceSiteEx_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
4711 #define IOleInPlaceSiteEx_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
4712 #define IOleInPlaceSiteEx_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
4713 #define IOleInPlaceSiteEx_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
4714 #define IOleInPlaceSiteEx_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
4715 #define IOleInPlaceSiteEx_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
4716 #define IOleInPlaceSiteEx_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
4717 #define IOleInPlaceSiteEx_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
4718 #define IOleInPlaceSiteEx_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
4719 /*** IOleInPlaceSiteEx methods ***/
4720 #define IOleInPlaceSiteEx_OnInPlaceActivateEx(This,pfNoRedraw,dwFlags) (This)->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags)
4721 #define IOleInPlaceSiteEx_OnInPlaceDeactivateEx(This,fNoRedraw) (This)->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw)
4722 #define IOleInPlaceSiteEx_RequestUIActivate(This) (This)->lpVtbl->RequestUIActivate(This)
4723 #else
4724 /*** IUnknown methods ***/
4725 static FORCEINLINE HRESULT IOleInPlaceSiteEx_QueryInterface(IOleInPlaceSiteEx* This,REFIID riid,void **ppvObject) {
4726     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4727 }
4728 static FORCEINLINE ULONG IOleInPlaceSiteEx_AddRef(IOleInPlaceSiteEx* This) {
4729     return This->lpVtbl->AddRef(This);
4730 }
4731 static FORCEINLINE ULONG IOleInPlaceSiteEx_Release(IOleInPlaceSiteEx* This) {
4732     return This->lpVtbl->Release(This);
4733 }
4734 /*** IOleWindow methods ***/
4735 static FORCEINLINE HRESULT IOleInPlaceSiteEx_GetWindow(IOleInPlaceSiteEx* This,HWND *phwnd) {
4736     return This->lpVtbl->GetWindow(This,phwnd);
4737 }
4738 static FORCEINLINE HRESULT IOleInPlaceSiteEx_ContextSensitiveHelp(IOleInPlaceSiteEx* This,WINBOOL fEnterMode) {
4739     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
4740 }
4741 /*** IOleInPlaceSite methods ***/
4742 static FORCEINLINE HRESULT IOleInPlaceSiteEx_CanInPlaceActivate(IOleInPlaceSiteEx* This) {
4743     return This->lpVtbl->CanInPlaceActivate(This);
4744 }
4745 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivate(IOleInPlaceSiteEx* This) {
4746     return This->lpVtbl->OnInPlaceActivate(This);
4747 }
4748 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIActivate(IOleInPlaceSiteEx* This) {
4749     return This->lpVtbl->OnUIActivate(This);
4750 }
4751 static FORCEINLINE HRESULT IOleInPlaceSiteEx_GetWindowContext(IOleInPlaceSiteEx* This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) {
4752     return This->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo);
4753 }
4754 static FORCEINLINE HRESULT IOleInPlaceSiteEx_Scroll(IOleInPlaceSiteEx* This,SIZE scrollExtant) {
4755     return This->lpVtbl->Scroll(This,scrollExtant);
4756 }
4757 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIDeactivate(IOleInPlaceSiteEx* This,WINBOOL fUndoable) {
4758     return This->lpVtbl->OnUIDeactivate(This,fUndoable);
4759 }
4760 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivate(IOleInPlaceSiteEx* This) {
4761     return This->lpVtbl->OnInPlaceDeactivate(This);
4762 }
4763 static FORCEINLINE HRESULT IOleInPlaceSiteEx_DiscardUndoState(IOleInPlaceSiteEx* This) {
4764     return This->lpVtbl->DiscardUndoState(This);
4765 }
4766 static FORCEINLINE HRESULT IOleInPlaceSiteEx_DeactivateAndUndo(IOleInPlaceSiteEx* This) {
4767     return This->lpVtbl->DeactivateAndUndo(This);
4768 }
4769 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnPosRectChange(IOleInPlaceSiteEx* This,LPCRECT lprcPosRect) {
4770     return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
4771 }
4772 /*** IOleInPlaceSiteEx methods ***/
4773 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
4774     return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
4775 }
4776 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx* This,WINBOOL fNoRedraw) {
4777     return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
4778 }
4779 static FORCEINLINE HRESULT IOleInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx* This) {
4780     return This->lpVtbl->RequestUIActivate(This);
4781 }
4782 #endif
4783 #endif
4784 
4785 #endif
4786 
4787 
4788 #endif  /* __IOleInPlaceSiteEx_INTERFACE_DEFINED__ */
4789 
4790 
4791 /*****************************************************************************
4792  * IOleInPlaceSiteWindowless interface
4793  */
4794 #ifndef __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__
4795 #define __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__
4796 
4797 typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
4798 
4799 typedef enum tagOLEDCFLAGS {
4800     OLEDC_NODRAW = 0x1,
4801     OLEDC_PAINTBKGND = 0x2,
4802     OLEDC_OFFSCREEN = 0x4
4803 } OLEDCFLAGS;
4804 
4805 DEFINE_GUID(IID_IOleInPlaceSiteWindowless, 0x922eada0, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
4806 #if defined(__cplusplus) && !defined(CINTERFACE)
4807 MIDL_INTERFACE("922eada0-3424-11cf-b670-00aa004cd6d8")
4808 IOleInPlaceSiteWindowless : public IOleInPlaceSiteEx
4809 {
4810     virtual HRESULT STDMETHODCALLTYPE CanWindowlessActivate(
4811         ) = 0;
4812 
4813     virtual HRESULT STDMETHODCALLTYPE GetCapture(
4814         ) = 0;
4815 
4816     virtual HRESULT STDMETHODCALLTYPE SetCapture(
4817         WINBOOL fCapture) = 0;
4818 
4819     virtual HRESULT STDMETHODCALLTYPE GetFocus(
4820         ) = 0;
4821 
4822     virtual HRESULT STDMETHODCALLTYPE SetFocus(
4823         WINBOOL fFocus) = 0;
4824 
4825     virtual HRESULT STDMETHODCALLTYPE GetDC(
4826         LPCRECT pRect,
4827         DWORD grfFlags,
4828         HDC *phDC) = 0;
4829 
4830     virtual HRESULT STDMETHODCALLTYPE ReleaseDC(
4831         HDC hDC) = 0;
4832 
4833     virtual HRESULT STDMETHODCALLTYPE InvalidateRect(
4834         LPCRECT pRect,
4835         WINBOOL fErase) = 0;
4836 
4837     virtual HRESULT STDMETHODCALLTYPE InvalidateRgn(
4838         HRGN hRGN,
4839         WINBOOL fErase) = 0;
4840 
4841     virtual HRESULT STDMETHODCALLTYPE ScrollRect(
4842         INT dx,
4843         INT dy,
4844         LPCRECT pRectScroll,
4845         LPCRECT pRectClip) = 0;
4846 
4847     virtual HRESULT STDMETHODCALLTYPE AdjustRect(
4848         LPRECT prc) = 0;
4849 
4850     virtual HRESULT STDMETHODCALLTYPE OnDefWindowMessage(
4851         UINT msg,
4852         WPARAM wParam,
4853         LPARAM lParam,
4854         LRESULT *plResult) = 0;
4855 
4856 };
4857 #ifdef __CRT_UUID_DECL
4858 __CRT_UUID_DECL(IOleInPlaceSiteWindowless, 0x922eada0, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
4859 #endif
4860 #else
4861 typedef struct IOleInPlaceSiteWindowlessVtbl {
4862     BEGIN_INTERFACE
4863 
4864     /*** IUnknown methods ***/
4865     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4866         IOleInPlaceSiteWindowless *This,
4867         REFIID riid,
4868         void **ppvObject);
4869 
4870     ULONG (STDMETHODCALLTYPE *AddRef)(
4871         IOleInPlaceSiteWindowless *This);
4872 
4873     ULONG (STDMETHODCALLTYPE *Release)(
4874         IOleInPlaceSiteWindowless *This);
4875 
4876     /*** IOleWindow methods ***/
4877     HRESULT (STDMETHODCALLTYPE *GetWindow)(
4878         IOleInPlaceSiteWindowless *This,
4879         HWND *phwnd);
4880 
4881     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
4882         IOleInPlaceSiteWindowless *This,
4883         WINBOOL fEnterMode);
4884 
4885     /*** IOleInPlaceSite methods ***/
4886     HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
4887         IOleInPlaceSiteWindowless *This);
4888 
4889     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
4890         IOleInPlaceSiteWindowless *This);
4891 
4892     HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
4893         IOleInPlaceSiteWindowless *This);
4894 
4895     HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
4896         IOleInPlaceSiteWindowless *This,
4897         IOleInPlaceFrame **ppFrame,
4898         IOleInPlaceUIWindow **ppDoc,
4899         LPRECT lprcPosRect,
4900         LPRECT lprcClipRect,
4901         LPOLEINPLACEFRAMEINFO lpFrameInfo);
4902 
4903     HRESULT (STDMETHODCALLTYPE *Scroll)(
4904         IOleInPlaceSiteWindowless *This,
4905         SIZE scrollExtant);
4906 
4907     HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
4908         IOleInPlaceSiteWindowless *This,
4909         WINBOOL fUndoable);
4910 
4911     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
4912         IOleInPlaceSiteWindowless *This);
4913 
4914     HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
4915         IOleInPlaceSiteWindowless *This);
4916 
4917     HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
4918         IOleInPlaceSiteWindowless *This);
4919 
4920     HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
4921         IOleInPlaceSiteWindowless *This,
4922         LPCRECT lprcPosRect);
4923 
4924     /*** IOleInPlaceSiteEx methods ***/
4925     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivateEx)(
4926         IOleInPlaceSiteWindowless *This,
4927         WINBOOL *pfNoRedraw,
4928         DWORD dwFlags);
4929 
4930     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivateEx)(
4931         IOleInPlaceSiteWindowless *This,
4932         WINBOOL fNoRedraw);
4933 
4934     HRESULT (STDMETHODCALLTYPE *RequestUIActivate)(
4935         IOleInPlaceSiteWindowless *This);
4936 
4937     /*** IOleInPlaceSiteWindowless methods ***/
4938     HRESULT (STDMETHODCALLTYPE *CanWindowlessActivate)(
4939         IOleInPlaceSiteWindowless *This);
4940 
4941     HRESULT (STDMETHODCALLTYPE *GetCapture)(
4942         IOleInPlaceSiteWindowless *This);
4943 
4944     HRESULT (STDMETHODCALLTYPE *SetCapture)(
4945         IOleInPlaceSiteWindowless *This,
4946         WINBOOL fCapture);
4947 
4948     HRESULT (STDMETHODCALLTYPE *GetFocus)(
4949         IOleInPlaceSiteWindowless *This);
4950 
4951     HRESULT (STDMETHODCALLTYPE *SetFocus)(
4952         IOleInPlaceSiteWindowless *This,
4953         WINBOOL fFocus);
4954 
4955     HRESULT (STDMETHODCALLTYPE *GetDC)(
4956         IOleInPlaceSiteWindowless *This,
4957         LPCRECT pRect,
4958         DWORD grfFlags,
4959         HDC *phDC);
4960 
4961     HRESULT (STDMETHODCALLTYPE *ReleaseDC)(
4962         IOleInPlaceSiteWindowless *This,
4963         HDC hDC);
4964 
4965     HRESULT (STDMETHODCALLTYPE *InvalidateRect)(
4966         IOleInPlaceSiteWindowless *This,
4967         LPCRECT pRect,
4968         WINBOOL fErase);
4969 
4970     HRESULT (STDMETHODCALLTYPE *InvalidateRgn)(
4971         IOleInPlaceSiteWindowless *This,
4972         HRGN hRGN,
4973         WINBOOL fErase);
4974 
4975     HRESULT (STDMETHODCALLTYPE *ScrollRect)(
4976         IOleInPlaceSiteWindowless *This,
4977         INT dx,
4978         INT dy,
4979         LPCRECT pRectScroll,
4980         LPCRECT pRectClip);
4981 
4982     HRESULT (STDMETHODCALLTYPE *AdjustRect)(
4983         IOleInPlaceSiteWindowless *This,
4984         LPRECT prc);
4985 
4986     HRESULT (STDMETHODCALLTYPE *OnDefWindowMessage)(
4987         IOleInPlaceSiteWindowless *This,
4988         UINT msg,
4989         WPARAM wParam,
4990         LPARAM lParam,
4991         LRESULT *plResult);
4992 
4993     END_INTERFACE
4994 } IOleInPlaceSiteWindowlessVtbl;
4995 
4996 interface IOleInPlaceSiteWindowless {
4997     CONST_VTBL IOleInPlaceSiteWindowlessVtbl* lpVtbl;
4998 };
4999 
5000 #ifdef COBJMACROS
5001 #ifndef WIDL_C_INLINE_WRAPPERS
5002 /*** IUnknown methods ***/
5003 #define IOleInPlaceSiteWindowless_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5004 #define IOleInPlaceSiteWindowless_AddRef(This) (This)->lpVtbl->AddRef(This)
5005 #define IOleInPlaceSiteWindowless_Release(This) (This)->lpVtbl->Release(This)
5006 /*** IOleWindow methods ***/
5007 #define IOleInPlaceSiteWindowless_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5008 #define IOleInPlaceSiteWindowless_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5009 /*** IOleInPlaceSite methods ***/
5010 #define IOleInPlaceSiteWindowless_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
5011 #define IOleInPlaceSiteWindowless_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
5012 #define IOleInPlaceSiteWindowless_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
5013 #define IOleInPlaceSiteWindowless_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
5014 #define IOleInPlaceSiteWindowless_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
5015 #define IOleInPlaceSiteWindowless_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
5016 #define IOleInPlaceSiteWindowless_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
5017 #define IOleInPlaceSiteWindowless_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
5018 #define IOleInPlaceSiteWindowless_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
5019 #define IOleInPlaceSiteWindowless_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
5020 /*** IOleInPlaceSiteEx methods ***/
5021 #define IOleInPlaceSiteWindowless_OnInPlaceActivateEx(This,pfNoRedraw,dwFlags) (This)->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags)
5022 #define IOleInPlaceSiteWindowless_OnInPlaceDeactivateEx(This,fNoRedraw) (This)->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw)
5023 #define IOleInPlaceSiteWindowless_RequestUIActivate(This) (This)->lpVtbl->RequestUIActivate(This)
5024 /*** IOleInPlaceSiteWindowless methods ***/
5025 #define IOleInPlaceSiteWindowless_CanWindowlessActivate(This) (This)->lpVtbl->CanWindowlessActivate(This)
5026 #define IOleInPlaceSiteWindowless_GetCapture(This) (This)->lpVtbl->GetCapture(This)
5027 #define IOleInPlaceSiteWindowless_SetCapture(This,fCapture) (This)->lpVtbl->SetCapture(This,fCapture)
5028 #define IOleInPlaceSiteWindowless_GetFocus(This) (This)->lpVtbl->GetFocus(This)
5029 #define IOleInPlaceSiteWindowless_SetFocus(This,fFocus) (This)->lpVtbl->SetFocus(This,fFocus)
5030 #define IOleInPlaceSiteWindowless_GetDC(This,pRect,grfFlags,phDC) (This)->lpVtbl->GetDC(This,pRect,grfFlags,phDC)
5031 #define IOleInPlaceSiteWindowless_ReleaseDC(This,hDC) (This)->lpVtbl->ReleaseDC(This,hDC)
5032 #define IOleInPlaceSiteWindowless_InvalidateRect(This,pRect,fErase) (This)->lpVtbl->InvalidateRect(This,pRect,fErase)
5033 #define IOleInPlaceSiteWindowless_InvalidateRgn(This,hRGN,fErase) (This)->lpVtbl->InvalidateRgn(This,hRGN,fErase)
5034 #define IOleInPlaceSiteWindowless_ScrollRect(This,dx,dy,pRectScroll,pRectClip) (This)->lpVtbl->ScrollRect(This,dx,dy,pRectScroll,pRectClip)
5035 #define IOleInPlaceSiteWindowless_AdjustRect(This,prc) (This)->lpVtbl->AdjustRect(This,prc)
5036 #define IOleInPlaceSiteWindowless_OnDefWindowMessage(This,msg,wParam,lParam,plResult) (This)->lpVtbl->OnDefWindowMessage(This,msg,wParam,lParam,plResult)
5037 #else
5038 /*** IUnknown methods ***/
5039 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_QueryInterface(IOleInPlaceSiteWindowless* This,REFIID riid,void **ppvObject) {
5040     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5041 }
5042 static FORCEINLINE ULONG IOleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless* This) {
5043     return This->lpVtbl->AddRef(This);
5044 }
5045 static FORCEINLINE ULONG IOleInPlaceSiteWindowless_Release(IOleInPlaceSiteWindowless* This) {
5046     return This->lpVtbl->Release(This);
5047 }
5048 /*** IOleWindow methods ***/
5049 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetWindow(IOleInPlaceSiteWindowless* This,HWND *phwnd) {
5050     return This->lpVtbl->GetWindow(This,phwnd);
5051 }
5052 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ContextSensitiveHelp(IOleInPlaceSiteWindowless* This,WINBOOL fEnterMode) {
5053     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5054 }
5055 /*** IOleInPlaceSite methods ***/
5056 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5057     return This->lpVtbl->CanInPlaceActivate(This);
5058 }
5059 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5060     return This->lpVtbl->OnInPlaceActivate(This);
5061 }
5062 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIActivate(IOleInPlaceSiteWindowless* This) {
5063     return This->lpVtbl->OnUIActivate(This);
5064 }
5065 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetWindowContext(IOleInPlaceSiteWindowless* This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) {
5066     return This->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo);
5067 }
5068 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_Scroll(IOleInPlaceSiteWindowless* This,SIZE scrollExtant) {
5069     return This->lpVtbl->Scroll(This,scrollExtant);
5070 }
5071 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIDeactivate(IOleInPlaceSiteWindowless* This,WINBOOL fUndoable) {
5072     return This->lpVtbl->OnUIDeactivate(This,fUndoable);
5073 }
5074 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivate(IOleInPlaceSiteWindowless* This) {
5075     return This->lpVtbl->OnInPlaceDeactivate(This);
5076 }
5077 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DiscardUndoState(IOleInPlaceSiteWindowless* This) {
5078     return This->lpVtbl->DiscardUndoState(This);
5079 }
5080 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DeactivateAndUndo(IOleInPlaceSiteWindowless* This) {
5081     return This->lpVtbl->DeactivateAndUndo(This);
5082 }
5083 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnPosRectChange(IOleInPlaceSiteWindowless* This,LPCRECT lprcPosRect) {
5084     return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
5085 }
5086 /*** IOleInPlaceSiteEx methods ***/
5087 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivateEx(IOleInPlaceSiteWindowless* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
5088     return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
5089 }
5090 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivateEx(IOleInPlaceSiteWindowless* This,WINBOOL fNoRedraw) {
5091     return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
5092 }
5093 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_RequestUIActivate(IOleInPlaceSiteWindowless* This) {
5094     return This->lpVtbl->RequestUIActivate(This);
5095 }
5096 /*** IOleInPlaceSiteWindowless methods ***/
5097 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanWindowlessActivate(IOleInPlaceSiteWindowless* This) {
5098     return This->lpVtbl->CanWindowlessActivate(This);
5099 }
5100 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetCapture(IOleInPlaceSiteWindowless* This) {
5101     return This->lpVtbl->GetCapture(This);
5102 }
5103 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetCapture(IOleInPlaceSiteWindowless* This,WINBOOL fCapture) {
5104     return This->lpVtbl->SetCapture(This,fCapture);
5105 }
5106 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetFocus(IOleInPlaceSiteWindowless* This) {
5107     return This->lpVtbl->GetFocus(This);
5108 }
5109 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetFocus(IOleInPlaceSiteWindowless* This,WINBOOL fFocus) {
5110     return This->lpVtbl->SetFocus(This,fFocus);
5111 }
5112 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetDC(IOleInPlaceSiteWindowless* This,LPCRECT pRect,DWORD grfFlags,HDC *phDC) {
5113     return This->lpVtbl->GetDC(This,pRect,grfFlags,phDC);
5114 }
5115 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ReleaseDC(IOleInPlaceSiteWindowless* This,HDC hDC) {
5116     return This->lpVtbl->ReleaseDC(This,hDC);
5117 }
5118 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRect(IOleInPlaceSiteWindowless* This,LPCRECT pRect,WINBOOL fErase) {
5119     return This->lpVtbl->InvalidateRect(This,pRect,fErase);
5120 }
5121 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRgn(IOleInPlaceSiteWindowless* This,HRGN hRGN,WINBOOL fErase) {
5122     return This->lpVtbl->InvalidateRgn(This,hRGN,fErase);
5123 }
5124 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ScrollRect(IOleInPlaceSiteWindowless* This,INT dx,INT dy,LPCRECT pRectScroll,LPCRECT pRectClip) {
5125     return This->lpVtbl->ScrollRect(This,dx,dy,pRectScroll,pRectClip);
5126 }
5127 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_AdjustRect(IOleInPlaceSiteWindowless* This,LPRECT prc) {
5128     return This->lpVtbl->AdjustRect(This,prc);
5129 }
5130 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnDefWindowMessage(IOleInPlaceSiteWindowless* This,UINT msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
5131     return This->lpVtbl->OnDefWindowMessage(This,msg,wParam,lParam,plResult);
5132 }
5133 #endif
5134 #endif
5135 
5136 #endif
5137 
5138 
5139 #endif  /* __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__ */
5140 
5141 
5142 /*****************************************************************************
5143  * IViewObjectEx interface
5144  */
5145 #ifndef __IViewObjectEx_INTERFACE_DEFINED__
5146 #define __IViewObjectEx_INTERFACE_DEFINED__
5147 
5148 typedef IViewObjectEx *LPVIEWOBJECTEX;
5149 
5150 typedef enum tagVIEWSTATUS {
5151     VIEWSTATUS_OPAQUE = 1,
5152     VIEWSTATUS_SOLIDBKGND = 2,
5153     VIEWSTATUS_DVASPECTOPAQUE = 4,
5154     VIEWSTATUS_DVASPECTTRANSPARENT = 8,
5155     VIEWSTATUS_SURFACE = 16,
5156     VIEWSTATUS_3DSURFACE = 32
5157 } VIEWSTATUS;
5158 
5159 typedef enum tagHITRESULT {
5160     HITRESULT_OUTSIDE = 0,
5161     HITRESULT_TRANSPARENT = 1,
5162     HITRESULT_CLOSE = 2,
5163     HITRESULT_HIT = 3
5164 } HITRESULT;
5165 
5166 typedef enum tagDVASPECT2 {
5167     DVASPECT_OPAQUE = 16,
5168     DVASPECT_TRANSPARENT = 32
5169 } DVASPECT2;
5170 
5171 typedef struct tagExtentInfo {
5172     ULONG cb;
5173     DWORD dwExtentMode;
5174     SIZEL sizelProposed;
5175 } DVEXTENTINFO;
5176 
5177 typedef enum tagExtentMode {
5178     DVEXTENT_CONTENT = 0,
5179     DVEXTENT_INTEGRAL = 1
5180 } DVEXTENTMODE;
5181 
5182 typedef enum tagAspectInfoFlag {
5183     DVASPECTINFOFLAG_CANOPTIMIZE = 1
5184 } DVASPECTINFOFLAG;
5185 
5186 typedef struct tagAspectInfo {
5187     ULONG cb;
5188     DWORD dwFlags;
5189 } DVASPECTINFO;
5190 
5191 DEFINE_GUID(IID_IViewObjectEx, 0x3af24292, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
5192 #if defined(__cplusplus) && !defined(CINTERFACE)
5193 MIDL_INTERFACE("3af24292-0c96-11ce-a0cf-00aa00600ab8")
5194 IViewObjectEx : public IViewObject2
5195 {
5196     virtual HRESULT STDMETHODCALLTYPE GetRect(
5197         DWORD dwAspect,
5198         LPRECTL pRect) = 0;
5199 
5200     virtual HRESULT STDMETHODCALLTYPE GetViewStatus(
5201         DWORD *pdwStatus) = 0;
5202 
5203     virtual HRESULT STDMETHODCALLTYPE QueryHitPoint(
5204         DWORD dwAspect,
5205         LPCRECT pRectBounds,
5206         POINT ptlLoc,
5207         LONG lCloseHint,
5208         DWORD *pHitResult) = 0;
5209 
5210     virtual HRESULT STDMETHODCALLTYPE QueryHitRect(
5211         DWORD dwAspect,
5212         LPCRECT pRectBounds,
5213         LPCRECT pRectLoc,
5214         LONG lCloseHint,
5215         DWORD *pHitResult) = 0;
5216 
5217     virtual HRESULT STDMETHODCALLTYPE GetNaturalExtent(
5218         DWORD dwAspect,
5219         LONG lindex,
5220         DVTARGETDEVICE *ptd,
5221         HDC hicTargetDev,
5222         DVEXTENTINFO *pExtentInfo,
5223         LPSIZEL pSizel) = 0;
5224 
5225 };
5226 #ifdef __CRT_UUID_DECL
5227 __CRT_UUID_DECL(IViewObjectEx, 0x3af24292, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8)
5228 #endif
5229 #else
5230 typedef struct IViewObjectExVtbl {
5231     BEGIN_INTERFACE
5232 
5233     /*** IUnknown methods ***/
5234     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5235         IViewObjectEx *This,
5236         REFIID riid,
5237         void **ppvObject);
5238 
5239     ULONG (STDMETHODCALLTYPE *AddRef)(
5240         IViewObjectEx *This);
5241 
5242     ULONG (STDMETHODCALLTYPE *Release)(
5243         IViewObjectEx *This);
5244 
5245     /*** IViewObject methods ***/
5246     HRESULT (STDMETHODCALLTYPE *Draw)(
5247         IViewObjectEx *This,
5248         DWORD dwDrawAspect,
5249         LONG lindex,
5250         void *pvAspect,
5251         DVTARGETDEVICE *ptd,
5252         HDC hdcTargetDev,
5253         HDC hdcDraw,
5254         LPCRECTL lprcBounds,
5255         LPCRECTL lprcWBounds,
5256         WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
5257         ULONG_PTR dwContinue);
5258 
5259     HRESULT (STDMETHODCALLTYPE *GetColorSet)(
5260         IViewObjectEx *This,
5261         DWORD dwDrawAspect,
5262         LONG lindex,
5263         void *pvAspect,
5264         DVTARGETDEVICE *ptd,
5265         HDC hicTargetDev,
5266         LOGPALETTE **ppColorSet);
5267 
5268     HRESULT (STDMETHODCALLTYPE *Freeze)(
5269         IViewObjectEx *This,
5270         DWORD dwDrawAspect,
5271         LONG lindex,
5272         void *pvAspect,
5273         DWORD *pdwFreeze);
5274 
5275     HRESULT (STDMETHODCALLTYPE *Unfreeze)(
5276         IViewObjectEx *This,
5277         DWORD dwFreeze);
5278 
5279     HRESULT (STDMETHODCALLTYPE *SetAdvise)(
5280         IViewObjectEx *This,
5281         DWORD aspects,
5282         DWORD advf,
5283         IAdviseSink *pAdvSink);
5284 
5285     HRESULT (STDMETHODCALLTYPE *GetAdvise)(
5286         IViewObjectEx *This,
5287         DWORD *pAspects,
5288         DWORD *pAdvf,
5289         IAdviseSink **ppAdvSink);
5290 
5291     /*** IViewObject2 methods ***/
5292     HRESULT (STDMETHODCALLTYPE *GetExtent)(
5293         IViewObjectEx *This,
5294         DWORD dwDrawAspect,
5295         LONG lindex,
5296         DVTARGETDEVICE *ptd,
5297         LPSIZEL lpsizel);
5298 
5299     /*** IViewObjectEx methods ***/
5300     HRESULT (STDMETHODCALLTYPE *GetRect)(
5301         IViewObjectEx *This,
5302         DWORD dwAspect,
5303         LPRECTL pRect);
5304 
5305     HRESULT (STDMETHODCALLTYPE *GetViewStatus)(
5306         IViewObjectEx *This,
5307         DWORD *pdwStatus);
5308 
5309     HRESULT (STDMETHODCALLTYPE *QueryHitPoint)(
5310         IViewObjectEx *This,
5311         DWORD dwAspect,
5312         LPCRECT pRectBounds,
5313         POINT ptlLoc,
5314         LONG lCloseHint,
5315         DWORD *pHitResult);
5316 
5317     HRESULT (STDMETHODCALLTYPE *QueryHitRect)(
5318         IViewObjectEx *This,
5319         DWORD dwAspect,
5320         LPCRECT pRectBounds,
5321         LPCRECT pRectLoc,
5322         LONG lCloseHint,
5323         DWORD *pHitResult);
5324 
5325     HRESULT (STDMETHODCALLTYPE *GetNaturalExtent)(
5326         IViewObjectEx *This,
5327         DWORD dwAspect,
5328         LONG lindex,
5329         DVTARGETDEVICE *ptd,
5330         HDC hicTargetDev,
5331         DVEXTENTINFO *pExtentInfo,
5332         LPSIZEL pSizel);
5333 
5334     END_INTERFACE
5335 } IViewObjectExVtbl;
5336 
5337 interface IViewObjectEx {
5338     CONST_VTBL IViewObjectExVtbl* lpVtbl;
5339 };
5340 
5341 #ifdef COBJMACROS
5342 #ifndef WIDL_C_INLINE_WRAPPERS
5343 /*** IUnknown methods ***/
5344 #define IViewObjectEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5345 #define IViewObjectEx_AddRef(This) (This)->lpVtbl->AddRef(This)
5346 #define IViewObjectEx_Release(This) (This)->lpVtbl->Release(This)
5347 /*** IViewObject methods ***/
5348 #define IViewObjectEx_Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue) (This)->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue)
5349 #define IViewObjectEx_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
5350 #define IViewObjectEx_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
5351 #define IViewObjectEx_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
5352 #define IViewObjectEx_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
5353 #define IViewObjectEx_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
5354 /*** IViewObject2 methods ***/
5355 #define IViewObjectEx_GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel)
5356 /*** IViewObjectEx methods ***/
5357 #define IViewObjectEx_GetRect(This,dwAspect,pRect) (This)->lpVtbl->GetRect(This,dwAspect,pRect)
5358 #define IViewObjectEx_GetViewStatus(This,pdwStatus) (This)->lpVtbl->GetViewStatus(This,pdwStatus)
5359 #define IViewObjectEx_QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult) (This)->lpVtbl->QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult)
5360 #define IViewObjectEx_QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult) (This)->lpVtbl->QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult)
5361 #define IViewObjectEx_GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel) (This)->lpVtbl->GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel)
5362 #else
5363 /*** IUnknown methods ***/
5364 static FORCEINLINE HRESULT IViewObjectEx_QueryInterface(IViewObjectEx* This,REFIID riid,void **ppvObject) {
5365     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5366 }
5367 static FORCEINLINE ULONG IViewObjectEx_AddRef(IViewObjectEx* This) {
5368     return This->lpVtbl->AddRef(This);
5369 }
5370 static FORCEINLINE ULONG IViewObjectEx_Release(IViewObjectEx* This) {
5371     return This->lpVtbl->Release(This);
5372 }
5373 /*** IViewObject methods ***/
5374 static FORCEINLINE HRESULT IViewObjectEx_Draw(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue) {
5375     return This->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue);
5376 }
5377 static FORCEINLINE HRESULT IViewObjectEx_GetColorSet(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet) {
5378     return This->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet);
5379 }
5380 static FORCEINLINE HRESULT IViewObjectEx_Freeze(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze) {
5381     return This->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze);
5382 }
5383 static FORCEINLINE HRESULT IViewObjectEx_Unfreeze(IViewObjectEx* This,DWORD dwFreeze) {
5384     return This->lpVtbl->Unfreeze(This,dwFreeze);
5385 }
5386 static FORCEINLINE HRESULT IViewObjectEx_SetAdvise(IViewObjectEx* This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) {
5387     return This->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink);
5388 }
5389 static FORCEINLINE HRESULT IViewObjectEx_GetAdvise(IViewObjectEx* This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink) {
5390     return This->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink);
5391 }
5392 /*** IViewObject2 methods ***/
5393 static FORCEINLINE HRESULT IViewObjectEx_GetExtent(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel) {
5394     return This->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel);
5395 }
5396 /*** IViewObjectEx methods ***/
5397 static FORCEINLINE HRESULT IViewObjectEx_GetRect(IViewObjectEx* This,DWORD dwAspect,LPRECTL pRect) {
5398     return This->lpVtbl->GetRect(This,dwAspect,pRect);
5399 }
5400 static FORCEINLINE HRESULT IViewObjectEx_GetViewStatus(IViewObjectEx* This,DWORD *pdwStatus) {
5401     return This->lpVtbl->GetViewStatus(This,pdwStatus);
5402 }
5403 static FORCEINLINE HRESULT IViewObjectEx_QueryHitPoint(IViewObjectEx* This,DWORD dwAspect,LPCRECT pRectBounds,POINT ptlLoc,LONG lCloseHint,DWORD *pHitResult) {
5404     return This->lpVtbl->QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult);
5405 }
5406 static FORCEINLINE HRESULT IViewObjectEx_QueryHitRect(IViewObjectEx* This,DWORD dwAspect,LPCRECT pRectBounds,LPCRECT pRectLoc,LONG lCloseHint,DWORD *pHitResult) {
5407     return This->lpVtbl->QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult);
5408 }
5409 static FORCEINLINE HRESULT IViewObjectEx_GetNaturalExtent(IViewObjectEx* This,DWORD dwAspect,LONG lindex,DVTARGETDEVICE *ptd,HDC hicTargetDev,DVEXTENTINFO *pExtentInfo,LPSIZEL pSizel) {
5410     return This->lpVtbl->GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel);
5411 }
5412 #endif
5413 #endif
5414 
5415 #endif
5416 
5417 
5418 #endif  /* __IViewObjectEx_INTERFACE_DEFINED__ */
5419 
5420 
5421 /*****************************************************************************
5422  * IOleUndoUnit interface
5423  */
5424 #ifndef __IOleUndoUnit_INTERFACE_DEFINED__
5425 #define __IOleUndoUnit_INTERFACE_DEFINED__
5426 
5427 typedef IOleUndoUnit *LPOLEUNDOUNIT;
5428 
5429 DEFINE_GUID(IID_IOleUndoUnit, 0x894ad3b0, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
5430 #if defined(__cplusplus) && !defined(CINTERFACE)
5431 MIDL_INTERFACE("894ad3b0-ef97-11ce-9bc9-00aa00608e01")
5432 IOleUndoUnit : public IUnknown
5433 {
5434     virtual HRESULT STDMETHODCALLTYPE Do(
5435         IOleUndoManager *pUndoManager) = 0;
5436 
5437     virtual HRESULT STDMETHODCALLTYPE GetDescription(
5438         BSTR *pBstr) = 0;
5439 
5440     virtual HRESULT STDMETHODCALLTYPE GetUnitType(
5441         CLSID *pClsid,
5442         LONG *plID) = 0;
5443 
5444     virtual HRESULT STDMETHODCALLTYPE OnNextAdd(
5445         ) = 0;
5446 
5447 };
5448 #ifdef __CRT_UUID_DECL
5449 __CRT_UUID_DECL(IOleUndoUnit, 0x894ad3b0, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
5450 #endif
5451 #else
5452 typedef struct IOleUndoUnitVtbl {
5453     BEGIN_INTERFACE
5454 
5455     /*** IUnknown methods ***/
5456     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5457         IOleUndoUnit *This,
5458         REFIID riid,
5459         void **ppvObject);
5460 
5461     ULONG (STDMETHODCALLTYPE *AddRef)(
5462         IOleUndoUnit *This);
5463 
5464     ULONG (STDMETHODCALLTYPE *Release)(
5465         IOleUndoUnit *This);
5466 
5467     /*** IOleUndoUnit methods ***/
5468     HRESULT (STDMETHODCALLTYPE *Do)(
5469         IOleUndoUnit *This,
5470         IOleUndoManager *pUndoManager);
5471 
5472     HRESULT (STDMETHODCALLTYPE *GetDescription)(
5473         IOleUndoUnit *This,
5474         BSTR *pBstr);
5475 
5476     HRESULT (STDMETHODCALLTYPE *GetUnitType)(
5477         IOleUndoUnit *This,
5478         CLSID *pClsid,
5479         LONG *plID);
5480 
5481     HRESULT (STDMETHODCALLTYPE *OnNextAdd)(
5482         IOleUndoUnit *This);
5483 
5484     END_INTERFACE
5485 } IOleUndoUnitVtbl;
5486 
5487 interface IOleUndoUnit {
5488     CONST_VTBL IOleUndoUnitVtbl* lpVtbl;
5489 };
5490 
5491 #ifdef COBJMACROS
5492 #ifndef WIDL_C_INLINE_WRAPPERS
5493 /*** IUnknown methods ***/
5494 #define IOleUndoUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5495 #define IOleUndoUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
5496 #define IOleUndoUnit_Release(This) (This)->lpVtbl->Release(This)
5497 /*** IOleUndoUnit methods ***/
5498 #define IOleUndoUnit_Do(This,pUndoManager) (This)->lpVtbl->Do(This,pUndoManager)
5499 #define IOleUndoUnit_GetDescription(This,pBstr) (This)->lpVtbl->GetDescription(This,pBstr)
5500 #define IOleUndoUnit_GetUnitType(This,pClsid,plID) (This)->lpVtbl->GetUnitType(This,pClsid,plID)
5501 #define IOleUndoUnit_OnNextAdd(This) (This)->lpVtbl->OnNextAdd(This)
5502 #else
5503 /*** IUnknown methods ***/
5504 static FORCEINLINE HRESULT IOleUndoUnit_QueryInterface(IOleUndoUnit* This,REFIID riid,void **ppvObject) {
5505     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5506 }
5507 static FORCEINLINE ULONG IOleUndoUnit_AddRef(IOleUndoUnit* This) {
5508     return This->lpVtbl->AddRef(This);
5509 }
5510 static FORCEINLINE ULONG IOleUndoUnit_Release(IOleUndoUnit* This) {
5511     return This->lpVtbl->Release(This);
5512 }
5513 /*** IOleUndoUnit methods ***/
5514 static FORCEINLINE HRESULT IOleUndoUnit_Do(IOleUndoUnit* This,IOleUndoManager *pUndoManager) {
5515     return This->lpVtbl->Do(This,pUndoManager);
5516 }
5517 static FORCEINLINE HRESULT IOleUndoUnit_GetDescription(IOleUndoUnit* This,BSTR *pBstr) {
5518     return This->lpVtbl->GetDescription(This,pBstr);
5519 }
5520 static FORCEINLINE HRESULT IOleUndoUnit_GetUnitType(IOleUndoUnit* This,CLSID *pClsid,LONG *plID) {
5521     return This->lpVtbl->GetUnitType(This,pClsid,plID);
5522 }
5523 static FORCEINLINE HRESULT IOleUndoUnit_OnNextAdd(IOleUndoUnit* This) {
5524     return This->lpVtbl->OnNextAdd(This);
5525 }
5526 #endif
5527 #endif
5528 
5529 #endif
5530 
5531 
5532 #endif  /* __IOleUndoUnit_INTERFACE_DEFINED__ */
5533 
5534 
5535 /*****************************************************************************
5536  * IOleParentUndoUnit interface
5537  */
5538 #ifndef __IOleParentUndoUnit_INTERFACE_DEFINED__
5539 #define __IOleParentUndoUnit_INTERFACE_DEFINED__
5540 
5541 typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
5542 
5543 DEFINE_GUID(IID_IOleParentUndoUnit, 0xa1faf330, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
5544 #if defined(__cplusplus) && !defined(CINTERFACE)
5545 MIDL_INTERFACE("a1faf330-ef97-11ce-9bc9-00aa00608e01")
5546 IOleParentUndoUnit : public IOleUndoUnit
5547 {
5548     virtual HRESULT STDMETHODCALLTYPE Open(
5549         IOleParentUndoUnit *pPUU) = 0;
5550 
5551     virtual HRESULT STDMETHODCALLTYPE Close(
5552         IOleParentUndoUnit *pPUU,
5553         WINBOOL fCommit) = 0;
5554 
5555     virtual HRESULT STDMETHODCALLTYPE Add(
5556         IOleUndoUnit *pUU) = 0;
5557 
5558     virtual HRESULT STDMETHODCALLTYPE FindUnit(
5559         IOleUndoUnit *pUU) = 0;
5560 
5561     virtual HRESULT STDMETHODCALLTYPE GetParentState(
5562         DWORD *pdwState) = 0;
5563 
5564 };
5565 #ifdef __CRT_UUID_DECL
5566 __CRT_UUID_DECL(IOleParentUndoUnit, 0xa1faf330, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
5567 #endif
5568 #else
5569 typedef struct IOleParentUndoUnitVtbl {
5570     BEGIN_INTERFACE
5571 
5572     /*** IUnknown methods ***/
5573     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5574         IOleParentUndoUnit *This,
5575         REFIID riid,
5576         void **ppvObject);
5577 
5578     ULONG (STDMETHODCALLTYPE *AddRef)(
5579         IOleParentUndoUnit *This);
5580 
5581     ULONG (STDMETHODCALLTYPE *Release)(
5582         IOleParentUndoUnit *This);
5583 
5584     /*** IOleUndoUnit methods ***/
5585     HRESULT (STDMETHODCALLTYPE *Do)(
5586         IOleParentUndoUnit *This,
5587         IOleUndoManager *pUndoManager);
5588 
5589     HRESULT (STDMETHODCALLTYPE *GetDescription)(
5590         IOleParentUndoUnit *This,
5591         BSTR *pBstr);
5592 
5593     HRESULT (STDMETHODCALLTYPE *GetUnitType)(
5594         IOleParentUndoUnit *This,
5595         CLSID *pClsid,
5596         LONG *plID);
5597 
5598     HRESULT (STDMETHODCALLTYPE *OnNextAdd)(
5599         IOleParentUndoUnit *This);
5600 
5601     /*** IOleParentUndoUnit methods ***/
5602     HRESULT (STDMETHODCALLTYPE *Open)(
5603         IOleParentUndoUnit *This,
5604         IOleParentUndoUnit *pPUU);
5605 
5606     HRESULT (STDMETHODCALLTYPE *Close)(
5607         IOleParentUndoUnit *This,
5608         IOleParentUndoUnit *pPUU,
5609         WINBOOL fCommit);
5610 
5611     HRESULT (STDMETHODCALLTYPE *Add)(
5612         IOleParentUndoUnit *This,
5613         IOleUndoUnit *pUU);
5614 
5615     HRESULT (STDMETHODCALLTYPE *FindUnit)(
5616         IOleParentUndoUnit *This,
5617         IOleUndoUnit *pUU);
5618 
5619     HRESULT (STDMETHODCALLTYPE *GetParentState)(
5620         IOleParentUndoUnit *This,
5621         DWORD *pdwState);
5622 
5623     END_INTERFACE
5624 } IOleParentUndoUnitVtbl;
5625 
5626 interface IOleParentUndoUnit {
5627     CONST_VTBL IOleParentUndoUnitVtbl* lpVtbl;
5628 };
5629 
5630 #ifdef COBJMACROS
5631 #ifndef WIDL_C_INLINE_WRAPPERS
5632 /*** IUnknown methods ***/
5633 #define IOleParentUndoUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5634 #define IOleParentUndoUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
5635 #define IOleParentUndoUnit_Release(This) (This)->lpVtbl->Release(This)
5636 /*** IOleUndoUnit methods ***/
5637 #define IOleParentUndoUnit_Do(This,pUndoManager) (This)->lpVtbl->Do(This,pUndoManager)
5638 #define IOleParentUndoUnit_GetDescription(This,pBstr) (This)->lpVtbl->GetDescription(This,pBstr)
5639 #define IOleParentUndoUnit_GetUnitType(This,pClsid,plID) (This)->lpVtbl->GetUnitType(This,pClsid,plID)
5640 #define IOleParentUndoUnit_OnNextAdd(This) (This)->lpVtbl->OnNextAdd(This)
5641 /*** IOleParentUndoUnit methods ***/
5642 #define IOleParentUndoUnit_Open(This,pPUU) (This)->lpVtbl->Open(This,pPUU)
5643 #define IOleParentUndoUnit_Close(This,pPUU,fCommit) (This)->lpVtbl->Close(This,pPUU,fCommit)
5644 #define IOleParentUndoUnit_Add(This,pUU) (This)->lpVtbl->Add(This,pUU)
5645 #define IOleParentUndoUnit_FindUnit(This,pUU) (This)->lpVtbl->FindUnit(This,pUU)
5646 #define IOleParentUndoUnit_GetParentState(This,pdwState) (This)->lpVtbl->GetParentState(This,pdwState)
5647 #else
5648 /*** IUnknown methods ***/
5649 static FORCEINLINE HRESULT IOleParentUndoUnit_QueryInterface(IOleParentUndoUnit* This,REFIID riid,void **ppvObject) {
5650     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5651 }
5652 static FORCEINLINE ULONG IOleParentUndoUnit_AddRef(IOleParentUndoUnit* This) {
5653     return This->lpVtbl->AddRef(This);
5654 }
5655 static FORCEINLINE ULONG IOleParentUndoUnit_Release(IOleParentUndoUnit* This) {
5656     return This->lpVtbl->Release(This);
5657 }
5658 /*** IOleUndoUnit methods ***/
5659 static FORCEINLINE HRESULT IOleParentUndoUnit_Do(IOleParentUndoUnit* This,IOleUndoManager *pUndoManager) {
5660     return This->lpVtbl->Do(This,pUndoManager);
5661 }
5662 static FORCEINLINE HRESULT IOleParentUndoUnit_GetDescription(IOleParentUndoUnit* This,BSTR *pBstr) {
5663     return This->lpVtbl->GetDescription(This,pBstr);
5664 }
5665 static FORCEINLINE HRESULT IOleParentUndoUnit_GetUnitType(IOleParentUndoUnit* This,CLSID *pClsid,LONG *plID) {
5666     return This->lpVtbl->GetUnitType(This,pClsid,plID);
5667 }
5668 static FORCEINLINE HRESULT IOleParentUndoUnit_OnNextAdd(IOleParentUndoUnit* This) {
5669     return This->lpVtbl->OnNextAdd(This);
5670 }
5671 /*** IOleParentUndoUnit methods ***/
5672 static FORCEINLINE HRESULT IOleParentUndoUnit_Open(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU) {
5673     return This->lpVtbl->Open(This,pPUU);
5674 }
5675 static FORCEINLINE HRESULT IOleParentUndoUnit_Close(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
5676     return This->lpVtbl->Close(This,pPUU,fCommit);
5677 }
5678 static FORCEINLINE HRESULT IOleParentUndoUnit_Add(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
5679     return This->lpVtbl->Add(This,pUU);
5680 }
5681 static FORCEINLINE HRESULT IOleParentUndoUnit_FindUnit(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
5682     return This->lpVtbl->FindUnit(This,pUU);
5683 }
5684 static FORCEINLINE HRESULT IOleParentUndoUnit_GetParentState(IOleParentUndoUnit* This,DWORD *pdwState) {
5685     return This->lpVtbl->GetParentState(This,pdwState);
5686 }
5687 #endif
5688 #endif
5689 
5690 #endif
5691 
5692 
5693 #endif  /* __IOleParentUndoUnit_INTERFACE_DEFINED__ */
5694 
5695 
5696 /*****************************************************************************
5697  * IEnumOleUndoUnits interface
5698  */
5699 #ifndef __IEnumOleUndoUnits_INTERFACE_DEFINED__
5700 #define __IEnumOleUndoUnits_INTERFACE_DEFINED__
5701 
5702 typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
5703 
5704 DEFINE_GUID(IID_IEnumOleUndoUnits, 0xb3e7c340, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
5705 #if defined(__cplusplus) && !defined(CINTERFACE)
5706 MIDL_INTERFACE("b3e7c340-ef97-11ce-9bc9-00aa00608e01")
5707 IEnumOleUndoUnits : public IUnknown
5708 {
5709     virtual HRESULT STDMETHODCALLTYPE Next(
5710         ULONG cElt,
5711         IOleUndoUnit **rgElt,
5712         ULONG *pcEltFetched) = 0;
5713 
5714     virtual HRESULT STDMETHODCALLTYPE Skip(
5715         ULONG cElt) = 0;
5716 
5717     virtual HRESULT STDMETHODCALLTYPE Reset(
5718         ) = 0;
5719 
5720     virtual HRESULT STDMETHODCALLTYPE Clone(
5721         IEnumOleUndoUnits **ppEnum) = 0;
5722 
5723 };
5724 #ifdef __CRT_UUID_DECL
5725 __CRT_UUID_DECL(IEnumOleUndoUnits, 0xb3e7c340, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
5726 #endif
5727 #else
5728 typedef struct IEnumOleUndoUnitsVtbl {
5729     BEGIN_INTERFACE
5730 
5731     /*** IUnknown methods ***/
5732     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5733         IEnumOleUndoUnits *This,
5734         REFIID riid,
5735         void **ppvObject);
5736 
5737     ULONG (STDMETHODCALLTYPE *AddRef)(
5738         IEnumOleUndoUnits *This);
5739 
5740     ULONG (STDMETHODCALLTYPE *Release)(
5741         IEnumOleUndoUnits *This);
5742 
5743     /*** IEnumOleUndoUnits methods ***/
5744     HRESULT (STDMETHODCALLTYPE *Next)(
5745         IEnumOleUndoUnits *This,
5746         ULONG cElt,
5747         IOleUndoUnit **rgElt,
5748         ULONG *pcEltFetched);
5749 
5750     HRESULT (STDMETHODCALLTYPE *Skip)(
5751         IEnumOleUndoUnits *This,
5752         ULONG cElt);
5753 
5754     HRESULT (STDMETHODCALLTYPE *Reset)(
5755         IEnumOleUndoUnits *This);
5756 
5757     HRESULT (STDMETHODCALLTYPE *Clone)(
5758         IEnumOleUndoUnits *This,
5759         IEnumOleUndoUnits **ppEnum);
5760 
5761     END_INTERFACE
5762 } IEnumOleUndoUnitsVtbl;
5763 
5764 interface IEnumOleUndoUnits {
5765     CONST_VTBL IEnumOleUndoUnitsVtbl* lpVtbl;
5766 };
5767 
5768 #ifdef COBJMACROS
5769 #ifndef WIDL_C_INLINE_WRAPPERS
5770 /*** IUnknown methods ***/
5771 #define IEnumOleUndoUnits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5772 #define IEnumOleUndoUnits_AddRef(This) (This)->lpVtbl->AddRef(This)
5773 #define IEnumOleUndoUnits_Release(This) (This)->lpVtbl->Release(This)
5774 /*** IEnumOleUndoUnits methods ***/
5775 #define IEnumOleUndoUnits_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched)
5776 #define IEnumOleUndoUnits_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
5777 #define IEnumOleUndoUnits_Reset(This) (This)->lpVtbl->Reset(This)
5778 #define IEnumOleUndoUnits_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
5779 #else
5780 /*** IUnknown methods ***/
5781 static FORCEINLINE HRESULT IEnumOleUndoUnits_QueryInterface(IEnumOleUndoUnits* This,REFIID riid,void **ppvObject) {
5782     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5783 }
5784 static FORCEINLINE ULONG IEnumOleUndoUnits_AddRef(IEnumOleUndoUnits* This) {
5785     return This->lpVtbl->AddRef(This);
5786 }
5787 static FORCEINLINE ULONG IEnumOleUndoUnits_Release(IEnumOleUndoUnits* This) {
5788     return This->lpVtbl->Release(This);
5789 }
5790 /*** IEnumOleUndoUnits methods ***/
5791 static FORCEINLINE HRESULT IEnumOleUndoUnits_Next(IEnumOleUndoUnits* This,ULONG cElt,IOleUndoUnit **rgElt,ULONG *pcEltFetched) {
5792     return This->lpVtbl->Next(This,cElt,rgElt,pcEltFetched);
5793 }
5794 static FORCEINLINE HRESULT IEnumOleUndoUnits_Skip(IEnumOleUndoUnits* This,ULONG cElt) {
5795     return This->lpVtbl->Skip(This,cElt);
5796 }
5797 static FORCEINLINE HRESULT IEnumOleUndoUnits_Reset(IEnumOleUndoUnits* This) {
5798     return This->lpVtbl->Reset(This);
5799 }
5800 static FORCEINLINE HRESULT IEnumOleUndoUnits_Clone(IEnumOleUndoUnits* This,IEnumOleUndoUnits **ppEnum) {
5801     return This->lpVtbl->Clone(This,ppEnum);
5802 }
5803 #endif
5804 #endif
5805 
5806 #endif
5807 
5808 HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_RemoteNext_Proxy(
5809     IEnumOleUndoUnits* This,
5810     ULONG cElt,
5811     IOleUndoUnit **rgElt,
5812     ULONG *pcEltFetched);
5813 void __RPC_STUB IEnumOleUndoUnits_RemoteNext_Stub(
5814     IRpcStubBuffer* This,
5815     IRpcChannelBuffer* pRpcChannelBuffer,
5816     PRPC_MESSAGE pRpcMessage,
5817     DWORD* pdwStubPhase);
5818 HRESULT CALLBACK IEnumOleUndoUnits_Next_Proxy(
5819     IEnumOleUndoUnits* This,
5820     ULONG cElt,
5821     IOleUndoUnit **rgElt,
5822     ULONG *pcEltFetched);
5823 HRESULT __RPC_STUB IEnumOleUndoUnits_Next_Stub(
5824     IEnumOleUndoUnits* This,
5825     ULONG cElt,
5826     IOleUndoUnit **rgElt,
5827     ULONG *pcEltFetched);
5828 
5829 #endif  /* __IEnumOleUndoUnits_INTERFACE_DEFINED__ */
5830 
5831 
5832 /*****************************************************************************
5833  * IOleUndoManager interface
5834  */
5835 #ifndef __IOleUndoManager_INTERFACE_DEFINED__
5836 #define __IOleUndoManager_INTERFACE_DEFINED__
5837 
5838 #define SID_SOleUndoManager IID_IOleUndoManager
5839 
5840 typedef IOleUndoManager *LPOLEUNDOMANAGER;
5841 
5842 DEFINE_GUID(IID_IOleUndoManager, 0xd001f200, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
5843 #if defined(__cplusplus) && !defined(CINTERFACE)
5844 MIDL_INTERFACE("d001f200-ef97-11ce-9bc9-00aa00608e01")
5845 IOleUndoManager : public IUnknown
5846 {
5847     virtual HRESULT STDMETHODCALLTYPE Open(
5848         IOleParentUndoUnit *pPUU) = 0;
5849 
5850     virtual HRESULT STDMETHODCALLTYPE Close(
5851         IOleParentUndoUnit *pPUU,
5852         WINBOOL fCommit) = 0;
5853 
5854     virtual HRESULT STDMETHODCALLTYPE Add(
5855         IOleUndoUnit *pUU) = 0;
5856 
5857     virtual HRESULT STDMETHODCALLTYPE GetOpenParentState(
5858         DWORD *pdwState) = 0;
5859 
5860     virtual HRESULT STDMETHODCALLTYPE DiscardFrom(
5861         IOleUndoUnit *pUU) = 0;
5862 
5863     virtual HRESULT STDMETHODCALLTYPE UndoTo(
5864         IOleUndoUnit *pUU) = 0;
5865 
5866     virtual HRESULT STDMETHODCALLTYPE RedoTo(
5867         IOleUndoUnit *pUU) = 0;
5868 
5869     virtual HRESULT STDMETHODCALLTYPE EnumUndoable(
5870         IEnumOleUndoUnits **ppEnum) = 0;
5871 
5872     virtual HRESULT STDMETHODCALLTYPE EnumRedoable(
5873         IEnumOleUndoUnits **ppEnum) = 0;
5874 
5875     virtual HRESULT STDMETHODCALLTYPE GetLastUndoDescription(
5876         BSTR *pBstr) = 0;
5877 
5878     virtual HRESULT STDMETHODCALLTYPE GetLastRedoDescription(
5879         BSTR *pBstr) = 0;
5880 
5881     virtual HRESULT STDMETHODCALLTYPE Enable(
5882         WINBOOL fEnable) = 0;
5883 
5884 };
5885 #ifdef __CRT_UUID_DECL
5886 __CRT_UUID_DECL(IOleUndoManager, 0xd001f200, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
5887 #endif
5888 #else
5889 typedef struct IOleUndoManagerVtbl {
5890     BEGIN_INTERFACE
5891 
5892     /*** IUnknown methods ***/
5893     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5894         IOleUndoManager *This,
5895         REFIID riid,
5896         void **ppvObject);
5897 
5898     ULONG (STDMETHODCALLTYPE *AddRef)(
5899         IOleUndoManager *This);
5900 
5901     ULONG (STDMETHODCALLTYPE *Release)(
5902         IOleUndoManager *This);
5903 
5904     /*** IOleUndoManager methods ***/
5905     HRESULT (STDMETHODCALLTYPE *Open)(
5906         IOleUndoManager *This,
5907         IOleParentUndoUnit *pPUU);
5908 
5909     HRESULT (STDMETHODCALLTYPE *Close)(
5910         IOleUndoManager *This,
5911         IOleParentUndoUnit *pPUU,
5912         WINBOOL fCommit);
5913 
5914     HRESULT (STDMETHODCALLTYPE *Add)(
5915         IOleUndoManager *This,
5916         IOleUndoUnit *pUU);
5917 
5918     HRESULT (STDMETHODCALLTYPE *GetOpenParentState)(
5919         IOleUndoManager *This,
5920         DWORD *pdwState);
5921 
5922     HRESULT (STDMETHODCALLTYPE *DiscardFrom)(
5923         IOleUndoManager *This,
5924         IOleUndoUnit *pUU);
5925 
5926     HRESULT (STDMETHODCALLTYPE *UndoTo)(
5927         IOleUndoManager *This,
5928         IOleUndoUnit *pUU);
5929 
5930     HRESULT (STDMETHODCALLTYPE *RedoTo)(
5931         IOleUndoManager *This,
5932         IOleUndoUnit *pUU);
5933 
5934     HRESULT (STDMETHODCALLTYPE *EnumUndoable)(
5935         IOleUndoManager *This,
5936         IEnumOleUndoUnits **ppEnum);
5937 
5938     HRESULT (STDMETHODCALLTYPE *EnumRedoable)(
5939         IOleUndoManager *This,
5940         IEnumOleUndoUnits **ppEnum);
5941 
5942     HRESULT (STDMETHODCALLTYPE *GetLastUndoDescription)(
5943         IOleUndoManager *This,
5944         BSTR *pBstr);
5945 
5946     HRESULT (STDMETHODCALLTYPE *GetLastRedoDescription)(
5947         IOleUndoManager *This,
5948         BSTR *pBstr);
5949 
5950     HRESULT (STDMETHODCALLTYPE *Enable)(
5951         IOleUndoManager *This,
5952         WINBOOL fEnable);
5953 
5954     END_INTERFACE
5955 } IOleUndoManagerVtbl;
5956 
5957 interface IOleUndoManager {
5958     CONST_VTBL IOleUndoManagerVtbl* lpVtbl;
5959 };
5960 
5961 #ifdef COBJMACROS
5962 #ifndef WIDL_C_INLINE_WRAPPERS
5963 /*** IUnknown methods ***/
5964 #define IOleUndoManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5965 #define IOleUndoManager_AddRef(This) (This)->lpVtbl->AddRef(This)
5966 #define IOleUndoManager_Release(This) (This)->lpVtbl->Release(This)
5967 /*** IOleUndoManager methods ***/
5968 #define IOleUndoManager_Open(This,pPUU) (This)->lpVtbl->Open(This,pPUU)
5969 #define IOleUndoManager_Close(This,pPUU,fCommit) (This)->lpVtbl->Close(This,pPUU,fCommit)
5970 #define IOleUndoManager_Add(This,pUU) (This)->lpVtbl->Add(This,pUU)
5971 #define IOleUndoManager_GetOpenParentState(This,pdwState) (This)->lpVtbl->GetOpenParentState(This,pdwState)
5972 #define IOleUndoManager_DiscardFrom(This,pUU) (This)->lpVtbl->DiscardFrom(This,pUU)
5973 #define IOleUndoManager_UndoTo(This,pUU) (This)->lpVtbl->UndoTo(This,pUU)
5974 #define IOleUndoManager_RedoTo(This,pUU) (This)->lpVtbl->RedoTo(This,pUU)
5975 #define IOleUndoManager_EnumUndoable(This,ppEnum) (This)->lpVtbl->EnumUndoable(This,ppEnum)
5976 #define IOleUndoManager_EnumRedoable(This,ppEnum) (This)->lpVtbl->EnumRedoable(This,ppEnum)
5977 #define IOleUndoManager_GetLastUndoDescription(This,pBstr) (This)->lpVtbl->GetLastUndoDescription(This,pBstr)
5978 #define IOleUndoManager_GetLastRedoDescription(This,pBstr) (This)->lpVtbl->GetLastRedoDescription(This,pBstr)
5979 #define IOleUndoManager_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
5980 #else
5981 /*** IUnknown methods ***/
5982 static FORCEINLINE HRESULT IOleUndoManager_QueryInterface(IOleUndoManager* This,REFIID riid,void **ppvObject) {
5983     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5984 }
5985 static FORCEINLINE ULONG IOleUndoManager_AddRef(IOleUndoManager* This) {
5986     return This->lpVtbl->AddRef(This);
5987 }
5988 static FORCEINLINE ULONG IOleUndoManager_Release(IOleUndoManager* This) {
5989     return This->lpVtbl->Release(This);
5990 }
5991 /*** IOleUndoManager methods ***/
5992 static FORCEINLINE HRESULT IOleUndoManager_Open(IOleUndoManager* This,IOleParentUndoUnit *pPUU) {
5993     return This->lpVtbl->Open(This,pPUU);
5994 }
5995 static FORCEINLINE HRESULT IOleUndoManager_Close(IOleUndoManager* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
5996     return This->lpVtbl->Close(This,pPUU,fCommit);
5997 }
5998 static FORCEINLINE HRESULT IOleUndoManager_Add(IOleUndoManager* This,IOleUndoUnit *pUU) {
5999     return This->lpVtbl->Add(This,pUU);
6000 }
6001 static FORCEINLINE HRESULT IOleUndoManager_GetOpenParentState(IOleUndoManager* This,DWORD *pdwState) {
6002     return This->lpVtbl->GetOpenParentState(This,pdwState);
6003 }
6004 static FORCEINLINE HRESULT IOleUndoManager_DiscardFrom(IOleUndoManager* This,IOleUndoUnit *pUU) {
6005     return This->lpVtbl->DiscardFrom(This,pUU);
6006 }
6007 static FORCEINLINE HRESULT IOleUndoManager_UndoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6008     return This->lpVtbl->UndoTo(This,pUU);
6009 }
6010 static FORCEINLINE HRESULT IOleUndoManager_RedoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6011     return This->lpVtbl->RedoTo(This,pUU);
6012 }
6013 static FORCEINLINE HRESULT IOleUndoManager_EnumUndoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6014     return This->lpVtbl->EnumUndoable(This,ppEnum);
6015 }
6016 static FORCEINLINE HRESULT IOleUndoManager_EnumRedoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6017     return This->lpVtbl->EnumRedoable(This,ppEnum);
6018 }
6019 static FORCEINLINE HRESULT IOleUndoManager_GetLastUndoDescription(IOleUndoManager* This,BSTR *pBstr) {
6020     return This->lpVtbl->GetLastUndoDescription(This,pBstr);
6021 }
6022 static FORCEINLINE HRESULT IOleUndoManager_GetLastRedoDescription(IOleUndoManager* This,BSTR *pBstr) {
6023     return This->lpVtbl->GetLastRedoDescription(This,pBstr);
6024 }
6025 static FORCEINLINE HRESULT IOleUndoManager_Enable(IOleUndoManager* This,WINBOOL fEnable) {
6026     return This->lpVtbl->Enable(This,fEnable);
6027 }
6028 #endif
6029 #endif
6030 
6031 #endif
6032 
6033 
6034 #endif  /* __IOleUndoManager_INTERFACE_DEFINED__ */
6035 
6036 
6037 /*****************************************************************************
6038  * IPointerInactive interface
6039  */
6040 #ifndef __IPointerInactive_INTERFACE_DEFINED__
6041 #define __IPointerInactive_INTERFACE_DEFINED__
6042 
6043 typedef IPointerInactive *LPPOINTERINACTIVE;
6044 
6045 typedef enum tagPOINTERINACTIVE {
6046     POINTERINACTIVE_ACTIVATEONENTRY = 1,
6047     POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
6048     POINTERINACTIVE_ACTIVATEONDRAG = 4
6049 } POINTERINACTIVE;
6050 
6051 DEFINE_GUID(IID_IPointerInactive, 0x55980ba0, 0x35aa, 0x11cf, 0xb6,0x71, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
6052 #if defined(__cplusplus) && !defined(CINTERFACE)
6053 MIDL_INTERFACE("55980ba0-35aa-11cf-b671-00aa004cd6d8")
6054 IPointerInactive : public IUnknown
6055 {
6056     virtual HRESULT STDMETHODCALLTYPE GetActivationPolicy(
6057         DWORD *pdwPolicy) = 0;
6058 
6059     virtual HRESULT STDMETHODCALLTYPE OnInactiveMouseMove(
6060         LPCRECT pRectBounds,
6061         LONG x,
6062         LONG y,
6063         DWORD grfKeyState) = 0;
6064 
6065     virtual HRESULT STDMETHODCALLTYPE OnInactiveSetCursor(
6066         LPCRECT pRectBounds,
6067         LONG x,
6068         LONG y,
6069         DWORD dwMouseMsg,
6070         WINBOOL fSetAlways) = 0;
6071 
6072 };
6073 #ifdef __CRT_UUID_DECL
6074 __CRT_UUID_DECL(IPointerInactive, 0x55980ba0, 0x35aa, 0x11cf, 0xb6,0x71, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
6075 #endif
6076 #else
6077 typedef struct IPointerInactiveVtbl {
6078     BEGIN_INTERFACE
6079 
6080     /*** IUnknown methods ***/
6081     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6082         IPointerInactive *This,
6083         REFIID riid,
6084         void **ppvObject);
6085 
6086     ULONG (STDMETHODCALLTYPE *AddRef)(
6087         IPointerInactive *This);
6088 
6089     ULONG (STDMETHODCALLTYPE *Release)(
6090         IPointerInactive *This);
6091 
6092     /*** IPointerInactive methods ***/
6093     HRESULT (STDMETHODCALLTYPE *GetActivationPolicy)(
6094         IPointerInactive *This,
6095         DWORD *pdwPolicy);
6096 
6097     HRESULT (STDMETHODCALLTYPE *OnInactiveMouseMove)(
6098         IPointerInactive *This,
6099         LPCRECT pRectBounds,
6100         LONG x,
6101         LONG y,
6102         DWORD grfKeyState);
6103 
6104     HRESULT (STDMETHODCALLTYPE *OnInactiveSetCursor)(
6105         IPointerInactive *This,
6106         LPCRECT pRectBounds,
6107         LONG x,
6108         LONG y,
6109         DWORD dwMouseMsg,
6110         WINBOOL fSetAlways);
6111 
6112     END_INTERFACE
6113 } IPointerInactiveVtbl;
6114 
6115 interface IPointerInactive {
6116     CONST_VTBL IPointerInactiveVtbl* lpVtbl;
6117 };
6118 
6119 #ifdef COBJMACROS
6120 #ifndef WIDL_C_INLINE_WRAPPERS
6121 /*** IUnknown methods ***/
6122 #define IPointerInactive_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6123 #define IPointerInactive_AddRef(This) (This)->lpVtbl->AddRef(This)
6124 #define IPointerInactive_Release(This) (This)->lpVtbl->Release(This)
6125 /*** IPointerInactive methods ***/
6126 #define IPointerInactive_GetActivationPolicy(This,pdwPolicy) (This)->lpVtbl->GetActivationPolicy(This,pdwPolicy)
6127 #define IPointerInactive_OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState) (This)->lpVtbl->OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState)
6128 #define IPointerInactive_OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways) (This)->lpVtbl->OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways)
6129 #else
6130 /*** IUnknown methods ***/
6131 static FORCEINLINE HRESULT IPointerInactive_QueryInterface(IPointerInactive* This,REFIID riid,void **ppvObject) {
6132     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6133 }
6134 static FORCEINLINE ULONG IPointerInactive_AddRef(IPointerInactive* This) {
6135     return This->lpVtbl->AddRef(This);
6136 }
6137 static FORCEINLINE ULONG IPointerInactive_Release(IPointerInactive* This) {
6138     return This->lpVtbl->Release(This);
6139 }
6140 /*** IPointerInactive methods ***/
6141 static FORCEINLINE HRESULT IPointerInactive_GetActivationPolicy(IPointerInactive* This,DWORD *pdwPolicy) {
6142     return This->lpVtbl->GetActivationPolicy(This,pdwPolicy);
6143 }
6144 static FORCEINLINE HRESULT IPointerInactive_OnInactiveMouseMove(IPointerInactive* This,LPCRECT pRectBounds,LONG x,LONG y,DWORD grfKeyState) {
6145     return This->lpVtbl->OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState);
6146 }
6147 static FORCEINLINE HRESULT IPointerInactive_OnInactiveSetCursor(IPointerInactive* This,LPCRECT pRectBounds,LONG x,LONG y,DWORD dwMouseMsg,WINBOOL fSetAlways) {
6148     return This->lpVtbl->OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways);
6149 }
6150 #endif
6151 #endif
6152 
6153 #endif
6154 
6155 
6156 #endif  /* __IPointerInactive_INTERFACE_DEFINED__ */
6157 
6158 
6159 /*****************************************************************************
6160  * IObjectWithSite interface
6161  */
6162 #ifndef __IObjectWithSite_INTERFACE_DEFINED__
6163 #define __IObjectWithSite_INTERFACE_DEFINED__
6164 
6165 typedef IObjectWithSite *LPOBJECTWITHSITE;
6166 
6167 DEFINE_GUID(IID_IObjectWithSite, 0xfc4801a3, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
6168 #if defined(__cplusplus) && !defined(CINTERFACE)
6169 MIDL_INTERFACE("fc4801a3-2ba9-11cf-a229-00aa003d7352")
6170 IObjectWithSite : public IUnknown
6171 {
6172     virtual HRESULT STDMETHODCALLTYPE SetSite(
6173         IUnknown *pUnkSite) = 0;
6174 
6175     virtual HRESULT STDMETHODCALLTYPE GetSite(
6176         REFIID riid,
6177         void **ppvSite) = 0;
6178 
6179 };
6180 #ifdef __CRT_UUID_DECL
6181 __CRT_UUID_DECL(IObjectWithSite, 0xfc4801a3, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52)
6182 #endif
6183 #else
6184 typedef struct IObjectWithSiteVtbl {
6185     BEGIN_INTERFACE
6186 
6187     /*** IUnknown methods ***/
6188     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6189         IObjectWithSite *This,
6190         REFIID riid,
6191         void **ppvObject);
6192 
6193     ULONG (STDMETHODCALLTYPE *AddRef)(
6194         IObjectWithSite *This);
6195 
6196     ULONG (STDMETHODCALLTYPE *Release)(
6197         IObjectWithSite *This);
6198 
6199     /*** IObjectWithSite methods ***/
6200     HRESULT (STDMETHODCALLTYPE *SetSite)(
6201         IObjectWithSite *This,
6202         IUnknown *pUnkSite);
6203 
6204     HRESULT (STDMETHODCALLTYPE *GetSite)(
6205         IObjectWithSite *This,
6206         REFIID riid,
6207         void **ppvSite);
6208 
6209     END_INTERFACE
6210 } IObjectWithSiteVtbl;
6211 
6212 interface IObjectWithSite {
6213     CONST_VTBL IObjectWithSiteVtbl* lpVtbl;
6214 };
6215 
6216 #ifdef COBJMACROS
6217 #ifndef WIDL_C_INLINE_WRAPPERS
6218 /*** IUnknown methods ***/
6219 #define IObjectWithSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6220 #define IObjectWithSite_AddRef(This) (This)->lpVtbl->AddRef(This)
6221 #define IObjectWithSite_Release(This) (This)->lpVtbl->Release(This)
6222 /*** IObjectWithSite methods ***/
6223 #define IObjectWithSite_SetSite(This,pUnkSite) (This)->lpVtbl->SetSite(This,pUnkSite)
6224 #define IObjectWithSite_GetSite(This,riid,ppvSite) (This)->lpVtbl->GetSite(This,riid,ppvSite)
6225 #else
6226 /*** IUnknown methods ***/
6227 static FORCEINLINE HRESULT IObjectWithSite_QueryInterface(IObjectWithSite* This,REFIID riid,void **ppvObject) {
6228     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6229 }
6230 static FORCEINLINE ULONG IObjectWithSite_AddRef(IObjectWithSite* This) {
6231     return This->lpVtbl->AddRef(This);
6232 }
6233 static FORCEINLINE ULONG IObjectWithSite_Release(IObjectWithSite* This) {
6234     return This->lpVtbl->Release(This);
6235 }
6236 /*** IObjectWithSite methods ***/
6237 static FORCEINLINE HRESULT IObjectWithSite_SetSite(IObjectWithSite* This,IUnknown *pUnkSite) {
6238     return This->lpVtbl->SetSite(This,pUnkSite);
6239 }
6240 static FORCEINLINE HRESULT IObjectWithSite_GetSite(IObjectWithSite* This,REFIID riid,void **ppvSite) {
6241     return This->lpVtbl->GetSite(This,riid,ppvSite);
6242 }
6243 #endif
6244 #endif
6245 
6246 #endif
6247 
6248 
6249 #endif  /* __IObjectWithSite_INTERFACE_DEFINED__ */
6250 
6251 #endif
6252 
6253 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6254 /*****************************************************************************
6255  * IPerPropertyBrowsing interface
6256  */
6257 #ifndef __IPerPropertyBrowsing_INTERFACE_DEFINED__
6258 #define __IPerPropertyBrowsing_INTERFACE_DEFINED__
6259 
6260 typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
6261 
6262 typedef struct tagCALPOLESTR {
6263     ULONG cElems;
6264     LPOLESTR *pElems;
6265 } CALPOLESTR;
6266 
6267 typedef struct tagCALPOLESTR *LPCALPOLESTR;
6268 
6269 typedef struct tagCADWORD {
6270     ULONG cElems;
6271     DWORD *pElems;
6272 } CADWORD;
6273 
6274 typedef struct tagCADWORD *LPCADWORD;
6275 
6276 DEFINE_GUID(IID_IPerPropertyBrowsing, 0x376bd3aa, 0x3845, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
6277 #if defined(__cplusplus) && !defined(CINTERFACE)
6278 MIDL_INTERFACE("376bd3aa-3845-101b-84ed-08002b2ec713")
6279 IPerPropertyBrowsing : public IUnknown
6280 {
6281     virtual HRESULT STDMETHODCALLTYPE GetDisplayString(
6282         DISPID dispID,
6283         BSTR *pBstr) = 0;
6284 
6285     virtual HRESULT STDMETHODCALLTYPE MapPropertyToPage(
6286         DISPID dispID,
6287         CLSID *pClsid) = 0;
6288 
6289     virtual HRESULT STDMETHODCALLTYPE GetPredefinedStrings(
6290         DISPID dispID,
6291         CALPOLESTR *pCaStringsOut,
6292         CADWORD *pCaCookiesOut) = 0;
6293 
6294     virtual HRESULT STDMETHODCALLTYPE GetPredefinedValue(
6295         DISPID dispID,
6296         DWORD dwCookie,
6297         VARIANT *pVarOut) = 0;
6298 
6299 };
6300 #ifdef __CRT_UUID_DECL
6301 __CRT_UUID_DECL(IPerPropertyBrowsing, 0x376bd3aa, 0x3845, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
6302 #endif
6303 #else
6304 typedef struct IPerPropertyBrowsingVtbl {
6305     BEGIN_INTERFACE
6306 
6307     /*** IUnknown methods ***/
6308     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6309         IPerPropertyBrowsing *This,
6310         REFIID riid,
6311         void **ppvObject);
6312 
6313     ULONG (STDMETHODCALLTYPE *AddRef)(
6314         IPerPropertyBrowsing *This);
6315 
6316     ULONG (STDMETHODCALLTYPE *Release)(
6317         IPerPropertyBrowsing *This);
6318 
6319     /*** IPerPropertyBrowsing methods ***/
6320     HRESULT (STDMETHODCALLTYPE *GetDisplayString)(
6321         IPerPropertyBrowsing *This,
6322         DISPID dispID,
6323         BSTR *pBstr);
6324 
6325     HRESULT (STDMETHODCALLTYPE *MapPropertyToPage)(
6326         IPerPropertyBrowsing *This,
6327         DISPID dispID,
6328         CLSID *pClsid);
6329 
6330     HRESULT (STDMETHODCALLTYPE *GetPredefinedStrings)(
6331         IPerPropertyBrowsing *This,
6332         DISPID dispID,
6333         CALPOLESTR *pCaStringsOut,
6334         CADWORD *pCaCookiesOut);
6335 
6336     HRESULT (STDMETHODCALLTYPE *GetPredefinedValue)(
6337         IPerPropertyBrowsing *This,
6338         DISPID dispID,
6339         DWORD dwCookie,
6340         VARIANT *pVarOut);
6341 
6342     END_INTERFACE
6343 } IPerPropertyBrowsingVtbl;
6344 
6345 interface IPerPropertyBrowsing {
6346     CONST_VTBL IPerPropertyBrowsingVtbl* lpVtbl;
6347 };
6348 
6349 #ifdef COBJMACROS
6350 #ifndef WIDL_C_INLINE_WRAPPERS
6351 /*** IUnknown methods ***/
6352 #define IPerPropertyBrowsing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6353 #define IPerPropertyBrowsing_AddRef(This) (This)->lpVtbl->AddRef(This)
6354 #define IPerPropertyBrowsing_Release(This) (This)->lpVtbl->Release(This)
6355 /*** IPerPropertyBrowsing methods ***/
6356 #define IPerPropertyBrowsing_GetDisplayString(This,dispID,pBstr) (This)->lpVtbl->GetDisplayString(This,dispID,pBstr)
6357 #define IPerPropertyBrowsing_MapPropertyToPage(This,dispID,pClsid) (This)->lpVtbl->MapPropertyToPage(This,dispID,pClsid)
6358 #define IPerPropertyBrowsing_GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut) (This)->lpVtbl->GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut)
6359 #define IPerPropertyBrowsing_GetPredefinedValue(This,dispID,dwCookie,pVarOut) (This)->lpVtbl->GetPredefinedValue(This,dispID,dwCookie,pVarOut)
6360 #else
6361 /*** IUnknown methods ***/
6362 static FORCEINLINE HRESULT IPerPropertyBrowsing_QueryInterface(IPerPropertyBrowsing* This,REFIID riid,void **ppvObject) {
6363     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6364 }
6365 static FORCEINLINE ULONG IPerPropertyBrowsing_AddRef(IPerPropertyBrowsing* This) {
6366     return This->lpVtbl->AddRef(This);
6367 }
6368 static FORCEINLINE ULONG IPerPropertyBrowsing_Release(IPerPropertyBrowsing* This) {
6369     return This->lpVtbl->Release(This);
6370 }
6371 /*** IPerPropertyBrowsing methods ***/
6372 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetDisplayString(IPerPropertyBrowsing* This,DISPID dispID,BSTR *pBstr) {
6373     return This->lpVtbl->GetDisplayString(This,dispID,pBstr);
6374 }
6375 static FORCEINLINE HRESULT IPerPropertyBrowsing_MapPropertyToPage(IPerPropertyBrowsing* This,DISPID dispID,CLSID *pClsid) {
6376     return This->lpVtbl->MapPropertyToPage(This,dispID,pClsid);
6377 }
6378 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetPredefinedStrings(IPerPropertyBrowsing* This,DISPID dispID,CALPOLESTR *pCaStringsOut,CADWORD *pCaCookiesOut) {
6379     return This->lpVtbl->GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut);
6380 }
6381 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetPredefinedValue(IPerPropertyBrowsing* This,DISPID dispID,DWORD dwCookie,VARIANT *pVarOut) {
6382     return This->lpVtbl->GetPredefinedValue(This,dispID,dwCookie,pVarOut);
6383 }
6384 #endif
6385 #endif
6386 
6387 #endif
6388 
6389 
6390 #endif  /* __IPerPropertyBrowsing_INTERFACE_DEFINED__ */
6391 
6392 #endif
6393 
6394 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
6395 /*****************************************************************************
6396  * IPropertyBag2 interface
6397  */
6398 #ifndef __IPropertyBag2_INTERFACE_DEFINED__
6399 #define __IPropertyBag2_INTERFACE_DEFINED__
6400 
6401 typedef IPropertyBag2 *LPPROPERTYBAG2;
6402 
6403 typedef enum tagPROPBAG2_TYPE {
6404     PROPBAG2_TYPE_UNDEFINED = 0,
6405     PROPBAG2_TYPE_DATA = 1,
6406     PROPBAG2_TYPE_URL = 2,
6407     PROPBAG2_TYPE_OBJECT = 3,
6408     PROPBAG2_TYPE_STREAM = 4,
6409     PROPBAG2_TYPE_STORAGE = 5,
6410     PROPBAG2_TYPE_MONIKER = 6
6411 } PROPBAG2_TYPE;
6412 
6413 typedef struct tagPROPBAG2 {
6414     DWORD dwType;
6415     VARTYPE vt;
6416     CLIPFORMAT cfType;
6417     DWORD dwHint;
6418     LPOLESTR pstrName;
6419     CLSID clsid;
6420 } PROPBAG2;
6421 
6422 DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
6423 #if defined(__cplusplus) && !defined(CINTERFACE)
6424 MIDL_INTERFACE("22f55882-280b-11d0-a8a9-00a0c90c2004")
6425 IPropertyBag2 : public IUnknown
6426 {
6427     virtual HRESULT STDMETHODCALLTYPE Read(
6428         ULONG cProperties,
6429         PROPBAG2 *pPropBag,
6430         IErrorLog *pErrLog,
6431         VARIANT *pvarValue,
6432         HRESULT *phrError) = 0;
6433 
6434     virtual HRESULT STDMETHODCALLTYPE Write(
6435         ULONG cProperties,
6436         PROPBAG2 *pPropBag,
6437         VARIANT *pvarValue) = 0;
6438 
6439     virtual HRESULT STDMETHODCALLTYPE CountProperties(
6440         ULONG *pcProperties) = 0;
6441 
6442     virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(
6443         ULONG iProperty,
6444         ULONG cProperties,
6445         PROPBAG2 *pPropBag,
6446         ULONG *pcProperties) = 0;
6447 
6448     virtual HRESULT STDMETHODCALLTYPE LoadObject(
6449         LPCOLESTR pstrName,
6450         DWORD dwHint,
6451         IUnknown *pUnkObject,
6452         IErrorLog *pErrLog) = 0;
6453 
6454 };
6455 #ifdef __CRT_UUID_DECL
6456 __CRT_UUID_DECL(IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04)
6457 #endif
6458 #else
6459 typedef struct IPropertyBag2Vtbl {
6460     BEGIN_INTERFACE
6461 
6462     /*** IUnknown methods ***/
6463     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6464         IPropertyBag2 *This,
6465         REFIID riid,
6466         void **ppvObject);
6467 
6468     ULONG (STDMETHODCALLTYPE *AddRef)(
6469         IPropertyBag2 *This);
6470 
6471     ULONG (STDMETHODCALLTYPE *Release)(
6472         IPropertyBag2 *This);
6473 
6474     /*** IPropertyBag2 methods ***/
6475     HRESULT (STDMETHODCALLTYPE *Read)(
6476         IPropertyBag2 *This,
6477         ULONG cProperties,
6478         PROPBAG2 *pPropBag,
6479         IErrorLog *pErrLog,
6480         VARIANT *pvarValue,
6481         HRESULT *phrError);
6482 
6483     HRESULT (STDMETHODCALLTYPE *Write)(
6484         IPropertyBag2 *This,
6485         ULONG cProperties,
6486         PROPBAG2 *pPropBag,
6487         VARIANT *pvarValue);
6488 
6489     HRESULT (STDMETHODCALLTYPE *CountProperties)(
6490         IPropertyBag2 *This,
6491         ULONG *pcProperties);
6492 
6493     HRESULT (STDMETHODCALLTYPE *GetPropertyInfo)(
6494         IPropertyBag2 *This,
6495         ULONG iProperty,
6496         ULONG cProperties,
6497         PROPBAG2 *pPropBag,
6498         ULONG *pcProperties);
6499 
6500     HRESULT (STDMETHODCALLTYPE *LoadObject)(
6501         IPropertyBag2 *This,
6502         LPCOLESTR pstrName,
6503         DWORD dwHint,
6504         IUnknown *pUnkObject,
6505         IErrorLog *pErrLog);
6506 
6507     END_INTERFACE
6508 } IPropertyBag2Vtbl;
6509 
6510 interface IPropertyBag2 {
6511     CONST_VTBL IPropertyBag2Vtbl* lpVtbl;
6512 };
6513 
6514 #ifdef COBJMACROS
6515 #ifndef WIDL_C_INLINE_WRAPPERS
6516 /*** IUnknown methods ***/
6517 #define IPropertyBag2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6518 #define IPropertyBag2_AddRef(This) (This)->lpVtbl->AddRef(This)
6519 #define IPropertyBag2_Release(This) (This)->lpVtbl->Release(This)
6520 /*** IPropertyBag2 methods ***/
6521 #define IPropertyBag2_Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError) (This)->lpVtbl->Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError)
6522 #define IPropertyBag2_Write(This,cProperties,pPropBag,pvarValue) (This)->lpVtbl->Write(This,cProperties,pPropBag,pvarValue)
6523 #define IPropertyBag2_CountProperties(This,pcProperties) (This)->lpVtbl->CountProperties(This,pcProperties)
6524 #define IPropertyBag2_GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties) (This)->lpVtbl->GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties)
6525 #define IPropertyBag2_LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog) (This)->lpVtbl->LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog)
6526 #else
6527 /*** IUnknown methods ***/
6528 static FORCEINLINE HRESULT IPropertyBag2_QueryInterface(IPropertyBag2* This,REFIID riid,void **ppvObject) {
6529     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6530 }
6531 static FORCEINLINE ULONG IPropertyBag2_AddRef(IPropertyBag2* This) {
6532     return This->lpVtbl->AddRef(This);
6533 }
6534 static FORCEINLINE ULONG IPropertyBag2_Release(IPropertyBag2* This) {
6535     return This->lpVtbl->Release(This);
6536 }
6537 /*** IPropertyBag2 methods ***/
6538 static FORCEINLINE HRESULT IPropertyBag2_Read(IPropertyBag2* This,ULONG cProperties,PROPBAG2 *pPropBag,IErrorLog *pErrLog,VARIANT *pvarValue,HRESULT *phrError) {
6539     return This->lpVtbl->Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError);
6540 }
6541 static FORCEINLINE HRESULT IPropertyBag2_Write(IPropertyBag2* This,ULONG cProperties,PROPBAG2 *pPropBag,VARIANT *pvarValue) {
6542     return This->lpVtbl->Write(This,cProperties,pPropBag,pvarValue);
6543 }
6544 static FORCEINLINE HRESULT IPropertyBag2_CountProperties(IPropertyBag2* This,ULONG *pcProperties) {
6545     return This->lpVtbl->CountProperties(This,pcProperties);
6546 }
6547 static FORCEINLINE HRESULT IPropertyBag2_GetPropertyInfo(IPropertyBag2* This,ULONG iProperty,ULONG cProperties,PROPBAG2 *pPropBag,ULONG *pcProperties) {
6548     return This->lpVtbl->GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties);
6549 }
6550 static FORCEINLINE HRESULT IPropertyBag2_LoadObject(IPropertyBag2* This,LPCOLESTR pstrName,DWORD dwHint,IUnknown *pUnkObject,IErrorLog *pErrLog) {
6551     return This->lpVtbl->LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog);
6552 }
6553 #endif
6554 #endif
6555 
6556 #endif
6557 
6558 
6559 #endif  /* __IPropertyBag2_INTERFACE_DEFINED__ */
6560 
6561 #endif
6562 
6563 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6564 /*****************************************************************************
6565  * IPersistPropertyBag2 interface
6566  */
6567 #ifndef __IPersistPropertyBag2_INTERFACE_DEFINED__
6568 #define __IPersistPropertyBag2_INTERFACE_DEFINED__
6569 
6570 typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
6571 
6572 DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
6573 #if defined(__cplusplus) && !defined(CINTERFACE)
6574 MIDL_INTERFACE("22f55881-280b-11d0-a8a9-00a0c90c2004")
6575 IPersistPropertyBag2 : public IPersist
6576 {
6577     virtual HRESULT STDMETHODCALLTYPE InitNew(
6578         ) = 0;
6579 
6580     virtual HRESULT STDMETHODCALLTYPE Load(
6581         IPropertyBag2 *pPropBag,
6582         IErrorLog *pErrLog) = 0;
6583 
6584     virtual HRESULT STDMETHODCALLTYPE Save(
6585         IPropertyBag2 *pPropBag,
6586         WINBOOL fClearDirty,
6587         WINBOOL fSaveAllProperties) = 0;
6588 
6589     virtual HRESULT STDMETHODCALLTYPE IsDirty(
6590         ) = 0;
6591 
6592 };
6593 #ifdef __CRT_UUID_DECL
6594 __CRT_UUID_DECL(IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04)
6595 #endif
6596 #else
6597 typedef struct IPersistPropertyBag2Vtbl {
6598     BEGIN_INTERFACE
6599 
6600     /*** IUnknown methods ***/
6601     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6602         IPersistPropertyBag2 *This,
6603         REFIID riid,
6604         void **ppvObject);
6605 
6606     ULONG (STDMETHODCALLTYPE *AddRef)(
6607         IPersistPropertyBag2 *This);
6608 
6609     ULONG (STDMETHODCALLTYPE *Release)(
6610         IPersistPropertyBag2 *This);
6611 
6612     /*** IPersist methods ***/
6613     HRESULT (STDMETHODCALLTYPE *GetClassID)(
6614         IPersistPropertyBag2 *This,
6615         CLSID *pClassID);
6616 
6617     /*** IPersistPropertyBag2 methods ***/
6618     HRESULT (STDMETHODCALLTYPE *InitNew)(
6619         IPersistPropertyBag2 *This);
6620 
6621     HRESULT (STDMETHODCALLTYPE *Load)(
6622         IPersistPropertyBag2 *This,
6623         IPropertyBag2 *pPropBag,
6624         IErrorLog *pErrLog);
6625 
6626     HRESULT (STDMETHODCALLTYPE *Save)(
6627         IPersistPropertyBag2 *This,
6628         IPropertyBag2 *pPropBag,
6629         WINBOOL fClearDirty,
6630         WINBOOL fSaveAllProperties);
6631 
6632     HRESULT (STDMETHODCALLTYPE *IsDirty)(
6633         IPersistPropertyBag2 *This);
6634 
6635     END_INTERFACE
6636 } IPersistPropertyBag2Vtbl;
6637 
6638 interface IPersistPropertyBag2 {
6639     CONST_VTBL IPersistPropertyBag2Vtbl* lpVtbl;
6640 };
6641 
6642 #ifdef COBJMACROS
6643 #ifndef WIDL_C_INLINE_WRAPPERS
6644 /*** IUnknown methods ***/
6645 #define IPersistPropertyBag2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6646 #define IPersistPropertyBag2_AddRef(This) (This)->lpVtbl->AddRef(This)
6647 #define IPersistPropertyBag2_Release(This) (This)->lpVtbl->Release(This)
6648 /*** IPersist methods ***/
6649 #define IPersistPropertyBag2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
6650 /*** IPersistPropertyBag2 methods ***/
6651 #define IPersistPropertyBag2_InitNew(This) (This)->lpVtbl->InitNew(This)
6652 #define IPersistPropertyBag2_Load(This,pPropBag,pErrLog) (This)->lpVtbl->Load(This,pPropBag,pErrLog)
6653 #define IPersistPropertyBag2_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
6654 #define IPersistPropertyBag2_IsDirty(This) (This)->lpVtbl->IsDirty(This)
6655 #else
6656 /*** IUnknown methods ***/
6657 static FORCEINLINE HRESULT IPersistPropertyBag2_QueryInterface(IPersistPropertyBag2* This,REFIID riid,void **ppvObject) {
6658     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6659 }
6660 static FORCEINLINE ULONG IPersistPropertyBag2_AddRef(IPersistPropertyBag2* This) {
6661     return This->lpVtbl->AddRef(This);
6662 }
6663 static FORCEINLINE ULONG IPersistPropertyBag2_Release(IPersistPropertyBag2* This) {
6664     return This->lpVtbl->Release(This);
6665 }
6666 /*** IPersist methods ***/
6667 static FORCEINLINE HRESULT IPersistPropertyBag2_GetClassID(IPersistPropertyBag2* This,CLSID *pClassID) {
6668     return This->lpVtbl->GetClassID(This,pClassID);
6669 }
6670 /*** IPersistPropertyBag2 methods ***/
6671 static FORCEINLINE HRESULT IPersistPropertyBag2_InitNew(IPersistPropertyBag2* This) {
6672     return This->lpVtbl->InitNew(This);
6673 }
6674 static FORCEINLINE HRESULT IPersistPropertyBag2_Load(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,IErrorLog *pErrLog) {
6675     return This->lpVtbl->Load(This,pPropBag,pErrLog);
6676 }
6677 static FORCEINLINE HRESULT IPersistPropertyBag2_Save(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
6678     return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
6679 }
6680 static FORCEINLINE HRESULT IPersistPropertyBag2_IsDirty(IPersistPropertyBag2* This) {
6681     return This->lpVtbl->IsDirty(This);
6682 }
6683 #endif
6684 #endif
6685 
6686 #endif
6687 
6688 
6689 #endif  /* __IPersistPropertyBag2_INTERFACE_DEFINED__ */
6690 
6691 #endif
6692 
6693 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6694 /*****************************************************************************
6695  * IAdviseSinkEx interface
6696  */
6697 #ifndef __IAdviseSinkEx_INTERFACE_DEFINED__
6698 #define __IAdviseSinkEx_INTERFACE_DEFINED__
6699 
6700 typedef IAdviseSinkEx *LPADVISESINKEX;
6701 
6702 DEFINE_GUID(IID_IAdviseSinkEx, 0x3af24290, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
6703 #if defined(__cplusplus) && !defined(CINTERFACE)
6704 MIDL_INTERFACE("3af24290-0c96-11ce-a0cf-00aa00600ab8")
6705 IAdviseSinkEx : public IAdviseSink
6706 {
6707     virtual void STDMETHODCALLTYPE OnViewStatusChange(
6708         DWORD dwViewStatus) = 0;
6709 
6710 };
6711 #ifdef __CRT_UUID_DECL
6712 __CRT_UUID_DECL(IAdviseSinkEx, 0x3af24290, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8)
6713 #endif
6714 #else
6715 typedef struct IAdviseSinkExVtbl {
6716     BEGIN_INTERFACE
6717 
6718     /*** IUnknown methods ***/
6719     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6720         IAdviseSinkEx *This,
6721         REFIID riid,
6722         void **ppvObject);
6723 
6724     ULONG (STDMETHODCALLTYPE *AddRef)(
6725         IAdviseSinkEx *This);
6726 
6727     ULONG (STDMETHODCALLTYPE *Release)(
6728         IAdviseSinkEx *This);
6729 
6730     /*** IAdviseSink methods ***/
6731     void (STDMETHODCALLTYPE *OnDataChange)(
6732         IAdviseSinkEx *This,
6733         FORMATETC *pFormatetc,
6734         STGMEDIUM *pStgmed);
6735 
6736     void (STDMETHODCALLTYPE *OnViewChange)(
6737         IAdviseSinkEx *This,
6738         DWORD dwAspect,
6739         LONG lindex);
6740 
6741     void (STDMETHODCALLTYPE *OnRename)(
6742         IAdviseSinkEx *This,
6743         IMoniker *pmk);
6744 
6745     void (STDMETHODCALLTYPE *OnSave)(
6746         IAdviseSinkEx *This);
6747 
6748     void (STDMETHODCALLTYPE *OnClose)(
6749         IAdviseSinkEx *This);
6750 
6751     /*** IAdviseSinkEx methods ***/
6752     void (STDMETHODCALLTYPE *OnViewStatusChange)(
6753         IAdviseSinkEx *This,
6754         DWORD dwViewStatus);
6755 
6756     END_INTERFACE
6757 } IAdviseSinkExVtbl;
6758 
6759 interface IAdviseSinkEx {
6760     CONST_VTBL IAdviseSinkExVtbl* lpVtbl;
6761 };
6762 
6763 #ifdef COBJMACROS
6764 #ifndef WIDL_C_INLINE_WRAPPERS
6765 /*** IUnknown methods ***/
6766 #define IAdviseSinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6767 #define IAdviseSinkEx_AddRef(This) (This)->lpVtbl->AddRef(This)
6768 #define IAdviseSinkEx_Release(This) (This)->lpVtbl->Release(This)
6769 /*** IAdviseSink methods ***/
6770 #define IAdviseSinkEx_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
6771 #define IAdviseSinkEx_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
6772 #define IAdviseSinkEx_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
6773 #define IAdviseSinkEx_OnSave(This) (This)->lpVtbl->OnSave(This)
6774 #define IAdviseSinkEx_OnClose(This) (This)->lpVtbl->OnClose(This)
6775 /*** IAdviseSinkEx methods ***/
6776 #define IAdviseSinkEx_OnViewStatusChange(This,dwViewStatus) (This)->lpVtbl->OnViewStatusChange(This,dwViewStatus)
6777 #else
6778 /*** IUnknown methods ***/
6779 static FORCEINLINE HRESULT IAdviseSinkEx_QueryInterface(IAdviseSinkEx* This,REFIID riid,void **ppvObject) {
6780     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6781 }
6782 static FORCEINLINE ULONG IAdviseSinkEx_AddRef(IAdviseSinkEx* This) {
6783     return This->lpVtbl->AddRef(This);
6784 }
6785 static FORCEINLINE ULONG IAdviseSinkEx_Release(IAdviseSinkEx* This) {
6786     return This->lpVtbl->Release(This);
6787 }
6788 /*** IAdviseSink methods ***/
6789 static FORCEINLINE void IAdviseSinkEx_OnDataChange(IAdviseSinkEx* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
6790     This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
6791 }
6792 static FORCEINLINE void IAdviseSinkEx_OnViewChange(IAdviseSinkEx* This,DWORD dwAspect,LONG lindex) {
6793     This->lpVtbl->OnViewChange(This,dwAspect,lindex);
6794 }
6795 static FORCEINLINE void IAdviseSinkEx_OnRename(IAdviseSinkEx* This,IMoniker *pmk) {
6796     This->lpVtbl->OnRename(This,pmk);
6797 }
6798 static FORCEINLINE void IAdviseSinkEx_OnSave(IAdviseSinkEx* This) {
6799     This->lpVtbl->OnSave(This);
6800 }
6801 static FORCEINLINE void IAdviseSinkEx_OnClose(IAdviseSinkEx* This) {
6802     This->lpVtbl->OnClose(This);
6803 }
6804 /*** IAdviseSinkEx methods ***/
6805 static FORCEINLINE void IAdviseSinkEx_OnViewStatusChange(IAdviseSinkEx* This,DWORD dwViewStatus) {
6806     This->lpVtbl->OnViewStatusChange(This,dwViewStatus);
6807 }
6808 #endif
6809 #endif
6810 
6811 #endif
6812 
6813 HRESULT STDMETHODCALLTYPE IAdviseSinkEx_RemoteOnViewStatusChange_Proxy(
6814     IAdviseSinkEx* This,
6815     DWORD dwViewStatus);
6816 void __RPC_STUB IAdviseSinkEx_RemoteOnViewStatusChange_Stub(
6817     IRpcStubBuffer* This,
6818     IRpcChannelBuffer* pRpcChannelBuffer,
6819     PRPC_MESSAGE pRpcMessage,
6820     DWORD* pdwStubPhase);
6821 void CALLBACK IAdviseSinkEx_OnViewStatusChange_Proxy(
6822     IAdviseSinkEx* This,
6823     DWORD dwViewStatus);
6824 HRESULT __RPC_STUB IAdviseSinkEx_OnViewStatusChange_Stub(
6825     IAdviseSinkEx* This,
6826     DWORD dwViewStatus);
6827 
6828 #endif  /* __IAdviseSinkEx_INTERFACE_DEFINED__ */
6829 
6830 #endif
6831 
6832 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
6833 /*****************************************************************************
6834  * IQuickActivate interface
6835  */
6836 #ifndef __IQuickActivate_INTERFACE_DEFINED__
6837 #define __IQuickActivate_INTERFACE_DEFINED__
6838 
6839 typedef IQuickActivate *LPQUICKACTIVATE;
6840 
6841 typedef enum tagQACONTAINERFLAGS {
6842     QACONTAINER_SHOWHATCHING = 0x1,
6843     QACONTAINER_SHOWGRABHANDLES = 0x2,
6844     QACONTAINER_USERMODE = 0x4,
6845     QACONTAINER_DISPLAYASDEFAULT = 0x8,
6846     QACONTAINER_UIDEAD = 0x10,
6847     QACONTAINER_AUTOCLIP = 0x20,
6848     QACONTAINER_MESSAGEREFLECT = 0x40,
6849     QACONTAINER_SUPPORTSMNEMONICS = 0x80
6850 } QACONTAINERFLAGS;
6851 
6852 typedef DWORD OLE_COLOR;
6853 
6854 typedef struct tagQACONTAINER {
6855     ULONG cbSize;
6856     IOleClientSite *pClientSite;
6857     IAdviseSinkEx *pAdviseSink;
6858     IPropertyNotifySink *pPropertyNotifySink;
6859     IUnknown *pUnkEventSink;
6860     DWORD dwAmbientFlags;
6861     OLE_COLOR colorFore;
6862     OLE_COLOR colorBack;
6863     IFont *pFont;
6864     IOleUndoManager *pUndoMgr;
6865     DWORD dwAppearance;
6866     LONG lcid;
6867     HPALETTE hpal;
6868     IBindHost *pBindHost;
6869     IOleControlSite *pOleControlSite;
6870     IServiceProvider *pServiceProvider;
6871 } QACONTAINER;
6872 
6873 typedef struct tagQACONTROL {
6874     ULONG cbSize;
6875     DWORD dwMiscStatus;
6876     DWORD dwViewStatus;
6877     DWORD dwEventCookie;
6878     DWORD dwPropNotifyCookie;
6879     DWORD dwPointerActivationPolicy;
6880 } QACONTROL;
6881 
6882 DEFINE_GUID(IID_IQuickActivate, 0xcf51ed10, 0x62fe, 0x11cf, 0xbf,0x86, 0x00,0xa0,0xc9,0x03,0x48,0x36);
6883 #if defined(__cplusplus) && !defined(CINTERFACE)
6884 MIDL_INTERFACE("cf51ed10-62fe-11cf-bf86-00a0c9034836")
6885 IQuickActivate : public IUnknown
6886 {
6887     virtual HRESULT STDMETHODCALLTYPE QuickActivate(
6888         QACONTAINER *pQaContainer,
6889         QACONTROL *pQaControl) = 0;
6890 
6891     virtual HRESULT STDMETHODCALLTYPE SetContentExtent(
6892         LPSIZEL pSizel) = 0;
6893 
6894     virtual HRESULT STDMETHODCALLTYPE GetContentExtent(
6895         LPSIZEL pSizel) = 0;
6896 
6897 };
6898 #ifdef __CRT_UUID_DECL
6899 __CRT_UUID_DECL(IQuickActivate, 0xcf51ed10, 0x62fe, 0x11cf, 0xbf,0x86, 0x00,0xa0,0xc9,0x03,0x48,0x36)
6900 #endif
6901 #else
6902 typedef struct IQuickActivateVtbl {
6903     BEGIN_INTERFACE
6904 
6905     /*** IUnknown methods ***/
6906     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6907         IQuickActivate *This,
6908         REFIID riid,
6909         void **ppvObject);
6910 
6911     ULONG (STDMETHODCALLTYPE *AddRef)(
6912         IQuickActivate *This);
6913 
6914     ULONG (STDMETHODCALLTYPE *Release)(
6915         IQuickActivate *This);
6916 
6917     /*** IQuickActivate methods ***/
6918     HRESULT (STDMETHODCALLTYPE *QuickActivate)(
6919         IQuickActivate *This,
6920         QACONTAINER *pQaContainer,
6921         QACONTROL *pQaControl);
6922 
6923     HRESULT (STDMETHODCALLTYPE *SetContentExtent)(
6924         IQuickActivate *This,
6925         LPSIZEL pSizel);
6926 
6927     HRESULT (STDMETHODCALLTYPE *GetContentExtent)(
6928         IQuickActivate *This,
6929         LPSIZEL pSizel);
6930 
6931     END_INTERFACE
6932 } IQuickActivateVtbl;
6933 
6934 interface IQuickActivate {
6935     CONST_VTBL IQuickActivateVtbl* lpVtbl;
6936 };
6937 
6938 #ifdef COBJMACROS
6939 #ifndef WIDL_C_INLINE_WRAPPERS
6940 /*** IUnknown methods ***/
6941 #define IQuickActivate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6942 #define IQuickActivate_AddRef(This) (This)->lpVtbl->AddRef(This)
6943 #define IQuickActivate_Release(This) (This)->lpVtbl->Release(This)
6944 /*** IQuickActivate methods ***/
6945 #define IQuickActivate_QuickActivate(This,pQaContainer,pQaControl) (This)->lpVtbl->QuickActivate(This,pQaContainer,pQaControl)
6946 #define IQuickActivate_SetContentExtent(This,pSizel) (This)->lpVtbl->SetContentExtent(This,pSizel)
6947 #define IQuickActivate_GetContentExtent(This,pSizel) (This)->lpVtbl->GetContentExtent(This,pSizel)
6948 #else
6949 /*** IUnknown methods ***/
6950 static FORCEINLINE HRESULT IQuickActivate_QueryInterface(IQuickActivate* This,REFIID riid,void **ppvObject) {
6951     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6952 }
6953 static FORCEINLINE ULONG IQuickActivate_AddRef(IQuickActivate* This) {
6954     return This->lpVtbl->AddRef(This);
6955 }
6956 static FORCEINLINE ULONG IQuickActivate_Release(IQuickActivate* This) {
6957     return This->lpVtbl->Release(This);
6958 }
6959 /*** IQuickActivate methods ***/
6960 static FORCEINLINE HRESULT IQuickActivate_QuickActivate(IQuickActivate* This,QACONTAINER *pQaContainer,QACONTROL *pQaControl) {
6961     return This->lpVtbl->QuickActivate(This,pQaContainer,pQaControl);
6962 }
6963 static FORCEINLINE HRESULT IQuickActivate_SetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
6964     return This->lpVtbl->SetContentExtent(This,pSizel);
6965 }
6966 static FORCEINLINE HRESULT IQuickActivate_GetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
6967     return This->lpVtbl->GetContentExtent(This,pSizel);
6968 }
6969 #endif
6970 #endif
6971 
6972 #endif
6973 
6974 HRESULT STDMETHODCALLTYPE IQuickActivate_RemoteQuickActivate_Proxy(
6975     IQuickActivate* This,
6976     QACONTAINER *pQaContainer,
6977     QACONTROL *pQaControl);
6978 void __RPC_STUB IQuickActivate_RemoteQuickActivate_Stub(
6979     IRpcStubBuffer* This,
6980     IRpcChannelBuffer* pRpcChannelBuffer,
6981     PRPC_MESSAGE pRpcMessage,
6982     DWORD* pdwStubPhase);
6983 HRESULT CALLBACK IQuickActivate_QuickActivate_Proxy(
6984     IQuickActivate* This,
6985     QACONTAINER *pQaContainer,
6986     QACONTROL *pQaControl);
6987 HRESULT __RPC_STUB IQuickActivate_QuickActivate_Stub(
6988     IQuickActivate* This,
6989     QACONTAINER *pQaContainer,
6990     QACONTROL *pQaControl);
6991 
6992 #endif  /* __IQuickActivate_INTERFACE_DEFINED__ */
6993 
6994 #endif
6995 /* Begin additional prototypes for all interfaces */
6996 
6997 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
6998 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
6999 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
7000 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
7001 ULONG           __RPC_USER HACCEL_UserSize     (ULONG *, ULONG, HACCEL *);
7002 unsigned char * __RPC_USER HACCEL_UserMarshal  (ULONG *, unsigned char *, HACCEL *);
7003 unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
7004 void            __RPC_USER HACCEL_UserFree     (ULONG *, HACCEL *);
7005 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
7006 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
7007 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
7008 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
7009 ULONG           __RPC_USER HFONT_UserSize     (ULONG *, ULONG, HFONT *);
7010 unsigned char * __RPC_USER HFONT_UserMarshal  (ULONG *, unsigned char *, HFONT *);
7011 unsigned char * __RPC_USER HFONT_UserUnmarshal(ULONG *, unsigned char *, HFONT *);
7012 void            __RPC_USER HFONT_UserFree     (ULONG *, HFONT *);
7013 ULONG           __RPC_USER HDC_UserSize     (ULONG *, ULONG, HDC *);
7014 unsigned char * __RPC_USER HDC_UserMarshal  (ULONG *, unsigned char *, HDC *);
7015 unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
7016 void            __RPC_USER HDC_UserFree     (ULONG *, HDC *);
7017 ULONG           __RPC_USER HRGN_UserSize     (ULONG *, ULONG, HRGN *);
7018 unsigned char * __RPC_USER HRGN_UserMarshal  (ULONG *, unsigned char *, HRGN *);
7019 unsigned char * __RPC_USER HRGN_UserUnmarshal(ULONG *, unsigned char *, HRGN *);
7020 void            __RPC_USER HRGN_UserFree     (ULONG *, HRGN *);
7021 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
7022 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
7023 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
7024 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
7025 ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
7026 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
7027 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
7028 void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
7029 ULONG           __RPC_USER HPALETTE_UserSize     (ULONG *, ULONG, HPALETTE *);
7030 unsigned char * __RPC_USER HPALETTE_UserMarshal  (ULONG *, unsigned char *, HPALETTE *);
7031 unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
7032 void            __RPC_USER HPALETTE_UserFree     (ULONG *, HPALETTE *);
7033 
7034 /* End additional prototypes */
7035 
7036 #ifdef __cplusplus
7037 }
7038 #endif
7039 
7040 #endif /* __ocidl_h__ */
7041