master
1/*** Autogenerated by WIDL 10.4 from include/shobjidl.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 __shobjidl_h__
17#define __shobjidl_h__
18
19/* Forward declarations */
20
21#ifndef __IContextMenu_FWD_DEFINED__
22#define __IContextMenu_FWD_DEFINED__
23typedef interface IContextMenu IContextMenu;
24#ifdef __cplusplus
25interface IContextMenu;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IContextMenu2_FWD_DEFINED__
30#define __IContextMenu2_FWD_DEFINED__
31typedef interface IContextMenu2 IContextMenu2;
32#ifdef __cplusplus
33interface IContextMenu2;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IContextMenu3_FWD_DEFINED__
38#define __IContextMenu3_FWD_DEFINED__
39typedef interface IContextMenu3 IContextMenu3;
40#ifdef __cplusplus
41interface IContextMenu3;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IExecuteCommand_FWD_DEFINED__
46#define __IExecuteCommand_FWD_DEFINED__
47typedef interface IExecuteCommand IExecuteCommand;
48#ifdef __cplusplus
49interface IExecuteCommand;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IPersistFolder_FWD_DEFINED__
54#define __IPersistFolder_FWD_DEFINED__
55typedef interface IPersistFolder IPersistFolder;
56#ifdef __cplusplus
57interface IPersistFolder;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IRunnableTask_FWD_DEFINED__
62#define __IRunnableTask_FWD_DEFINED__
63typedef interface IRunnableTask IRunnableTask;
64#ifdef __cplusplus
65interface IRunnableTask;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IShellTaskScheduler_FWD_DEFINED__
70#define __IShellTaskScheduler_FWD_DEFINED__
71typedef interface IShellTaskScheduler IShellTaskScheduler;
72#ifdef __cplusplus
73interface IShellTaskScheduler;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IQueryCodePage_FWD_DEFINED__
78#define __IQueryCodePage_FWD_DEFINED__
79typedef interface IQueryCodePage IQueryCodePage;
80#ifdef __cplusplus
81interface IQueryCodePage;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IPersistFolder2_FWD_DEFINED__
86#define __IPersistFolder2_FWD_DEFINED__
87typedef interface IPersistFolder2 IPersistFolder2;
88#ifdef __cplusplus
89interface IPersistFolder2;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IPersistFolder3_FWD_DEFINED__
94#define __IPersistFolder3_FWD_DEFINED__
95typedef interface IPersistFolder3 IPersistFolder3;
96#ifdef __cplusplus
97interface IPersistFolder3;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IPersistIDList_FWD_DEFINED__
102#define __IPersistIDList_FWD_DEFINED__
103typedef interface IPersistIDList IPersistIDList;
104#ifdef __cplusplus
105interface IPersistIDList;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IEnumIDList_FWD_DEFINED__
110#define __IEnumIDList_FWD_DEFINED__
111typedef interface IEnumIDList IEnumIDList;
112#ifdef __cplusplus
113interface IEnumIDList;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IEnumFullIDList_FWD_DEFINED__
118#define __IEnumFullIDList_FWD_DEFINED__
119typedef interface IEnumFullIDList IEnumFullIDList;
120#ifdef __cplusplus
121interface IEnumFullIDList;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __IObjectWithFolderEnumMode_FWD_DEFINED__
126#define __IObjectWithFolderEnumMode_FWD_DEFINED__
127typedef interface IObjectWithFolderEnumMode IObjectWithFolderEnumMode;
128#ifdef __cplusplus
129interface IObjectWithFolderEnumMode;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IParseAndCreateItem_FWD_DEFINED__
134#define __IParseAndCreateItem_FWD_DEFINED__
135typedef interface IParseAndCreateItem IParseAndCreateItem;
136#ifdef __cplusplus
137interface IParseAndCreateItem;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IShellFolder_FWD_DEFINED__
142#define __IShellFolder_FWD_DEFINED__
143typedef interface IShellFolder IShellFolder;
144#ifdef __cplusplus
145interface IShellFolder;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IEnumExtraSearch_FWD_DEFINED__
150#define __IEnumExtraSearch_FWD_DEFINED__
151typedef interface IEnumExtraSearch IEnumExtraSearch;
152#ifdef __cplusplus
153interface IEnumExtraSearch;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IShellFolder2_FWD_DEFINED__
158#define __IShellFolder2_FWD_DEFINED__
159typedef interface IShellFolder2 IShellFolder2;
160#ifdef __cplusplus
161interface IShellFolder2;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IFolderViewOptions_FWD_DEFINED__
166#define __IFolderViewOptions_FWD_DEFINED__
167typedef interface IFolderViewOptions IFolderViewOptions;
168#ifdef __cplusplus
169interface IFolderViewOptions;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IShellView_FWD_DEFINED__
174#define __IShellView_FWD_DEFINED__
175typedef interface IShellView IShellView;
176#ifdef __cplusplus
177interface IShellView;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IShellView2_FWD_DEFINED__
182#define __IShellView2_FWD_DEFINED__
183typedef interface IShellView2 IShellView2;
184#ifdef __cplusplus
185interface IShellView2;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IShellView3_FWD_DEFINED__
190#define __IShellView3_FWD_DEFINED__
191typedef interface IShellView3 IShellView3;
192#ifdef __cplusplus
193interface IShellView3;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IFolderView_FWD_DEFINED__
198#define __IFolderView_FWD_DEFINED__
199typedef interface IFolderView IFolderView;
200#ifdef __cplusplus
201interface IFolderView;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __ISearchBoxInfo_FWD_DEFINED__
206#define __ISearchBoxInfo_FWD_DEFINED__
207typedef interface ISearchBoxInfo ISearchBoxInfo;
208#ifdef __cplusplus
209interface ISearchBoxInfo;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IFolderView2_FWD_DEFINED__
214#define __IFolderView2_FWD_DEFINED__
215typedef interface IFolderView2 IFolderView2;
216#ifdef __cplusplus
217interface IFolderView2;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IFolderViewSettings_FWD_DEFINED__
222#define __IFolderViewSettings_FWD_DEFINED__
223typedef interface IFolderViewSettings IFolderViewSettings;
224#ifdef __cplusplus
225interface IFolderViewSettings;
226#endif /* __cplusplus */
227#endif
228
229#ifndef __IPreviewHandlerVisuals_FWD_DEFINED__
230#define __IPreviewHandlerVisuals_FWD_DEFINED__
231typedef interface IPreviewHandlerVisuals IPreviewHandlerVisuals;
232#ifdef __cplusplus
233interface IPreviewHandlerVisuals;
234#endif /* __cplusplus */
235#endif
236
237#ifndef __IVisualProperties_FWD_DEFINED__
238#define __IVisualProperties_FWD_DEFINED__
239typedef interface IVisualProperties IVisualProperties;
240#ifdef __cplusplus
241interface IVisualProperties;
242#endif /* __cplusplus */
243#endif
244
245#ifndef __ICommDlgBrowser_FWD_DEFINED__
246#define __ICommDlgBrowser_FWD_DEFINED__
247typedef interface ICommDlgBrowser ICommDlgBrowser;
248#ifdef __cplusplus
249interface ICommDlgBrowser;
250#endif /* __cplusplus */
251#endif
252
253#ifndef __ICommDlgBrowser2_FWD_DEFINED__
254#define __ICommDlgBrowser2_FWD_DEFINED__
255typedef interface ICommDlgBrowser2 ICommDlgBrowser2;
256#ifdef __cplusplus
257interface ICommDlgBrowser2;
258#endif /* __cplusplus */
259#endif
260
261#ifndef __ICommDlgBrowser3_FWD_DEFINED__
262#define __ICommDlgBrowser3_FWD_DEFINED__
263typedef interface ICommDlgBrowser3 ICommDlgBrowser3;
264#ifdef __cplusplus
265interface ICommDlgBrowser3;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __IColumnManager_FWD_DEFINED__
270#define __IColumnManager_FWD_DEFINED__
271typedef interface IColumnManager IColumnManager;
272#ifdef __cplusplus
273interface IColumnManager;
274#endif /* __cplusplus */
275#endif
276
277#ifndef __IFolderFilterSite_FWD_DEFINED__
278#define __IFolderFilterSite_FWD_DEFINED__
279typedef interface IFolderFilterSite IFolderFilterSite;
280#ifdef __cplusplus
281interface IFolderFilterSite;
282#endif /* __cplusplus */
283#endif
284
285#ifndef __IFolderFilter_FWD_DEFINED__
286#define __IFolderFilter_FWD_DEFINED__
287typedef interface IFolderFilter IFolderFilter;
288#ifdef __cplusplus
289interface IFolderFilter;
290#endif /* __cplusplus */
291#endif
292
293#ifndef __IInputObjectSite_FWD_DEFINED__
294#define __IInputObjectSite_FWD_DEFINED__
295typedef interface IInputObjectSite IInputObjectSite;
296#ifdef __cplusplus
297interface IInputObjectSite;
298#endif /* __cplusplus */
299#endif
300
301#ifndef __IInputObject_FWD_DEFINED__
302#define __IInputObject_FWD_DEFINED__
303typedef interface IInputObject IInputObject;
304#ifdef __cplusplus
305interface IInputObject;
306#endif /* __cplusplus */
307#endif
308
309#ifndef __IInputObject2_FWD_DEFINED__
310#define __IInputObject2_FWD_DEFINED__
311typedef interface IInputObject2 IInputObject2;
312#ifdef __cplusplus
313interface IInputObject2;
314#endif /* __cplusplus */
315#endif
316
317#ifndef __IShellIcon_FWD_DEFINED__
318#define __IShellIcon_FWD_DEFINED__
319typedef interface IShellIcon IShellIcon;
320#ifdef __cplusplus
321interface IShellIcon;
322#endif /* __cplusplus */
323#endif
324
325#ifndef __IShellBrowser_FWD_DEFINED__
326#define __IShellBrowser_FWD_DEFINED__
327typedef interface IShellBrowser IShellBrowser;
328#ifdef __cplusplus
329interface IShellBrowser;
330#endif /* __cplusplus */
331#endif
332
333#ifndef __IProfferService_FWD_DEFINED__
334#define __IProfferService_FWD_DEFINED__
335typedef interface IProfferService IProfferService;
336#ifdef __cplusplus
337interface IProfferService;
338#endif /* __cplusplus */
339#endif
340
341#ifndef __IShellItem_FWD_DEFINED__
342#define __IShellItem_FWD_DEFINED__
343typedef interface IShellItem IShellItem;
344#ifdef __cplusplus
345interface IShellItem;
346#endif /* __cplusplus */
347#endif
348
349#ifndef __IShellItem2_FWD_DEFINED__
350#define __IShellItem2_FWD_DEFINED__
351typedef interface IShellItem2 IShellItem2;
352#ifdef __cplusplus
353interface IShellItem2;
354#endif /* __cplusplus */
355#endif
356
357#ifndef __IShellItemImageFactory_FWD_DEFINED__
358#define __IShellItemImageFactory_FWD_DEFINED__
359typedef interface IShellItemImageFactory IShellItemImageFactory;
360#ifdef __cplusplus
361interface IShellItemImageFactory;
362#endif /* __cplusplus */
363#endif
364
365#ifndef __IUserAccountChangeCallback_FWD_DEFINED__
366#define __IUserAccountChangeCallback_FWD_DEFINED__
367typedef interface IUserAccountChangeCallback IUserAccountChangeCallback;
368#ifdef __cplusplus
369interface IUserAccountChangeCallback;
370#endif /* __cplusplus */
371#endif
372
373#ifndef __IEnumShellItems_FWD_DEFINED__
374#define __IEnumShellItems_FWD_DEFINED__
375typedef interface IEnumShellItems IEnumShellItems;
376#ifdef __cplusplus
377interface IEnumShellItems;
378#endif /* __cplusplus */
379#endif
380
381#ifndef __ITransferAdviseSink_FWD_DEFINED__
382#define __ITransferAdviseSink_FWD_DEFINED__
383typedef interface ITransferAdviseSink ITransferAdviseSink;
384#ifdef __cplusplus
385interface ITransferAdviseSink;
386#endif /* __cplusplus */
387#endif
388
389#ifndef __ITransferSource_FWD_DEFINED__
390#define __ITransferSource_FWD_DEFINED__
391typedef interface ITransferSource ITransferSource;
392#ifdef __cplusplus
393interface ITransferSource;
394#endif /* __cplusplus */
395#endif
396
397#ifndef __IEnumResources_FWD_DEFINED__
398#define __IEnumResources_FWD_DEFINED__
399typedef interface IEnumResources IEnumResources;
400#ifdef __cplusplus
401interface IEnumResources;
402#endif /* __cplusplus */
403#endif
404
405#ifndef __IShellItemResources_FWD_DEFINED__
406#define __IShellItemResources_FWD_DEFINED__
407typedef interface IShellItemResources IShellItemResources;
408#ifdef __cplusplus
409interface IShellItemResources;
410#endif /* __cplusplus */
411#endif
412
413#ifndef __ITransferDestination_FWD_DEFINED__
414#define __ITransferDestination_FWD_DEFINED__
415typedef interface ITransferDestination ITransferDestination;
416#ifdef __cplusplus
417interface ITransferDestination;
418#endif /* __cplusplus */
419#endif
420
421#ifndef __IStreamAsync_FWD_DEFINED__
422#define __IStreamAsync_FWD_DEFINED__
423typedef interface IStreamAsync IStreamAsync;
424#ifdef __cplusplus
425interface IStreamAsync;
426#endif /* __cplusplus */
427#endif
428
429#ifndef __IStreamUnbufferedInfo_FWD_DEFINED__
430#define __IStreamUnbufferedInfo_FWD_DEFINED__
431typedef interface IStreamUnbufferedInfo IStreamUnbufferedInfo;
432#ifdef __cplusplus
433interface IStreamUnbufferedInfo;
434#endif /* __cplusplus */
435#endif
436
437#ifndef __IFileOperationProgressSink_FWD_DEFINED__
438#define __IFileOperationProgressSink_FWD_DEFINED__
439typedef interface IFileOperationProgressSink IFileOperationProgressSink;
440#ifdef __cplusplus
441interface IFileOperationProgressSink;
442#endif /* __cplusplus */
443#endif
444
445#ifndef __IShellItemArray_FWD_DEFINED__
446#define __IShellItemArray_FWD_DEFINED__
447typedef interface IShellItemArray IShellItemArray;
448#ifdef __cplusplus
449interface IShellItemArray;
450#endif /* __cplusplus */
451#endif
452
453#ifndef __IInitializeWithItem_FWD_DEFINED__
454#define __IInitializeWithItem_FWD_DEFINED__
455typedef interface IInitializeWithItem IInitializeWithItem;
456#ifdef __cplusplus
457interface IInitializeWithItem;
458#endif /* __cplusplus */
459#endif
460
461#ifndef __IObjectWithSelection_FWD_DEFINED__
462#define __IObjectWithSelection_FWD_DEFINED__
463typedef interface IObjectWithSelection IObjectWithSelection;
464#ifdef __cplusplus
465interface IObjectWithSelection;
466#endif /* __cplusplus */
467#endif
468
469#ifndef __IObjectWithBackReferences_FWD_DEFINED__
470#define __IObjectWithBackReferences_FWD_DEFINED__
471typedef interface IObjectWithBackReferences IObjectWithBackReferences;
472#ifdef __cplusplus
473interface IObjectWithBackReferences;
474#endif /* __cplusplus */
475#endif
476
477#ifndef __IPropertyUI_FWD_DEFINED__
478#define __IPropertyUI_FWD_DEFINED__
479typedef interface IPropertyUI IPropertyUI;
480#ifdef __cplusplus
481interface IPropertyUI;
482#endif /* __cplusplus */
483#endif
484
485#ifndef __ICategoryProvider_FWD_DEFINED__
486#define __ICategoryProvider_FWD_DEFINED__
487typedef interface ICategoryProvider ICategoryProvider;
488#ifdef __cplusplus
489interface ICategoryProvider;
490#endif /* __cplusplus */
491#endif
492
493#ifndef __ICategorizer_FWD_DEFINED__
494#define __ICategorizer_FWD_DEFINED__
495typedef interface ICategorizer ICategorizer;
496#ifdef __cplusplus
497interface ICategorizer;
498#endif /* __cplusplus */
499#endif
500
501#ifndef __IDropTargetHelper_FWD_DEFINED__
502#define __IDropTargetHelper_FWD_DEFINED__
503typedef interface IDropTargetHelper IDropTargetHelper;
504#ifdef __cplusplus
505interface IDropTargetHelper;
506#endif /* __cplusplus */
507#endif
508
509#ifndef __IDragSourceHelper_FWD_DEFINED__
510#define __IDragSourceHelper_FWD_DEFINED__
511typedef interface IDragSourceHelper IDragSourceHelper;
512#ifdef __cplusplus
513interface IDragSourceHelper;
514#endif /* __cplusplus */
515#endif
516
517#ifndef __IDragSourceHelper2_FWD_DEFINED__
518#define __IDragSourceHelper2_FWD_DEFINED__
519typedef interface IDragSourceHelper2 IDragSourceHelper2;
520#ifdef __cplusplus
521interface IDragSourceHelper2;
522#endif /* __cplusplus */
523#endif
524
525#ifndef __IShellLinkA_FWD_DEFINED__
526#define __IShellLinkA_FWD_DEFINED__
527typedef interface IShellLinkA IShellLinkA;
528#ifdef __cplusplus
529interface IShellLinkA;
530#endif /* __cplusplus */
531#endif
532
533#ifndef __IShellLinkW_FWD_DEFINED__
534#define __IShellLinkW_FWD_DEFINED__
535typedef interface IShellLinkW IShellLinkW;
536#ifdef __cplusplus
537interface IShellLinkW;
538#endif /* __cplusplus */
539#endif
540
541#ifndef __IShellLinkDataList_FWD_DEFINED__
542#define __IShellLinkDataList_FWD_DEFINED__
543typedef interface IShellLinkDataList IShellLinkDataList;
544#ifdef __cplusplus
545interface IShellLinkDataList;
546#endif /* __cplusplus */
547#endif
548
549#ifndef __IResolveShellLink_FWD_DEFINED__
550#define __IResolveShellLink_FWD_DEFINED__
551typedef interface IResolveShellLink IResolveShellLink;
552#ifdef __cplusplus
553interface IResolveShellLink;
554#endif /* __cplusplus */
555#endif
556
557#ifndef __IActionProgressDialog_FWD_DEFINED__
558#define __IActionProgressDialog_FWD_DEFINED__
559typedef interface IActionProgressDialog IActionProgressDialog;
560#ifdef __cplusplus
561interface IActionProgressDialog;
562#endif /* __cplusplus */
563#endif
564
565#ifndef __IHWEventHandler_FWD_DEFINED__
566#define __IHWEventHandler_FWD_DEFINED__
567typedef interface IHWEventHandler IHWEventHandler;
568#ifdef __cplusplus
569interface IHWEventHandler;
570#endif /* __cplusplus */
571#endif
572
573#ifndef __IHWEventHandler2_FWD_DEFINED__
574#define __IHWEventHandler2_FWD_DEFINED__
575typedef interface IHWEventHandler2 IHWEventHandler2;
576#ifdef __cplusplus
577interface IHWEventHandler2;
578#endif /* __cplusplus */
579#endif
580
581#ifndef __IQueryCancelAutoPlay_FWD_DEFINED__
582#define __IQueryCancelAutoPlay_FWD_DEFINED__
583typedef interface IQueryCancelAutoPlay IQueryCancelAutoPlay;
584#ifdef __cplusplus
585interface IQueryCancelAutoPlay;
586#endif /* __cplusplus */
587#endif
588
589#ifndef __IDynamicHWHandler_FWD_DEFINED__
590#define __IDynamicHWHandler_FWD_DEFINED__
591typedef interface IDynamicHWHandler IDynamicHWHandler;
592#ifdef __cplusplus
593interface IDynamicHWHandler;
594#endif /* __cplusplus */
595#endif
596
597#ifndef __IActionProgress_FWD_DEFINED__
598#define __IActionProgress_FWD_DEFINED__
599typedef interface IActionProgress IActionProgress;
600#ifdef __cplusplus
601interface IActionProgress;
602#endif /* __cplusplus */
603#endif
604
605#ifndef __IShellExtInit_FWD_DEFINED__
606#define __IShellExtInit_FWD_DEFINED__
607typedef interface IShellExtInit IShellExtInit;
608#ifdef __cplusplus
609interface IShellExtInit;
610#endif /* __cplusplus */
611#endif
612
613#ifndef __IShellPropSheetExt_FWD_DEFINED__
614#define __IShellPropSheetExt_FWD_DEFINED__
615typedef interface IShellPropSheetExt IShellPropSheetExt;
616#ifdef __cplusplus
617interface IShellPropSheetExt;
618#endif /* __cplusplus */
619#endif
620
621#ifndef __IRemoteComputer_FWD_DEFINED__
622#define __IRemoteComputer_FWD_DEFINED__
623typedef interface IRemoteComputer IRemoteComputer;
624#ifdef __cplusplus
625interface IRemoteComputer;
626#endif /* __cplusplus */
627#endif
628
629#ifndef __IQueryContinue_FWD_DEFINED__
630#define __IQueryContinue_FWD_DEFINED__
631typedef interface IQueryContinue IQueryContinue;
632#ifdef __cplusplus
633interface IQueryContinue;
634#endif /* __cplusplus */
635#endif
636
637#ifndef __IObjectWithCancelEvent_FWD_DEFINED__
638#define __IObjectWithCancelEvent_FWD_DEFINED__
639typedef interface IObjectWithCancelEvent IObjectWithCancelEvent;
640#ifdef __cplusplus
641interface IObjectWithCancelEvent;
642#endif /* __cplusplus */
643#endif
644
645#ifndef __IUserNotification_FWD_DEFINED__
646#define __IUserNotification_FWD_DEFINED__
647typedef interface IUserNotification IUserNotification;
648#ifdef __cplusplus
649interface IUserNotification;
650#endif /* __cplusplus */
651#endif
652
653#ifndef __IUserNotificationCallback_FWD_DEFINED__
654#define __IUserNotificationCallback_FWD_DEFINED__
655typedef interface IUserNotificationCallback IUserNotificationCallback;
656#ifdef __cplusplus
657interface IUserNotificationCallback;
658#endif /* __cplusplus */
659#endif
660
661#ifndef __IUserNotification2_FWD_DEFINED__
662#define __IUserNotification2_FWD_DEFINED__
663typedef interface IUserNotification2 IUserNotification2;
664#ifdef __cplusplus
665interface IUserNotification2;
666#endif /* __cplusplus */
667#endif
668
669#ifndef __IItemNameLimits_FWD_DEFINED__
670#define __IItemNameLimits_FWD_DEFINED__
671typedef interface IItemNameLimits IItemNameLimits;
672#ifdef __cplusplus
673interface IItemNameLimits;
674#endif /* __cplusplus */
675#endif
676
677#ifndef __ISearchFolderItemFactory_FWD_DEFINED__
678#define __ISearchFolderItemFactory_FWD_DEFINED__
679typedef interface ISearchFolderItemFactory ISearchFolderItemFactory;
680#ifdef __cplusplus
681interface ISearchFolderItemFactory;
682#endif /* __cplusplus */
683#endif
684
685#ifndef __IExtractImage_FWD_DEFINED__
686#define __IExtractImage_FWD_DEFINED__
687typedef interface IExtractImage IExtractImage;
688#ifdef __cplusplus
689interface IExtractImage;
690#endif /* __cplusplus */
691#endif
692
693#ifndef __IExtractImage2_FWD_DEFINED__
694#define __IExtractImage2_FWD_DEFINED__
695typedef interface IExtractImage2 IExtractImage2;
696#ifdef __cplusplus
697interface IExtractImage2;
698#endif /* __cplusplus */
699#endif
700
701#ifndef __IThumbnailHandlerFactory_FWD_DEFINED__
702#define __IThumbnailHandlerFactory_FWD_DEFINED__
703typedef interface IThumbnailHandlerFactory IThumbnailHandlerFactory;
704#ifdef __cplusplus
705interface IThumbnailHandlerFactory;
706#endif /* __cplusplus */
707#endif
708
709#ifndef __IParentAndItem_FWD_DEFINED__
710#define __IParentAndItem_FWD_DEFINED__
711typedef interface IParentAndItem IParentAndItem;
712#ifdef __cplusplus
713interface IParentAndItem;
714#endif /* __cplusplus */
715#endif
716
717#ifndef __IDockingWindow_FWD_DEFINED__
718#define __IDockingWindow_FWD_DEFINED__
719typedef interface IDockingWindow IDockingWindow;
720#ifdef __cplusplus
721interface IDockingWindow;
722#endif /* __cplusplus */
723#endif
724
725#ifndef __IDeskBand_FWD_DEFINED__
726#define __IDeskBand_FWD_DEFINED__
727typedef interface IDeskBand IDeskBand;
728#ifdef __cplusplus
729interface IDeskBand;
730#endif /* __cplusplus */
731#endif
732
733#ifndef __IDeskBandInfo_FWD_DEFINED__
734#define __IDeskBandInfo_FWD_DEFINED__
735typedef interface IDeskBandInfo IDeskBandInfo;
736#ifdef __cplusplus
737interface IDeskBandInfo;
738#endif /* __cplusplus */
739#endif
740
741#ifndef __IDeskBand2_FWD_DEFINED__
742#define __IDeskBand2_FWD_DEFINED__
743typedef interface IDeskBand2 IDeskBand2;
744#ifdef __cplusplus
745interface IDeskBand2;
746#endif /* __cplusplus */
747#endif
748
749#ifndef __ITaskbarList_FWD_DEFINED__
750#define __ITaskbarList_FWD_DEFINED__
751typedef interface ITaskbarList ITaskbarList;
752#ifdef __cplusplus
753interface ITaskbarList;
754#endif /* __cplusplus */
755#endif
756
757#ifndef __ITaskbarList2_FWD_DEFINED__
758#define __ITaskbarList2_FWD_DEFINED__
759typedef interface ITaskbarList2 ITaskbarList2;
760#ifdef __cplusplus
761interface ITaskbarList2;
762#endif /* __cplusplus */
763#endif
764
765#ifndef __ITaskbarList3_FWD_DEFINED__
766#define __ITaskbarList3_FWD_DEFINED__
767typedef interface ITaskbarList3 ITaskbarList3;
768#ifdef __cplusplus
769interface ITaskbarList3;
770#endif /* __cplusplus */
771#endif
772
773#ifndef __ITaskbarList4_FWD_DEFINED__
774#define __ITaskbarList4_FWD_DEFINED__
775typedef interface ITaskbarList4 ITaskbarList4;
776#ifdef __cplusplus
777interface ITaskbarList4;
778#endif /* __cplusplus */
779#endif
780
781#ifndef __IStartMenuPinnedList_FWD_DEFINED__
782#define __IStartMenuPinnedList_FWD_DEFINED__
783typedef interface IStartMenuPinnedList IStartMenuPinnedList;
784#ifdef __cplusplus
785interface IStartMenuPinnedList;
786#endif /* __cplusplus */
787#endif
788
789#ifndef __ICDBurn_FWD_DEFINED__
790#define __ICDBurn_FWD_DEFINED__
791typedef interface ICDBurn ICDBurn;
792#ifdef __cplusplus
793interface ICDBurn;
794#endif /* __cplusplus */
795#endif
796
797#ifndef __IWizardSite_FWD_DEFINED__
798#define __IWizardSite_FWD_DEFINED__
799typedef interface IWizardSite IWizardSite;
800#ifdef __cplusplus
801interface IWizardSite;
802#endif /* __cplusplus */
803#endif
804
805#ifndef __IWizardExtension_FWD_DEFINED__
806#define __IWizardExtension_FWD_DEFINED__
807typedef interface IWizardExtension IWizardExtension;
808#ifdef __cplusplus
809interface IWizardExtension;
810#endif /* __cplusplus */
811#endif
812
813#ifndef __IWebWizardExtension_FWD_DEFINED__
814#define __IWebWizardExtension_FWD_DEFINED__
815typedef interface IWebWizardExtension IWebWizardExtension;
816#ifdef __cplusplus
817interface IWebWizardExtension;
818#endif /* __cplusplus */
819#endif
820
821#ifndef __IPublishingWizard_FWD_DEFINED__
822#define __IPublishingWizard_FWD_DEFINED__
823typedef interface IPublishingWizard IPublishingWizard;
824#ifdef __cplusplus
825interface IPublishingWizard;
826#endif /* __cplusplus */
827#endif
828
829#ifndef __IFolderViewHost_FWD_DEFINED__
830#define __IFolderViewHost_FWD_DEFINED__
831typedef interface IFolderViewHost IFolderViewHost;
832#ifdef __cplusplus
833interface IFolderViewHost;
834#endif /* __cplusplus */
835#endif
836
837#ifndef __IExplorerBrowserEvents_FWD_DEFINED__
838#define __IExplorerBrowserEvents_FWD_DEFINED__
839typedef interface IExplorerBrowserEvents IExplorerBrowserEvents;
840#ifdef __cplusplus
841interface IExplorerBrowserEvents;
842#endif /* __cplusplus */
843#endif
844
845#ifndef __IExplorerBrowser_FWD_DEFINED__
846#define __IExplorerBrowser_FWD_DEFINED__
847typedef interface IExplorerBrowser IExplorerBrowser;
848#ifdef __cplusplus
849interface IExplorerBrowser;
850#endif /* __cplusplus */
851#endif
852
853#ifndef __IAccessibleObject_FWD_DEFINED__
854#define __IAccessibleObject_FWD_DEFINED__
855typedef interface IAccessibleObject IAccessibleObject;
856#ifdef __cplusplus
857interface IAccessibleObject;
858#endif /* __cplusplus */
859#endif
860
861#ifndef __IResultsFolder_FWD_DEFINED__
862#define __IResultsFolder_FWD_DEFINED__
863typedef interface IResultsFolder IResultsFolder;
864#ifdef __cplusplus
865interface IResultsFolder;
866#endif /* __cplusplus */
867#endif
868
869#ifndef __IEnumObjects_FWD_DEFINED__
870#define __IEnumObjects_FWD_DEFINED__
871typedef interface IEnumObjects IEnumObjects;
872#ifdef __cplusplus
873interface IEnumObjects;
874#endif /* __cplusplus */
875#endif
876
877#ifndef __IOperationsProgressDialog_FWD_DEFINED__
878#define __IOperationsProgressDialog_FWD_DEFINED__
879typedef interface IOperationsProgressDialog IOperationsProgressDialog;
880#ifdef __cplusplus
881interface IOperationsProgressDialog;
882#endif /* __cplusplus */
883#endif
884
885#ifndef __IIOCancelInformation_FWD_DEFINED__
886#define __IIOCancelInformation_FWD_DEFINED__
887typedef interface IIOCancelInformation IIOCancelInformation;
888#ifdef __cplusplus
889interface IIOCancelInformation;
890#endif /* __cplusplus */
891#endif
892
893#ifndef __IFileOperation_FWD_DEFINED__
894#define __IFileOperation_FWD_DEFINED__
895typedef interface IFileOperation IFileOperation;
896#ifdef __cplusplus
897interface IFileOperation;
898#endif /* __cplusplus */
899#endif
900
901#ifndef __IObjectProvider_FWD_DEFINED__
902#define __IObjectProvider_FWD_DEFINED__
903typedef interface IObjectProvider IObjectProvider;
904#ifdef __cplusplus
905interface IObjectProvider;
906#endif /* __cplusplus */
907#endif
908
909#ifndef __INamespaceWalkCB_FWD_DEFINED__
910#define __INamespaceWalkCB_FWD_DEFINED__
911typedef interface INamespaceWalkCB INamespaceWalkCB;
912#ifdef __cplusplus
913interface INamespaceWalkCB;
914#endif /* __cplusplus */
915#endif
916
917#ifndef __INamespaceWalkCB2_FWD_DEFINED__
918#define __INamespaceWalkCB2_FWD_DEFINED__
919typedef interface INamespaceWalkCB2 INamespaceWalkCB2;
920#ifdef __cplusplus
921interface INamespaceWalkCB2;
922#endif /* __cplusplus */
923#endif
924
925#ifndef __INamespaceWalk_FWD_DEFINED__
926#define __INamespaceWalk_FWD_DEFINED__
927typedef interface INamespaceWalk INamespaceWalk;
928#ifdef __cplusplus
929interface INamespaceWalk;
930#endif /* __cplusplus */
931#endif
932
933#ifndef __IAutoCompleteDropDown_FWD_DEFINED__
934#define __IAutoCompleteDropDown_FWD_DEFINED__
935typedef interface IAutoCompleteDropDown IAutoCompleteDropDown;
936#ifdef __cplusplus
937interface IAutoCompleteDropDown;
938#endif /* __cplusplus */
939#endif
940
941#ifndef __IBandSite_FWD_DEFINED__
942#define __IBandSite_FWD_DEFINED__
943typedef interface IBandSite IBandSite;
944#ifdef __cplusplus
945interface IBandSite;
946#endif /* __cplusplus */
947#endif
948
949#ifndef __IModalWindow_FWD_DEFINED__
950#define __IModalWindow_FWD_DEFINED__
951typedef interface IModalWindow IModalWindow;
952#ifdef __cplusplus
953interface IModalWindow;
954#endif /* __cplusplus */
955#endif
956
957#ifndef __ICDBurnExt_FWD_DEFINED__
958#define __ICDBurnExt_FWD_DEFINED__
959typedef interface ICDBurnExt ICDBurnExt;
960#ifdef __cplusplus
961interface ICDBurnExt;
962#endif /* __cplusplus */
963#endif
964
965#ifndef __IContextMenuSite_FWD_DEFINED__
966#define __IContextMenuSite_FWD_DEFINED__
967typedef interface IContextMenuSite IContextMenuSite;
968#ifdef __cplusplus
969interface IContextMenuSite;
970#endif /* __cplusplus */
971#endif
972
973#ifndef __IEnumReadyCallback_FWD_DEFINED__
974#define __IEnumReadyCallback_FWD_DEFINED__
975typedef interface IEnumReadyCallback IEnumReadyCallback;
976#ifdef __cplusplus
977interface IEnumReadyCallback;
978#endif /* __cplusplus */
979#endif
980
981#ifndef __IEnumerableView_FWD_DEFINED__
982#define __IEnumerableView_FWD_DEFINED__
983typedef interface IEnumerableView IEnumerableView;
984#ifdef __cplusplus
985interface IEnumerableView;
986#endif /* __cplusplus */
987#endif
988
989#ifndef __IInsertItem_FWD_DEFINED__
990#define __IInsertItem_FWD_DEFINED__
991typedef interface IInsertItem IInsertItem;
992#ifdef __cplusplus
993interface IInsertItem;
994#endif /* __cplusplus */
995#endif
996
997#ifndef __IMenuBand_FWD_DEFINED__
998#define __IMenuBand_FWD_DEFINED__
999typedef interface IMenuBand IMenuBand;
1000#ifdef __cplusplus
1001interface IMenuBand;
1002#endif /* __cplusplus */
1003#endif
1004
1005#ifndef __IFolderBandPriv_FWD_DEFINED__
1006#define __IFolderBandPriv_FWD_DEFINED__
1007typedef interface IFolderBandPriv IFolderBandPriv;
1008#ifdef __cplusplus
1009interface IFolderBandPriv;
1010#endif /* __cplusplus */
1011#endif
1012
1013#ifndef __IRegTreeItem_FWD_DEFINED__
1014#define __IRegTreeItem_FWD_DEFINED__
1015typedef interface IRegTreeItem IRegTreeItem;
1016#ifdef __cplusplus
1017interface IRegTreeItem;
1018#endif /* __cplusplus */
1019#endif
1020
1021#ifndef __IImageRecompress_FWD_DEFINED__
1022#define __IImageRecompress_FWD_DEFINED__
1023typedef interface IImageRecompress IImageRecompress;
1024#ifdef __cplusplus
1025interface IImageRecompress;
1026#endif /* __cplusplus */
1027#endif
1028
1029#ifndef __IDeskBar_FWD_DEFINED__
1030#define __IDeskBar_FWD_DEFINED__
1031typedef interface IDeskBar IDeskBar;
1032#ifdef __cplusplus
1033interface IDeskBar;
1034#endif /* __cplusplus */
1035#endif
1036
1037#ifndef __IMenuPopup_FWD_DEFINED__
1038#define __IMenuPopup_FWD_DEFINED__
1039typedef interface IMenuPopup IMenuPopup;
1040#ifdef __cplusplus
1041interface IMenuPopup;
1042#endif /* __cplusplus */
1043#endif
1044
1045#ifndef __IFileIsInUse_FWD_DEFINED__
1046#define __IFileIsInUse_FWD_DEFINED__
1047typedef interface IFileIsInUse IFileIsInUse;
1048#ifdef __cplusplus
1049interface IFileIsInUse;
1050#endif /* __cplusplus */
1051#endif
1052
1053#ifndef __IFileDialogEvents_FWD_DEFINED__
1054#define __IFileDialogEvents_FWD_DEFINED__
1055typedef interface IFileDialogEvents IFileDialogEvents;
1056#ifdef __cplusplus
1057interface IFileDialogEvents;
1058#endif /* __cplusplus */
1059#endif
1060
1061#ifndef __IFileDialog_FWD_DEFINED__
1062#define __IFileDialog_FWD_DEFINED__
1063typedef interface IFileDialog IFileDialog;
1064#ifdef __cplusplus
1065interface IFileDialog;
1066#endif /* __cplusplus */
1067#endif
1068
1069#ifndef __IFileSaveDialog_FWD_DEFINED__
1070#define __IFileSaveDialog_FWD_DEFINED__
1071typedef interface IFileSaveDialog IFileSaveDialog;
1072#ifdef __cplusplus
1073interface IFileSaveDialog;
1074#endif /* __cplusplus */
1075#endif
1076
1077#ifndef __IFileOpenDialog_FWD_DEFINED__
1078#define __IFileOpenDialog_FWD_DEFINED__
1079typedef interface IFileOpenDialog IFileOpenDialog;
1080#ifdef __cplusplus
1081interface IFileOpenDialog;
1082#endif /* __cplusplus */
1083#endif
1084
1085#ifndef __IFileDialogCustomize_FWD_DEFINED__
1086#define __IFileDialogCustomize_FWD_DEFINED__
1087typedef interface IFileDialogCustomize IFileDialogCustomize;
1088#ifdef __cplusplus
1089interface IFileDialogCustomize;
1090#endif /* __cplusplus */
1091#endif
1092
1093#ifndef __IFileDialogControlEvents_FWD_DEFINED__
1094#define __IFileDialogControlEvents_FWD_DEFINED__
1095typedef interface IFileDialogControlEvents IFileDialogControlEvents;
1096#ifdef __cplusplus
1097interface IFileDialogControlEvents;
1098#endif /* __cplusplus */
1099#endif
1100
1101#ifndef __IFileDialog2_FWD_DEFINED__
1102#define __IFileDialog2_FWD_DEFINED__
1103typedef interface IFileDialog2 IFileDialog2;
1104#ifdef __cplusplus
1105interface IFileDialog2;
1106#endif /* __cplusplus */
1107#endif
1108
1109#ifndef __IApplicationAssociationRegistration_FWD_DEFINED__
1110#define __IApplicationAssociationRegistration_FWD_DEFINED__
1111typedef interface IApplicationAssociationRegistration IApplicationAssociationRegistration;
1112#ifdef __cplusplus
1113interface IApplicationAssociationRegistration;
1114#endif /* __cplusplus */
1115#endif
1116
1117#ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__
1118#define __IApplicationAssociationRegistrationUI_FWD_DEFINED__
1119typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI;
1120#ifdef __cplusplus
1121interface IApplicationAssociationRegistrationUI;
1122#endif /* __cplusplus */
1123#endif
1124
1125#ifndef __IDelegateFolder_FWD_DEFINED__
1126#define __IDelegateFolder_FWD_DEFINED__
1127typedef interface IDelegateFolder IDelegateFolder;
1128#ifdef __cplusplus
1129interface IDelegateFolder;
1130#endif /* __cplusplus */
1131#endif
1132
1133#ifndef __IBrowserFrameOptions_FWD_DEFINED__
1134#define __IBrowserFrameOptions_FWD_DEFINED__
1135typedef interface IBrowserFrameOptions IBrowserFrameOptions;
1136#ifdef __cplusplus
1137interface IBrowserFrameOptions;
1138#endif /* __cplusplus */
1139#endif
1140
1141#ifndef __INewWindowManager_FWD_DEFINED__
1142#define __INewWindowManager_FWD_DEFINED__
1143typedef interface INewWindowManager INewWindowManager;
1144#ifdef __cplusplus
1145interface INewWindowManager;
1146#endif /* __cplusplus */
1147#endif
1148
1149#ifndef __IAttachmentExecute_FWD_DEFINED__
1150#define __IAttachmentExecute_FWD_DEFINED__
1151typedef interface IAttachmentExecute IAttachmentExecute;
1152#ifdef __cplusplus
1153interface IAttachmentExecute;
1154#endif /* __cplusplus */
1155#endif
1156
1157#ifndef __IShellMenuCallback_FWD_DEFINED__
1158#define __IShellMenuCallback_FWD_DEFINED__
1159typedef interface IShellMenuCallback IShellMenuCallback;
1160#ifdef __cplusplus
1161interface IShellMenuCallback;
1162#endif /* __cplusplus */
1163#endif
1164
1165#ifndef __IShellMenu_FWD_DEFINED__
1166#define __IShellMenu_FWD_DEFINED__
1167typedef interface IShellMenu IShellMenu;
1168#ifdef __cplusplus
1169interface IShellMenu;
1170#endif /* __cplusplus */
1171#endif
1172
1173#ifndef __IShellRunDll_FWD_DEFINED__
1174#define __IShellRunDll_FWD_DEFINED__
1175typedef interface IShellRunDll IShellRunDll;
1176#ifdef __cplusplus
1177interface IShellRunDll;
1178#endif /* __cplusplus */
1179#endif
1180
1181#ifndef __IKnownFolder_FWD_DEFINED__
1182#define __IKnownFolder_FWD_DEFINED__
1183typedef interface IKnownFolder IKnownFolder;
1184#ifdef __cplusplus
1185interface IKnownFolder;
1186#endif /* __cplusplus */
1187#endif
1188
1189#ifndef __IKnownFolderManager_FWD_DEFINED__
1190#define __IKnownFolderManager_FWD_DEFINED__
1191typedef interface IKnownFolderManager IKnownFolderManager;
1192#ifdef __cplusplus
1193interface IKnownFolderManager;
1194#endif /* __cplusplus */
1195#endif
1196
1197#ifndef __ISharingConfigurationManager_FWD_DEFINED__
1198#define __ISharingConfigurationManager_FWD_DEFINED__
1199typedef interface ISharingConfigurationManager ISharingConfigurationManager;
1200#ifdef __cplusplus
1201interface ISharingConfigurationManager;
1202#endif /* __cplusplus */
1203#endif
1204
1205#ifndef __IPreviousVersionsInfo_FWD_DEFINED__
1206#define __IPreviousVersionsInfo_FWD_DEFINED__
1207typedef interface IPreviousVersionsInfo IPreviousVersionsInfo;
1208#ifdef __cplusplus
1209interface IPreviousVersionsInfo;
1210#endif /* __cplusplus */
1211#endif
1212
1213#ifndef __IRelatedItem_FWD_DEFINED__
1214#define __IRelatedItem_FWD_DEFINED__
1215typedef interface IRelatedItem IRelatedItem;
1216#ifdef __cplusplus
1217interface IRelatedItem;
1218#endif /* __cplusplus */
1219#endif
1220
1221#ifndef __IIdentityName_FWD_DEFINED__
1222#define __IIdentityName_FWD_DEFINED__
1223typedef interface IIdentityName IIdentityName;
1224#ifdef __cplusplus
1225interface IIdentityName;
1226#endif /* __cplusplus */
1227#endif
1228
1229#ifndef __IDelegateItem_FWD_DEFINED__
1230#define __IDelegateItem_FWD_DEFINED__
1231typedef interface IDelegateItem IDelegateItem;
1232#ifdef __cplusplus
1233interface IDelegateItem;
1234#endif /* __cplusplus */
1235#endif
1236
1237#ifndef __ICurrentItem_FWD_DEFINED__
1238#define __ICurrentItem_FWD_DEFINED__
1239typedef interface ICurrentItem ICurrentItem;
1240#ifdef __cplusplus
1241interface ICurrentItem;
1242#endif /* __cplusplus */
1243#endif
1244
1245#ifndef __ITransferMediumItem_FWD_DEFINED__
1246#define __ITransferMediumItem_FWD_DEFINED__
1247typedef interface ITransferMediumItem ITransferMediumItem;
1248#ifdef __cplusplus
1249interface ITransferMediumItem;
1250#endif /* __cplusplus */
1251#endif
1252
1253#ifndef __IUseToBrowseItem_FWD_DEFINED__
1254#define __IUseToBrowseItem_FWD_DEFINED__
1255typedef interface IUseToBrowseItem IUseToBrowseItem;
1256#ifdef __cplusplus
1257interface IUseToBrowseItem;
1258#endif /* __cplusplus */
1259#endif
1260
1261#ifndef __IDisplayItem_FWD_DEFINED__
1262#define __IDisplayItem_FWD_DEFINED__
1263typedef interface IDisplayItem IDisplayItem;
1264#ifdef __cplusplus
1265interface IDisplayItem;
1266#endif /* __cplusplus */
1267#endif
1268
1269#ifndef __IViewStateIdentityItem_FWD_DEFINED__
1270#define __IViewStateIdentityItem_FWD_DEFINED__
1271typedef interface IViewStateIdentityItem IViewStateIdentityItem;
1272#ifdef __cplusplus
1273interface IViewStateIdentityItem;
1274#endif /* __cplusplus */
1275#endif
1276
1277#ifndef __IPreviewItem_FWD_DEFINED__
1278#define __IPreviewItem_FWD_DEFINED__
1279typedef interface IPreviewItem IPreviewItem;
1280#ifdef __cplusplus
1281interface IPreviewItem;
1282#endif /* __cplusplus */
1283#endif
1284
1285#ifndef __IDestinationStreamFactory_FWD_DEFINED__
1286#define __IDestinationStreamFactory_FWD_DEFINED__
1287typedef interface IDestinationStreamFactory IDestinationStreamFactory;
1288#ifdef __cplusplus
1289interface IDestinationStreamFactory;
1290#endif /* __cplusplus */
1291#endif
1292
1293#ifndef __INewMenuClient_FWD_DEFINED__
1294#define __INewMenuClient_FWD_DEFINED__
1295typedef interface INewMenuClient INewMenuClient;
1296#ifdef __cplusplus
1297interface INewMenuClient;
1298#endif /* __cplusplus */
1299#endif
1300
1301#ifndef __IInitializeWithBindCtx_FWD_DEFINED__
1302#define __IInitializeWithBindCtx_FWD_DEFINED__
1303typedef interface IInitializeWithBindCtx IInitializeWithBindCtx;
1304#ifdef __cplusplus
1305interface IInitializeWithBindCtx;
1306#endif /* __cplusplus */
1307#endif
1308
1309#ifndef __IShellItemFilter_FWD_DEFINED__
1310#define __IShellItemFilter_FWD_DEFINED__
1311typedef interface IShellItemFilter IShellItemFilter;
1312#ifdef __cplusplus
1313interface IShellItemFilter;
1314#endif /* __cplusplus */
1315#endif
1316
1317#ifndef __INameSpaceTreeControl_FWD_DEFINED__
1318#define __INameSpaceTreeControl_FWD_DEFINED__
1319typedef interface INameSpaceTreeControl INameSpaceTreeControl;
1320#ifdef __cplusplus
1321interface INameSpaceTreeControl;
1322#endif /* __cplusplus */
1323#endif
1324
1325#ifndef __INameSpaceTreeControl2_FWD_DEFINED__
1326#define __INameSpaceTreeControl2_FWD_DEFINED__
1327typedef interface INameSpaceTreeControl2 INameSpaceTreeControl2;
1328#ifdef __cplusplus
1329interface INameSpaceTreeControl2;
1330#endif /* __cplusplus */
1331#endif
1332
1333#ifndef __INameSpaceTreeControlEvents_FWD_DEFINED__
1334#define __INameSpaceTreeControlEvents_FWD_DEFINED__
1335typedef interface INameSpaceTreeControlEvents INameSpaceTreeControlEvents;
1336#ifdef __cplusplus
1337interface INameSpaceTreeControlEvents;
1338#endif /* __cplusplus */
1339#endif
1340
1341#ifndef __INameSpaceTreeControlDropHandler_FWD_DEFINED__
1342#define __INameSpaceTreeControlDropHandler_FWD_DEFINED__
1343typedef interface INameSpaceTreeControlDropHandler INameSpaceTreeControlDropHandler;
1344#ifdef __cplusplus
1345interface INameSpaceTreeControlDropHandler;
1346#endif /* __cplusplus */
1347#endif
1348
1349#ifndef __INameSpaceTreeAccessible_FWD_DEFINED__
1350#define __INameSpaceTreeAccessible_FWD_DEFINED__
1351typedef interface INameSpaceTreeAccessible INameSpaceTreeAccessible;
1352#ifdef __cplusplus
1353interface INameSpaceTreeAccessible;
1354#endif /* __cplusplus */
1355#endif
1356
1357#ifndef __INameSpaceTreeControlCustomDraw_FWD_DEFINED__
1358#define __INameSpaceTreeControlCustomDraw_FWD_DEFINED__
1359typedef interface INameSpaceTreeControlCustomDraw INameSpaceTreeControlCustomDraw;
1360#ifdef __cplusplus
1361interface INameSpaceTreeControlCustomDraw;
1362#endif /* __cplusplus */
1363#endif
1364
1365#ifndef __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__
1366#define __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__
1367typedef interface INameSpaceTreeControlFolderCapabilities INameSpaceTreeControlFolderCapabilities;
1368#ifdef __cplusplus
1369interface INameSpaceTreeControlFolderCapabilities;
1370#endif /* __cplusplus */
1371#endif
1372
1373#ifndef __IPreviewHandler_FWD_DEFINED__
1374#define __IPreviewHandler_FWD_DEFINED__
1375typedef interface IPreviewHandler IPreviewHandler;
1376#ifdef __cplusplus
1377interface IPreviewHandler;
1378#endif /* __cplusplus */
1379#endif
1380
1381#ifndef __IPreviewHandlerFrame_FWD_DEFINED__
1382#define __IPreviewHandlerFrame_FWD_DEFINED__
1383typedef interface IPreviewHandlerFrame IPreviewHandlerFrame;
1384#ifdef __cplusplus
1385interface IPreviewHandlerFrame;
1386#endif /* __cplusplus */
1387#endif
1388
1389#ifndef __ITrayDeskBand_FWD_DEFINED__
1390#define __ITrayDeskBand_FWD_DEFINED__
1391typedef interface ITrayDeskBand ITrayDeskBand;
1392#ifdef __cplusplus
1393interface ITrayDeskBand;
1394#endif /* __cplusplus */
1395#endif
1396
1397#ifndef __IBandHost_FWD_DEFINED__
1398#define __IBandHost_FWD_DEFINED__
1399typedef interface IBandHost IBandHost;
1400#ifdef __cplusplus
1401interface IBandHost;
1402#endif /* __cplusplus */
1403#endif
1404
1405#ifndef __IExplorerPaneVisibility_FWD_DEFINED__
1406#define __IExplorerPaneVisibility_FWD_DEFINED__
1407typedef interface IExplorerPaneVisibility IExplorerPaneVisibility;
1408#ifdef __cplusplus
1409interface IExplorerPaneVisibility;
1410#endif /* __cplusplus */
1411#endif
1412
1413#ifndef __IContextMenuCB_FWD_DEFINED__
1414#define __IContextMenuCB_FWD_DEFINED__
1415typedef interface IContextMenuCB IContextMenuCB;
1416#ifdef __cplusplus
1417interface IContextMenuCB;
1418#endif /* __cplusplus */
1419#endif
1420
1421#ifndef __IDefaultExtractIconInit_FWD_DEFINED__
1422#define __IDefaultExtractIconInit_FWD_DEFINED__
1423typedef interface IDefaultExtractIconInit IDefaultExtractIconInit;
1424#ifdef __cplusplus
1425interface IDefaultExtractIconInit;
1426#endif /* __cplusplus */
1427#endif
1428
1429#ifndef __IExplorerCommand_FWD_DEFINED__
1430#define __IExplorerCommand_FWD_DEFINED__
1431typedef interface IExplorerCommand IExplorerCommand;
1432#ifdef __cplusplus
1433interface IExplorerCommand;
1434#endif /* __cplusplus */
1435#endif
1436
1437#ifndef __IExplorerCommandState_FWD_DEFINED__
1438#define __IExplorerCommandState_FWD_DEFINED__
1439typedef interface IExplorerCommandState IExplorerCommandState;
1440#ifdef __cplusplus
1441interface IExplorerCommandState;
1442#endif /* __cplusplus */
1443#endif
1444
1445#ifndef __IInitializeCommand_FWD_DEFINED__
1446#define __IInitializeCommand_FWD_DEFINED__
1447typedef interface IInitializeCommand IInitializeCommand;
1448#ifdef __cplusplus
1449interface IInitializeCommand;
1450#endif /* __cplusplus */
1451#endif
1452
1453#ifndef __IEnumExplorerCommand_FWD_DEFINED__
1454#define __IEnumExplorerCommand_FWD_DEFINED__
1455typedef interface IEnumExplorerCommand IEnumExplorerCommand;
1456#ifdef __cplusplus
1457interface IEnumExplorerCommand;
1458#endif /* __cplusplus */
1459#endif
1460
1461#ifndef __IExplorerCommandProvider_FWD_DEFINED__
1462#define __IExplorerCommandProvider_FWD_DEFINED__
1463typedef interface IExplorerCommandProvider IExplorerCommandProvider;
1464#ifdef __cplusplus
1465interface IExplorerCommandProvider;
1466#endif /* __cplusplus */
1467#endif
1468
1469#ifndef __IInitializeNetworkFolder_FWD_DEFINED__
1470#define __IInitializeNetworkFolder_FWD_DEFINED__
1471typedef interface IInitializeNetworkFolder IInitializeNetworkFolder;
1472#ifdef __cplusplus
1473interface IInitializeNetworkFolder;
1474#endif /* __cplusplus */
1475#endif
1476
1477#ifndef __IOpenControlPanel_FWD_DEFINED__
1478#define __IOpenControlPanel_FWD_DEFINED__
1479typedef interface IOpenControlPanel IOpenControlPanel;
1480#ifdef __cplusplus
1481interface IOpenControlPanel;
1482#endif /* __cplusplus */
1483#endif
1484
1485#ifndef __IComputerInfoChangeNotify_FWD_DEFINED__
1486#define __IComputerInfoChangeNotify_FWD_DEFINED__
1487typedef interface IComputerInfoChangeNotify IComputerInfoChangeNotify;
1488#ifdef __cplusplus
1489interface IComputerInfoChangeNotify;
1490#endif /* __cplusplus */
1491#endif
1492
1493#ifndef __IFileSystemBindData_FWD_DEFINED__
1494#define __IFileSystemBindData_FWD_DEFINED__
1495typedef interface IFileSystemBindData IFileSystemBindData;
1496#ifdef __cplusplus
1497interface IFileSystemBindData;
1498#endif /* __cplusplus */
1499#endif
1500
1501#ifndef __IFileSystemBindData2_FWD_DEFINED__
1502#define __IFileSystemBindData2_FWD_DEFINED__
1503typedef interface IFileSystemBindData2 IFileSystemBindData2;
1504#ifdef __cplusplus
1505interface IFileSystemBindData2;
1506#endif /* __cplusplus */
1507#endif
1508
1509#ifndef __ICustomDestinationList_FWD_DEFINED__
1510#define __ICustomDestinationList_FWD_DEFINED__
1511typedef interface ICustomDestinationList ICustomDestinationList;
1512#ifdef __cplusplus
1513interface ICustomDestinationList;
1514#endif /* __cplusplus */
1515#endif
1516
1517#ifndef __IApplicationDestinations_FWD_DEFINED__
1518#define __IApplicationDestinations_FWD_DEFINED__
1519typedef interface IApplicationDestinations IApplicationDestinations;
1520#ifdef __cplusplus
1521interface IApplicationDestinations;
1522#endif /* __cplusplus */
1523#endif
1524
1525#ifndef __IApplicationDocumentLists_FWD_DEFINED__
1526#define __IApplicationDocumentLists_FWD_DEFINED__
1527typedef interface IApplicationDocumentLists IApplicationDocumentLists;
1528#ifdef __cplusplus
1529interface IApplicationDocumentLists;
1530#endif /* __cplusplus */
1531#endif
1532
1533#ifndef __IObjectWithAppUserModelID_FWD_DEFINED__
1534#define __IObjectWithAppUserModelID_FWD_DEFINED__
1535typedef interface IObjectWithAppUserModelID IObjectWithAppUserModelID;
1536#ifdef __cplusplus
1537interface IObjectWithAppUserModelID;
1538#endif /* __cplusplus */
1539#endif
1540
1541#ifndef __IObjectWithProgID_FWD_DEFINED__
1542#define __IObjectWithProgID_FWD_DEFINED__
1543typedef interface IObjectWithProgID IObjectWithProgID;
1544#ifdef __cplusplus
1545interface IObjectWithProgID;
1546#endif /* __cplusplus */
1547#endif
1548
1549#ifndef __IUpdateIDList_FWD_DEFINED__
1550#define __IUpdateIDList_FWD_DEFINED__
1551typedef interface IUpdateIDList IUpdateIDList;
1552#ifdef __cplusplus
1553interface IUpdateIDList;
1554#endif /* __cplusplus */
1555#endif
1556
1557#ifndef __IDesktopGadget_FWD_DEFINED__
1558#define __IDesktopGadget_FWD_DEFINED__
1559typedef interface IDesktopGadget IDesktopGadget;
1560#ifdef __cplusplus
1561interface IDesktopGadget;
1562#endif /* __cplusplus */
1563#endif
1564
1565#ifndef __IVirtualDesktopManager_FWD_DEFINED__
1566#define __IVirtualDesktopManager_FWD_DEFINED__
1567typedef interface IVirtualDesktopManager IVirtualDesktopManager;
1568#ifdef __cplusplus
1569interface IVirtualDesktopManager;
1570#endif /* __cplusplus */
1571#endif
1572
1573#ifndef __IDesktopWallpaper_FWD_DEFINED__
1574#define __IDesktopWallpaper_FWD_DEFINED__
1575typedef interface IDesktopWallpaper IDesktopWallpaper;
1576#ifdef __cplusplus
1577interface IDesktopWallpaper;
1578#endif /* __cplusplus */
1579#endif
1580
1581#ifndef __IHomeGroup_FWD_DEFINED__
1582#define __IHomeGroup_FWD_DEFINED__
1583typedef interface IHomeGroup IHomeGroup;
1584#ifdef __cplusplus
1585interface IHomeGroup;
1586#endif /* __cplusplus */
1587#endif
1588
1589#ifndef __IInitializeWithPropertyStore_FWD_DEFINED__
1590#define __IInitializeWithPropertyStore_FWD_DEFINED__
1591typedef interface IInitializeWithPropertyStore IInitializeWithPropertyStore;
1592#ifdef __cplusplus
1593interface IInitializeWithPropertyStore;
1594#endif /* __cplusplus */
1595#endif
1596
1597#ifndef __IOpenSearchSource_FWD_DEFINED__
1598#define __IOpenSearchSource_FWD_DEFINED__
1599typedef interface IOpenSearchSource IOpenSearchSource;
1600#ifdef __cplusplus
1601interface IOpenSearchSource;
1602#endif /* __cplusplus */
1603#endif
1604
1605#ifndef __IShellLibrary_FWD_DEFINED__
1606#define __IShellLibrary_FWD_DEFINED__
1607typedef interface IShellLibrary IShellLibrary;
1608#ifdef __cplusplus
1609interface IShellLibrary;
1610#endif /* __cplusplus */
1611#endif
1612
1613#ifndef __IPlaybackManagerEvents_FWD_DEFINED__
1614#define __IPlaybackManagerEvents_FWD_DEFINED__
1615typedef interface IPlaybackManagerEvents IPlaybackManagerEvents;
1616#ifdef __cplusplus
1617interface IPlaybackManagerEvents;
1618#endif /* __cplusplus */
1619#endif
1620
1621#ifndef __IPlaybackManager_FWD_DEFINED__
1622#define __IPlaybackManager_FWD_DEFINED__
1623typedef interface IPlaybackManager IPlaybackManager;
1624#ifdef __cplusplus
1625interface IPlaybackManager;
1626#endif /* __cplusplus */
1627#endif
1628
1629#ifndef __IDefaultFolderMenuInitialize_FWD_DEFINED__
1630#define __IDefaultFolderMenuInitialize_FWD_DEFINED__
1631typedef interface IDefaultFolderMenuInitialize IDefaultFolderMenuInitialize;
1632#ifdef __cplusplus
1633interface IDefaultFolderMenuInitialize;
1634#endif /* __cplusplus */
1635#endif
1636
1637#ifndef __IApplicationActivationManager_FWD_DEFINED__
1638#define __IApplicationActivationManager_FWD_DEFINED__
1639typedef interface IApplicationActivationManager IApplicationActivationManager;
1640#ifdef __cplusplus
1641interface IApplicationActivationManager;
1642#endif /* __cplusplus */
1643#endif
1644
1645#ifndef __DesktopWallpaper_FWD_DEFINED__
1646#define __DesktopWallpaper_FWD_DEFINED__
1647#ifdef __cplusplus
1648typedef class DesktopWallpaper DesktopWallpaper;
1649#else
1650typedef struct DesktopWallpaper DesktopWallpaper;
1651#endif /* defined __cplusplus */
1652#endif /* defined __DesktopWallpaper_FWD_DEFINED__ */
1653
1654#ifndef __ShellDesktop_FWD_DEFINED__
1655#define __ShellDesktop_FWD_DEFINED__
1656#ifdef __cplusplus
1657typedef class ShellDesktop ShellDesktop;
1658#else
1659typedef struct ShellDesktop ShellDesktop;
1660#endif /* defined __cplusplus */
1661#endif /* defined __ShellDesktop_FWD_DEFINED__ */
1662
1663#ifndef __ShellFSFolder_FWD_DEFINED__
1664#define __ShellFSFolder_FWD_DEFINED__
1665#ifdef __cplusplus
1666typedef class ShellFSFolder ShellFSFolder;
1667#else
1668typedef struct ShellFSFolder ShellFSFolder;
1669#endif /* defined __cplusplus */
1670#endif /* defined __ShellFSFolder_FWD_DEFINED__ */
1671
1672#ifndef __NetworkPlaces_FWD_DEFINED__
1673#define __NetworkPlaces_FWD_DEFINED__
1674#ifdef __cplusplus
1675typedef class NetworkPlaces NetworkPlaces;
1676#else
1677typedef struct NetworkPlaces NetworkPlaces;
1678#endif /* defined __cplusplus */
1679#endif /* defined __NetworkPlaces_FWD_DEFINED__ */
1680
1681#ifndef __ShellLink_FWD_DEFINED__
1682#define __ShellLink_FWD_DEFINED__
1683#ifdef __cplusplus
1684typedef class ShellLink ShellLink;
1685#else
1686typedef struct ShellLink ShellLink;
1687#endif /* defined __cplusplus */
1688#endif /* defined __ShellLink_FWD_DEFINED__ */
1689
1690#ifndef __QueryCancelAutoPlay_FWD_DEFINED__
1691#define __QueryCancelAutoPlay_FWD_DEFINED__
1692#ifdef __cplusplus
1693typedef class QueryCancelAutoPlay QueryCancelAutoPlay;
1694#else
1695typedef struct QueryCancelAutoPlay QueryCancelAutoPlay;
1696#endif /* defined __cplusplus */
1697#endif /* defined __QueryCancelAutoPlay_FWD_DEFINED__ */
1698
1699#ifndef __DriveSizeCategorizer_FWD_DEFINED__
1700#define __DriveSizeCategorizer_FWD_DEFINED__
1701#ifdef __cplusplus
1702typedef class DriveSizeCategorizer DriveSizeCategorizer;
1703#else
1704typedef struct DriveSizeCategorizer DriveSizeCategorizer;
1705#endif /* defined __cplusplus */
1706#endif /* defined __DriveSizeCategorizer_FWD_DEFINED__ */
1707
1708#ifndef __DriveTypeCategorizer_FWD_DEFINED__
1709#define __DriveTypeCategorizer_FWD_DEFINED__
1710#ifdef __cplusplus
1711typedef class DriveTypeCategorizer DriveTypeCategorizer;
1712#else
1713typedef struct DriveTypeCategorizer DriveTypeCategorizer;
1714#endif /* defined __cplusplus */
1715#endif /* defined __DriveTypeCategorizer_FWD_DEFINED__ */
1716
1717#ifndef __FreeSpaceCategorizer_FWD_DEFINED__
1718#define __FreeSpaceCategorizer_FWD_DEFINED__
1719#ifdef __cplusplus
1720typedef class FreeSpaceCategorizer FreeSpaceCategorizer;
1721#else
1722typedef struct FreeSpaceCategorizer FreeSpaceCategorizer;
1723#endif /* defined __cplusplus */
1724#endif /* defined __FreeSpaceCategorizer_FWD_DEFINED__ */
1725
1726#ifndef __TimeCategorizer_FWD_DEFINED__
1727#define __TimeCategorizer_FWD_DEFINED__
1728#ifdef __cplusplus
1729typedef class TimeCategorizer TimeCategorizer;
1730#else
1731typedef struct TimeCategorizer TimeCategorizer;
1732#endif /* defined __cplusplus */
1733#endif /* defined __TimeCategorizer_FWD_DEFINED__ */
1734
1735#ifndef __SizeCategorizer_FWD_DEFINED__
1736#define __SizeCategorizer_FWD_DEFINED__
1737#ifdef __cplusplus
1738typedef class SizeCategorizer SizeCategorizer;
1739#else
1740typedef struct SizeCategorizer SizeCategorizer;
1741#endif /* defined __cplusplus */
1742#endif /* defined __SizeCategorizer_FWD_DEFINED__ */
1743
1744#ifndef __AlphabeticalCategorizer_FWD_DEFINED__
1745#define __AlphabeticalCategorizer_FWD_DEFINED__
1746#ifdef __cplusplus
1747typedef class AlphabeticalCategorizer AlphabeticalCategorizer;
1748#else
1749typedef struct AlphabeticalCategorizer AlphabeticalCategorizer;
1750#endif /* defined __cplusplus */
1751#endif /* defined __AlphabeticalCategorizer_FWD_DEFINED__ */
1752
1753#ifndef __MergedCategorizer_FWD_DEFINED__
1754#define __MergedCategorizer_FWD_DEFINED__
1755#ifdef __cplusplus
1756typedef class MergedCategorizer MergedCategorizer;
1757#else
1758typedef struct MergedCategorizer MergedCategorizer;
1759#endif /* defined __cplusplus */
1760#endif /* defined __MergedCategorizer_FWD_DEFINED__ */
1761
1762#ifndef __ImageProperties_FWD_DEFINED__
1763#define __ImageProperties_FWD_DEFINED__
1764#ifdef __cplusplus
1765typedef class ImageProperties ImageProperties;
1766#else
1767typedef struct ImageProperties ImageProperties;
1768#endif /* defined __cplusplus */
1769#endif /* defined __ImageProperties_FWD_DEFINED__ */
1770
1771#ifndef __PropertiesUI_FWD_DEFINED__
1772#define __PropertiesUI_FWD_DEFINED__
1773#ifdef __cplusplus
1774typedef class PropertiesUI PropertiesUI;
1775#else
1776typedef struct PropertiesUI PropertiesUI;
1777#endif /* defined __cplusplus */
1778#endif /* defined __PropertiesUI_FWD_DEFINED__ */
1779
1780#ifndef __UserNotification_FWD_DEFINED__
1781#define __UserNotification_FWD_DEFINED__
1782#ifdef __cplusplus
1783typedef class UserNotification UserNotification;
1784#else
1785typedef struct UserNotification UserNotification;
1786#endif /* defined __cplusplus */
1787#endif /* defined __UserNotification_FWD_DEFINED__ */
1788
1789#ifndef __CDBurn_FWD_DEFINED__
1790#define __CDBurn_FWD_DEFINED__
1791#ifdef __cplusplus
1792typedef class CDBurn CDBurn;
1793#else
1794typedef struct CDBurn CDBurn;
1795#endif /* defined __cplusplus */
1796#endif /* defined __CDBurn_FWD_DEFINED__ */
1797
1798#ifndef __TaskbarList_FWD_DEFINED__
1799#define __TaskbarList_FWD_DEFINED__
1800#ifdef __cplusplus
1801typedef class TaskbarList TaskbarList;
1802#else
1803typedef struct TaskbarList TaskbarList;
1804#endif /* defined __cplusplus */
1805#endif /* defined __TaskbarList_FWD_DEFINED__ */
1806
1807#ifndef __StartMenuPin_FWD_DEFINED__
1808#define __StartMenuPin_FWD_DEFINED__
1809#ifdef __cplusplus
1810typedef class StartMenuPin StartMenuPin;
1811#else
1812typedef struct StartMenuPin StartMenuPin;
1813#endif /* defined __cplusplus */
1814#endif /* defined __StartMenuPin_FWD_DEFINED__ */
1815
1816#ifndef __WebWizardHost_FWD_DEFINED__
1817#define __WebWizardHost_FWD_DEFINED__
1818#ifdef __cplusplus
1819typedef class WebWizardHost WebWizardHost;
1820#else
1821typedef struct WebWizardHost WebWizardHost;
1822#endif /* defined __cplusplus */
1823#endif /* defined __WebWizardHost_FWD_DEFINED__ */
1824
1825#ifndef __PublishDropTarget_FWD_DEFINED__
1826#define __PublishDropTarget_FWD_DEFINED__
1827#ifdef __cplusplus
1828typedef class PublishDropTarget PublishDropTarget;
1829#else
1830typedef struct PublishDropTarget PublishDropTarget;
1831#endif /* defined __cplusplus */
1832#endif /* defined __PublishDropTarget_FWD_DEFINED__ */
1833
1834#ifndef __PublishingWizard_FWD_DEFINED__
1835#define __PublishingWizard_FWD_DEFINED__
1836#ifdef __cplusplus
1837typedef class PublishingWizard PublishingWizard;
1838#else
1839typedef struct PublishingWizard PublishingWizard;
1840#endif /* defined __cplusplus */
1841#endif /* defined __PublishingWizard_FWD_DEFINED__ */
1842
1843#ifndef __InternetPrintOrdering_FWD_DEFINED__
1844#define __InternetPrintOrdering_FWD_DEFINED__
1845#ifdef __cplusplus
1846typedef class InternetPrintOrdering InternetPrintOrdering;
1847#else
1848typedef struct InternetPrintOrdering InternetPrintOrdering;
1849#endif /* defined __cplusplus */
1850#endif /* defined __InternetPrintOrdering_FWD_DEFINED__ */
1851
1852#ifndef __FolderViewHost_FWD_DEFINED__
1853#define __FolderViewHost_FWD_DEFINED__
1854#ifdef __cplusplus
1855typedef class FolderViewHost FolderViewHost;
1856#else
1857typedef struct FolderViewHost FolderViewHost;
1858#endif /* defined __cplusplus */
1859#endif /* defined __FolderViewHost_FWD_DEFINED__ */
1860
1861#ifndef __ExplorerBrowser_FWD_DEFINED__
1862#define __ExplorerBrowser_FWD_DEFINED__
1863#ifdef __cplusplus
1864typedef class ExplorerBrowser ExplorerBrowser;
1865#else
1866typedef struct ExplorerBrowser ExplorerBrowser;
1867#endif /* defined __cplusplus */
1868#endif /* defined __ExplorerBrowser_FWD_DEFINED__ */
1869
1870#ifndef __ImageRecompress_FWD_DEFINED__
1871#define __ImageRecompress_FWD_DEFINED__
1872#ifdef __cplusplus
1873typedef class ImageRecompress ImageRecompress;
1874#else
1875typedef struct ImageRecompress ImageRecompress;
1876#endif /* defined __cplusplus */
1877#endif /* defined __ImageRecompress_FWD_DEFINED__ */
1878
1879#ifndef __TrayBandSiteService_FWD_DEFINED__
1880#define __TrayBandSiteService_FWD_DEFINED__
1881#ifdef __cplusplus
1882typedef class TrayBandSiteService TrayBandSiteService;
1883#else
1884typedef struct TrayBandSiteService TrayBandSiteService;
1885#endif /* defined __cplusplus */
1886#endif /* defined __TrayBandSiteService_FWD_DEFINED__ */
1887
1888#ifndef __TrayDeskBand_FWD_DEFINED__
1889#define __TrayDeskBand_FWD_DEFINED__
1890#ifdef __cplusplus
1891typedef class TrayDeskBand TrayDeskBand;
1892#else
1893typedef struct TrayDeskBand TrayDeskBand;
1894#endif /* defined __cplusplus */
1895#endif /* defined __TrayDeskBand_FWD_DEFINED__ */
1896
1897#ifndef __AttachmentServices_FWD_DEFINED__
1898#define __AttachmentServices_FWD_DEFINED__
1899#ifdef __cplusplus
1900typedef class AttachmentServices AttachmentServices;
1901#else
1902typedef struct AttachmentServices AttachmentServices;
1903#endif /* defined __cplusplus */
1904#endif /* defined __AttachmentServices_FWD_DEFINED__ */
1905
1906#ifndef __DocPropShellExtension_FWD_DEFINED__
1907#define __DocPropShellExtension_FWD_DEFINED__
1908#ifdef __cplusplus
1909typedef class DocPropShellExtension DocPropShellExtension;
1910#else
1911typedef struct DocPropShellExtension DocPropShellExtension;
1912#endif /* defined __cplusplus */
1913#endif /* defined __DocPropShellExtension_FWD_DEFINED__ */
1914
1915#ifndef __ShellItem_FWD_DEFINED__
1916#define __ShellItem_FWD_DEFINED__
1917#ifdef __cplusplus
1918typedef class ShellItem ShellItem;
1919#else
1920typedef struct ShellItem ShellItem;
1921#endif /* defined __cplusplus */
1922#endif /* defined __ShellItem_FWD_DEFINED__ */
1923
1924#ifndef __NamespaceWalker_FWD_DEFINED__
1925#define __NamespaceWalker_FWD_DEFINED__
1926#ifdef __cplusplus
1927typedef class NamespaceWalker NamespaceWalker;
1928#else
1929typedef struct NamespaceWalker NamespaceWalker;
1930#endif /* defined __cplusplus */
1931#endif /* defined __NamespaceWalker_FWD_DEFINED__ */
1932
1933#ifndef __FileOperation_FWD_DEFINED__
1934#define __FileOperation_FWD_DEFINED__
1935#ifdef __cplusplus
1936typedef class FileOperation FileOperation;
1937#else
1938typedef struct FileOperation FileOperation;
1939#endif /* defined __cplusplus */
1940#endif /* defined __FileOperation_FWD_DEFINED__ */
1941
1942#ifndef __FileOpenDialog_FWD_DEFINED__
1943#define __FileOpenDialog_FWD_DEFINED__
1944#ifdef __cplusplus
1945typedef class FileOpenDialog FileOpenDialog;
1946#else
1947typedef struct FileOpenDialog FileOpenDialog;
1948#endif /* defined __cplusplus */
1949#endif /* defined __FileOpenDialog_FWD_DEFINED__ */
1950
1951#ifndef __FileSaveDialog_FWD_DEFINED__
1952#define __FileSaveDialog_FWD_DEFINED__
1953#ifdef __cplusplus
1954typedef class FileSaveDialog FileSaveDialog;
1955#else
1956typedef struct FileSaveDialog FileSaveDialog;
1957#endif /* defined __cplusplus */
1958#endif /* defined __FileSaveDialog_FWD_DEFINED__ */
1959
1960#ifndef __KnownFolderManager_FWD_DEFINED__
1961#define __KnownFolderManager_FWD_DEFINED__
1962#ifdef __cplusplus
1963typedef class KnownFolderManager KnownFolderManager;
1964#else
1965typedef struct KnownFolderManager KnownFolderManager;
1966#endif /* defined __cplusplus */
1967#endif /* defined __KnownFolderManager_FWD_DEFINED__ */
1968
1969#ifndef __FSCopyHandler_FWD_DEFINED__
1970#define __FSCopyHandler_FWD_DEFINED__
1971#ifdef __cplusplus
1972typedef class FSCopyHandler FSCopyHandler;
1973#else
1974typedef struct FSCopyHandler FSCopyHandler;
1975#endif /* defined __cplusplus */
1976#endif /* defined __FSCopyHandler_FWD_DEFINED__ */
1977
1978#ifndef __SharingConfigurationManager_FWD_DEFINED__
1979#define __SharingConfigurationManager_FWD_DEFINED__
1980#ifdef __cplusplus
1981typedef class SharingConfigurationManager SharingConfigurationManager;
1982#else
1983typedef struct SharingConfigurationManager SharingConfigurationManager;
1984#endif /* defined __cplusplus */
1985#endif /* defined __SharingConfigurationManager_FWD_DEFINED__ */
1986
1987#ifndef __PreviousVersions_FWD_DEFINED__
1988#define __PreviousVersions_FWD_DEFINED__
1989#ifdef __cplusplus
1990typedef class PreviousVersions PreviousVersions;
1991#else
1992typedef struct PreviousVersions PreviousVersions;
1993#endif /* defined __cplusplus */
1994#endif /* defined __PreviousVersions_FWD_DEFINED__ */
1995
1996#ifndef __NetworkConnections_FWD_DEFINED__
1997#define __NetworkConnections_FWD_DEFINED__
1998#ifdef __cplusplus
1999typedef class NetworkConnections NetworkConnections;
2000#else
2001typedef struct NetworkConnections NetworkConnections;
2002#endif /* defined __cplusplus */
2003#endif /* defined __NetworkConnections_FWD_DEFINED__ */
2004
2005#ifndef __NamespaceTreeControl_FWD_DEFINED__
2006#define __NamespaceTreeControl_FWD_DEFINED__
2007#ifdef __cplusplus
2008typedef class NamespaceTreeControl NamespaceTreeControl;
2009#else
2010typedef struct NamespaceTreeControl NamespaceTreeControl;
2011#endif /* defined __cplusplus */
2012#endif /* defined __NamespaceTreeControl_FWD_DEFINED__ */
2013
2014#ifndef __IENamespaceTreeControl_FWD_DEFINED__
2015#define __IENamespaceTreeControl_FWD_DEFINED__
2016#ifdef __cplusplus
2017typedef class IENamespaceTreeControl IENamespaceTreeControl;
2018#else
2019typedef struct IENamespaceTreeControl IENamespaceTreeControl;
2020#endif /* defined __cplusplus */
2021#endif /* defined __IENamespaceTreeControl_FWD_DEFINED__ */
2022
2023#ifndef __ScheduledTasks_FWD_DEFINED__
2024#define __ScheduledTasks_FWD_DEFINED__
2025#ifdef __cplusplus
2026typedef class ScheduledTasks ScheduledTasks;
2027#else
2028typedef struct ScheduledTasks ScheduledTasks;
2029#endif /* defined __cplusplus */
2030#endif /* defined __ScheduledTasks_FWD_DEFINED__ */
2031
2032#ifndef __ApplicationAssociationRegistration_FWD_DEFINED__
2033#define __ApplicationAssociationRegistration_FWD_DEFINED__
2034#ifdef __cplusplus
2035typedef class ApplicationAssociationRegistration ApplicationAssociationRegistration;
2036#else
2037typedef struct ApplicationAssociationRegistration ApplicationAssociationRegistration;
2038#endif /* defined __cplusplus */
2039#endif /* defined __ApplicationAssociationRegistration_FWD_DEFINED__ */
2040
2041#ifndef __ApplicationAssociationRegistrationUI_FWD_DEFINED__
2042#define __ApplicationAssociationRegistrationUI_FWD_DEFINED__
2043#ifdef __cplusplus
2044typedef class ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI;
2045#else
2046typedef struct ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI;
2047#endif /* defined __cplusplus */
2048#endif /* defined __ApplicationAssociationRegistrationUI_FWD_DEFINED__ */
2049
2050#ifndef __SearchFolderItemFactory_FWD_DEFINED__
2051#define __SearchFolderItemFactory_FWD_DEFINED__
2052#ifdef __cplusplus
2053typedef class SearchFolderItemFactory SearchFolderItemFactory;
2054#else
2055typedef struct SearchFolderItemFactory SearchFolderItemFactory;
2056#endif /* defined __cplusplus */
2057#endif /* defined __SearchFolderItemFactory_FWD_DEFINED__ */
2058
2059#ifndef __OpenControlPanel_FWD_DEFINED__
2060#define __OpenControlPanel_FWD_DEFINED__
2061#ifdef __cplusplus
2062typedef class OpenControlPanel OpenControlPanel;
2063#else
2064typedef struct OpenControlPanel OpenControlPanel;
2065#endif /* defined __cplusplus */
2066#endif /* defined __OpenControlPanel_FWD_DEFINED__ */
2067
2068#ifndef __MailRecipient_FWD_DEFINED__
2069#define __MailRecipient_FWD_DEFINED__
2070#ifdef __cplusplus
2071typedef class MailRecipient MailRecipient;
2072#else
2073typedef struct MailRecipient MailRecipient;
2074#endif /* defined __cplusplus */
2075#endif /* defined __MailRecipient_FWD_DEFINED__ */
2076
2077#ifndef __NetworkExplorerFolder_FWD_DEFINED__
2078#define __NetworkExplorerFolder_FWD_DEFINED__
2079#ifdef __cplusplus
2080typedef class NetworkExplorerFolder NetworkExplorerFolder;
2081#else
2082typedef struct NetworkExplorerFolder NetworkExplorerFolder;
2083#endif /* defined __cplusplus */
2084#endif /* defined __NetworkExplorerFolder_FWD_DEFINED__ */
2085
2086#ifndef __DestinationList_FWD_DEFINED__
2087#define __DestinationList_FWD_DEFINED__
2088#ifdef __cplusplus
2089typedef class DestinationList DestinationList;
2090#else
2091typedef struct DestinationList DestinationList;
2092#endif /* defined __cplusplus */
2093#endif /* defined __DestinationList_FWD_DEFINED__ */
2094
2095#ifndef __ApplicationDestinations_FWD_DEFINED__
2096#define __ApplicationDestinations_FWD_DEFINED__
2097#ifdef __cplusplus
2098typedef class ApplicationDestinations ApplicationDestinations;
2099#else
2100typedef struct ApplicationDestinations ApplicationDestinations;
2101#endif /* defined __cplusplus */
2102#endif /* defined __ApplicationDestinations_FWD_DEFINED__ */
2103
2104#ifndef __ApplicationDocumentLists_FWD_DEFINED__
2105#define __ApplicationDocumentLists_FWD_DEFINED__
2106#ifdef __cplusplus
2107typedef class ApplicationDocumentLists ApplicationDocumentLists;
2108#else
2109typedef struct ApplicationDocumentLists ApplicationDocumentLists;
2110#endif /* defined __cplusplus */
2111#endif /* defined __ApplicationDocumentLists_FWD_DEFINED__ */
2112
2113#ifndef __HomeGroup_FWD_DEFINED__
2114#define __HomeGroup_FWD_DEFINED__
2115#ifdef __cplusplus
2116typedef class HomeGroup HomeGroup;
2117#else
2118typedef struct HomeGroup HomeGroup;
2119#endif /* defined __cplusplus */
2120#endif /* defined __HomeGroup_FWD_DEFINED__ */
2121
2122#ifndef __ShellLibrary_FWD_DEFINED__
2123#define __ShellLibrary_FWD_DEFINED__
2124#ifdef __cplusplus
2125typedef class ShellLibrary ShellLibrary;
2126#else
2127typedef struct ShellLibrary ShellLibrary;
2128#endif /* defined __cplusplus */
2129#endif /* defined __ShellLibrary_FWD_DEFINED__ */
2130
2131#ifndef __AppStartupLink_FWD_DEFINED__
2132#define __AppStartupLink_FWD_DEFINED__
2133#ifdef __cplusplus
2134typedef class AppStartupLink AppStartupLink;
2135#else
2136typedef struct AppStartupLink AppStartupLink;
2137#endif /* defined __cplusplus */
2138#endif /* defined __AppStartupLink_FWD_DEFINED__ */
2139
2140#ifndef __EnumerableObjectCollection_FWD_DEFINED__
2141#define __EnumerableObjectCollection_FWD_DEFINED__
2142#ifdef __cplusplus
2143typedef class EnumerableObjectCollection EnumerableObjectCollection;
2144#else
2145typedef struct EnumerableObjectCollection EnumerableObjectCollection;
2146#endif /* defined __cplusplus */
2147#endif /* defined __EnumerableObjectCollection_FWD_DEFINED__ */
2148
2149#ifndef __DesktopGadget_FWD_DEFINED__
2150#define __DesktopGadget_FWD_DEFINED__
2151#ifdef __cplusplus
2152typedef class DesktopGadget DesktopGadget;
2153#else
2154typedef struct DesktopGadget DesktopGadget;
2155#endif /* defined __cplusplus */
2156#endif /* defined __DesktopGadget_FWD_DEFINED__ */
2157
2158#ifndef __PlaybackManager_FWD_DEFINED__
2159#define __PlaybackManager_FWD_DEFINED__
2160#ifdef __cplusplus
2161typedef class PlaybackManager PlaybackManager;
2162#else
2163typedef struct PlaybackManager PlaybackManager;
2164#endif /* defined __cplusplus */
2165#endif /* defined __PlaybackManager_FWD_DEFINED__ */
2166
2167#ifndef __AccessibilityDockingService_FWD_DEFINED__
2168#define __AccessibilityDockingService_FWD_DEFINED__
2169#ifdef __cplusplus
2170typedef class AccessibilityDockingService AccessibilityDockingService;
2171#else
2172typedef struct AccessibilityDockingService AccessibilityDockingService;
2173#endif /* defined __cplusplus */
2174#endif /* defined __AccessibilityDockingService_FWD_DEFINED__ */
2175
2176#ifndef __FrameworkInputPane_FWD_DEFINED__
2177#define __FrameworkInputPane_FWD_DEFINED__
2178#ifdef __cplusplus
2179typedef class FrameworkInputPane FrameworkInputPane;
2180#else
2181typedef struct FrameworkInputPane FrameworkInputPane;
2182#endif /* defined __cplusplus */
2183#endif /* defined __FrameworkInputPane_FWD_DEFINED__ */
2184
2185#ifndef __DefFolderMenu_FWD_DEFINED__
2186#define __DefFolderMenu_FWD_DEFINED__
2187#ifdef __cplusplus
2188typedef class DefFolderMenu DefFolderMenu;
2189#else
2190typedef struct DefFolderMenu DefFolderMenu;
2191#endif /* defined __cplusplus */
2192#endif /* defined __DefFolderMenu_FWD_DEFINED__ */
2193
2194#ifndef __AppVisibility_FWD_DEFINED__
2195#define __AppVisibility_FWD_DEFINED__
2196#ifdef __cplusplus
2197typedef class AppVisibility AppVisibility;
2198#else
2199typedef struct AppVisibility AppVisibility;
2200#endif /* defined __cplusplus */
2201#endif /* defined __AppVisibility_FWD_DEFINED__ */
2202
2203#ifndef __AppShellVerbHandler_FWD_DEFINED__
2204#define __AppShellVerbHandler_FWD_DEFINED__
2205#ifdef __cplusplus
2206typedef class AppShellVerbHandler AppShellVerbHandler;
2207#else
2208typedef struct AppShellVerbHandler AppShellVerbHandler;
2209#endif /* defined __cplusplus */
2210#endif /* defined __AppShellVerbHandler_FWD_DEFINED__ */
2211
2212#ifndef __ExecuteUnknown_FWD_DEFINED__
2213#define __ExecuteUnknown_FWD_DEFINED__
2214#ifdef __cplusplus
2215typedef class ExecuteUnknown ExecuteUnknown;
2216#else
2217typedef struct ExecuteUnknown ExecuteUnknown;
2218#endif /* defined __cplusplus */
2219#endif /* defined __ExecuteUnknown_FWD_DEFINED__ */
2220
2221#ifndef __PackageDebugSettings_FWD_DEFINED__
2222#define __PackageDebugSettings_FWD_DEFINED__
2223#ifdef __cplusplus
2224typedef class PackageDebugSettings PackageDebugSettings;
2225#else
2226typedef struct PackageDebugSettings PackageDebugSettings;
2227#endif /* defined __cplusplus */
2228#endif /* defined __PackageDebugSettings_FWD_DEFINED__ */
2229
2230#ifndef __ApplicationActivationManager_FWD_DEFINED__
2231#define __ApplicationActivationManager_FWD_DEFINED__
2232#ifdef __cplusplus
2233typedef class ApplicationActivationManager ApplicationActivationManager;
2234#else
2235typedef struct ApplicationActivationManager ApplicationActivationManager;
2236#endif /* defined __cplusplus */
2237#endif /* defined __ApplicationActivationManager_FWD_DEFINED__ */
2238
2239#ifndef __ApplicationDesignModeSettings_FWD_DEFINED__
2240#define __ApplicationDesignModeSettings_FWD_DEFINED__
2241#ifdef __cplusplus
2242typedef class ApplicationDesignModeSettings ApplicationDesignModeSettings;
2243#else
2244typedef struct ApplicationDesignModeSettings ApplicationDesignModeSettings;
2245#endif /* defined __cplusplus */
2246#endif /* defined __ApplicationDesignModeSettings_FWD_DEFINED__ */
2247
2248#ifndef __ExecuteFolder_FWD_DEFINED__
2249#define __ExecuteFolder_FWD_DEFINED__
2250#ifdef __cplusplus
2251typedef class ExecuteFolder ExecuteFolder;
2252#else
2253typedef struct ExecuteFolder ExecuteFolder;
2254#endif /* defined __cplusplus */
2255#endif /* defined __ExecuteFolder_FWD_DEFINED__ */
2256
2257#ifndef __VirtualDesktopManager_FWD_DEFINED__
2258#define __VirtualDesktopManager_FWD_DEFINED__
2259#ifdef __cplusplus
2260typedef class VirtualDesktopManager VirtualDesktopManager;
2261#else
2262typedef struct VirtualDesktopManager VirtualDesktopManager;
2263#endif /* defined __cplusplus */
2264#endif /* defined __VirtualDesktopManager_FWD_DEFINED__ */
2265
2266#ifndef __IAssocHandlerInvoker_FWD_DEFINED__
2267#define __IAssocHandlerInvoker_FWD_DEFINED__
2268typedef interface IAssocHandlerInvoker IAssocHandlerInvoker;
2269#ifdef __cplusplus
2270interface IAssocHandlerInvoker;
2271#endif /* __cplusplus */
2272#endif
2273
2274#ifndef __IAssocHandler_FWD_DEFINED__
2275#define __IAssocHandler_FWD_DEFINED__
2276typedef interface IAssocHandler IAssocHandler;
2277#ifdef __cplusplus
2278interface IAssocHandler;
2279#endif /* __cplusplus */
2280#endif
2281
2282#ifndef __IEnumAssocHandlers_FWD_DEFINED__
2283#define __IEnumAssocHandlers_FWD_DEFINED__
2284typedef interface IEnumAssocHandlers IEnumAssocHandlers;
2285#ifdef __cplusplus
2286interface IEnumAssocHandlers;
2287#endif /* __cplusplus */
2288#endif
2289
2290#ifndef __IDataObjectProvider_FWD_DEFINED__
2291#define __IDataObjectProvider_FWD_DEFINED__
2292typedef interface IDataObjectProvider IDataObjectProvider;
2293#ifdef __cplusplus
2294interface IDataObjectProvider;
2295#endif /* __cplusplus */
2296#endif
2297
2298#ifndef __IDataTransferManagerInterop_FWD_DEFINED__
2299#define __IDataTransferManagerInterop_FWD_DEFINED__
2300typedef interface IDataTransferManagerInterop IDataTransferManagerInterop;
2301#ifdef __cplusplus
2302interface IDataTransferManagerInterop;
2303#endif /* __cplusplus */
2304#endif
2305
2306#ifndef __IFrameworkInputPaneHandler_FWD_DEFINED__
2307#define __IFrameworkInputPaneHandler_FWD_DEFINED__
2308typedef interface IFrameworkInputPaneHandler IFrameworkInputPaneHandler;
2309#ifdef __cplusplus
2310interface IFrameworkInputPaneHandler;
2311#endif /* __cplusplus */
2312#endif
2313
2314#ifndef __IFrameworkInputPane_FWD_DEFINED__
2315#define __IFrameworkInputPane_FWD_DEFINED__
2316typedef interface IFrameworkInputPane IFrameworkInputPane;
2317#ifdef __cplusplus
2318interface IFrameworkInputPane;
2319#endif /* __cplusplus */
2320#endif
2321
2322#ifndef __ISearchableApplication_FWD_DEFINED__
2323#define __ISearchableApplication_FWD_DEFINED__
2324typedef interface ISearchableApplication ISearchableApplication;
2325#ifdef __cplusplus
2326interface ISearchableApplication;
2327#endif /* __cplusplus */
2328#endif
2329
2330#ifndef __IAccessibilityDockingServiceCallback_FWD_DEFINED__
2331#define __IAccessibilityDockingServiceCallback_FWD_DEFINED__
2332typedef interface IAccessibilityDockingServiceCallback IAccessibilityDockingServiceCallback;
2333#ifdef __cplusplus
2334interface IAccessibilityDockingServiceCallback;
2335#endif /* __cplusplus */
2336#endif
2337
2338#ifndef __IAccessibilityDockingService_FWD_DEFINED__
2339#define __IAccessibilityDockingService_FWD_DEFINED__
2340typedef interface IAccessibilityDockingService IAccessibilityDockingService;
2341#ifdef __cplusplus
2342interface IAccessibilityDockingService;
2343#endif /* __cplusplus */
2344#endif
2345
2346#ifndef __IAppVisibilityEvents_FWD_DEFINED__
2347#define __IAppVisibilityEvents_FWD_DEFINED__
2348typedef interface IAppVisibilityEvents IAppVisibilityEvents;
2349#ifdef __cplusplus
2350interface IAppVisibilityEvents;
2351#endif /* __cplusplus */
2352#endif
2353
2354#ifndef __IAppVisibility_FWD_DEFINED__
2355#define __IAppVisibility_FWD_DEFINED__
2356typedef interface IAppVisibility IAppVisibility;
2357#ifdef __cplusplus
2358interface IAppVisibility;
2359#endif /* __cplusplus */
2360#endif
2361
2362#ifndef __IPackageExecutionStateChangeNotification_FWD_DEFINED__
2363#define __IPackageExecutionStateChangeNotification_FWD_DEFINED__
2364typedef interface IPackageExecutionStateChangeNotification IPackageExecutionStateChangeNotification;
2365#ifdef __cplusplus
2366interface IPackageExecutionStateChangeNotification;
2367#endif /* __cplusplus */
2368#endif
2369
2370#ifndef __IPackageDebugSettings_FWD_DEFINED__
2371#define __IPackageDebugSettings_FWD_DEFINED__
2372typedef interface IPackageDebugSettings IPackageDebugSettings;
2373#ifdef __cplusplus
2374interface IPackageDebugSettings;
2375#endif /* __cplusplus */
2376#endif
2377
2378#ifndef __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__
2379#define __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__
2380typedef interface IExecuteCommandApplicationHostEnvironment IExecuteCommandApplicationHostEnvironment;
2381#ifdef __cplusplus
2382interface IExecuteCommandApplicationHostEnvironment;
2383#endif /* __cplusplus */
2384#endif
2385
2386#ifndef __IExecuteCommandHost_FWD_DEFINED__
2387#define __IExecuteCommandHost_FWD_DEFINED__
2388typedef interface IExecuteCommandHost IExecuteCommandHost;
2389#ifdef __cplusplus
2390interface IExecuteCommandHost;
2391#endif /* __cplusplus */
2392#endif
2393
2394#ifndef __IApplicationDesignModeSettings_FWD_DEFINED__
2395#define __IApplicationDesignModeSettings_FWD_DEFINED__
2396typedef interface IApplicationDesignModeSettings IApplicationDesignModeSettings;
2397#ifdef __cplusplus
2398interface IApplicationDesignModeSettings;
2399#endif /* __cplusplus */
2400#endif
2401
2402#ifndef __IInitializeWithWindow_FWD_DEFINED__
2403#define __IInitializeWithWindow_FWD_DEFINED__
2404typedef interface IInitializeWithWindow IInitializeWithWindow;
2405#ifdef __cplusplus
2406interface IInitializeWithWindow;
2407#endif /* __cplusplus */
2408#endif
2409
2410#ifndef __IHandlerInfo_FWD_DEFINED__
2411#define __IHandlerInfo_FWD_DEFINED__
2412typedef interface IHandlerInfo IHandlerInfo;
2413#ifdef __cplusplus
2414interface IHandlerInfo;
2415#endif /* __cplusplus */
2416#endif
2417
2418#ifndef __IHandlerActivationHost_FWD_DEFINED__
2419#define __IHandlerActivationHost_FWD_DEFINED__
2420typedef interface IHandlerActivationHost IHandlerActivationHost;
2421#ifdef __cplusplus
2422interface IHandlerActivationHost;
2423#endif /* __cplusplus */
2424#endif
2425
2426/* Headers for imported files */
2427
2428#include <objidl.h>
2429#include <oleidl.h>
2430#include <oaidl.h>
2431#include <docobj.h>
2432#include <shtypes.h>
2433#include <servprov.h>
2434#include <comcat.h>
2435#include <propidl.h>
2436#include <prsht.h>
2437#include <msxml.h>
2438#include <wtypes.h>
2439#include <propsys.h>
2440#include <objectarray.h>
2441#include <structuredquerycondition.h>
2442
2443#ifdef __cplusplus
2444extern "C" {
2445#endif
2446
2447/**
2448 * This file is part of the mingw-w64 runtime package.
2449 * No warranty is given; refer to the file DISCLAIMER within this package.
2450 */
2451
2452#include <winapifamily.h>
2453
2454#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
2455
2456#include <_mingw_unicode.h>
2457
2458
2459#include <sherrors.h>
2460
2461#ifndef SHSTDAPI
2462#ifdef _SHELL32_
2463#define SHSTDAPI STDAPI
2464#define SHSTDAPI_(type) STDAPI_(type)
2465#else
2466#define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
2467#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
2468#endif
2469#endif
2470
2471#define CMF_NORMAL 0x0
2472#define CMF_DEFAULTONLY 0x1
2473#define CMF_VERBSONLY 0x2
2474#define CMF_EXPLORE 0x4
2475#define CMF_NOVERBS 0x8
2476#define CMF_CANRENAME 0x10
2477#define CMF_NODEFAULT 0x20
2478#if NTDDI_VERSION < NTDDI_VISTA
2479#define CMF_INCLUDESTATIC 0x40
2480#endif
2481#if NTDDI_VERSION >= NTDDI_VISTA
2482#define CMF_ITEMMENU 0x80
2483#endif
2484#define CMF_EXTENDEDVERBS 0x100
2485#if NTDDI_VERSION >= NTDDI_VISTA
2486#define CMF_DISABLEDVERBS 0x200
2487#endif
2488#define CMF_ASYNCVERBSTATE 0x400
2489#define CMF_OPTIMIZEFORINVOKE 0x800
2490#define CMF_SYNCCASCADEMENU 0x1000
2491#define CMF_DONOTPICKDEFAULT 0x2000
2492#define CMF_RESERVED 0xffff0000
2493
2494#define GCS_VERBA 0x0
2495#define GCS_HELPTEXTA 0x1
2496#define GCS_VALIDATEA 0x2
2497#define GCS_VERBW 0x4
2498#define GCS_HELPTEXTW 0x5
2499#define GCS_VALIDATEW 0x6
2500#define GCS_VERBICONW 0x14
2501#define GCS_UNICODE 0x4
2502
2503#define GCS_VERB __MINGW_NAME_AW(GCS_VERB)
2504#define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT)
2505#define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE)
2506
2507#define CMDSTR_NEWFOLDERA "NewFolder"
2508#define CMDSTR_VIEWLISTA "ViewList"
2509#define CMDSTR_VIEWDETAILSA "ViewDetails"
2510#define CMDSTR_NEWFOLDERW L"NewFolder"
2511#define CMDSTR_VIEWLISTW L"ViewList"
2512#define CMDSTR_VIEWDETAILSW L"ViewDetails"
2513
2514#define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER)
2515#define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST)
2516#define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS)
2517
2518#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
2519#define CMIC_MASK_ICON SEE_MASK_ICON
2520#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
2521#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
2522#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
2523#if NTDDI_VERSION < NTDDI_VISTA
2524#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
2525#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
2526#endif
2527#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
2528#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
2529#if NTDDI_VERSION >= NTDDI_VISTA
2530#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC
2531#endif
2532#define CMIC_MASK_SHIFT_DOWN 0x10000000
2533#define CMIC_MASK_CONTROL_DOWN 0x40000000
2534#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
2535#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
2536#define CMIC_MASK_PTINVOKE 0x20000000
2537
2538#include <pshpack8.h>
2539typedef struct _CMINVOKECOMMANDINFO {
2540 DWORD cbSize;
2541 DWORD fMask;
2542 HWND hwnd;
2543 LPCSTR lpVerb;
2544 LPCSTR lpParameters;
2545 LPCSTR lpDirectory;
2546 int nShow;
2547 DWORD dwHotKey;
2548 HANDLE hIcon;
2549} CMINVOKECOMMANDINFO;
2550
2551typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO;
2552typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO;
2553
2554typedef struct _CMINVOKECOMMANDINFOEX {
2555 DWORD cbSize;
2556 DWORD fMask;
2557 HWND hwnd;
2558 LPCSTR lpVerb;
2559 LPCSTR lpParameters;
2560 LPCSTR lpDirectory;
2561 int nShow;
2562 DWORD dwHotKey;
2563 HANDLE hIcon;
2564 LPCSTR lpTitle;
2565 LPCWSTR lpVerbW;
2566 LPCWSTR lpParametersW;
2567 LPCWSTR lpDirectoryW;
2568 LPCWSTR lpTitleW;
2569 POINT ptInvoke;
2570} CMINVOKECOMMANDINFOEX;
2571
2572typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX;
2573typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX;
2574#include <poppack.h>
2575
2576/*****************************************************************************
2577 * IContextMenu interface
2578 */
2579#ifndef __IContextMenu_INTERFACE_DEFINED__
2580#define __IContextMenu_INTERFACE_DEFINED__
2581
2582DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2583#if defined(__cplusplus) && !defined(CINTERFACE)
2584MIDL_INTERFACE("000214e4-0000-0000-c000-000000000046")
2585IContextMenu : public IUnknown
2586{
2587 virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(
2588 HMENU hmenu,
2589 UINT indexMenu,
2590 UINT idCmdFirst,
2591 UINT idCmdLast,
2592 UINT uFlags) = 0;
2593
2594 virtual HRESULT STDMETHODCALLTYPE InvokeCommand(
2595 CMINVOKECOMMANDINFO *pici) = 0;
2596
2597 virtual HRESULT STDMETHODCALLTYPE GetCommandString(
2598 UINT_PTR idCmd,
2599 UINT uType,
2600 UINT *pReserved,
2601 CHAR *pszName,
2602 UINT cchMax) = 0;
2603
2604};
2605#ifdef __CRT_UUID_DECL
2606__CRT_UUID_DECL(IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2607#endif
2608#else
2609typedef struct IContextMenuVtbl {
2610 BEGIN_INTERFACE
2611
2612 /*** IUnknown methods ***/
2613 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2614 IContextMenu *This,
2615 REFIID riid,
2616 void **ppvObject);
2617
2618 ULONG (STDMETHODCALLTYPE *AddRef)(
2619 IContextMenu *This);
2620
2621 ULONG (STDMETHODCALLTYPE *Release)(
2622 IContextMenu *This);
2623
2624 /*** IContextMenu methods ***/
2625 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
2626 IContextMenu *This,
2627 HMENU hmenu,
2628 UINT indexMenu,
2629 UINT idCmdFirst,
2630 UINT idCmdLast,
2631 UINT uFlags);
2632
2633 HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
2634 IContextMenu *This,
2635 CMINVOKECOMMANDINFO *pici);
2636
2637 HRESULT (STDMETHODCALLTYPE *GetCommandString)(
2638 IContextMenu *This,
2639 UINT_PTR idCmd,
2640 UINT uType,
2641 UINT *pReserved,
2642 CHAR *pszName,
2643 UINT cchMax);
2644
2645 END_INTERFACE
2646} IContextMenuVtbl;
2647
2648interface IContextMenu {
2649 CONST_VTBL IContextMenuVtbl* lpVtbl;
2650};
2651
2652#ifdef COBJMACROS
2653#ifndef WIDL_C_INLINE_WRAPPERS
2654/*** IUnknown methods ***/
2655#define IContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2656#define IContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
2657#define IContextMenu_Release(This) (This)->lpVtbl->Release(This)
2658/*** IContextMenu methods ***/
2659#define IContextMenu_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
2660#define IContextMenu_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
2661#define IContextMenu_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
2662#else
2663/*** IUnknown methods ***/
2664static inline HRESULT IContextMenu_QueryInterface(IContextMenu* This,REFIID riid,void **ppvObject) {
2665 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2666}
2667static inline ULONG IContextMenu_AddRef(IContextMenu* This) {
2668 return This->lpVtbl->AddRef(This);
2669}
2670static inline ULONG IContextMenu_Release(IContextMenu* This) {
2671 return This->lpVtbl->Release(This);
2672}
2673/*** IContextMenu methods ***/
2674static inline HRESULT IContextMenu_QueryContextMenu(IContextMenu* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
2675 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
2676}
2677static inline HRESULT IContextMenu_InvokeCommand(IContextMenu* This,CMINVOKECOMMANDINFO *pici) {
2678 return This->lpVtbl->InvokeCommand(This,pici);
2679}
2680static inline HRESULT IContextMenu_GetCommandString(IContextMenu* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
2681 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
2682}
2683#endif
2684#endif
2685
2686#endif
2687
2688
2689#endif /* __IContextMenu_INTERFACE_DEFINED__ */
2690
2691typedef IContextMenu *LPCONTEXTMENU;
2692
2693/*****************************************************************************
2694 * IContextMenu2 interface
2695 */
2696#ifndef __IContextMenu2_INTERFACE_DEFINED__
2697#define __IContextMenu2_INTERFACE_DEFINED__
2698
2699DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2700#if defined(__cplusplus) && !defined(CINTERFACE)
2701MIDL_INTERFACE("000214f4-0000-0000-c000-000000000046")
2702IContextMenu2 : public IContextMenu
2703{
2704 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(
2705 UINT uMsg,
2706 WPARAM wParam,
2707 LPARAM lParam) = 0;
2708
2709};
2710#ifdef __CRT_UUID_DECL
2711__CRT_UUID_DECL(IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2712#endif
2713#else
2714typedef struct IContextMenu2Vtbl {
2715 BEGIN_INTERFACE
2716
2717 /*** IUnknown methods ***/
2718 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2719 IContextMenu2 *This,
2720 REFIID riid,
2721 void **ppvObject);
2722
2723 ULONG (STDMETHODCALLTYPE *AddRef)(
2724 IContextMenu2 *This);
2725
2726 ULONG (STDMETHODCALLTYPE *Release)(
2727 IContextMenu2 *This);
2728
2729 /*** IContextMenu methods ***/
2730 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
2731 IContextMenu2 *This,
2732 HMENU hmenu,
2733 UINT indexMenu,
2734 UINT idCmdFirst,
2735 UINT idCmdLast,
2736 UINT uFlags);
2737
2738 HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
2739 IContextMenu2 *This,
2740 CMINVOKECOMMANDINFO *pici);
2741
2742 HRESULT (STDMETHODCALLTYPE *GetCommandString)(
2743 IContextMenu2 *This,
2744 UINT_PTR idCmd,
2745 UINT uType,
2746 UINT *pReserved,
2747 CHAR *pszName,
2748 UINT cchMax);
2749
2750 /*** IContextMenu2 methods ***/
2751 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
2752 IContextMenu2 *This,
2753 UINT uMsg,
2754 WPARAM wParam,
2755 LPARAM lParam);
2756
2757 END_INTERFACE
2758} IContextMenu2Vtbl;
2759
2760interface IContextMenu2 {
2761 CONST_VTBL IContextMenu2Vtbl* lpVtbl;
2762};
2763
2764#ifdef COBJMACROS
2765#ifndef WIDL_C_INLINE_WRAPPERS
2766/*** IUnknown methods ***/
2767#define IContextMenu2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2768#define IContextMenu2_AddRef(This) (This)->lpVtbl->AddRef(This)
2769#define IContextMenu2_Release(This) (This)->lpVtbl->Release(This)
2770/*** IContextMenu methods ***/
2771#define IContextMenu2_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
2772#define IContextMenu2_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
2773#define IContextMenu2_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
2774/*** IContextMenu2 methods ***/
2775#define IContextMenu2_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam)
2776#else
2777/*** IUnknown methods ***/
2778static inline HRESULT IContextMenu2_QueryInterface(IContextMenu2* This,REFIID riid,void **ppvObject) {
2779 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2780}
2781static inline ULONG IContextMenu2_AddRef(IContextMenu2* This) {
2782 return This->lpVtbl->AddRef(This);
2783}
2784static inline ULONG IContextMenu2_Release(IContextMenu2* This) {
2785 return This->lpVtbl->Release(This);
2786}
2787/*** IContextMenu methods ***/
2788static inline HRESULT IContextMenu2_QueryContextMenu(IContextMenu2* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
2789 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
2790}
2791static inline HRESULT IContextMenu2_InvokeCommand(IContextMenu2* This,CMINVOKECOMMANDINFO *pici) {
2792 return This->lpVtbl->InvokeCommand(This,pici);
2793}
2794static inline HRESULT IContextMenu2_GetCommandString(IContextMenu2* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
2795 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
2796}
2797/*** IContextMenu2 methods ***/
2798static inline HRESULT IContextMenu2_HandleMenuMsg(IContextMenu2* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
2799 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam);
2800}
2801#endif
2802#endif
2803
2804#endif
2805
2806
2807#endif /* __IContextMenu2_INTERFACE_DEFINED__ */
2808
2809typedef IContextMenu2 *LPCONTEXTMENU2;
2810
2811/*****************************************************************************
2812 * IContextMenu3 interface
2813 */
2814#ifndef __IContextMenu3_INTERFACE_DEFINED__
2815#define __IContextMenu3_INTERFACE_DEFINED__
2816
2817DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
2818#if defined(__cplusplus) && !defined(CINTERFACE)
2819MIDL_INTERFACE("bcfce0a0-ec17-11d0-8d10-00a0c90f2719")
2820IContextMenu3 : public IContextMenu2
2821{
2822 virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2(
2823 UINT uMsg,
2824 WPARAM wParam,
2825 LPARAM lParam,
2826 LRESULT *plResult) = 0;
2827
2828};
2829#ifdef __CRT_UUID_DECL
2830__CRT_UUID_DECL(IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19)
2831#endif
2832#else
2833typedef struct IContextMenu3Vtbl {
2834 BEGIN_INTERFACE
2835
2836 /*** IUnknown methods ***/
2837 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2838 IContextMenu3 *This,
2839 REFIID riid,
2840 void **ppvObject);
2841
2842 ULONG (STDMETHODCALLTYPE *AddRef)(
2843 IContextMenu3 *This);
2844
2845 ULONG (STDMETHODCALLTYPE *Release)(
2846 IContextMenu3 *This);
2847
2848 /*** IContextMenu methods ***/
2849 HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
2850 IContextMenu3 *This,
2851 HMENU hmenu,
2852 UINT indexMenu,
2853 UINT idCmdFirst,
2854 UINT idCmdLast,
2855 UINT uFlags);
2856
2857 HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
2858 IContextMenu3 *This,
2859 CMINVOKECOMMANDINFO *pici);
2860
2861 HRESULT (STDMETHODCALLTYPE *GetCommandString)(
2862 IContextMenu3 *This,
2863 UINT_PTR idCmd,
2864 UINT uType,
2865 UINT *pReserved,
2866 CHAR *pszName,
2867 UINT cchMax);
2868
2869 /*** IContextMenu2 methods ***/
2870 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
2871 IContextMenu3 *This,
2872 UINT uMsg,
2873 WPARAM wParam,
2874 LPARAM lParam);
2875
2876 /*** IContextMenu3 methods ***/
2877 HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)(
2878 IContextMenu3 *This,
2879 UINT uMsg,
2880 WPARAM wParam,
2881 LPARAM lParam,
2882 LRESULT *plResult);
2883
2884 END_INTERFACE
2885} IContextMenu3Vtbl;
2886
2887interface IContextMenu3 {
2888 CONST_VTBL IContextMenu3Vtbl* lpVtbl;
2889};
2890
2891#ifdef COBJMACROS
2892#ifndef WIDL_C_INLINE_WRAPPERS
2893/*** IUnknown methods ***/
2894#define IContextMenu3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2895#define IContextMenu3_AddRef(This) (This)->lpVtbl->AddRef(This)
2896#define IContextMenu3_Release(This) (This)->lpVtbl->Release(This)
2897/*** IContextMenu methods ***/
2898#define IContextMenu3_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
2899#define IContextMenu3_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
2900#define IContextMenu3_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
2901/*** IContextMenu2 methods ***/
2902#define IContextMenu3_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam)
2903/*** IContextMenu3 methods ***/
2904#define IContextMenu3_HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) (This)->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult)
2905#else
2906/*** IUnknown methods ***/
2907static inline HRESULT IContextMenu3_QueryInterface(IContextMenu3* This,REFIID riid,void **ppvObject) {
2908 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2909}
2910static inline ULONG IContextMenu3_AddRef(IContextMenu3* This) {
2911 return This->lpVtbl->AddRef(This);
2912}
2913static inline ULONG IContextMenu3_Release(IContextMenu3* This) {
2914 return This->lpVtbl->Release(This);
2915}
2916/*** IContextMenu methods ***/
2917static inline HRESULT IContextMenu3_QueryContextMenu(IContextMenu3* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
2918 return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
2919}
2920static inline HRESULT IContextMenu3_InvokeCommand(IContextMenu3* This,CMINVOKECOMMANDINFO *pici) {
2921 return This->lpVtbl->InvokeCommand(This,pici);
2922}
2923static inline HRESULT IContextMenu3_GetCommandString(IContextMenu3* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
2924 return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
2925}
2926/*** IContextMenu2 methods ***/
2927static inline HRESULT IContextMenu3_HandleMenuMsg(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
2928 return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam);
2929}
2930/*** IContextMenu3 methods ***/
2931static inline HRESULT IContextMenu3_HandleMenuMsg2(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
2932 return This->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult);
2933}
2934#endif
2935#endif
2936
2937#endif
2938
2939
2940#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
2941
2942typedef IContextMenu3 *LPCONTEXTMENU3;
2943
2944/*****************************************************************************
2945 * IExecuteCommand interface
2946 */
2947#ifndef __IExecuteCommand_INTERFACE_DEFINED__
2948#define __IExecuteCommand_INTERFACE_DEFINED__
2949
2950DEFINE_GUID(IID_IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54);
2951#if defined(__cplusplus) && !defined(CINTERFACE)
2952MIDL_INTERFACE("7f9185b0-cb92-43c5-80a9-92277a4f7b54")
2953IExecuteCommand : public IUnknown
2954{
2955 virtual HRESULT STDMETHODCALLTYPE SetKeyState(
2956 DWORD grfKeyState) = 0;
2957
2958 virtual HRESULT STDMETHODCALLTYPE SetParameters(
2959 LPCWSTR pszParameters) = 0;
2960
2961 virtual HRESULT STDMETHODCALLTYPE SetPosition(
2962 POINT pt) = 0;
2963
2964 virtual HRESULT STDMETHODCALLTYPE SetShowWindow(
2965 int nShow) = 0;
2966
2967 virtual HRESULT STDMETHODCALLTYPE SetNoShowUI(
2968 WINBOOL fNoShowUI) = 0;
2969
2970 virtual HRESULT STDMETHODCALLTYPE SetDirectory(
2971 LPCWSTR pszDirectory) = 0;
2972
2973 virtual HRESULT STDMETHODCALLTYPE Execute(
2974 ) = 0;
2975
2976};
2977#ifdef __CRT_UUID_DECL
2978__CRT_UUID_DECL(IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54)
2979#endif
2980#else
2981typedef struct IExecuteCommandVtbl {
2982 BEGIN_INTERFACE
2983
2984 /*** IUnknown methods ***/
2985 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2986 IExecuteCommand *This,
2987 REFIID riid,
2988 void **ppvObject);
2989
2990 ULONG (STDMETHODCALLTYPE *AddRef)(
2991 IExecuteCommand *This);
2992
2993 ULONG (STDMETHODCALLTYPE *Release)(
2994 IExecuteCommand *This);
2995
2996 /*** IExecuteCommand methods ***/
2997 HRESULT (STDMETHODCALLTYPE *SetKeyState)(
2998 IExecuteCommand *This,
2999 DWORD grfKeyState);
3000
3001 HRESULT (STDMETHODCALLTYPE *SetParameters)(
3002 IExecuteCommand *This,
3003 LPCWSTR pszParameters);
3004
3005 HRESULT (STDMETHODCALLTYPE *SetPosition)(
3006 IExecuteCommand *This,
3007 POINT pt);
3008
3009 HRESULT (STDMETHODCALLTYPE *SetShowWindow)(
3010 IExecuteCommand *This,
3011 int nShow);
3012
3013 HRESULT (STDMETHODCALLTYPE *SetNoShowUI)(
3014 IExecuteCommand *This,
3015 WINBOOL fNoShowUI);
3016
3017 HRESULT (STDMETHODCALLTYPE *SetDirectory)(
3018 IExecuteCommand *This,
3019 LPCWSTR pszDirectory);
3020
3021 HRESULT (STDMETHODCALLTYPE *Execute)(
3022 IExecuteCommand *This);
3023
3024 END_INTERFACE
3025} IExecuteCommandVtbl;
3026
3027interface IExecuteCommand {
3028 CONST_VTBL IExecuteCommandVtbl* lpVtbl;
3029};
3030
3031#ifdef COBJMACROS
3032#ifndef WIDL_C_INLINE_WRAPPERS
3033/*** IUnknown methods ***/
3034#define IExecuteCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3035#define IExecuteCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
3036#define IExecuteCommand_Release(This) (This)->lpVtbl->Release(This)
3037/*** IExecuteCommand methods ***/
3038#define IExecuteCommand_SetKeyState(This,grfKeyState) (This)->lpVtbl->SetKeyState(This,grfKeyState)
3039#define IExecuteCommand_SetParameters(This,pszParameters) (This)->lpVtbl->SetParameters(This,pszParameters)
3040#define IExecuteCommand_SetPosition(This,pt) (This)->lpVtbl->SetPosition(This,pt)
3041#define IExecuteCommand_SetShowWindow(This,nShow) (This)->lpVtbl->SetShowWindow(This,nShow)
3042#define IExecuteCommand_SetNoShowUI(This,fNoShowUI) (This)->lpVtbl->SetNoShowUI(This,fNoShowUI)
3043#define IExecuteCommand_SetDirectory(This,pszDirectory) (This)->lpVtbl->SetDirectory(This,pszDirectory)
3044#define IExecuteCommand_Execute(This) (This)->lpVtbl->Execute(This)
3045#else
3046/*** IUnknown methods ***/
3047static inline HRESULT IExecuteCommand_QueryInterface(IExecuteCommand* This,REFIID riid,void **ppvObject) {
3048 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3049}
3050static inline ULONG IExecuteCommand_AddRef(IExecuteCommand* This) {
3051 return This->lpVtbl->AddRef(This);
3052}
3053static inline ULONG IExecuteCommand_Release(IExecuteCommand* This) {
3054 return This->lpVtbl->Release(This);
3055}
3056/*** IExecuteCommand methods ***/
3057static inline HRESULT IExecuteCommand_SetKeyState(IExecuteCommand* This,DWORD grfKeyState) {
3058 return This->lpVtbl->SetKeyState(This,grfKeyState);
3059}
3060static inline HRESULT IExecuteCommand_SetParameters(IExecuteCommand* This,LPCWSTR pszParameters) {
3061 return This->lpVtbl->SetParameters(This,pszParameters);
3062}
3063static inline HRESULT IExecuteCommand_SetPosition(IExecuteCommand* This,POINT pt) {
3064 return This->lpVtbl->SetPosition(This,pt);
3065}
3066static inline HRESULT IExecuteCommand_SetShowWindow(IExecuteCommand* This,int nShow) {
3067 return This->lpVtbl->SetShowWindow(This,nShow);
3068}
3069static inline HRESULT IExecuteCommand_SetNoShowUI(IExecuteCommand* This,WINBOOL fNoShowUI) {
3070 return This->lpVtbl->SetNoShowUI(This,fNoShowUI);
3071}
3072static inline HRESULT IExecuteCommand_SetDirectory(IExecuteCommand* This,LPCWSTR pszDirectory) {
3073 return This->lpVtbl->SetDirectory(This,pszDirectory);
3074}
3075static inline HRESULT IExecuteCommand_Execute(IExecuteCommand* This) {
3076 return This->lpVtbl->Execute(This);
3077}
3078#endif
3079#endif
3080
3081#endif
3082
3083
3084#endif /* __IExecuteCommand_INTERFACE_DEFINED__ */
3085
3086
3087/*****************************************************************************
3088 * IPersistFolder interface
3089 */
3090#ifndef __IPersistFolder_INTERFACE_DEFINED__
3091#define __IPersistFolder_INTERFACE_DEFINED__
3092
3093DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3094#if defined(__cplusplus) && !defined(CINTERFACE)
3095MIDL_INTERFACE("000214ea-0000-0000-c000-000000000046")
3096IPersistFolder : public IPersist
3097{
3098 virtual HRESULT STDMETHODCALLTYPE Initialize(
3099 PCIDLIST_ABSOLUTE pidl) = 0;
3100
3101};
3102#ifdef __CRT_UUID_DECL
3103__CRT_UUID_DECL(IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3104#endif
3105#else
3106typedef struct IPersistFolderVtbl {
3107 BEGIN_INTERFACE
3108
3109 /*** IUnknown methods ***/
3110 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3111 IPersistFolder *This,
3112 REFIID riid,
3113 void **ppvObject);
3114
3115 ULONG (STDMETHODCALLTYPE *AddRef)(
3116 IPersistFolder *This);
3117
3118 ULONG (STDMETHODCALLTYPE *Release)(
3119 IPersistFolder *This);
3120
3121 /*** IPersist methods ***/
3122 HRESULT (STDMETHODCALLTYPE *GetClassID)(
3123 IPersistFolder *This,
3124 CLSID *pClassID);
3125
3126 /*** IPersistFolder methods ***/
3127 HRESULT (STDMETHODCALLTYPE *Initialize)(
3128 IPersistFolder *This,
3129 PCIDLIST_ABSOLUTE pidl);
3130
3131 END_INTERFACE
3132} IPersistFolderVtbl;
3133
3134interface IPersistFolder {
3135 CONST_VTBL IPersistFolderVtbl* lpVtbl;
3136};
3137
3138#ifdef COBJMACROS
3139#ifndef WIDL_C_INLINE_WRAPPERS
3140/*** IUnknown methods ***/
3141#define IPersistFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3142#define IPersistFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
3143#define IPersistFolder_Release(This) (This)->lpVtbl->Release(This)
3144/*** IPersist methods ***/
3145#define IPersistFolder_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3146/*** IPersistFolder methods ***/
3147#define IPersistFolder_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
3148#else
3149/*** IUnknown methods ***/
3150static inline HRESULT IPersistFolder_QueryInterface(IPersistFolder* This,REFIID riid,void **ppvObject) {
3151 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3152}
3153static inline ULONG IPersistFolder_AddRef(IPersistFolder* This) {
3154 return This->lpVtbl->AddRef(This);
3155}
3156static inline ULONG IPersistFolder_Release(IPersistFolder* This) {
3157 return This->lpVtbl->Release(This);
3158}
3159/*** IPersist methods ***/
3160static inline HRESULT IPersistFolder_GetClassID(IPersistFolder* This,CLSID *pClassID) {
3161 return This->lpVtbl->GetClassID(This,pClassID);
3162}
3163/*** IPersistFolder methods ***/
3164static inline HRESULT IPersistFolder_Initialize(IPersistFolder* This,PCIDLIST_ABSOLUTE pidl) {
3165 return This->lpVtbl->Initialize(This,pidl);
3166}
3167#endif
3168#endif
3169
3170#endif
3171
3172
3173#endif /* __IPersistFolder_INTERFACE_DEFINED__ */
3174
3175typedef IPersistFolder *LPPERSISTFOLDER;
3176
3177#define IRTIR_TASK_NOT_RUNNING 0
3178#define IRTIR_TASK_RUNNING 1
3179#define IRTIR_TASK_SUSPENDED 2
3180#define IRTIR_TASK_PENDING 3
3181#define IRTIR_TASK_FINISHED 4
3182
3183/*****************************************************************************
3184 * IRunnableTask interface
3185 */
3186#ifndef __IRunnableTask_INTERFACE_DEFINED__
3187#define __IRunnableTask_INTERFACE_DEFINED__
3188
3189DEFINE_GUID(IID_IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec);
3190#if defined(__cplusplus) && !defined(CINTERFACE)
3191MIDL_INTERFACE("85788d00-6807-11d0-b810-00c04fd706ec")
3192IRunnableTask : public IUnknown
3193{
3194 virtual HRESULT STDMETHODCALLTYPE Run(
3195 ) = 0;
3196
3197 virtual HRESULT STDMETHODCALLTYPE Kill(
3198 WINBOOL bWait) = 0;
3199
3200 virtual HRESULT STDMETHODCALLTYPE Suspend(
3201 ) = 0;
3202
3203 virtual HRESULT STDMETHODCALLTYPE Resume(
3204 ) = 0;
3205
3206 virtual ULONG STDMETHODCALLTYPE IsRunning(
3207 ) = 0;
3208
3209};
3210#ifdef __CRT_UUID_DECL
3211__CRT_UUID_DECL(IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec)
3212#endif
3213#else
3214typedef struct IRunnableTaskVtbl {
3215 BEGIN_INTERFACE
3216
3217 /*** IUnknown methods ***/
3218 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3219 IRunnableTask *This,
3220 REFIID riid,
3221 void **ppvObject);
3222
3223 ULONG (STDMETHODCALLTYPE *AddRef)(
3224 IRunnableTask *This);
3225
3226 ULONG (STDMETHODCALLTYPE *Release)(
3227 IRunnableTask *This);
3228
3229 /*** IRunnableTask methods ***/
3230 HRESULT (STDMETHODCALLTYPE *Run)(
3231 IRunnableTask *This);
3232
3233 HRESULT (STDMETHODCALLTYPE *Kill)(
3234 IRunnableTask *This,
3235 WINBOOL bWait);
3236
3237 HRESULT (STDMETHODCALLTYPE *Suspend)(
3238 IRunnableTask *This);
3239
3240 HRESULT (STDMETHODCALLTYPE *Resume)(
3241 IRunnableTask *This);
3242
3243 ULONG (STDMETHODCALLTYPE *IsRunning)(
3244 IRunnableTask *This);
3245
3246 END_INTERFACE
3247} IRunnableTaskVtbl;
3248
3249interface IRunnableTask {
3250 CONST_VTBL IRunnableTaskVtbl* lpVtbl;
3251};
3252
3253#ifdef COBJMACROS
3254#ifndef WIDL_C_INLINE_WRAPPERS
3255/*** IUnknown methods ***/
3256#define IRunnableTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3257#define IRunnableTask_AddRef(This) (This)->lpVtbl->AddRef(This)
3258#define IRunnableTask_Release(This) (This)->lpVtbl->Release(This)
3259/*** IRunnableTask methods ***/
3260#define IRunnableTask_Run(This) (This)->lpVtbl->Run(This)
3261#define IRunnableTask_Kill(This,bWait) (This)->lpVtbl->Kill(This,bWait)
3262#define IRunnableTask_Suspend(This) (This)->lpVtbl->Suspend(This)
3263#define IRunnableTask_Resume(This) (This)->lpVtbl->Resume(This)
3264#define IRunnableTask_IsRunning(This) (This)->lpVtbl->IsRunning(This)
3265#else
3266/*** IUnknown methods ***/
3267static inline HRESULT IRunnableTask_QueryInterface(IRunnableTask* This,REFIID riid,void **ppvObject) {
3268 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3269}
3270static inline ULONG IRunnableTask_AddRef(IRunnableTask* This) {
3271 return This->lpVtbl->AddRef(This);
3272}
3273static inline ULONG IRunnableTask_Release(IRunnableTask* This) {
3274 return This->lpVtbl->Release(This);
3275}
3276/*** IRunnableTask methods ***/
3277static inline HRESULT IRunnableTask_Run(IRunnableTask* This) {
3278 return This->lpVtbl->Run(This);
3279}
3280static inline HRESULT IRunnableTask_Kill(IRunnableTask* This,WINBOOL bWait) {
3281 return This->lpVtbl->Kill(This,bWait);
3282}
3283static inline HRESULT IRunnableTask_Suspend(IRunnableTask* This) {
3284 return This->lpVtbl->Suspend(This);
3285}
3286static inline HRESULT IRunnableTask_Resume(IRunnableTask* This) {
3287 return This->lpVtbl->Resume(This);
3288}
3289static inline ULONG IRunnableTask_IsRunning(IRunnableTask* This) {
3290 return This->lpVtbl->IsRunning(This);
3291}
3292#endif
3293#endif
3294
3295#endif
3296
3297
3298#endif /* __IRunnableTask_INTERFACE_DEFINED__ */
3299
3300
3301#define TOID_NULL GUID_NULL
3302#define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1)
3303
3304#define ITSAT_DEFAULT_PRIORITY 0x10000000
3305#define ITSAT_MAX_PRIORITY 0x7fffffff
3306#define ITSAT_MIN_PRIORITY 0x00000000
3307
3308#define ITSSFLAG_COMPLETE_ON_DESTROY 0x0
3309#define ITSSFLAG_KILL_ON_DESTROY 0x1
3310
3311#define ITSSFLAG_FLAGS_MASK 0x3
3312
3313#define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000)
3314#define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE)
3315#define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1)
3316
3317/*****************************************************************************
3318 * IShellTaskScheduler interface
3319 */
3320#ifndef __IShellTaskScheduler_INTERFACE_DEFINED__
3321#define __IShellTaskScheduler_INTERFACE_DEFINED__
3322
3323DEFINE_GUID(IID_IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec);
3324#if defined(__cplusplus) && !defined(CINTERFACE)
3325MIDL_INTERFACE("6ccb7be0-6807-11d0-b810-00c04fd706ec")
3326IShellTaskScheduler : public IUnknown
3327{
3328 virtual HRESULT STDMETHODCALLTYPE AddTask(
3329 IRunnableTask *prt,
3330 REFTASKOWNERID rtoid,
3331 DWORD_PTR lParam,
3332 DWORD dwPriority) = 0;
3333
3334 virtual HRESULT STDMETHODCALLTYPE RemoveTasks(
3335 REFTASKOWNERID rtoid,
3336 DWORD_PTR lParam,
3337 WINBOOL bWaitIfRunning) = 0;
3338
3339 virtual UINT STDMETHODCALLTYPE CountTasks(
3340 REFTASKOWNERID rtoid) = 0;
3341
3342 virtual HRESULT STDMETHODCALLTYPE Status(
3343 DWORD dwReleaseStatus,
3344 DWORD dwThreadTimeout) = 0;
3345
3346};
3347#ifdef __CRT_UUID_DECL
3348__CRT_UUID_DECL(IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec)
3349#endif
3350#else
3351typedef struct IShellTaskSchedulerVtbl {
3352 BEGIN_INTERFACE
3353
3354 /*** IUnknown methods ***/
3355 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3356 IShellTaskScheduler *This,
3357 REFIID riid,
3358 void **ppvObject);
3359
3360 ULONG (STDMETHODCALLTYPE *AddRef)(
3361 IShellTaskScheduler *This);
3362
3363 ULONG (STDMETHODCALLTYPE *Release)(
3364 IShellTaskScheduler *This);
3365
3366 /*** IShellTaskScheduler methods ***/
3367 HRESULT (STDMETHODCALLTYPE *AddTask)(
3368 IShellTaskScheduler *This,
3369 IRunnableTask *prt,
3370 REFTASKOWNERID rtoid,
3371 DWORD_PTR lParam,
3372 DWORD dwPriority);
3373
3374 HRESULT (STDMETHODCALLTYPE *RemoveTasks)(
3375 IShellTaskScheduler *This,
3376 REFTASKOWNERID rtoid,
3377 DWORD_PTR lParam,
3378 WINBOOL bWaitIfRunning);
3379
3380 UINT (STDMETHODCALLTYPE *CountTasks)(
3381 IShellTaskScheduler *This,
3382 REFTASKOWNERID rtoid);
3383
3384 HRESULT (STDMETHODCALLTYPE *Status)(
3385 IShellTaskScheduler *This,
3386 DWORD dwReleaseStatus,
3387 DWORD dwThreadTimeout);
3388
3389 END_INTERFACE
3390} IShellTaskSchedulerVtbl;
3391
3392interface IShellTaskScheduler {
3393 CONST_VTBL IShellTaskSchedulerVtbl* lpVtbl;
3394};
3395
3396#ifdef COBJMACROS
3397#ifndef WIDL_C_INLINE_WRAPPERS
3398/*** IUnknown methods ***/
3399#define IShellTaskScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3400#define IShellTaskScheduler_AddRef(This) (This)->lpVtbl->AddRef(This)
3401#define IShellTaskScheduler_Release(This) (This)->lpVtbl->Release(This)
3402/*** IShellTaskScheduler methods ***/
3403#define IShellTaskScheduler_AddTask(This,prt,rtoid,lParam,dwPriority) (This)->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority)
3404#define IShellTaskScheduler_RemoveTasks(This,rtoid,lParam,bWaitIfRunning) (This)->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning)
3405#define IShellTaskScheduler_CountTasks(This,rtoid) (This)->lpVtbl->CountTasks(This,rtoid)
3406#define IShellTaskScheduler_Status(This,dwReleaseStatus,dwThreadTimeout) (This)->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout)
3407#else
3408/*** IUnknown methods ***/
3409static inline HRESULT IShellTaskScheduler_QueryInterface(IShellTaskScheduler* This,REFIID riid,void **ppvObject) {
3410 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3411}
3412static inline ULONG IShellTaskScheduler_AddRef(IShellTaskScheduler* This) {
3413 return This->lpVtbl->AddRef(This);
3414}
3415static inline ULONG IShellTaskScheduler_Release(IShellTaskScheduler* This) {
3416 return This->lpVtbl->Release(This);
3417}
3418/*** IShellTaskScheduler methods ***/
3419static inline HRESULT IShellTaskScheduler_AddTask(IShellTaskScheduler* This,IRunnableTask *prt,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) {
3420 return This->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority);
3421}
3422static inline HRESULT IShellTaskScheduler_RemoveTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL bWaitIfRunning) {
3423 return This->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning);
3424}
3425static inline UINT IShellTaskScheduler_CountTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid) {
3426 return This->lpVtbl->CountTasks(This,rtoid);
3427}
3428static inline HRESULT IShellTaskScheduler_Status(IShellTaskScheduler* This,DWORD dwReleaseStatus,DWORD dwThreadTimeout) {
3429 return This->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout);
3430}
3431#endif
3432#endif
3433
3434#endif
3435
3436
3437#endif /* __IShellTaskScheduler_INTERFACE_DEFINED__ */
3438
3439
3440#define SID_ShellTaskScheduler IID_IShellTaskScheduler
3441
3442/*****************************************************************************
3443 * IQueryCodePage interface
3444 */
3445#ifndef __IQueryCodePage_INTERFACE_DEFINED__
3446#define __IQueryCodePage_INTERFACE_DEFINED__
3447
3448DEFINE_GUID(IID_IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82);
3449#if defined(__cplusplus) && !defined(CINTERFACE)
3450MIDL_INTERFACE("c7b236ce-ee80-11d0-985f-006008059382")
3451IQueryCodePage : public IUnknown
3452{
3453 virtual HRESULT STDMETHODCALLTYPE GetCodePage(
3454 UINT *puiCodePage) = 0;
3455
3456 virtual HRESULT STDMETHODCALLTYPE SetCodePage(
3457 UINT uiCodePage) = 0;
3458
3459};
3460#ifdef __CRT_UUID_DECL
3461__CRT_UUID_DECL(IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82)
3462#endif
3463#else
3464typedef struct IQueryCodePageVtbl {
3465 BEGIN_INTERFACE
3466
3467 /*** IUnknown methods ***/
3468 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3469 IQueryCodePage *This,
3470 REFIID riid,
3471 void **ppvObject);
3472
3473 ULONG (STDMETHODCALLTYPE *AddRef)(
3474 IQueryCodePage *This);
3475
3476 ULONG (STDMETHODCALLTYPE *Release)(
3477 IQueryCodePage *This);
3478
3479 /*** IQueryCodePage methods ***/
3480 HRESULT (STDMETHODCALLTYPE *GetCodePage)(
3481 IQueryCodePage *This,
3482 UINT *puiCodePage);
3483
3484 HRESULT (STDMETHODCALLTYPE *SetCodePage)(
3485 IQueryCodePage *This,
3486 UINT uiCodePage);
3487
3488 END_INTERFACE
3489} IQueryCodePageVtbl;
3490
3491interface IQueryCodePage {
3492 CONST_VTBL IQueryCodePageVtbl* lpVtbl;
3493};
3494
3495#ifdef COBJMACROS
3496#ifndef WIDL_C_INLINE_WRAPPERS
3497/*** IUnknown methods ***/
3498#define IQueryCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3499#define IQueryCodePage_AddRef(This) (This)->lpVtbl->AddRef(This)
3500#define IQueryCodePage_Release(This) (This)->lpVtbl->Release(This)
3501/*** IQueryCodePage methods ***/
3502#define IQueryCodePage_GetCodePage(This,puiCodePage) (This)->lpVtbl->GetCodePage(This,puiCodePage)
3503#define IQueryCodePage_SetCodePage(This,uiCodePage) (This)->lpVtbl->SetCodePage(This,uiCodePage)
3504#else
3505/*** IUnknown methods ***/
3506static inline HRESULT IQueryCodePage_QueryInterface(IQueryCodePage* This,REFIID riid,void **ppvObject) {
3507 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3508}
3509static inline ULONG IQueryCodePage_AddRef(IQueryCodePage* This) {
3510 return This->lpVtbl->AddRef(This);
3511}
3512static inline ULONG IQueryCodePage_Release(IQueryCodePage* This) {
3513 return This->lpVtbl->Release(This);
3514}
3515/*** IQueryCodePage methods ***/
3516static inline HRESULT IQueryCodePage_GetCodePage(IQueryCodePage* This,UINT *puiCodePage) {
3517 return This->lpVtbl->GetCodePage(This,puiCodePage);
3518}
3519static inline HRESULT IQueryCodePage_SetCodePage(IQueryCodePage* This,UINT uiCodePage) {
3520 return This->lpVtbl->SetCodePage(This,uiCodePage);
3521}
3522#endif
3523#endif
3524
3525#endif
3526
3527
3528#endif /* __IQueryCodePage_INTERFACE_DEFINED__ */
3529
3530
3531/*****************************************************************************
3532 * IPersistFolder2 interface
3533 */
3534#ifndef __IPersistFolder2_INTERFACE_DEFINED__
3535#define __IPersistFolder2_INTERFACE_DEFINED__
3536
3537DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
3538#if defined(__cplusplus) && !defined(CINTERFACE)
3539MIDL_INTERFACE("1ac3d9f0-175c-11d1-95be-00609797ea4f")
3540IPersistFolder2 : public IPersistFolder
3541{
3542 virtual HRESULT STDMETHODCALLTYPE GetCurFolder(
3543 PIDLIST_ABSOLUTE *ppidl) = 0;
3544
3545};
3546#ifdef __CRT_UUID_DECL
3547__CRT_UUID_DECL(IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f)
3548#endif
3549#else
3550typedef struct IPersistFolder2Vtbl {
3551 BEGIN_INTERFACE
3552
3553 /*** IUnknown methods ***/
3554 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3555 IPersistFolder2 *This,
3556 REFIID riid,
3557 void **ppvObject);
3558
3559 ULONG (STDMETHODCALLTYPE *AddRef)(
3560 IPersistFolder2 *This);
3561
3562 ULONG (STDMETHODCALLTYPE *Release)(
3563 IPersistFolder2 *This);
3564
3565 /*** IPersist methods ***/
3566 HRESULT (STDMETHODCALLTYPE *GetClassID)(
3567 IPersistFolder2 *This,
3568 CLSID *pClassID);
3569
3570 /*** IPersistFolder methods ***/
3571 HRESULT (STDMETHODCALLTYPE *Initialize)(
3572 IPersistFolder2 *This,
3573 PCIDLIST_ABSOLUTE pidl);
3574
3575 /*** IPersistFolder2 methods ***/
3576 HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
3577 IPersistFolder2 *This,
3578 PIDLIST_ABSOLUTE *ppidl);
3579
3580 END_INTERFACE
3581} IPersistFolder2Vtbl;
3582
3583interface IPersistFolder2 {
3584 CONST_VTBL IPersistFolder2Vtbl* lpVtbl;
3585};
3586
3587#ifdef COBJMACROS
3588#ifndef WIDL_C_INLINE_WRAPPERS
3589/*** IUnknown methods ***/
3590#define IPersistFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3591#define IPersistFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
3592#define IPersistFolder2_Release(This) (This)->lpVtbl->Release(This)
3593/*** IPersist methods ***/
3594#define IPersistFolder2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3595/*** IPersistFolder methods ***/
3596#define IPersistFolder2_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
3597/*** IPersistFolder2 methods ***/
3598#define IPersistFolder2_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl)
3599#else
3600/*** IUnknown methods ***/
3601static inline HRESULT IPersistFolder2_QueryInterface(IPersistFolder2* This,REFIID riid,void **ppvObject) {
3602 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3603}
3604static inline ULONG IPersistFolder2_AddRef(IPersistFolder2* This) {
3605 return This->lpVtbl->AddRef(This);
3606}
3607static inline ULONG IPersistFolder2_Release(IPersistFolder2* This) {
3608 return This->lpVtbl->Release(This);
3609}
3610/*** IPersist methods ***/
3611static inline HRESULT IPersistFolder2_GetClassID(IPersistFolder2* This,CLSID *pClassID) {
3612 return This->lpVtbl->GetClassID(This,pClassID);
3613}
3614/*** IPersistFolder methods ***/
3615static inline HRESULT IPersistFolder2_Initialize(IPersistFolder2* This,PCIDLIST_ABSOLUTE pidl) {
3616 return This->lpVtbl->Initialize(This,pidl);
3617}
3618/*** IPersistFolder2 methods ***/
3619static inline HRESULT IPersistFolder2_GetCurFolder(IPersistFolder2* This,PIDLIST_ABSOLUTE *ppidl) {
3620 return This->lpVtbl->GetCurFolder(This,ppidl);
3621}
3622#endif
3623#endif
3624
3625#endif
3626
3627
3628#endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
3629
3630
3631#define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY
3632
3633#include <pshpack8.h>
3634typedef struct _PERSIST_FOLDER_TARGET_INFO {
3635 PIDLIST_ABSOLUTE pidlTargetFolder;
3636 WCHAR szTargetParsingName[260];
3637 WCHAR szNetworkProvider[260];
3638 DWORD dwAttributes;
3639 int csidl;
3640} PERSIST_FOLDER_TARGET_INFO;
3641#include <poppack.h>
3642
3643/*****************************************************************************
3644 * IPersistFolder3 interface
3645 */
3646#ifndef __IPersistFolder3_INTERFACE_DEFINED__
3647#define __IPersistFolder3_INTERFACE_DEFINED__
3648
3649DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
3650#if defined(__cplusplus) && !defined(CINTERFACE)
3651MIDL_INTERFACE("cef04fdf-fe72-11d2-87a5-00c04f6837cf")
3652IPersistFolder3 : public IPersistFolder2
3653{
3654 virtual HRESULT STDMETHODCALLTYPE InitializeEx(
3655 IBindCtx *pbc,
3656 PCIDLIST_ABSOLUTE pidlRoot,
3657 const PERSIST_FOLDER_TARGET_INFO *ppfti) = 0;
3658
3659 virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo(
3660 PERSIST_FOLDER_TARGET_INFO *ppfti) = 0;
3661
3662};
3663#ifdef __CRT_UUID_DECL
3664__CRT_UUID_DECL(IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf)
3665#endif
3666#else
3667typedef struct IPersistFolder3Vtbl {
3668 BEGIN_INTERFACE
3669
3670 /*** IUnknown methods ***/
3671 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3672 IPersistFolder3 *This,
3673 REFIID riid,
3674 void **ppvObject);
3675
3676 ULONG (STDMETHODCALLTYPE *AddRef)(
3677 IPersistFolder3 *This);
3678
3679 ULONG (STDMETHODCALLTYPE *Release)(
3680 IPersistFolder3 *This);
3681
3682 /*** IPersist methods ***/
3683 HRESULT (STDMETHODCALLTYPE *GetClassID)(
3684 IPersistFolder3 *This,
3685 CLSID *pClassID);
3686
3687 /*** IPersistFolder methods ***/
3688 HRESULT (STDMETHODCALLTYPE *Initialize)(
3689 IPersistFolder3 *This,
3690 PCIDLIST_ABSOLUTE pidl);
3691
3692 /*** IPersistFolder2 methods ***/
3693 HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
3694 IPersistFolder3 *This,
3695 PIDLIST_ABSOLUTE *ppidl);
3696
3697 /*** IPersistFolder3 methods ***/
3698 HRESULT (STDMETHODCALLTYPE *InitializeEx)(
3699 IPersistFolder3 *This,
3700 IBindCtx *pbc,
3701 PCIDLIST_ABSOLUTE pidlRoot,
3702 const PERSIST_FOLDER_TARGET_INFO *ppfti);
3703
3704 HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)(
3705 IPersistFolder3 *This,
3706 PERSIST_FOLDER_TARGET_INFO *ppfti);
3707
3708 END_INTERFACE
3709} IPersistFolder3Vtbl;
3710
3711interface IPersistFolder3 {
3712 CONST_VTBL IPersistFolder3Vtbl* lpVtbl;
3713};
3714
3715#ifdef COBJMACROS
3716#ifndef WIDL_C_INLINE_WRAPPERS
3717/*** IUnknown methods ***/
3718#define IPersistFolder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3719#define IPersistFolder3_AddRef(This) (This)->lpVtbl->AddRef(This)
3720#define IPersistFolder3_Release(This) (This)->lpVtbl->Release(This)
3721/*** IPersist methods ***/
3722#define IPersistFolder3_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3723/*** IPersistFolder methods ***/
3724#define IPersistFolder3_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
3725/*** IPersistFolder2 methods ***/
3726#define IPersistFolder3_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl)
3727/*** IPersistFolder3 methods ***/
3728#define IPersistFolder3_InitializeEx(This,pbc,pidlRoot,ppfti) (This)->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti)
3729#define IPersistFolder3_GetFolderTargetInfo(This,ppfti) (This)->lpVtbl->GetFolderTargetInfo(This,ppfti)
3730#else
3731/*** IUnknown methods ***/
3732static inline HRESULT IPersistFolder3_QueryInterface(IPersistFolder3* This,REFIID riid,void **ppvObject) {
3733 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3734}
3735static inline ULONG IPersistFolder3_AddRef(IPersistFolder3* This) {
3736 return This->lpVtbl->AddRef(This);
3737}
3738static inline ULONG IPersistFolder3_Release(IPersistFolder3* This) {
3739 return This->lpVtbl->Release(This);
3740}
3741/*** IPersist methods ***/
3742static inline HRESULT IPersistFolder3_GetClassID(IPersistFolder3* This,CLSID *pClassID) {
3743 return This->lpVtbl->GetClassID(This,pClassID);
3744}
3745/*** IPersistFolder methods ***/
3746static inline HRESULT IPersistFolder3_Initialize(IPersistFolder3* This,PCIDLIST_ABSOLUTE pidl) {
3747 return This->lpVtbl->Initialize(This,pidl);
3748}
3749/*** IPersistFolder2 methods ***/
3750static inline HRESULT IPersistFolder3_GetCurFolder(IPersistFolder3* This,PIDLIST_ABSOLUTE *ppidl) {
3751 return This->lpVtbl->GetCurFolder(This,ppidl);
3752}
3753/*** IPersistFolder3 methods ***/
3754static inline HRESULT IPersistFolder3_InitializeEx(IPersistFolder3* This,IBindCtx *pbc,PCIDLIST_ABSOLUTE pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) {
3755 return This->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti);
3756}
3757static inline HRESULT IPersistFolder3_GetFolderTargetInfo(IPersistFolder3* This,PERSIST_FOLDER_TARGET_INFO *ppfti) {
3758 return This->lpVtbl->GetFolderTargetInfo(This,ppfti);
3759}
3760#endif
3761#endif
3762
3763#endif
3764
3765
3766#endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
3767
3768
3769/*****************************************************************************
3770 * IPersistIDList interface
3771 */
3772#ifndef __IPersistIDList_INTERFACE_DEFINED__
3773#define __IPersistIDList_INTERFACE_DEFINED__
3774
3775DEFINE_GUID(IID_IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5);
3776#if defined(__cplusplus) && !defined(CINTERFACE)
3777MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5")
3778IPersistIDList : public IPersist
3779{
3780 virtual HRESULT STDMETHODCALLTYPE SetIDList(
3781 PCIDLIST_ABSOLUTE pidl) = 0;
3782
3783 virtual HRESULT STDMETHODCALLTYPE GetIDList(
3784 PIDLIST_ABSOLUTE *ppidl) = 0;
3785
3786};
3787#ifdef __CRT_UUID_DECL
3788__CRT_UUID_DECL(IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5)
3789#endif
3790#else
3791typedef struct IPersistIDListVtbl {
3792 BEGIN_INTERFACE
3793
3794 /*** IUnknown methods ***/
3795 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3796 IPersistIDList *This,
3797 REFIID riid,
3798 void **ppvObject);
3799
3800 ULONG (STDMETHODCALLTYPE *AddRef)(
3801 IPersistIDList *This);
3802
3803 ULONG (STDMETHODCALLTYPE *Release)(
3804 IPersistIDList *This);
3805
3806 /*** IPersist methods ***/
3807 HRESULT (STDMETHODCALLTYPE *GetClassID)(
3808 IPersistIDList *This,
3809 CLSID *pClassID);
3810
3811 /*** IPersistIDList methods ***/
3812 HRESULT (STDMETHODCALLTYPE *SetIDList)(
3813 IPersistIDList *This,
3814 PCIDLIST_ABSOLUTE pidl);
3815
3816 HRESULT (STDMETHODCALLTYPE *GetIDList)(
3817 IPersistIDList *This,
3818 PIDLIST_ABSOLUTE *ppidl);
3819
3820 END_INTERFACE
3821} IPersistIDListVtbl;
3822
3823interface IPersistIDList {
3824 CONST_VTBL IPersistIDListVtbl* lpVtbl;
3825};
3826
3827#ifdef COBJMACROS
3828#ifndef WIDL_C_INLINE_WRAPPERS
3829/*** IUnknown methods ***/
3830#define IPersistIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3831#define IPersistIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
3832#define IPersistIDList_Release(This) (This)->lpVtbl->Release(This)
3833/*** IPersist methods ***/
3834#define IPersistIDList_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3835/*** IPersistIDList methods ***/
3836#define IPersistIDList_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
3837#define IPersistIDList_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
3838#else
3839/*** IUnknown methods ***/
3840static inline HRESULT IPersistIDList_QueryInterface(IPersistIDList* This,REFIID riid,void **ppvObject) {
3841 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3842}
3843static inline ULONG IPersistIDList_AddRef(IPersistIDList* This) {
3844 return This->lpVtbl->AddRef(This);
3845}
3846static inline ULONG IPersistIDList_Release(IPersistIDList* This) {
3847 return This->lpVtbl->Release(This);
3848}
3849/*** IPersist methods ***/
3850static inline HRESULT IPersistIDList_GetClassID(IPersistIDList* This,CLSID *pClassID) {
3851 return This->lpVtbl->GetClassID(This,pClassID);
3852}
3853/*** IPersistIDList methods ***/
3854static inline HRESULT IPersistIDList_SetIDList(IPersistIDList* This,PCIDLIST_ABSOLUTE pidl) {
3855 return This->lpVtbl->SetIDList(This,pidl);
3856}
3857static inline HRESULT IPersistIDList_GetIDList(IPersistIDList* This,PIDLIST_ABSOLUTE *ppidl) {
3858 return This->lpVtbl->GetIDList(This,ppidl);
3859}
3860#endif
3861#endif
3862
3863#endif
3864
3865
3866#endif /* __IPersistIDList_INTERFACE_DEFINED__ */
3867
3868
3869/*****************************************************************************
3870 * IEnumIDList interface
3871 */
3872#ifndef __IEnumIDList_INTERFACE_DEFINED__
3873#define __IEnumIDList_INTERFACE_DEFINED__
3874
3875DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3876#if defined(__cplusplus) && !defined(CINTERFACE)
3877MIDL_INTERFACE("000214f2-0000-0000-c000-000000000046")
3878IEnumIDList : public IUnknown
3879{
3880 virtual HRESULT STDMETHODCALLTYPE Next(
3881 ULONG celt,
3882 PITEMID_CHILD *rgelt,
3883 ULONG *pceltFetched) = 0;
3884
3885 virtual HRESULT STDMETHODCALLTYPE Skip(
3886 ULONG celt) = 0;
3887
3888 virtual HRESULT STDMETHODCALLTYPE Reset(
3889 ) = 0;
3890
3891 virtual HRESULT STDMETHODCALLTYPE Clone(
3892 IEnumIDList **ppenum) = 0;
3893
3894};
3895#ifdef __CRT_UUID_DECL
3896__CRT_UUID_DECL(IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3897#endif
3898#else
3899typedef struct IEnumIDListVtbl {
3900 BEGIN_INTERFACE
3901
3902 /*** IUnknown methods ***/
3903 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3904 IEnumIDList *This,
3905 REFIID riid,
3906 void **ppvObject);
3907
3908 ULONG (STDMETHODCALLTYPE *AddRef)(
3909 IEnumIDList *This);
3910
3911 ULONG (STDMETHODCALLTYPE *Release)(
3912 IEnumIDList *This);
3913
3914 /*** IEnumIDList methods ***/
3915 HRESULT (STDMETHODCALLTYPE *Next)(
3916 IEnumIDList *This,
3917 ULONG celt,
3918 PITEMID_CHILD *rgelt,
3919 ULONG *pceltFetched);
3920
3921 HRESULT (STDMETHODCALLTYPE *Skip)(
3922 IEnumIDList *This,
3923 ULONG celt);
3924
3925 HRESULT (STDMETHODCALLTYPE *Reset)(
3926 IEnumIDList *This);
3927
3928 HRESULT (STDMETHODCALLTYPE *Clone)(
3929 IEnumIDList *This,
3930 IEnumIDList **ppenum);
3931
3932 END_INTERFACE
3933} IEnumIDListVtbl;
3934
3935interface IEnumIDList {
3936 CONST_VTBL IEnumIDListVtbl* lpVtbl;
3937};
3938
3939#ifdef COBJMACROS
3940#ifndef WIDL_C_INLINE_WRAPPERS
3941/*** IUnknown methods ***/
3942#define IEnumIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3943#define IEnumIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
3944#define IEnumIDList_Release(This) (This)->lpVtbl->Release(This)
3945/*** IEnumIDList methods ***/
3946#define IEnumIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
3947#define IEnumIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
3948#define IEnumIDList_Reset(This) (This)->lpVtbl->Reset(This)
3949#define IEnumIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
3950#else
3951/*** IUnknown methods ***/
3952static inline HRESULT IEnumIDList_QueryInterface(IEnumIDList* This,REFIID riid,void **ppvObject) {
3953 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3954}
3955static inline ULONG IEnumIDList_AddRef(IEnumIDList* This) {
3956 return This->lpVtbl->AddRef(This);
3957}
3958static inline ULONG IEnumIDList_Release(IEnumIDList* This) {
3959 return This->lpVtbl->Release(This);
3960}
3961/*** IEnumIDList methods ***/
3962static inline HRESULT IEnumIDList_Next(IEnumIDList* This,ULONG celt,PITEMID_CHILD *rgelt,ULONG *pceltFetched) {
3963 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
3964}
3965static inline HRESULT IEnumIDList_Skip(IEnumIDList* This,ULONG celt) {
3966 return This->lpVtbl->Skip(This,celt);
3967}
3968static inline HRESULT IEnumIDList_Reset(IEnumIDList* This) {
3969 return This->lpVtbl->Reset(This);
3970}
3971static inline HRESULT IEnumIDList_Clone(IEnumIDList* This,IEnumIDList **ppenum) {
3972 return This->lpVtbl->Clone(This,ppenum);
3973}
3974#endif
3975#endif
3976
3977#endif
3978
3979HRESULT STDMETHODCALLTYPE IEnumIDList_RemoteNext_Proxy(
3980 IEnumIDList* This,
3981 ULONG celt,
3982 PITEMID_CHILD *rgelt,
3983 ULONG *pceltFetched);
3984void __RPC_STUB IEnumIDList_RemoteNext_Stub(
3985 IRpcStubBuffer* This,
3986 IRpcChannelBuffer* pRpcChannelBuffer,
3987 PRPC_MESSAGE pRpcMessage,
3988 DWORD* pdwStubPhase);
3989HRESULT CALLBACK IEnumIDList_Next_Proxy(
3990 IEnumIDList* This,
3991 ULONG celt,
3992 PITEMID_CHILD *rgelt,
3993 ULONG *pceltFetched);
3994HRESULT __RPC_STUB IEnumIDList_Next_Stub(
3995 IEnumIDList* This,
3996 ULONG celt,
3997 PITEMID_CHILD *rgelt,
3998 ULONG *pceltFetched);
3999
4000#endif /* __IEnumIDList_INTERFACE_DEFINED__ */
4001
4002typedef IEnumIDList *LPENUMIDLIST;
4003
4004/*****************************************************************************
4005 * IEnumFullIDList interface
4006 */
4007#ifndef __IEnumFullIDList_INTERFACE_DEFINED__
4008#define __IEnumFullIDList_INTERFACE_DEFINED__
4009
4010DEFINE_GUID(IID_IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba);
4011#if defined(__cplusplus) && !defined(CINTERFACE)
4012MIDL_INTERFACE("d0191542-7954-4908-bc06-b2360bbe45ba")
4013IEnumFullIDList : public IUnknown
4014{
4015 virtual HRESULT STDMETHODCALLTYPE Next(
4016 ULONG celt,
4017 PIDLIST_ABSOLUTE *rgelt,
4018 ULONG *pceltFetched) = 0;
4019
4020 virtual HRESULT STDMETHODCALLTYPE Skip(
4021 ULONG celt) = 0;
4022
4023 virtual HRESULT STDMETHODCALLTYPE Reset(
4024 ) = 0;
4025
4026 virtual HRESULT STDMETHODCALLTYPE Clone(
4027 IEnumFullIDList **ppenum) = 0;
4028
4029};
4030#ifdef __CRT_UUID_DECL
4031__CRT_UUID_DECL(IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba)
4032#endif
4033#else
4034typedef struct IEnumFullIDListVtbl {
4035 BEGIN_INTERFACE
4036
4037 /*** IUnknown methods ***/
4038 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4039 IEnumFullIDList *This,
4040 REFIID riid,
4041 void **ppvObject);
4042
4043 ULONG (STDMETHODCALLTYPE *AddRef)(
4044 IEnumFullIDList *This);
4045
4046 ULONG (STDMETHODCALLTYPE *Release)(
4047 IEnumFullIDList *This);
4048
4049 /*** IEnumFullIDList methods ***/
4050 HRESULT (STDMETHODCALLTYPE *Next)(
4051 IEnumFullIDList *This,
4052 ULONG celt,
4053 PIDLIST_ABSOLUTE *rgelt,
4054 ULONG *pceltFetched);
4055
4056 HRESULT (STDMETHODCALLTYPE *Skip)(
4057 IEnumFullIDList *This,
4058 ULONG celt);
4059
4060 HRESULT (STDMETHODCALLTYPE *Reset)(
4061 IEnumFullIDList *This);
4062
4063 HRESULT (STDMETHODCALLTYPE *Clone)(
4064 IEnumFullIDList *This,
4065 IEnumFullIDList **ppenum);
4066
4067 END_INTERFACE
4068} IEnumFullIDListVtbl;
4069
4070interface IEnumFullIDList {
4071 CONST_VTBL IEnumFullIDListVtbl* lpVtbl;
4072};
4073
4074#ifdef COBJMACROS
4075#ifndef WIDL_C_INLINE_WRAPPERS
4076/*** IUnknown methods ***/
4077#define IEnumFullIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4078#define IEnumFullIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
4079#define IEnumFullIDList_Release(This) (This)->lpVtbl->Release(This)
4080/*** IEnumFullIDList methods ***/
4081#define IEnumFullIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
4082#define IEnumFullIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
4083#define IEnumFullIDList_Reset(This) (This)->lpVtbl->Reset(This)
4084#define IEnumFullIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
4085#else
4086/*** IUnknown methods ***/
4087static inline HRESULT IEnumFullIDList_QueryInterface(IEnumFullIDList* This,REFIID riid,void **ppvObject) {
4088 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4089}
4090static inline ULONG IEnumFullIDList_AddRef(IEnumFullIDList* This) {
4091 return This->lpVtbl->AddRef(This);
4092}
4093static inline ULONG IEnumFullIDList_Release(IEnumFullIDList* This) {
4094 return This->lpVtbl->Release(This);
4095}
4096/*** IEnumFullIDList methods ***/
4097static inline HRESULT IEnumFullIDList_Next(IEnumFullIDList* This,ULONG celt,PIDLIST_ABSOLUTE *rgelt,ULONG *pceltFetched) {
4098 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
4099}
4100static inline HRESULT IEnumFullIDList_Skip(IEnumFullIDList* This,ULONG celt) {
4101 return This->lpVtbl->Skip(This,celt);
4102}
4103static inline HRESULT IEnumFullIDList_Reset(IEnumFullIDList* This) {
4104 return This->lpVtbl->Reset(This);
4105}
4106static inline HRESULT IEnumFullIDList_Clone(IEnumFullIDList* This,IEnumFullIDList **ppenum) {
4107 return This->lpVtbl->Clone(This,ppenum);
4108}
4109#endif
4110#endif
4111
4112#endif
4113
4114HRESULT STDMETHODCALLTYPE IEnumFullIDList_RemoteNext_Proxy(
4115 IEnumFullIDList* This,
4116 ULONG celt,
4117 PIDLIST_ABSOLUTE *rgelt,
4118 ULONG *pceltFetched);
4119void __RPC_STUB IEnumFullIDList_RemoteNext_Stub(
4120 IRpcStubBuffer* This,
4121 IRpcChannelBuffer* pRpcChannelBuffer,
4122 PRPC_MESSAGE pRpcMessage,
4123 DWORD* pdwStubPhase);
4124HRESULT CALLBACK IEnumFullIDList_Next_Proxy(
4125 IEnumFullIDList* This,
4126 ULONG celt,
4127 PIDLIST_ABSOLUTE *rgelt,
4128 ULONG *pceltFetched);
4129HRESULT __RPC_STUB IEnumFullIDList_Next_Stub(
4130 IEnumFullIDList* This,
4131 ULONG celt,
4132 PIDLIST_ABSOLUTE *rgelt,
4133 ULONG *pceltFetched);
4134
4135#endif /* __IEnumFullIDList_INTERFACE_DEFINED__ */
4136
4137
4138enum _SHGDNF {
4139 SHGDN_NORMAL = 0x0,
4140 SHGDN_INFOLDER = 0x1,
4141 SHGDN_FOREDITING = 0x1000,
4142 SHGDN_FORADDRESSBAR = 0x4000,
4143 SHGDN_FORPARSING = 0x8000
4144};
4145
4146typedef DWORD SHGDNF;
4147
4148enum _SHCONTF {
4149 SHCONTF_CHECKING_FOR_CHILDREN = 0x10,
4150 SHCONTF_FOLDERS = 0x20,
4151 SHCONTF_NONFOLDERS = 0x40,
4152 SHCONTF_INCLUDEHIDDEN = 0x80,
4153 SHCONTF_INIT_ON_FIRST_NEXT = 0x100,
4154 SHCONTF_NETPRINTERSRCH = 0x200,
4155 SHCONTF_SHAREABLE = 0x400,
4156 SHCONTF_STORAGE = 0x800,
4157 SHCONTF_NAVIGATION_ENUM = 0x1000,
4158 SHCONTF_FASTITEMS = 0x2000,
4159 SHCONTF_FLATLIST = 0x4000,
4160 SHCONTF_ENABLE_ASYNC = 0x8000,
4161 SHCONTF_INCLUDESUPERHIDDEN = 0x10000
4162};
4163
4164typedef DWORD SHCONTF;
4165
4166#define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000)
4167#define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000)
4168#define SHCIDS_BITMASK __MSABI_LONG(0xffff0000)
4169#define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff)
4170
4171#define SFGAO_CANCOPY DROPEFFECT_COPY
4172#define SFGAO_CANMOVE DROPEFFECT_MOVE
4173#define SFGAO_CANLINK DROPEFFECT_LINK
4174#define SFGAO_STORAGE __MSABI_LONG(0x8)
4175#define SFGAO_CANRENAME __MSABI_LONG(0x10)
4176#define SFGAO_CANDELETE __MSABI_LONG(0x20)
4177#define SFGAO_HASPROPSHEET __MSABI_LONG(0x40)
4178#define SFGAO_DROPTARGET __MSABI_LONG(0x100)
4179
4180#define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177)
4181
4182#define SFGAO_SYSTEM __MSABI_LONG(0x1000)
4183#define SFGAO_ENCRYPTED __MSABI_LONG(0x2000)
4184#define SFGAO_ISSLOW __MSABI_LONG(0x4000)
4185#define SFGAO_GHOSTED __MSABI_LONG(0x8000)
4186#define SFGAO_LINK __MSABI_LONG(0x10000)
4187#define SFGAO_SHARE __MSABI_LONG(0x20000)
4188#define SFGAO_READONLY __MSABI_LONG(0x40000)
4189#define SFGAO_HIDDEN __MSABI_LONG(0x80000)
4190
4191#define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000)
4192
4193#define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000)
4194#define SFGAO_FOLDER __MSABI_LONG(0x20000000)
4195#define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000)
4196#define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000)
4197
4198#define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000)
4199
4200#define SFGAO_VALIDATE __MSABI_LONG(0x1000000)
4201#define SFGAO_REMOVABLE __MSABI_LONG(0x2000000)
4202#define SFGAO_COMPRESSED __MSABI_LONG(0x4000000)
4203#define SFGAO_BROWSABLE __MSABI_LONG(0x8000000)
4204#define SFGAO_NONENUMERATED __MSABI_LONG(0x100000)
4205#define SFGAO_NEWCONTENT __MSABI_LONG(0x200000)
4206#define SFGAO_CANMONIKER __MSABI_LONG(0x400000)
4207#define SFGAO_HASSTORAGE __MSABI_LONG(0x400000)
4208#define SFGAO_STREAM __MSABI_LONG(0x400000)
4209#define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000)
4210
4211#define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008)
4212#define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000)
4213
4214typedef ULONG SFGAOF;
4215
4216#define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L"Force Folder Shortcut Resolve"
4217#define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy"
4218#define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy"
4219#define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID"
4220#define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing"
4221#define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative"
4222#define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases"
4223#define STR_PARSE_SKIP_NET_CACHE L"Skip Net Resource Cache"
4224#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects"
4225#if _WIN32_IE >= 0x0700
4226#define STR_TRACK_CLSID L"Track the CLSID"
4227#define STR_INTERNAL_NAVIGATE L"Internal Navigation"
4228#define STR_PARSE_PROPERTYSTORE L"DelegateNamedProperties"
4229#define STR_NO_VALIDATE_FILENAME_CHARS L"NoValidateFilenameChars"
4230#define STR_BIND_DELEGATE_CREATE_OBJECT L"Delegate Object Creation"
4231#define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING"
4232#define STR_PARSE_PREFER_WEB_BROWSING L"Do not bind to Internet shell folder handlers"
4233#define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L"Show network diagnostics UI"
4234#define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L"Do not require validated URLs"
4235#define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L"Validate URL"
4236#endif
4237
4238#if NTDDI_VERSION >= NTDDI_WIN8
4239#define BIND_INTERRUPTABLE 0xffffffff
4240#endif
4241
4242#if NTDDI_VERSION >= NTDDI_WIN7
4243#define STR_BIND_FOLDERS_READ_ONLY L"Folders As Read Only"
4244#define STR_BIND_FOLDER_ENUM_MODE L"Folder Enum Mode"
4245
4246typedef enum FOLDER_ENUM_MODE {
4247 FEM_VIEWRESULT = 0,
4248 FEM_NAVIGATION = 1
4249} FOLDER_ENUM_MODE;
4250
4251/*****************************************************************************
4252 * IObjectWithFolderEnumMode interface
4253 */
4254#ifndef __IObjectWithFolderEnumMode_INTERFACE_DEFINED__
4255#define __IObjectWithFolderEnumMode_INTERFACE_DEFINED__
4256
4257DEFINE_GUID(IID_IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73);
4258#if defined(__cplusplus) && !defined(CINTERFACE)
4259MIDL_INTERFACE("6a9d9026-0e6e-464c-b000-42ecc07de673")
4260IObjectWithFolderEnumMode : public IUnknown
4261{
4262 virtual HRESULT STDMETHODCALLTYPE SetMode(
4263 FOLDER_ENUM_MODE feMode) = 0;
4264
4265 virtual HRESULT STDMETHODCALLTYPE GetMode(
4266 FOLDER_ENUM_MODE *pfeMode) = 0;
4267
4268};
4269#ifdef __CRT_UUID_DECL
4270__CRT_UUID_DECL(IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73)
4271#endif
4272#else
4273typedef struct IObjectWithFolderEnumModeVtbl {
4274 BEGIN_INTERFACE
4275
4276 /*** IUnknown methods ***/
4277 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4278 IObjectWithFolderEnumMode *This,
4279 REFIID riid,
4280 void **ppvObject);
4281
4282 ULONG (STDMETHODCALLTYPE *AddRef)(
4283 IObjectWithFolderEnumMode *This);
4284
4285 ULONG (STDMETHODCALLTYPE *Release)(
4286 IObjectWithFolderEnumMode *This);
4287
4288 /*** IObjectWithFolderEnumMode methods ***/
4289 HRESULT (STDMETHODCALLTYPE *SetMode)(
4290 IObjectWithFolderEnumMode *This,
4291 FOLDER_ENUM_MODE feMode);
4292
4293 HRESULT (STDMETHODCALLTYPE *GetMode)(
4294 IObjectWithFolderEnumMode *This,
4295 FOLDER_ENUM_MODE *pfeMode);
4296
4297 END_INTERFACE
4298} IObjectWithFolderEnumModeVtbl;
4299
4300interface IObjectWithFolderEnumMode {
4301 CONST_VTBL IObjectWithFolderEnumModeVtbl* lpVtbl;
4302};
4303
4304#ifdef COBJMACROS
4305#ifndef WIDL_C_INLINE_WRAPPERS
4306/*** IUnknown methods ***/
4307#define IObjectWithFolderEnumMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4308#define IObjectWithFolderEnumMode_AddRef(This) (This)->lpVtbl->AddRef(This)
4309#define IObjectWithFolderEnumMode_Release(This) (This)->lpVtbl->Release(This)
4310/*** IObjectWithFolderEnumMode methods ***/
4311#define IObjectWithFolderEnumMode_SetMode(This,feMode) (This)->lpVtbl->SetMode(This,feMode)
4312#define IObjectWithFolderEnumMode_GetMode(This,pfeMode) (This)->lpVtbl->GetMode(This,pfeMode)
4313#else
4314/*** IUnknown methods ***/
4315static inline HRESULT IObjectWithFolderEnumMode_QueryInterface(IObjectWithFolderEnumMode* This,REFIID riid,void **ppvObject) {
4316 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4317}
4318static inline ULONG IObjectWithFolderEnumMode_AddRef(IObjectWithFolderEnumMode* This) {
4319 return This->lpVtbl->AddRef(This);
4320}
4321static inline ULONG IObjectWithFolderEnumMode_Release(IObjectWithFolderEnumMode* This) {
4322 return This->lpVtbl->Release(This);
4323}
4324/*** IObjectWithFolderEnumMode methods ***/
4325static inline HRESULT IObjectWithFolderEnumMode_SetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE feMode) {
4326 return This->lpVtbl->SetMode(This,feMode);
4327}
4328static inline HRESULT IObjectWithFolderEnumMode_GetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE *pfeMode) {
4329 return This->lpVtbl->GetMode(This,pfeMode);
4330}
4331#endif
4332#endif
4333
4334#endif
4335
4336
4337#endif /* __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ */
4338
4339
4340#define STR_PARSE_WITH_EXPLICIT_PROGID L"ExplicitProgid"
4341#define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L"ExplicitAssociationApp"
4342#define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L"ExplicitAssociationSuccessful"
4343#define STR_PARSE_AND_CREATE_ITEM L"ParseAndCreateItem"
4344#define STR_PROPERTYBAG_PARAM L"SHBindCtxPropertyBag"
4345#define STR_ENUM_ITEMS_FLAGS L"SHCONTF"
4346
4347#ifndef __IShellItem_FWD_DEFINED__
4348#define __IShellItem_FWD_DEFINED__
4349typedef interface IShellItem IShellItem;
4350#ifdef __cplusplus
4351interface IShellItem;
4352#endif /* __cplusplus */
4353#endif
4354
4355
4356/*****************************************************************************
4357 * IParseAndCreateItem interface
4358 */
4359#ifndef __IParseAndCreateItem_INTERFACE_DEFINED__
4360#define __IParseAndCreateItem_INTERFACE_DEFINED__
4361
4362DEFINE_GUID(IID_IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c);
4363#if defined(__cplusplus) && !defined(CINTERFACE)
4364MIDL_INTERFACE("67efed0e-e827-4408-b493-78f3982b685c")
4365IParseAndCreateItem : public IUnknown
4366{
4367 virtual HRESULT STDMETHODCALLTYPE SetItem(
4368 IShellItem *psi) = 0;
4369
4370 virtual HRESULT STDMETHODCALLTYPE GetItem(
4371 REFIID riid,
4372 void **ppv) = 0;
4373
4374};
4375#ifdef __CRT_UUID_DECL
4376__CRT_UUID_DECL(IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c)
4377#endif
4378#else
4379typedef struct IParseAndCreateItemVtbl {
4380 BEGIN_INTERFACE
4381
4382 /*** IUnknown methods ***/
4383 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4384 IParseAndCreateItem *This,
4385 REFIID riid,
4386 void **ppvObject);
4387
4388 ULONG (STDMETHODCALLTYPE *AddRef)(
4389 IParseAndCreateItem *This);
4390
4391 ULONG (STDMETHODCALLTYPE *Release)(
4392 IParseAndCreateItem *This);
4393
4394 /*** IParseAndCreateItem methods ***/
4395 HRESULT (STDMETHODCALLTYPE *SetItem)(
4396 IParseAndCreateItem *This,
4397 IShellItem *psi);
4398
4399 HRESULT (STDMETHODCALLTYPE *GetItem)(
4400 IParseAndCreateItem *This,
4401 REFIID riid,
4402 void **ppv);
4403
4404 END_INTERFACE
4405} IParseAndCreateItemVtbl;
4406
4407interface IParseAndCreateItem {
4408 CONST_VTBL IParseAndCreateItemVtbl* lpVtbl;
4409};
4410
4411#ifdef COBJMACROS
4412#ifndef WIDL_C_INLINE_WRAPPERS
4413/*** IUnknown methods ***/
4414#define IParseAndCreateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4415#define IParseAndCreateItem_AddRef(This) (This)->lpVtbl->AddRef(This)
4416#define IParseAndCreateItem_Release(This) (This)->lpVtbl->Release(This)
4417/*** IParseAndCreateItem methods ***/
4418#define IParseAndCreateItem_SetItem(This,psi) (This)->lpVtbl->SetItem(This,psi)
4419#define IParseAndCreateItem_GetItem(This,riid,ppv) (This)->lpVtbl->GetItem(This,riid,ppv)
4420#else
4421/*** IUnknown methods ***/
4422static inline HRESULT IParseAndCreateItem_QueryInterface(IParseAndCreateItem* This,REFIID riid,void **ppvObject) {
4423 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4424}
4425static inline ULONG IParseAndCreateItem_AddRef(IParseAndCreateItem* This) {
4426 return This->lpVtbl->AddRef(This);
4427}
4428static inline ULONG IParseAndCreateItem_Release(IParseAndCreateItem* This) {
4429 return This->lpVtbl->Release(This);
4430}
4431/*** IParseAndCreateItem methods ***/
4432static inline HRESULT IParseAndCreateItem_SetItem(IParseAndCreateItem* This,IShellItem *psi) {
4433 return This->lpVtbl->SetItem(This,psi);
4434}
4435static inline HRESULT IParseAndCreateItem_GetItem(IParseAndCreateItem* This,REFIID riid,void **ppv) {
4436 return This->lpVtbl->GetItem(This,riid,ppv);
4437}
4438#endif
4439#endif
4440
4441#endif
4442
4443
4444#endif /* __IParseAndCreateItem_INTERFACE_DEFINED__ */
4445
4446
4447#define STR_ITEM_CACHE_CONTEXT L"ItemCacheContext"
4448#endif
4449
4450#ifndef __IShellFolder_FWD_DEFINED__
4451#define __IShellFolder_FWD_DEFINED__
4452typedef interface IShellFolder IShellFolder;
4453#ifdef __cplusplus
4454interface IShellFolder;
4455#endif /* __cplusplus */
4456#endif
4457
4458
4459/*****************************************************************************
4460 * IShellFolder interface
4461 */
4462#ifndef __IShellFolder_INTERFACE_DEFINED__
4463#define __IShellFolder_INTERFACE_DEFINED__
4464
4465DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4466#if defined(__cplusplus) && !defined(CINTERFACE)
4467MIDL_INTERFACE("000214e6-0000-0000-c000-000000000046")
4468IShellFolder : public IUnknown
4469{
4470 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
4471 HWND hwnd,
4472 IBindCtx *pbc,
4473 LPWSTR pszDisplayName,
4474 ULONG *pchEaten,
4475 PIDLIST_RELATIVE *ppidl,
4476 ULONG *pdwAttributes) = 0;
4477
4478 virtual HRESULT STDMETHODCALLTYPE EnumObjects(
4479 HWND hwnd,
4480 SHCONTF grfFlags,
4481 IEnumIDList **ppenumIDList) = 0;
4482
4483 virtual HRESULT STDMETHODCALLTYPE BindToObject(
4484 PCUIDLIST_RELATIVE pidl,
4485 IBindCtx *pbc,
4486 REFIID riid,
4487 void **ppv) = 0;
4488
4489 virtual HRESULT STDMETHODCALLTYPE BindToStorage(
4490 PCUIDLIST_RELATIVE pidl,
4491 IBindCtx *pbc,
4492 REFIID riid,
4493 void **ppv) = 0;
4494
4495 virtual HRESULT STDMETHODCALLTYPE CompareIDs(
4496 LPARAM lParam,
4497 PCUIDLIST_RELATIVE pidl1,
4498 PCUIDLIST_RELATIVE pidl2) = 0;
4499
4500 virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
4501 HWND hwndOwner,
4502 REFIID riid,
4503 void **ppv) = 0;
4504
4505 virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
4506 UINT cidl,
4507 PCUITEMID_CHILD_ARRAY apidl,
4508 SFGAOF *rgfInOut) = 0;
4509
4510 virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
4511 HWND hwndOwner,
4512 UINT cidl,
4513 PCUITEMID_CHILD_ARRAY apidl,
4514 REFIID riid,
4515 UINT *rgfReserved,
4516 void **ppv) = 0;
4517
4518 virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
4519 PCUITEMID_CHILD pidl,
4520 SHGDNF uFlags,
4521 STRRET *pName) = 0;
4522
4523 virtual HRESULT STDMETHODCALLTYPE SetNameOf(
4524 HWND hwnd,
4525 PCUITEMID_CHILD pidl,
4526 LPCWSTR pszName,
4527 SHGDNF uFlags,
4528 PITEMID_CHILD *ppidlOut) = 0;
4529
4530};
4531#ifdef __CRT_UUID_DECL
4532__CRT_UUID_DECL(IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4533#endif
4534#else
4535typedef struct IShellFolderVtbl {
4536 BEGIN_INTERFACE
4537
4538 /*** IUnknown methods ***/
4539 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4540 IShellFolder *This,
4541 REFIID riid,
4542 void **ppvObject);
4543
4544 ULONG (STDMETHODCALLTYPE *AddRef)(
4545 IShellFolder *This);
4546
4547 ULONG (STDMETHODCALLTYPE *Release)(
4548 IShellFolder *This);
4549
4550 /*** IShellFolder methods ***/
4551 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
4552 IShellFolder *This,
4553 HWND hwnd,
4554 IBindCtx *pbc,
4555 LPWSTR pszDisplayName,
4556 ULONG *pchEaten,
4557 PIDLIST_RELATIVE *ppidl,
4558 ULONG *pdwAttributes);
4559
4560 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
4561 IShellFolder *This,
4562 HWND hwnd,
4563 SHCONTF grfFlags,
4564 IEnumIDList **ppenumIDList);
4565
4566 HRESULT (STDMETHODCALLTYPE *BindToObject)(
4567 IShellFolder *This,
4568 PCUIDLIST_RELATIVE pidl,
4569 IBindCtx *pbc,
4570 REFIID riid,
4571 void **ppv);
4572
4573 HRESULT (STDMETHODCALLTYPE *BindToStorage)(
4574 IShellFolder *This,
4575 PCUIDLIST_RELATIVE pidl,
4576 IBindCtx *pbc,
4577 REFIID riid,
4578 void **ppv);
4579
4580 HRESULT (STDMETHODCALLTYPE *CompareIDs)(
4581 IShellFolder *This,
4582 LPARAM lParam,
4583 PCUIDLIST_RELATIVE pidl1,
4584 PCUIDLIST_RELATIVE pidl2);
4585
4586 HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
4587 IShellFolder *This,
4588 HWND hwndOwner,
4589 REFIID riid,
4590 void **ppv);
4591
4592 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
4593 IShellFolder *This,
4594 UINT cidl,
4595 PCUITEMID_CHILD_ARRAY apidl,
4596 SFGAOF *rgfInOut);
4597
4598 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
4599 IShellFolder *This,
4600 HWND hwndOwner,
4601 UINT cidl,
4602 PCUITEMID_CHILD_ARRAY apidl,
4603 REFIID riid,
4604 UINT *rgfReserved,
4605 void **ppv);
4606
4607 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
4608 IShellFolder *This,
4609 PCUITEMID_CHILD pidl,
4610 SHGDNF uFlags,
4611 STRRET *pName);
4612
4613 HRESULT (STDMETHODCALLTYPE *SetNameOf)(
4614 IShellFolder *This,
4615 HWND hwnd,
4616 PCUITEMID_CHILD pidl,
4617 LPCWSTR pszName,
4618 SHGDNF uFlags,
4619 PITEMID_CHILD *ppidlOut);
4620
4621 END_INTERFACE
4622} IShellFolderVtbl;
4623
4624interface IShellFolder {
4625 CONST_VTBL IShellFolderVtbl* lpVtbl;
4626};
4627
4628#ifdef COBJMACROS
4629#ifndef WIDL_C_INLINE_WRAPPERS
4630/*** IUnknown methods ***/
4631#define IShellFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4632#define IShellFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
4633#define IShellFolder_Release(This) (This)->lpVtbl->Release(This)
4634/*** IShellFolder methods ***/
4635#define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
4636#define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
4637#define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
4638#define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
4639#define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
4640#define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
4641#define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
4642#define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
4643#define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
4644#define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
4645#else
4646/*** IUnknown methods ***/
4647static inline HRESULT IShellFolder_QueryInterface(IShellFolder* This,REFIID riid,void **ppvObject) {
4648 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4649}
4650static inline ULONG IShellFolder_AddRef(IShellFolder* This) {
4651 return This->lpVtbl->AddRef(This);
4652}
4653static inline ULONG IShellFolder_Release(IShellFolder* This) {
4654 return This->lpVtbl->Release(This);
4655}
4656/*** IShellFolder methods ***/
4657static inline HRESULT IShellFolder_ParseDisplayName(IShellFolder* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) {
4658 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes);
4659}
4660static inline HRESULT IShellFolder_EnumObjects(IShellFolder* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) {
4661 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList);
4662}
4663static inline HRESULT IShellFolder_BindToObject(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
4664 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv);
4665}
4666static inline HRESULT IShellFolder_BindToStorage(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
4667 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv);
4668}
4669static inline HRESULT IShellFolder_CompareIDs(IShellFolder* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) {
4670 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2);
4671}
4672static inline HRESULT IShellFolder_CreateViewObject(IShellFolder* This,HWND hwndOwner,REFIID riid,void **ppv) {
4673 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv);
4674}
4675static inline HRESULT IShellFolder_GetAttributesOf(IShellFolder* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) {
4676 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut);
4677}
4678static inline HRESULT IShellFolder_GetUIObjectOf(IShellFolder* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) {
4679 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv);
4680}
4681static inline HRESULT IShellFolder_GetDisplayNameOf(IShellFolder* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) {
4682 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName);
4683}
4684static inline HRESULT IShellFolder_SetNameOf(IShellFolder* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) {
4685 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut);
4686}
4687#endif
4688#endif
4689
4690#endif
4691
4692HRESULT STDMETHODCALLTYPE IShellFolder_RemoteSetNameOf_Proxy(
4693 IShellFolder* This,
4694 HWND hwnd,
4695 PCUITEMID_CHILD pidl,
4696 LPCWSTR pszName,
4697 SHGDNF uFlags,
4698 PITEMID_CHILD *ppidlOut);
4699void __RPC_STUB IShellFolder_RemoteSetNameOf_Stub(
4700 IRpcStubBuffer* This,
4701 IRpcChannelBuffer* pRpcChannelBuffer,
4702 PRPC_MESSAGE pRpcMessage,
4703 DWORD* pdwStubPhase);
4704HRESULT CALLBACK IShellFolder_SetNameOf_Proxy(
4705 IShellFolder* This,
4706 HWND hwnd,
4707 PCUITEMID_CHILD pidl,
4708 LPCWSTR pszName,
4709 SHGDNF uFlags,
4710 PITEMID_CHILD *ppidlOut);
4711HRESULT __RPC_STUB IShellFolder_SetNameOf_Stub(
4712 IShellFolder* This,
4713 HWND hwnd,
4714 PCUITEMID_CHILD pidl,
4715 LPCWSTR pszName,
4716 SHGDNF uFlags,
4717 PITEMID_CHILD *ppidlOut);
4718
4719#endif /* __IShellFolder_INTERFACE_DEFINED__ */
4720
4721typedef IShellFolder *LPSHELLFOLDER;
4722
4723typedef struct EXTRASEARCH {
4724 GUID guidSearch;
4725 WCHAR wszFriendlyName[80];
4726 WCHAR wszUrl[2084];
4727} EXTRASEARCH;
4728typedef struct EXTRASEARCH *LPEXTRASEARCH;
4729
4730/*****************************************************************************
4731 * IEnumExtraSearch interface
4732 */
4733#ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
4734#define __IEnumExtraSearch_INTERFACE_DEFINED__
4735
4736DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
4737#if defined(__cplusplus) && !defined(CINTERFACE)
4738MIDL_INTERFACE("0e700be1-9db6-11d1-a1ce-00c04fd75d13")
4739IEnumExtraSearch : public IUnknown
4740{
4741 virtual HRESULT STDMETHODCALLTYPE Next(
4742 ULONG celt,
4743 EXTRASEARCH *rgelt,
4744 ULONG *pceltFetched) = 0;
4745
4746 virtual HRESULT STDMETHODCALLTYPE Skip(
4747 ULONG celt) = 0;
4748
4749 virtual HRESULT STDMETHODCALLTYPE Reset(
4750 ) = 0;
4751
4752 virtual HRESULT STDMETHODCALLTYPE Clone(
4753 IEnumExtraSearch **ppenum) = 0;
4754
4755};
4756#ifdef __CRT_UUID_DECL
4757__CRT_UUID_DECL(IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13)
4758#endif
4759#else
4760typedef struct IEnumExtraSearchVtbl {
4761 BEGIN_INTERFACE
4762
4763 /*** IUnknown methods ***/
4764 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4765 IEnumExtraSearch *This,
4766 REFIID riid,
4767 void **ppvObject);
4768
4769 ULONG (STDMETHODCALLTYPE *AddRef)(
4770 IEnumExtraSearch *This);
4771
4772 ULONG (STDMETHODCALLTYPE *Release)(
4773 IEnumExtraSearch *This);
4774
4775 /*** IEnumExtraSearch methods ***/
4776 HRESULT (STDMETHODCALLTYPE *Next)(
4777 IEnumExtraSearch *This,
4778 ULONG celt,
4779 EXTRASEARCH *rgelt,
4780 ULONG *pceltFetched);
4781
4782 HRESULT (STDMETHODCALLTYPE *Skip)(
4783 IEnumExtraSearch *This,
4784 ULONG celt);
4785
4786 HRESULT (STDMETHODCALLTYPE *Reset)(
4787 IEnumExtraSearch *This);
4788
4789 HRESULT (STDMETHODCALLTYPE *Clone)(
4790 IEnumExtraSearch *This,
4791 IEnumExtraSearch **ppenum);
4792
4793 END_INTERFACE
4794} IEnumExtraSearchVtbl;
4795
4796interface IEnumExtraSearch {
4797 CONST_VTBL IEnumExtraSearchVtbl* lpVtbl;
4798};
4799
4800#ifdef COBJMACROS
4801#ifndef WIDL_C_INLINE_WRAPPERS
4802/*** IUnknown methods ***/
4803#define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4804#define IEnumExtraSearch_AddRef(This) (This)->lpVtbl->AddRef(This)
4805#define IEnumExtraSearch_Release(This) (This)->lpVtbl->Release(This)
4806/*** IEnumExtraSearch methods ***/
4807#define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
4808#define IEnumExtraSearch_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
4809#define IEnumExtraSearch_Reset(This) (This)->lpVtbl->Reset(This)
4810#define IEnumExtraSearch_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
4811#else
4812/*** IUnknown methods ***/
4813static inline HRESULT IEnumExtraSearch_QueryInterface(IEnumExtraSearch* This,REFIID riid,void **ppvObject) {
4814 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4815}
4816static inline ULONG IEnumExtraSearch_AddRef(IEnumExtraSearch* This) {
4817 return This->lpVtbl->AddRef(This);
4818}
4819static inline ULONG IEnumExtraSearch_Release(IEnumExtraSearch* This) {
4820 return This->lpVtbl->Release(This);
4821}
4822/*** IEnumExtraSearch methods ***/
4823static inline HRESULT IEnumExtraSearch_Next(IEnumExtraSearch* This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched) {
4824 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
4825}
4826static inline HRESULT IEnumExtraSearch_Skip(IEnumExtraSearch* This,ULONG celt) {
4827 return This->lpVtbl->Skip(This,celt);
4828}
4829static inline HRESULT IEnumExtraSearch_Reset(IEnumExtraSearch* This) {
4830 return This->lpVtbl->Reset(This);
4831}
4832static inline HRESULT IEnumExtraSearch_Clone(IEnumExtraSearch* This,IEnumExtraSearch **ppenum) {
4833 return This->lpVtbl->Clone(This,ppenum);
4834}
4835#endif
4836#endif
4837
4838#endif
4839
4840
4841#endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
4842
4843typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
4844
4845/*****************************************************************************
4846 * IShellFolder2 interface
4847 */
4848#ifndef __IShellFolder2_INTERFACE_DEFINED__
4849#define __IShellFolder2_INTERFACE_DEFINED__
4850
4851DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
4852#if defined(__cplusplus) && !defined(CINTERFACE)
4853MIDL_INTERFACE("93f2f68c-1d1b-11d3-a30e-00c04f79abd1")
4854IShellFolder2 : public IShellFolder
4855{
4856 virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID(
4857 GUID *pguid) = 0;
4858
4859 virtual HRESULT STDMETHODCALLTYPE EnumSearches(
4860 IEnumExtraSearch **ppenum) = 0;
4861
4862 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn(
4863 DWORD dwRes,
4864 ULONG *pSort,
4865 ULONG *pDisplay) = 0;
4866
4867 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(
4868 UINT iColumn,
4869 SHCOLSTATEF *pcsFlags) = 0;
4870
4871 virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(
4872 PCUITEMID_CHILD pidl,
4873 const SHCOLUMNID *pscid,
4874 VARIANT *pv) = 0;
4875
4876 virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
4877 PCUITEMID_CHILD pidl,
4878 UINT iColumn,
4879 SHELLDETAILS *psd) = 0;
4880
4881 virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(
4882 UINT iColumn,
4883 SHCOLUMNID *pscid) = 0;
4884
4885};
4886#ifdef __CRT_UUID_DECL
4887__CRT_UUID_DECL(IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1)
4888#endif
4889#else
4890typedef struct IShellFolder2Vtbl {
4891 BEGIN_INTERFACE
4892
4893 /*** IUnknown methods ***/
4894 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4895 IShellFolder2 *This,
4896 REFIID riid,
4897 void **ppvObject);
4898
4899 ULONG (STDMETHODCALLTYPE *AddRef)(
4900 IShellFolder2 *This);
4901
4902 ULONG (STDMETHODCALLTYPE *Release)(
4903 IShellFolder2 *This);
4904
4905 /*** IShellFolder methods ***/
4906 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
4907 IShellFolder2 *This,
4908 HWND hwnd,
4909 IBindCtx *pbc,
4910 LPWSTR pszDisplayName,
4911 ULONG *pchEaten,
4912 PIDLIST_RELATIVE *ppidl,
4913 ULONG *pdwAttributes);
4914
4915 HRESULT (STDMETHODCALLTYPE *EnumObjects)(
4916 IShellFolder2 *This,
4917 HWND hwnd,
4918 SHCONTF grfFlags,
4919 IEnumIDList **ppenumIDList);
4920
4921 HRESULT (STDMETHODCALLTYPE *BindToObject)(
4922 IShellFolder2 *This,
4923 PCUIDLIST_RELATIVE pidl,
4924 IBindCtx *pbc,
4925 REFIID riid,
4926 void **ppv);
4927
4928 HRESULT (STDMETHODCALLTYPE *BindToStorage)(
4929 IShellFolder2 *This,
4930 PCUIDLIST_RELATIVE pidl,
4931 IBindCtx *pbc,
4932 REFIID riid,
4933 void **ppv);
4934
4935 HRESULT (STDMETHODCALLTYPE *CompareIDs)(
4936 IShellFolder2 *This,
4937 LPARAM lParam,
4938 PCUIDLIST_RELATIVE pidl1,
4939 PCUIDLIST_RELATIVE pidl2);
4940
4941 HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
4942 IShellFolder2 *This,
4943 HWND hwndOwner,
4944 REFIID riid,
4945 void **ppv);
4946
4947 HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
4948 IShellFolder2 *This,
4949 UINT cidl,
4950 PCUITEMID_CHILD_ARRAY apidl,
4951 SFGAOF *rgfInOut);
4952
4953 HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
4954 IShellFolder2 *This,
4955 HWND hwndOwner,
4956 UINT cidl,
4957 PCUITEMID_CHILD_ARRAY apidl,
4958 REFIID riid,
4959 UINT *rgfReserved,
4960 void **ppv);
4961
4962 HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
4963 IShellFolder2 *This,
4964 PCUITEMID_CHILD pidl,
4965 SHGDNF uFlags,
4966 STRRET *pName);
4967
4968 HRESULT (STDMETHODCALLTYPE *SetNameOf)(
4969 IShellFolder2 *This,
4970 HWND hwnd,
4971 PCUITEMID_CHILD pidl,
4972 LPCWSTR pszName,
4973 SHGDNF uFlags,
4974 PITEMID_CHILD *ppidlOut);
4975
4976 /*** IShellFolder2 methods ***/
4977 HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)(
4978 IShellFolder2 *This,
4979 GUID *pguid);
4980
4981 HRESULT (STDMETHODCALLTYPE *EnumSearches)(
4982 IShellFolder2 *This,
4983 IEnumExtraSearch **ppenum);
4984
4985 HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)(
4986 IShellFolder2 *This,
4987 DWORD dwRes,
4988 ULONG *pSort,
4989 ULONG *pDisplay);
4990
4991 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)(
4992 IShellFolder2 *This,
4993 UINT iColumn,
4994 SHCOLSTATEF *pcsFlags);
4995
4996 HRESULT (STDMETHODCALLTYPE *GetDetailsEx)(
4997 IShellFolder2 *This,
4998 PCUITEMID_CHILD pidl,
4999 const SHCOLUMNID *pscid,
5000 VARIANT *pv);
5001
5002 HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
5003 IShellFolder2 *This,
5004 PCUITEMID_CHILD pidl,
5005 UINT iColumn,
5006 SHELLDETAILS *psd);
5007
5008 HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)(
5009 IShellFolder2 *This,
5010 UINT iColumn,
5011 SHCOLUMNID *pscid);
5012
5013 END_INTERFACE
5014} IShellFolder2Vtbl;
5015
5016interface IShellFolder2 {
5017 CONST_VTBL IShellFolder2Vtbl* lpVtbl;
5018};
5019
5020#ifdef COBJMACROS
5021#ifndef WIDL_C_INLINE_WRAPPERS
5022/*** IUnknown methods ***/
5023#define IShellFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5024#define IShellFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
5025#define IShellFolder2_Release(This) (This)->lpVtbl->Release(This)
5026/*** IShellFolder methods ***/
5027#define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
5028#define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
5029#define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
5030#define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
5031#define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
5032#define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
5033#define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
5034#define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
5035#define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
5036#define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
5037/*** IShellFolder2 methods ***/
5038#define IShellFolder2_GetDefaultSearchGUID(This,pguid) (This)->lpVtbl->GetDefaultSearchGUID(This,pguid)
5039#define IShellFolder2_EnumSearches(This,ppenum) (This)->lpVtbl->EnumSearches(This,ppenum)
5040#define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) (This)->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay)
5041#define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) (This)->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags)
5042#define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) (This)->lpVtbl->GetDetailsEx(This,pidl,pscid,pv)
5043#define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) (This)->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd)
5044#define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) (This)->lpVtbl->MapColumnToSCID(This,iColumn,pscid)
5045#else
5046/*** IUnknown methods ***/
5047static inline HRESULT IShellFolder2_QueryInterface(IShellFolder2* This,REFIID riid,void **ppvObject) {
5048 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5049}
5050static inline ULONG IShellFolder2_AddRef(IShellFolder2* This) {
5051 return This->lpVtbl->AddRef(This);
5052}
5053static inline ULONG IShellFolder2_Release(IShellFolder2* This) {
5054 return This->lpVtbl->Release(This);
5055}
5056/*** IShellFolder methods ***/
5057static inline HRESULT IShellFolder2_ParseDisplayName(IShellFolder2* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) {
5058 return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes);
5059}
5060static inline HRESULT IShellFolder2_EnumObjects(IShellFolder2* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) {
5061 return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList);
5062}
5063static inline HRESULT IShellFolder2_BindToObject(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
5064 return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv);
5065}
5066static inline HRESULT IShellFolder2_BindToStorage(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
5067 return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv);
5068}
5069static inline HRESULT IShellFolder2_CompareIDs(IShellFolder2* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) {
5070 return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2);
5071}
5072static inline HRESULT IShellFolder2_CreateViewObject(IShellFolder2* This,HWND hwndOwner,REFIID riid,void **ppv) {
5073 return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv);
5074}
5075static inline HRESULT IShellFolder2_GetAttributesOf(IShellFolder2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) {
5076 return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut);
5077}
5078static inline HRESULT IShellFolder2_GetUIObjectOf(IShellFolder2* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) {
5079 return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv);
5080}
5081static inline HRESULT IShellFolder2_GetDisplayNameOf(IShellFolder2* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) {
5082 return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName);
5083}
5084static inline HRESULT IShellFolder2_SetNameOf(IShellFolder2* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) {
5085 return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut);
5086}
5087/*** IShellFolder2 methods ***/
5088static inline HRESULT IShellFolder2_GetDefaultSearchGUID(IShellFolder2* This,GUID *pguid) {
5089 return This->lpVtbl->GetDefaultSearchGUID(This,pguid);
5090}
5091static inline HRESULT IShellFolder2_EnumSearches(IShellFolder2* This,IEnumExtraSearch **ppenum) {
5092 return This->lpVtbl->EnumSearches(This,ppenum);
5093}
5094static inline HRESULT IShellFolder2_GetDefaultColumn(IShellFolder2* This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay) {
5095 return This->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay);
5096}
5097static inline HRESULT IShellFolder2_GetDefaultColumnState(IShellFolder2* This,UINT iColumn,SHCOLSTATEF *pcsFlags) {
5098 return This->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags);
5099}
5100static inline HRESULT IShellFolder2_GetDetailsEx(IShellFolder2* This,PCUITEMID_CHILD pidl,const SHCOLUMNID *pscid,VARIANT *pv) {
5101 return This->lpVtbl->GetDetailsEx(This,pidl,pscid,pv);
5102}
5103static inline HRESULT IShellFolder2_GetDetailsOf(IShellFolder2* This,PCUITEMID_CHILD pidl,UINT iColumn,SHELLDETAILS *psd) {
5104 return This->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd);
5105}
5106static inline HRESULT IShellFolder2_MapColumnToSCID(IShellFolder2* This,UINT iColumn,SHCOLUMNID *pscid) {
5107 return This->lpVtbl->MapColumnToSCID(This,iColumn,pscid);
5108}
5109#endif
5110#endif
5111
5112#endif
5113
5114
5115#endif /* __IShellFolder2_INTERFACE_DEFINED__ */
5116
5117typedef char *LPVIEWSETTINGS;
5118
5119typedef enum FOLDERFLAGS {
5120 FWF_NONE = 0x0,
5121 FWF_AUTOARRANGE = 0x1,
5122 FWF_ABBREVIATEDNAMES = 0x2,
5123 FWF_SNAPTOGRID = 0x4,
5124 FWF_OWNERDATA = 0x8,
5125 FWF_BESTFITWINDOW = 0x10,
5126 FWF_DESKTOP = 0x20,
5127 FWF_SINGLESEL = 0x40,
5128 FWF_NOSUBFOLDERS = 0x80,
5129 FWF_TRANSPARENT = 0x100,
5130 FWF_NOCLIENTEDGE = 0x200,
5131 FWF_NOSCROLL = 0x400,
5132 FWF_ALIGNLEFT = 0x800,
5133 FWF_NOICONS = 0x1000,
5134 FWF_SHOWSELALWAYS = 0x2000,
5135 FWF_NOVISIBLE = 0x4000,
5136 FWF_SINGLECLICKACTIVATE = 0x8000,
5137 FWF_NOWEBVIEW = 0x10000,
5138 FWF_HIDEFILENAMES = 0x20000,
5139 FWF_CHECKSELECT = 0x40000,
5140 FWF_NOENUMREFRESH = 0x80000,
5141 FWF_NOGROUPING = 0x100000,
5142 FWF_FULLROWSELECT = 0x200000,
5143 FWF_NOFILTERS = 0x400000,
5144 FWF_NOCOLUMNHEADER = 0x800000,
5145 FWF_NOHEADERINALLVIEWS = 0x1000000,
5146 FWF_EXTENDEDTILES = 0x2000000,
5147 FWF_TRICHECKSELECT = 0x4000000,
5148 FWF_AUTOCHECKSELECT = 0x8000000,
5149 FWF_NOBROWSERVIEWSTATE = 0x10000000,
5150 FWF_SUBSETGROUPS = 0x20000000,
5151 FWF_USESEARCHFOLDER = 0x40000000,
5152 FWF_ALLOWRTLREADING = 0x80000000
5153} FOLDERFLAGS;
5154
5155DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS)
5156
5157typedef enum FOLDERVIEWMODE {
5158 FVM_AUTO = -1,
5159 FVM_FIRST = 1,
5160 FVM_ICON = 1,
5161 FVM_SMALLICON = 2,
5162 FVM_LIST = 3,
5163 FVM_DETAILS = 4,
5164 FVM_THUMBNAIL = 5,
5165 FVM_TILE = 6,
5166 FVM_THUMBSTRIP = 7,
5167 FVM_CONTENT = 8,
5168 FVM_LAST = 8
5169} FOLDERVIEWMODE;
5170
5171#if NTDDI_VERSION >= NTDDI_VISTA
5172typedef enum FOLDERLOGICALVIEWMODE {
5173 FLVM_UNSPECIFIED = -1,
5174 FLVM_FIRST = 1,
5175 FLVM_DETAILS = 1,
5176 FLVM_TILES = 2,
5177 FLVM_ICONS = 3,
5178 FLVM_LIST = 4,
5179 FLVM_CONTENT = 5,
5180 FLVM_LAST = 5
5181} FOLDERLOGICALVIEWMODE;
5182#endif
5183typedef struct FOLDERSETTINGS {
5184 UINT ViewMode;
5185 UINT fFlags;
5186} FOLDERSETTINGS;
5187
5188typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
5189typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
5190typedef FOLDERSETTINGS *PFOLDERSETTINGS;
5191
5192/*****************************************************************************
5193 * IFolderViewOptions interface
5194 */
5195#ifndef __IFolderViewOptions_INTERFACE_DEFINED__
5196#define __IFolderViewOptions_INTERFACE_DEFINED__
5197
5198typedef enum FOLDERVIEWOPTIONS {
5199 FVO_DEFAULT = 0x0,
5200 FVO_VISTALAYOUT = 0x1,
5201 FVO_CUSTOMPOSITION = 0x2,
5202 FVO_CUSTOMORDERING = 0x4,
5203 FVO_SUPPORTHYPERLINKS = 0x8,
5204 FVO_NOANIMATIONS = 0x10,
5205 FVO_NOSCROLLTIPS = 0x20
5206} FOLDERVIEWOPTIONS;
5207
5208DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS)
5209
5210DEFINE_GUID(IID_IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f);
5211#if defined(__cplusplus) && !defined(CINTERFACE)
5212MIDL_INTERFACE("3cc974d2-b302-4d36-ad3e-06d93f695d3f")
5213IFolderViewOptions : public IUnknown
5214{
5215 virtual HRESULT STDMETHODCALLTYPE SetFolderViewOptions(
5216 FOLDERVIEWOPTIONS fvoMask,
5217 FOLDERVIEWOPTIONS fvoFlags) = 0;
5218
5219 virtual HRESULT STDMETHODCALLTYPE GetFolderViewOptions(
5220 FOLDERVIEWOPTIONS *pfvoFlags) = 0;
5221
5222};
5223#ifdef __CRT_UUID_DECL
5224__CRT_UUID_DECL(IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f)
5225#endif
5226#else
5227typedef struct IFolderViewOptionsVtbl {
5228 BEGIN_INTERFACE
5229
5230 /*** IUnknown methods ***/
5231 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5232 IFolderViewOptions *This,
5233 REFIID riid,
5234 void **ppvObject);
5235
5236 ULONG (STDMETHODCALLTYPE *AddRef)(
5237 IFolderViewOptions *This);
5238
5239 ULONG (STDMETHODCALLTYPE *Release)(
5240 IFolderViewOptions *This);
5241
5242 /*** IFolderViewOptions methods ***/
5243 HRESULT (STDMETHODCALLTYPE *SetFolderViewOptions)(
5244 IFolderViewOptions *This,
5245 FOLDERVIEWOPTIONS fvoMask,
5246 FOLDERVIEWOPTIONS fvoFlags);
5247
5248 HRESULT (STDMETHODCALLTYPE *GetFolderViewOptions)(
5249 IFolderViewOptions *This,
5250 FOLDERVIEWOPTIONS *pfvoFlags);
5251
5252 END_INTERFACE
5253} IFolderViewOptionsVtbl;
5254
5255interface IFolderViewOptions {
5256 CONST_VTBL IFolderViewOptionsVtbl* lpVtbl;
5257};
5258
5259#ifdef COBJMACROS
5260#ifndef WIDL_C_INLINE_WRAPPERS
5261/*** IUnknown methods ***/
5262#define IFolderViewOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5263#define IFolderViewOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
5264#define IFolderViewOptions_Release(This) (This)->lpVtbl->Release(This)
5265/*** IFolderViewOptions methods ***/
5266#define IFolderViewOptions_SetFolderViewOptions(This,fvoMask,fvoFlags) (This)->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags)
5267#define IFolderViewOptions_GetFolderViewOptions(This,pfvoFlags) (This)->lpVtbl->GetFolderViewOptions(This,pfvoFlags)
5268#else
5269/*** IUnknown methods ***/
5270static inline HRESULT IFolderViewOptions_QueryInterface(IFolderViewOptions* This,REFIID riid,void **ppvObject) {
5271 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5272}
5273static inline ULONG IFolderViewOptions_AddRef(IFolderViewOptions* This) {
5274 return This->lpVtbl->AddRef(This);
5275}
5276static inline ULONG IFolderViewOptions_Release(IFolderViewOptions* This) {
5277 return This->lpVtbl->Release(This);
5278}
5279/*** IFolderViewOptions methods ***/
5280static inline HRESULT IFolderViewOptions_SetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS fvoMask,FOLDERVIEWOPTIONS fvoFlags) {
5281 return This->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags);
5282}
5283static inline HRESULT IFolderViewOptions_GetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS *pfvoFlags) {
5284 return This->lpVtbl->GetFolderViewOptions(This,pfvoFlags);
5285}
5286#endif
5287#endif
5288
5289#endif
5290
5291
5292#endif /* __IFolderViewOptions_INTERFACE_DEFINED__ */
5293
5294typedef enum _SVSIF {
5295 SVSI_DESELECT = 0x0,
5296 SVSI_SELECT = 0x1,
5297 SVSI_EDIT = 0x3,
5298 SVSI_DESELECTOTHERS = 0x4,
5299 SVSI_ENSUREVISIBLE = 0x8,
5300 SVSI_FOCUSED = 0x10,
5301 SVSI_TRANSLATEPT = 0x20,
5302 SVSI_SELECTIONMARK = 0x40,
5303 SVSI_POSITIONITEM = 0x80,
5304 SVSI_CHECK = 0x100,
5305 SVSI_CHECK2 = 0x200,
5306 SVSI_KEYBOARDSELECT = 0x401,
5307 SVSI_NOTAKEFOCUS = 0x40000000
5308} _SVSIF;
5309
5310#define SVSI_NOSTATECHANGE ((UINT)0x80000000)
5311
5312typedef UINT SVSIF;
5313
5314typedef enum _SVGIO {
5315 SVGIO_BACKGROUND = 0x0,
5316 SVGIO_SELECTION = 0x1,
5317 SVGIO_ALLVIEW = 0x2,
5318 SVGIO_CHECKED = 0x3,
5319 SVGIO_TYPE_MASK = 0xf,
5320 SVGIO_FLAG_VIEWORDER = 0x80000000
5321} _SVGIO;
5322
5323DEFINE_ENUM_FLAG_OPERATORS(_SVGIO)
5324
5325typedef int SVGIO;
5326
5327typedef enum SVUIA_STATUS {
5328 SVUIA_DEACTIVATE = 0,
5329 SVUIA_ACTIVATE_NOFOCUS = 1,
5330 SVUIA_ACTIVATE_FOCUS = 2,
5331 SVUIA_INPLACEACTIVATE = 3
5332} SVUIA_STATUS;
5333
5334#ifdef _FIX_ENABLEMODELESS_CONFLICT
5335#define EnableModeless EnableModelessSV
5336#endif
5337
5338#if 0
5339typedef LPARAM LPFNSVADDPROPSHEETPAGE;
5340#else
5341#include <prsht.h>
5342typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
5343#endif
5344
5345#ifndef __IShellBrowser_FWD_DEFINED__
5346#define __IShellBrowser_FWD_DEFINED__
5347typedef interface IShellBrowser IShellBrowser;
5348#ifdef __cplusplus
5349interface IShellBrowser;
5350#endif /* __cplusplus */
5351#endif
5352
5353
5354/*****************************************************************************
5355 * IShellView interface
5356 */
5357#ifndef __IShellView_INTERFACE_DEFINED__
5358#define __IShellView_INTERFACE_DEFINED__
5359
5360DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5361#if defined(__cplusplus) && !defined(CINTERFACE)
5362MIDL_INTERFACE("000214e3-0000-0000-c000-000000000046")
5363IShellView : public IOleWindow
5364{
5365 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
5366 MSG *pmsg) = 0;
5367
5368 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
5369 WINBOOL fEnable) = 0;
5370
5371 virtual HRESULT STDMETHODCALLTYPE UIActivate(
5372 UINT uState) = 0;
5373
5374 virtual HRESULT STDMETHODCALLTYPE Refresh(
5375 ) = 0;
5376
5377 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(
5378 IShellView *psvPrevious,
5379 LPCFOLDERSETTINGS pfs,
5380 IShellBrowser *psb,
5381 RECT *prcView,
5382 HWND *phWnd) = 0;
5383
5384 virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow(
5385 ) = 0;
5386
5387 virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(
5388 LPFOLDERSETTINGS pfs) = 0;
5389
5390 virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages(
5391 DWORD dwReserved,
5392 LPFNSVADDPROPSHEETPAGE pfn,
5393 LPARAM lparam) = 0;
5394
5395 virtual HRESULT STDMETHODCALLTYPE SaveViewState(
5396 ) = 0;
5397
5398 virtual HRESULT STDMETHODCALLTYPE SelectItem(
5399 PCUITEMID_CHILD pidlItem,
5400 SVSIF uFlags) = 0;
5401
5402 virtual HRESULT STDMETHODCALLTYPE GetItemObject(
5403 UINT uItem,
5404 REFIID riid,
5405 void **ppv) = 0;
5406
5407};
5408#ifdef __CRT_UUID_DECL
5409__CRT_UUID_DECL(IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5410#endif
5411#else
5412typedef struct IShellViewVtbl {
5413 BEGIN_INTERFACE
5414
5415 /*** IUnknown methods ***/
5416 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5417 IShellView *This,
5418 REFIID riid,
5419 void **ppvObject);
5420
5421 ULONG (STDMETHODCALLTYPE *AddRef)(
5422 IShellView *This);
5423
5424 ULONG (STDMETHODCALLTYPE *Release)(
5425 IShellView *This);
5426
5427 /*** IOleWindow methods ***/
5428 HRESULT (STDMETHODCALLTYPE *GetWindow)(
5429 IShellView *This,
5430 HWND *phwnd);
5431
5432 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5433 IShellView *This,
5434 WINBOOL fEnterMode);
5435
5436 /*** IShellView methods ***/
5437 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
5438 IShellView *This,
5439 MSG *pmsg);
5440
5441 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
5442 IShellView *This,
5443 WINBOOL fEnable);
5444
5445 HRESULT (STDMETHODCALLTYPE *UIActivate)(
5446 IShellView *This,
5447 UINT uState);
5448
5449 HRESULT (STDMETHODCALLTYPE *Refresh)(
5450 IShellView *This);
5451
5452 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
5453 IShellView *This,
5454 IShellView *psvPrevious,
5455 LPCFOLDERSETTINGS pfs,
5456 IShellBrowser *psb,
5457 RECT *prcView,
5458 HWND *phWnd);
5459
5460 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
5461 IShellView *This);
5462
5463 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
5464 IShellView *This,
5465 LPFOLDERSETTINGS pfs);
5466
5467 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
5468 IShellView *This,
5469 DWORD dwReserved,
5470 LPFNSVADDPROPSHEETPAGE pfn,
5471 LPARAM lparam);
5472
5473 HRESULT (STDMETHODCALLTYPE *SaveViewState)(
5474 IShellView *This);
5475
5476 HRESULT (STDMETHODCALLTYPE *SelectItem)(
5477 IShellView *This,
5478 PCUITEMID_CHILD pidlItem,
5479 SVSIF uFlags);
5480
5481 HRESULT (STDMETHODCALLTYPE *GetItemObject)(
5482 IShellView *This,
5483 UINT uItem,
5484 REFIID riid,
5485 void **ppv);
5486
5487 END_INTERFACE
5488} IShellViewVtbl;
5489
5490interface IShellView {
5491 CONST_VTBL IShellViewVtbl* lpVtbl;
5492};
5493
5494#ifdef COBJMACROS
5495#ifndef WIDL_C_INLINE_WRAPPERS
5496/*** IUnknown methods ***/
5497#define IShellView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5498#define IShellView_AddRef(This) (This)->lpVtbl->AddRef(This)
5499#define IShellView_Release(This) (This)->lpVtbl->Release(This)
5500/*** IOleWindow methods ***/
5501#define IShellView_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5502#define IShellView_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5503/*** IShellView methods ***/
5504#define IShellView_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
5505#define IShellView_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
5506#define IShellView_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
5507#define IShellView_Refresh(This) (This)->lpVtbl->Refresh(This)
5508#define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
5509#define IShellView_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
5510#define IShellView_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
5511#define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
5512#define IShellView_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
5513#define IShellView_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
5514#define IShellView_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
5515#else
5516/*** IUnknown methods ***/
5517static inline HRESULT IShellView_QueryInterface(IShellView* This,REFIID riid,void **ppvObject) {
5518 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5519}
5520static inline ULONG IShellView_AddRef(IShellView* This) {
5521 return This->lpVtbl->AddRef(This);
5522}
5523static inline ULONG IShellView_Release(IShellView* This) {
5524 return This->lpVtbl->Release(This);
5525}
5526/*** IOleWindow methods ***/
5527static inline HRESULT IShellView_GetWindow(IShellView* This,HWND *phwnd) {
5528 return This->lpVtbl->GetWindow(This,phwnd);
5529}
5530static inline HRESULT IShellView_ContextSensitiveHelp(IShellView* This,WINBOOL fEnterMode) {
5531 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5532}
5533/*** IShellView methods ***/
5534static inline HRESULT IShellView_TranslateAccelerator(IShellView* This,MSG *pmsg) {
5535 return This->lpVtbl->TranslateAccelerator(This,pmsg);
5536}
5537static inline HRESULT IShellView_EnableModeless(IShellView* This,WINBOOL fEnable) {
5538 return This->lpVtbl->EnableModeless(This,fEnable);
5539}
5540static inline HRESULT IShellView_UIActivate(IShellView* This,UINT uState) {
5541 return This->lpVtbl->UIActivate(This,uState);
5542}
5543static inline HRESULT IShellView_Refresh(IShellView* This) {
5544 return This->lpVtbl->Refresh(This);
5545}
5546static inline HRESULT IShellView_CreateViewWindow(IShellView* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
5547 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
5548}
5549static inline HRESULT IShellView_DestroyViewWindow(IShellView* This) {
5550 return This->lpVtbl->DestroyViewWindow(This);
5551}
5552static inline HRESULT IShellView_GetCurrentInfo(IShellView* This,LPFOLDERSETTINGS pfs) {
5553 return This->lpVtbl->GetCurrentInfo(This,pfs);
5554}
5555static inline HRESULT IShellView_AddPropertySheetPages(IShellView* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
5556 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
5557}
5558static inline HRESULT IShellView_SaveViewState(IShellView* This) {
5559 return This->lpVtbl->SaveViewState(This);
5560}
5561static inline HRESULT IShellView_SelectItem(IShellView* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
5562 return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
5563}
5564static inline HRESULT IShellView_GetItemObject(IShellView* This,UINT uItem,REFIID riid,void **ppv) {
5565 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
5566}
5567#endif
5568#endif
5569
5570#endif
5571
5572
5573#endif /* __IShellView_INTERFACE_DEFINED__ */
5574
5575typedef IShellView *LPSHELLVIEW;
5576
5577/*****************************************************************************
5578 * IShellView2 interface
5579 */
5580#ifndef __IShellView2_INTERFACE_DEFINED__
5581#define __IShellView2_INTERFACE_DEFINED__
5582
5583typedef GUID SHELLVIEWID;
5584
5585#define SV2GV_CURRENTVIEW ((UINT)-1)
5586#define SV2GV_DEFAULTVIEW ((UINT)-2)
5587
5588#include <pshpack8.h>
5589typedef struct _SV2CVW2_PARAMS {
5590 DWORD cbSize;
5591 IShellView *psvPrev;
5592 LPCFOLDERSETTINGS pfs;
5593 IShellBrowser *psbOwner;
5594 RECT *prcView;
5595 const SHELLVIEWID *pvid;
5596 HWND hwndView;
5597} SV2CVW2_PARAMS;
5598typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS;
5599#include <poppack.h>
5600
5601DEFINE_GUID(IID_IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62);
5602#if defined(__cplusplus) && !defined(CINTERFACE)
5603MIDL_INTERFACE("88e39e80-3578-11cf-ae69-08002b2e1262")
5604IShellView2 : public IShellView
5605{
5606 virtual HRESULT STDMETHODCALLTYPE GetView(
5607 SHELLVIEWID *pvid,
5608 ULONG uView) = 0;
5609
5610 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2(
5611 LPSV2CVW2_PARAMS lpParams) = 0;
5612
5613 virtual HRESULT STDMETHODCALLTYPE HandleRename(
5614 PCUITEMID_CHILD pidlNew) = 0;
5615
5616 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem(
5617 PCUITEMID_CHILD pidlItem,
5618 UINT uFlags,
5619 POINT *ppt) = 0;
5620
5621};
5622#ifdef __CRT_UUID_DECL
5623__CRT_UUID_DECL(IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62)
5624#endif
5625#else
5626typedef struct IShellView2Vtbl {
5627 BEGIN_INTERFACE
5628
5629 /*** IUnknown methods ***/
5630 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5631 IShellView2 *This,
5632 REFIID riid,
5633 void **ppvObject);
5634
5635 ULONG (STDMETHODCALLTYPE *AddRef)(
5636 IShellView2 *This);
5637
5638 ULONG (STDMETHODCALLTYPE *Release)(
5639 IShellView2 *This);
5640
5641 /*** IOleWindow methods ***/
5642 HRESULT (STDMETHODCALLTYPE *GetWindow)(
5643 IShellView2 *This,
5644 HWND *phwnd);
5645
5646 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5647 IShellView2 *This,
5648 WINBOOL fEnterMode);
5649
5650 /*** IShellView methods ***/
5651 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
5652 IShellView2 *This,
5653 MSG *pmsg);
5654
5655 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
5656 IShellView2 *This,
5657 WINBOOL fEnable);
5658
5659 HRESULT (STDMETHODCALLTYPE *UIActivate)(
5660 IShellView2 *This,
5661 UINT uState);
5662
5663 HRESULT (STDMETHODCALLTYPE *Refresh)(
5664 IShellView2 *This);
5665
5666 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
5667 IShellView2 *This,
5668 IShellView *psvPrevious,
5669 LPCFOLDERSETTINGS pfs,
5670 IShellBrowser *psb,
5671 RECT *prcView,
5672 HWND *phWnd);
5673
5674 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
5675 IShellView2 *This);
5676
5677 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
5678 IShellView2 *This,
5679 LPFOLDERSETTINGS pfs);
5680
5681 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
5682 IShellView2 *This,
5683 DWORD dwReserved,
5684 LPFNSVADDPROPSHEETPAGE pfn,
5685 LPARAM lparam);
5686
5687 HRESULT (STDMETHODCALLTYPE *SaveViewState)(
5688 IShellView2 *This);
5689
5690 HRESULT (STDMETHODCALLTYPE *SelectItem)(
5691 IShellView2 *This,
5692 PCUITEMID_CHILD pidlItem,
5693 SVSIF uFlags);
5694
5695 HRESULT (STDMETHODCALLTYPE *GetItemObject)(
5696 IShellView2 *This,
5697 UINT uItem,
5698 REFIID riid,
5699 void **ppv);
5700
5701 /*** IShellView2 methods ***/
5702 HRESULT (STDMETHODCALLTYPE *GetView)(
5703 IShellView2 *This,
5704 SHELLVIEWID *pvid,
5705 ULONG uView);
5706
5707 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)(
5708 IShellView2 *This,
5709 LPSV2CVW2_PARAMS lpParams);
5710
5711 HRESULT (STDMETHODCALLTYPE *HandleRename)(
5712 IShellView2 *This,
5713 PCUITEMID_CHILD pidlNew);
5714
5715 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)(
5716 IShellView2 *This,
5717 PCUITEMID_CHILD pidlItem,
5718 UINT uFlags,
5719 POINT *ppt);
5720
5721 END_INTERFACE
5722} IShellView2Vtbl;
5723
5724interface IShellView2 {
5725 CONST_VTBL IShellView2Vtbl* lpVtbl;
5726};
5727
5728#ifdef COBJMACROS
5729#ifndef WIDL_C_INLINE_WRAPPERS
5730/*** IUnknown methods ***/
5731#define IShellView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5732#define IShellView2_AddRef(This) (This)->lpVtbl->AddRef(This)
5733#define IShellView2_Release(This) (This)->lpVtbl->Release(This)
5734/*** IOleWindow methods ***/
5735#define IShellView2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5736#define IShellView2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5737/*** IShellView methods ***/
5738#define IShellView2_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
5739#define IShellView2_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
5740#define IShellView2_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
5741#define IShellView2_Refresh(This) (This)->lpVtbl->Refresh(This)
5742#define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
5743#define IShellView2_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
5744#define IShellView2_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
5745#define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
5746#define IShellView2_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
5747#define IShellView2_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
5748#define IShellView2_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
5749/*** IShellView2 methods ***/
5750#define IShellView2_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView)
5751#define IShellView2_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams)
5752#define IShellView2_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew)
5753#define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt)
5754#else
5755/*** IUnknown methods ***/
5756static inline HRESULT IShellView2_QueryInterface(IShellView2* This,REFIID riid,void **ppvObject) {
5757 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5758}
5759static inline ULONG IShellView2_AddRef(IShellView2* This) {
5760 return This->lpVtbl->AddRef(This);
5761}
5762static inline ULONG IShellView2_Release(IShellView2* This) {
5763 return This->lpVtbl->Release(This);
5764}
5765/*** IOleWindow methods ***/
5766static inline HRESULT IShellView2_GetWindow(IShellView2* This,HWND *phwnd) {
5767 return This->lpVtbl->GetWindow(This,phwnd);
5768}
5769static inline HRESULT IShellView2_ContextSensitiveHelp(IShellView2* This,WINBOOL fEnterMode) {
5770 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5771}
5772/*** IShellView methods ***/
5773static inline HRESULT IShellView2_TranslateAccelerator(IShellView2* This,MSG *pmsg) {
5774 return This->lpVtbl->TranslateAccelerator(This,pmsg);
5775}
5776static inline HRESULT IShellView2_EnableModeless(IShellView2* This,WINBOOL fEnable) {
5777 return This->lpVtbl->EnableModeless(This,fEnable);
5778}
5779static inline HRESULT IShellView2_UIActivate(IShellView2* This,UINT uState) {
5780 return This->lpVtbl->UIActivate(This,uState);
5781}
5782static inline HRESULT IShellView2_Refresh(IShellView2* This) {
5783 return This->lpVtbl->Refresh(This);
5784}
5785static inline HRESULT IShellView2_CreateViewWindow(IShellView2* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
5786 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
5787}
5788static inline HRESULT IShellView2_DestroyViewWindow(IShellView2* This) {
5789 return This->lpVtbl->DestroyViewWindow(This);
5790}
5791static inline HRESULT IShellView2_GetCurrentInfo(IShellView2* This,LPFOLDERSETTINGS pfs) {
5792 return This->lpVtbl->GetCurrentInfo(This,pfs);
5793}
5794static inline HRESULT IShellView2_AddPropertySheetPages(IShellView2* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
5795 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
5796}
5797static inline HRESULT IShellView2_SaveViewState(IShellView2* This) {
5798 return This->lpVtbl->SaveViewState(This);
5799}
5800static inline HRESULT IShellView2_SelectItem(IShellView2* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
5801 return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
5802}
5803static inline HRESULT IShellView2_GetItemObject(IShellView2* This,UINT uItem,REFIID riid,void **ppv) {
5804 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
5805}
5806/*** IShellView2 methods ***/
5807static inline HRESULT IShellView2_GetView(IShellView2* This,SHELLVIEWID *pvid,ULONG uView) {
5808 return This->lpVtbl->GetView(This,pvid,uView);
5809}
5810static inline HRESULT IShellView2_CreateViewWindow2(IShellView2* This,LPSV2CVW2_PARAMS lpParams) {
5811 return This->lpVtbl->CreateViewWindow2(This,lpParams);
5812}
5813static inline HRESULT IShellView2_HandleRename(IShellView2* This,PCUITEMID_CHILD pidlNew) {
5814 return This->lpVtbl->HandleRename(This,pidlNew);
5815}
5816static inline HRESULT IShellView2_SelectAndPositionItem(IShellView2* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) {
5817 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt);
5818}
5819#endif
5820#endif
5821
5822#endif
5823
5824
5825#endif /* __IShellView2_INTERFACE_DEFINED__ */
5826
5827
5828#if NTDDI_VERSION >= NTDDI_VISTA
5829/*****************************************************************************
5830 * IShellView3 interface
5831 */
5832#ifndef __IShellView3_INTERFACE_DEFINED__
5833#define __IShellView3_INTERFACE_DEFINED__
5834
5835enum _SV3CVW3_FLAGS {
5836 SV3CVW3_DEFAULT = 0x0,
5837 SV3CVW3_NONINTERACTIVE = 0x1,
5838 SV3CVW3_FORCEVIEWMODE = 0x2,
5839 SV3CVW3_FORCEFOLDERFLAGS = 0x4
5840};
5841
5842typedef DWORD SV3CVW3_FLAGS;
5843
5844DEFINE_GUID(IID_IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73);
5845#if defined(__cplusplus) && !defined(CINTERFACE)
5846MIDL_INTERFACE("ec39fa88-f8af-41c5-8421-38bed28f4673")
5847IShellView3 : public IShellView2
5848{
5849 virtual HRESULT STDMETHODCALLTYPE CreateViewWindow3(
5850 IShellBrowser *psbOwner,
5851 IShellView *psvPrev,
5852 SV3CVW3_FLAGS dwViewFlags,
5853 FOLDERFLAGS dwMask,
5854 FOLDERFLAGS dwFlags,
5855 FOLDERVIEWMODE fvMode,
5856 const SHELLVIEWID *pvid,
5857 const RECT *prcView,
5858 HWND *phwndView) = 0;
5859
5860};
5861#ifdef __CRT_UUID_DECL
5862__CRT_UUID_DECL(IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73)
5863#endif
5864#else
5865typedef struct IShellView3Vtbl {
5866 BEGIN_INTERFACE
5867
5868 /*** IUnknown methods ***/
5869 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5870 IShellView3 *This,
5871 REFIID riid,
5872 void **ppvObject);
5873
5874 ULONG (STDMETHODCALLTYPE *AddRef)(
5875 IShellView3 *This);
5876
5877 ULONG (STDMETHODCALLTYPE *Release)(
5878 IShellView3 *This);
5879
5880 /*** IOleWindow methods ***/
5881 HRESULT (STDMETHODCALLTYPE *GetWindow)(
5882 IShellView3 *This,
5883 HWND *phwnd);
5884
5885 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5886 IShellView3 *This,
5887 WINBOOL fEnterMode);
5888
5889 /*** IShellView methods ***/
5890 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
5891 IShellView3 *This,
5892 MSG *pmsg);
5893
5894 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
5895 IShellView3 *This,
5896 WINBOOL fEnable);
5897
5898 HRESULT (STDMETHODCALLTYPE *UIActivate)(
5899 IShellView3 *This,
5900 UINT uState);
5901
5902 HRESULT (STDMETHODCALLTYPE *Refresh)(
5903 IShellView3 *This);
5904
5905 HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
5906 IShellView3 *This,
5907 IShellView *psvPrevious,
5908 LPCFOLDERSETTINGS pfs,
5909 IShellBrowser *psb,
5910 RECT *prcView,
5911 HWND *phWnd);
5912
5913 HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
5914 IShellView3 *This);
5915
5916 HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
5917 IShellView3 *This,
5918 LPFOLDERSETTINGS pfs);
5919
5920 HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
5921 IShellView3 *This,
5922 DWORD dwReserved,
5923 LPFNSVADDPROPSHEETPAGE pfn,
5924 LPARAM lparam);
5925
5926 HRESULT (STDMETHODCALLTYPE *SaveViewState)(
5927 IShellView3 *This);
5928
5929 HRESULT (STDMETHODCALLTYPE *SelectItem)(
5930 IShellView3 *This,
5931 PCUITEMID_CHILD pidlItem,
5932 SVSIF uFlags);
5933
5934 HRESULT (STDMETHODCALLTYPE *GetItemObject)(
5935 IShellView3 *This,
5936 UINT uItem,
5937 REFIID riid,
5938 void **ppv);
5939
5940 /*** IShellView2 methods ***/
5941 HRESULT (STDMETHODCALLTYPE *GetView)(
5942 IShellView3 *This,
5943 SHELLVIEWID *pvid,
5944 ULONG uView);
5945
5946 HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)(
5947 IShellView3 *This,
5948 LPSV2CVW2_PARAMS lpParams);
5949
5950 HRESULT (STDMETHODCALLTYPE *HandleRename)(
5951 IShellView3 *This,
5952 PCUITEMID_CHILD pidlNew);
5953
5954 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)(
5955 IShellView3 *This,
5956 PCUITEMID_CHILD pidlItem,
5957 UINT uFlags,
5958 POINT *ppt);
5959
5960 /*** IShellView3 methods ***/
5961 HRESULT (STDMETHODCALLTYPE *CreateViewWindow3)(
5962 IShellView3 *This,
5963 IShellBrowser *psbOwner,
5964 IShellView *psvPrev,
5965 SV3CVW3_FLAGS dwViewFlags,
5966 FOLDERFLAGS dwMask,
5967 FOLDERFLAGS dwFlags,
5968 FOLDERVIEWMODE fvMode,
5969 const SHELLVIEWID *pvid,
5970 const RECT *prcView,
5971 HWND *phwndView);
5972
5973 END_INTERFACE
5974} IShellView3Vtbl;
5975
5976interface IShellView3 {
5977 CONST_VTBL IShellView3Vtbl* lpVtbl;
5978};
5979
5980#ifdef COBJMACROS
5981#ifndef WIDL_C_INLINE_WRAPPERS
5982/*** IUnknown methods ***/
5983#define IShellView3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5984#define IShellView3_AddRef(This) (This)->lpVtbl->AddRef(This)
5985#define IShellView3_Release(This) (This)->lpVtbl->Release(This)
5986/*** IOleWindow methods ***/
5987#define IShellView3_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5988#define IShellView3_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5989/*** IShellView methods ***/
5990#define IShellView3_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
5991#define IShellView3_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
5992#define IShellView3_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
5993#define IShellView3_Refresh(This) (This)->lpVtbl->Refresh(This)
5994#define IShellView3_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
5995#define IShellView3_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
5996#define IShellView3_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
5997#define IShellView3_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
5998#define IShellView3_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
5999#define IShellView3_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
6000#define IShellView3_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
6001/*** IShellView2 methods ***/
6002#define IShellView3_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView)
6003#define IShellView3_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams)
6004#define IShellView3_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew)
6005#define IShellView3_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt)
6006/*** IShellView3 methods ***/
6007#define IShellView3_CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView) (This)->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView)
6008#else
6009/*** IUnknown methods ***/
6010static inline HRESULT IShellView3_QueryInterface(IShellView3* This,REFIID riid,void **ppvObject) {
6011 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6012}
6013static inline ULONG IShellView3_AddRef(IShellView3* This) {
6014 return This->lpVtbl->AddRef(This);
6015}
6016static inline ULONG IShellView3_Release(IShellView3* This) {
6017 return This->lpVtbl->Release(This);
6018}
6019/*** IOleWindow methods ***/
6020static inline HRESULT IShellView3_GetWindow(IShellView3* This,HWND *phwnd) {
6021 return This->lpVtbl->GetWindow(This,phwnd);
6022}
6023static inline HRESULT IShellView3_ContextSensitiveHelp(IShellView3* This,WINBOOL fEnterMode) {
6024 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
6025}
6026/*** IShellView methods ***/
6027static inline HRESULT IShellView3_TranslateAccelerator(IShellView3* This,MSG *pmsg) {
6028 return This->lpVtbl->TranslateAccelerator(This,pmsg);
6029}
6030static inline HRESULT IShellView3_EnableModeless(IShellView3* This,WINBOOL fEnable) {
6031 return This->lpVtbl->EnableModeless(This,fEnable);
6032}
6033static inline HRESULT IShellView3_UIActivate(IShellView3* This,UINT uState) {
6034 return This->lpVtbl->UIActivate(This,uState);
6035}
6036static inline HRESULT IShellView3_Refresh(IShellView3* This) {
6037 return This->lpVtbl->Refresh(This);
6038}
6039static inline HRESULT IShellView3_CreateViewWindow(IShellView3* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
6040 return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
6041}
6042static inline HRESULT IShellView3_DestroyViewWindow(IShellView3* This) {
6043 return This->lpVtbl->DestroyViewWindow(This);
6044}
6045static inline HRESULT IShellView3_GetCurrentInfo(IShellView3* This,LPFOLDERSETTINGS pfs) {
6046 return This->lpVtbl->GetCurrentInfo(This,pfs);
6047}
6048static inline HRESULT IShellView3_AddPropertySheetPages(IShellView3* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
6049 return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
6050}
6051static inline HRESULT IShellView3_SaveViewState(IShellView3* This) {
6052 return This->lpVtbl->SaveViewState(This);
6053}
6054static inline HRESULT IShellView3_SelectItem(IShellView3* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
6055 return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
6056}
6057static inline HRESULT IShellView3_GetItemObject(IShellView3* This,UINT uItem,REFIID riid,void **ppv) {
6058 return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
6059}
6060/*** IShellView2 methods ***/
6061static inline HRESULT IShellView3_GetView(IShellView3* This,SHELLVIEWID *pvid,ULONG uView) {
6062 return This->lpVtbl->GetView(This,pvid,uView);
6063}
6064static inline HRESULT IShellView3_CreateViewWindow2(IShellView3* This,LPSV2CVW2_PARAMS lpParams) {
6065 return This->lpVtbl->CreateViewWindow2(This,lpParams);
6066}
6067static inline HRESULT IShellView3_HandleRename(IShellView3* This,PCUITEMID_CHILD pidlNew) {
6068 return This->lpVtbl->HandleRename(This,pidlNew);
6069}
6070static inline HRESULT IShellView3_SelectAndPositionItem(IShellView3* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) {
6071 return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt);
6072}
6073/*** IShellView3 methods ***/
6074static inline HRESULT IShellView3_CreateViewWindow3(IShellView3* This,IShellBrowser *psbOwner,IShellView *psvPrev,SV3CVW3_FLAGS dwViewFlags,FOLDERFLAGS dwMask,FOLDERFLAGS dwFlags,FOLDERVIEWMODE fvMode,const SHELLVIEWID *pvid,const RECT *prcView,HWND *phwndView) {
6075 return This->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView);
6076}
6077#endif
6078#endif
6079
6080#endif
6081
6082
6083#endif /* __IShellView3_INTERFACE_DEFINED__ */
6084
6085#endif
6086#ifdef _FIX_ENABLEMODELESS_CONFLICT
6087#undef EnableModeless
6088#endif
6089
6090/*****************************************************************************
6091 * IFolderView interface
6092 */
6093#ifndef __IFolderView_INTERFACE_DEFINED__
6094#define __IFolderView_INTERFACE_DEFINED__
6095
6096DEFINE_GUID(IID_IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce);
6097#if defined(__cplusplus) && !defined(CINTERFACE)
6098MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce")
6099IFolderView : public IUnknown
6100{
6101 virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(
6102 UINT *pViewMode) = 0;
6103
6104 virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(
6105 UINT ViewMode) = 0;
6106
6107 virtual HRESULT STDMETHODCALLTYPE GetFolder(
6108 REFIID riid,
6109 void **ppv) = 0;
6110
6111 virtual HRESULT STDMETHODCALLTYPE Item(
6112 int iItemIndex,
6113 PITEMID_CHILD *ppidl) = 0;
6114
6115 virtual HRESULT STDMETHODCALLTYPE ItemCount(
6116 UINT uFlags,
6117 int *pcItems) = 0;
6118
6119 virtual HRESULT STDMETHODCALLTYPE Items(
6120 UINT uFlags,
6121 REFIID riid,
6122 void **ppv) = 0;
6123
6124 virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem(
6125 int *piItem) = 0;
6126
6127 virtual HRESULT STDMETHODCALLTYPE GetFocusedItem(
6128 int *piItem) = 0;
6129
6130 virtual HRESULT STDMETHODCALLTYPE GetItemPosition(
6131 PCUITEMID_CHILD pidl,
6132 POINT *ppt) = 0;
6133
6134 virtual HRESULT STDMETHODCALLTYPE GetSpacing(
6135 POINT *ppt) = 0;
6136
6137 virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing(
6138 POINT *ppt) = 0;
6139
6140 virtual HRESULT STDMETHODCALLTYPE GetAutoArrange(
6141 ) = 0;
6142
6143 virtual HRESULT STDMETHODCALLTYPE SelectItem(
6144 int iItem,
6145 DWORD dwFlags) = 0;
6146
6147 virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems(
6148 UINT cidl,
6149 PCUITEMID_CHILD_ARRAY apidl,
6150 POINT *apt,
6151 DWORD dwFlags) = 0;
6152
6153};
6154#ifdef __CRT_UUID_DECL
6155__CRT_UUID_DECL(IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce)
6156#endif
6157#else
6158typedef struct IFolderViewVtbl {
6159 BEGIN_INTERFACE
6160
6161 /*** IUnknown methods ***/
6162 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6163 IFolderView *This,
6164 REFIID riid,
6165 void **ppvObject);
6166
6167 ULONG (STDMETHODCALLTYPE *AddRef)(
6168 IFolderView *This);
6169
6170 ULONG (STDMETHODCALLTYPE *Release)(
6171 IFolderView *This);
6172
6173 /*** IFolderView methods ***/
6174 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)(
6175 IFolderView *This,
6176 UINT *pViewMode);
6177
6178 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)(
6179 IFolderView *This,
6180 UINT ViewMode);
6181
6182 HRESULT (STDMETHODCALLTYPE *GetFolder)(
6183 IFolderView *This,
6184 REFIID riid,
6185 void **ppv);
6186
6187 HRESULT (STDMETHODCALLTYPE *Item)(
6188 IFolderView *This,
6189 int iItemIndex,
6190 PITEMID_CHILD *ppidl);
6191
6192 HRESULT (STDMETHODCALLTYPE *ItemCount)(
6193 IFolderView *This,
6194 UINT uFlags,
6195 int *pcItems);
6196
6197 HRESULT (STDMETHODCALLTYPE *Items)(
6198 IFolderView *This,
6199 UINT uFlags,
6200 REFIID riid,
6201 void **ppv);
6202
6203 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)(
6204 IFolderView *This,
6205 int *piItem);
6206
6207 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)(
6208 IFolderView *This,
6209 int *piItem);
6210
6211 HRESULT (STDMETHODCALLTYPE *GetItemPosition)(
6212 IFolderView *This,
6213 PCUITEMID_CHILD pidl,
6214 POINT *ppt);
6215
6216 HRESULT (STDMETHODCALLTYPE *GetSpacing)(
6217 IFolderView *This,
6218 POINT *ppt);
6219
6220 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)(
6221 IFolderView *This,
6222 POINT *ppt);
6223
6224 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)(
6225 IFolderView *This);
6226
6227 HRESULT (STDMETHODCALLTYPE *SelectItem)(
6228 IFolderView *This,
6229 int iItem,
6230 DWORD dwFlags);
6231
6232 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)(
6233 IFolderView *This,
6234 UINT cidl,
6235 PCUITEMID_CHILD_ARRAY apidl,
6236 POINT *apt,
6237 DWORD dwFlags);
6238
6239 END_INTERFACE
6240} IFolderViewVtbl;
6241
6242interface IFolderView {
6243 CONST_VTBL IFolderViewVtbl* lpVtbl;
6244};
6245
6246#ifdef COBJMACROS
6247#ifndef WIDL_C_INLINE_WRAPPERS
6248/*** IUnknown methods ***/
6249#define IFolderView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6250#define IFolderView_AddRef(This) (This)->lpVtbl->AddRef(This)
6251#define IFolderView_Release(This) (This)->lpVtbl->Release(This)
6252/*** IFolderView methods ***/
6253#define IFolderView_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode)
6254#define IFolderView_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode)
6255#define IFolderView_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv)
6256#define IFolderView_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl)
6257#define IFolderView_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems)
6258#define IFolderView_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv)
6259#define IFolderView_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem)
6260#define IFolderView_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem)
6261#define IFolderView_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt)
6262#define IFolderView_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt)
6263#define IFolderView_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt)
6264#define IFolderView_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This)
6265#define IFolderView_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags)
6266#define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
6267#else
6268/*** IUnknown methods ***/
6269static inline HRESULT IFolderView_QueryInterface(IFolderView* This,REFIID riid,void **ppvObject) {
6270 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6271}
6272static inline ULONG IFolderView_AddRef(IFolderView* This) {
6273 return This->lpVtbl->AddRef(This);
6274}
6275static inline ULONG IFolderView_Release(IFolderView* This) {
6276 return This->lpVtbl->Release(This);
6277}
6278/*** IFolderView methods ***/
6279static inline HRESULT IFolderView_GetCurrentViewMode(IFolderView* This,UINT *pViewMode) {
6280 return This->lpVtbl->GetCurrentViewMode(This,pViewMode);
6281}
6282static inline HRESULT IFolderView_SetCurrentViewMode(IFolderView* This,UINT ViewMode) {
6283 return This->lpVtbl->SetCurrentViewMode(This,ViewMode);
6284}
6285static inline HRESULT IFolderView_GetFolder(IFolderView* This,REFIID riid,void **ppv) {
6286 return This->lpVtbl->GetFolder(This,riid,ppv);
6287}
6288static inline HRESULT IFolderView_Item(IFolderView* This,int iItemIndex,PITEMID_CHILD *ppidl) {
6289 return This->lpVtbl->Item(This,iItemIndex,ppidl);
6290}
6291static inline HRESULT IFolderView_ItemCount(IFolderView* This,UINT uFlags,int *pcItems) {
6292 return This->lpVtbl->ItemCount(This,uFlags,pcItems);
6293}
6294static inline HRESULT IFolderView_Items(IFolderView* This,UINT uFlags,REFIID riid,void **ppv) {
6295 return This->lpVtbl->Items(This,uFlags,riid,ppv);
6296}
6297static inline HRESULT IFolderView_GetSelectionMarkedItem(IFolderView* This,int *piItem) {
6298 return This->lpVtbl->GetSelectionMarkedItem(This,piItem);
6299}
6300static inline HRESULT IFolderView_GetFocusedItem(IFolderView* This,int *piItem) {
6301 return This->lpVtbl->GetFocusedItem(This,piItem);
6302}
6303static inline HRESULT IFolderView_GetItemPosition(IFolderView* This,PCUITEMID_CHILD pidl,POINT *ppt) {
6304 return This->lpVtbl->GetItemPosition(This,pidl,ppt);
6305}
6306static inline HRESULT IFolderView_GetSpacing(IFolderView* This,POINT *ppt) {
6307 return This->lpVtbl->GetSpacing(This,ppt);
6308}
6309static inline HRESULT IFolderView_GetDefaultSpacing(IFolderView* This,POINT *ppt) {
6310 return This->lpVtbl->GetDefaultSpacing(This,ppt);
6311}
6312static inline HRESULT IFolderView_GetAutoArrange(IFolderView* This) {
6313 return This->lpVtbl->GetAutoArrange(This);
6314}
6315static inline HRESULT IFolderView_SelectItem(IFolderView* This,int iItem,DWORD dwFlags) {
6316 return This->lpVtbl->SelectItem(This,iItem,dwFlags);
6317}
6318static inline HRESULT IFolderView_SelectAndPositionItems(IFolderView* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) {
6319 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags);
6320}
6321#endif
6322#endif
6323
6324#endif
6325
6326
6327#endif /* __IFolderView_INTERFACE_DEFINED__ */
6328
6329
6330#define SID_SFolderView IID_IFolderView
6331
6332#if NTDDI_VERSION >= NTDDI_WIN7
6333/*****************************************************************************
6334 * ISearchBoxInfo interface
6335 */
6336#ifndef __ISearchBoxInfo_INTERFACE_DEFINED__
6337#define __ISearchBoxInfo_INTERFACE_DEFINED__
6338
6339DEFINE_GUID(IID_ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e);
6340#if defined(__cplusplus) && !defined(CINTERFACE)
6341MIDL_INTERFACE("6af6e03f-d664-4ef4-9626-f7e0ed36755e")
6342ISearchBoxInfo : public IUnknown
6343{
6344 virtual HRESULT STDMETHODCALLTYPE GetCondition(
6345 REFIID riid,
6346 void **ppv) = 0;
6347
6348 virtual HRESULT STDMETHODCALLTYPE GetText(
6349 LPWSTR *ppsz) = 0;
6350
6351};
6352#ifdef __CRT_UUID_DECL
6353__CRT_UUID_DECL(ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e)
6354#endif
6355#else
6356typedef struct ISearchBoxInfoVtbl {
6357 BEGIN_INTERFACE
6358
6359 /*** IUnknown methods ***/
6360 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6361 ISearchBoxInfo *This,
6362 REFIID riid,
6363 void **ppvObject);
6364
6365 ULONG (STDMETHODCALLTYPE *AddRef)(
6366 ISearchBoxInfo *This);
6367
6368 ULONG (STDMETHODCALLTYPE *Release)(
6369 ISearchBoxInfo *This);
6370
6371 /*** ISearchBoxInfo methods ***/
6372 HRESULT (STDMETHODCALLTYPE *GetCondition)(
6373 ISearchBoxInfo *This,
6374 REFIID riid,
6375 void **ppv);
6376
6377 HRESULT (STDMETHODCALLTYPE *GetText)(
6378 ISearchBoxInfo *This,
6379 LPWSTR *ppsz);
6380
6381 END_INTERFACE
6382} ISearchBoxInfoVtbl;
6383
6384interface ISearchBoxInfo {
6385 CONST_VTBL ISearchBoxInfoVtbl* lpVtbl;
6386};
6387
6388#ifdef COBJMACROS
6389#ifndef WIDL_C_INLINE_WRAPPERS
6390/*** IUnknown methods ***/
6391#define ISearchBoxInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6392#define ISearchBoxInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
6393#define ISearchBoxInfo_Release(This) (This)->lpVtbl->Release(This)
6394/*** ISearchBoxInfo methods ***/
6395#define ISearchBoxInfo_GetCondition(This,riid,ppv) (This)->lpVtbl->GetCondition(This,riid,ppv)
6396#define ISearchBoxInfo_GetText(This,ppsz) (This)->lpVtbl->GetText(This,ppsz)
6397#else
6398/*** IUnknown methods ***/
6399static inline HRESULT ISearchBoxInfo_QueryInterface(ISearchBoxInfo* This,REFIID riid,void **ppvObject) {
6400 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6401}
6402static inline ULONG ISearchBoxInfo_AddRef(ISearchBoxInfo* This) {
6403 return This->lpVtbl->AddRef(This);
6404}
6405static inline ULONG ISearchBoxInfo_Release(ISearchBoxInfo* This) {
6406 return This->lpVtbl->Release(This);
6407}
6408/*** ISearchBoxInfo methods ***/
6409static inline HRESULT ISearchBoxInfo_GetCondition(ISearchBoxInfo* This,REFIID riid,void **ppv) {
6410 return This->lpVtbl->GetCondition(This,riid,ppv);
6411}
6412static inline HRESULT ISearchBoxInfo_GetText(ISearchBoxInfo* This,LPWSTR *ppsz) {
6413 return This->lpVtbl->GetText(This,ppsz);
6414}
6415#endif
6416#endif
6417
6418#endif
6419
6420
6421#endif /* __ISearchBoxInfo_INTERFACE_DEFINED__ */
6422
6423#endif
6424
6425#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70
6426#ifndef NO_SHOBJIDL_SORTDIRECTION
6427enum tagSORTDIRECTION {
6428 SORT_DESCENDING = -1,
6429 SORT_ASCENDING = 1
6430};
6431#endif
6432
6433typedef int SORTDIRECTION;
6434
6435typedef struct SORTCOLUMN {
6436 PROPERTYKEY propkey;
6437 SORTDIRECTION direction;
6438} SORTCOLUMN;
6439
6440typedef enum FVTEXTTYPE {
6441 FVST_EMPTYTEXT = 0
6442} FVTEXTTYPE;
6443
6444#ifndef __IShellItemArray_FWD_DEFINED__
6445#define __IShellItemArray_FWD_DEFINED__
6446typedef interface IShellItemArray IShellItemArray;
6447#ifdef __cplusplus
6448interface IShellItemArray;
6449#endif /* __cplusplus */
6450#endif
6451
6452
6453typedef HRESULT DEPRECATED_HRESULT;
6454
6455#ifdef __cplusplus
6456#define DEPRECATED_HRESULT HRESULT
6457#endif
6458
6459/*****************************************************************************
6460 * IFolderView2 interface
6461 */
6462#ifndef __IFolderView2_INTERFACE_DEFINED__
6463#define __IFolderView2_INTERFACE_DEFINED__
6464
6465DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9);
6466#if defined(__cplusplus) && !defined(CINTERFACE)
6467MIDL_INTERFACE("1af3a467-214f-4298-908e-06b03e0b39f9")
6468IFolderView2 : public IFolderView
6469{
6470 virtual HRESULT STDMETHODCALLTYPE SetGroupBy(
6471 REFPROPERTYKEY key,
6472 WINBOOL fAscending) = 0;
6473
6474 virtual HRESULT STDMETHODCALLTYPE GetGroupBy(
6475 PROPERTYKEY *pkey,
6476 WINBOOL *pfAscending) = 0;
6477
6478 virtual HRESULT STDMETHODCALLTYPE SetViewProperty(
6479 PCUITEMID_CHILD pidl,
6480 REFPROPERTYKEY propkey,
6481 REFPROPVARIANT propvar) = 0;
6482
6483 virtual HRESULT STDMETHODCALLTYPE GetViewProperty(
6484 PCUITEMID_CHILD pidl,
6485 REFPROPERTYKEY propkey,
6486 PROPVARIANT *ppropvar) = 0;
6487
6488 virtual HRESULT STDMETHODCALLTYPE SetTileViewProperties(
6489 PCUITEMID_CHILD pidl,
6490 LPCWSTR pszPropList) = 0;
6491
6492 virtual HRESULT STDMETHODCALLTYPE SetExtendedTileViewProperties(
6493 PCUITEMID_CHILD pidl,
6494 LPCWSTR pszPropList) = 0;
6495
6496 virtual HRESULT STDMETHODCALLTYPE SetText(
6497 FVTEXTTYPE iType,
6498 LPCWSTR pwszText) = 0;
6499
6500 virtual HRESULT STDMETHODCALLTYPE SetCurrentFolderFlags(
6501 DWORD dwMask,
6502 DWORD dwFlags) = 0;
6503
6504 virtual HRESULT STDMETHODCALLTYPE GetCurrentFolderFlags(
6505 DWORD *pdwFlags) = 0;
6506
6507 virtual HRESULT STDMETHODCALLTYPE GetSortColumnCount(
6508 int *pcColumns) = 0;
6509
6510 virtual HRESULT STDMETHODCALLTYPE SetSortColumns(
6511 const SORTCOLUMN *rgSortColumns,
6512 int cColumns) = 0;
6513
6514 virtual HRESULT STDMETHODCALLTYPE GetSortColumns(
6515 SORTCOLUMN *rgSortColumns,
6516 int cColumns) = 0;
6517
6518 virtual HRESULT STDMETHODCALLTYPE GetItem(
6519 int iItem,
6520 REFIID riid,
6521 void **ppv) = 0;
6522
6523 virtual HRESULT STDMETHODCALLTYPE GetVisibleItem(
6524 int iStart,
6525 WINBOOL fPrevious,
6526 int *piItem) = 0;
6527
6528 virtual HRESULT STDMETHODCALLTYPE GetSelectedItem(
6529 int iStart,
6530 int *piItem) = 0;
6531
6532 virtual HRESULT STDMETHODCALLTYPE GetSelection(
6533 WINBOOL fNoneImpliesFolder,
6534 IShellItemArray **ppsia) = 0;
6535
6536 virtual HRESULT STDMETHODCALLTYPE GetSelectionState(
6537 PCUITEMID_CHILD pidl,
6538 DWORD *pdwFlags) = 0;
6539
6540 virtual HRESULT STDMETHODCALLTYPE InvokeVerbOnSelection(
6541 LPCSTR pszVerb) = 0;
6542
6543 virtual HRESULT STDMETHODCALLTYPE SetViewModeAndIconSize(
6544 FOLDERVIEWMODE uViewMode,
6545 int iImageSize) = 0;
6546
6547 virtual HRESULT STDMETHODCALLTYPE GetViewModeAndIconSize(
6548 FOLDERVIEWMODE *puViewMode,
6549 int *piImageSize) = 0;
6550
6551 virtual HRESULT STDMETHODCALLTYPE SetGroupSubsetCount(
6552 UINT cVisibleRows) = 0;
6553
6554 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount(
6555 UINT *pcVisibleRows) = 0;
6556
6557 virtual HRESULT STDMETHODCALLTYPE SetRedraw(
6558 WINBOOL fRedrawOn) = 0;
6559
6560 virtual HRESULT STDMETHODCALLTYPE IsMoveInSameFolder(
6561 ) = 0;
6562
6563 virtual HRESULT STDMETHODCALLTYPE DoRename(
6564 ) = 0;
6565
6566};
6567#ifdef __CRT_UUID_DECL
6568__CRT_UUID_DECL(IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9)
6569#endif
6570#else
6571typedef struct IFolderView2Vtbl {
6572 BEGIN_INTERFACE
6573
6574 /*** IUnknown methods ***/
6575 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6576 IFolderView2 *This,
6577 REFIID riid,
6578 void **ppvObject);
6579
6580 ULONG (STDMETHODCALLTYPE *AddRef)(
6581 IFolderView2 *This);
6582
6583 ULONG (STDMETHODCALLTYPE *Release)(
6584 IFolderView2 *This);
6585
6586 /*** IFolderView methods ***/
6587 HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)(
6588 IFolderView2 *This,
6589 UINT *pViewMode);
6590
6591 HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)(
6592 IFolderView2 *This,
6593 UINT ViewMode);
6594
6595 HRESULT (STDMETHODCALLTYPE *GetFolder)(
6596 IFolderView2 *This,
6597 REFIID riid,
6598 void **ppv);
6599
6600 HRESULT (STDMETHODCALLTYPE *Item)(
6601 IFolderView2 *This,
6602 int iItemIndex,
6603 PITEMID_CHILD *ppidl);
6604
6605 HRESULT (STDMETHODCALLTYPE *ItemCount)(
6606 IFolderView2 *This,
6607 UINT uFlags,
6608 int *pcItems);
6609
6610 HRESULT (STDMETHODCALLTYPE *Items)(
6611 IFolderView2 *This,
6612 UINT uFlags,
6613 REFIID riid,
6614 void **ppv);
6615
6616 HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)(
6617 IFolderView2 *This,
6618 int *piItem);
6619
6620 HRESULT (STDMETHODCALLTYPE *GetFocusedItem)(
6621 IFolderView2 *This,
6622 int *piItem);
6623
6624 HRESULT (STDMETHODCALLTYPE *GetItemPosition)(
6625 IFolderView2 *This,
6626 PCUITEMID_CHILD pidl,
6627 POINT *ppt);
6628
6629 HRESULT (STDMETHODCALLTYPE *GetSpacing)(
6630 IFolderView2 *This,
6631 POINT *ppt);
6632
6633 HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)(
6634 IFolderView2 *This,
6635 POINT *ppt);
6636
6637 HRESULT (STDMETHODCALLTYPE *GetAutoArrange)(
6638 IFolderView2 *This);
6639
6640 HRESULT (STDMETHODCALLTYPE *SelectItem)(
6641 IFolderView2 *This,
6642 int iItem,
6643 DWORD dwFlags);
6644
6645 HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)(
6646 IFolderView2 *This,
6647 UINT cidl,
6648 PCUITEMID_CHILD_ARRAY apidl,
6649 POINT *apt,
6650 DWORD dwFlags);
6651
6652 /*** IFolderView2 methods ***/
6653 HRESULT (STDMETHODCALLTYPE *SetGroupBy)(
6654 IFolderView2 *This,
6655 REFPROPERTYKEY key,
6656 WINBOOL fAscending);
6657
6658 HRESULT (STDMETHODCALLTYPE *GetGroupBy)(
6659 IFolderView2 *This,
6660 PROPERTYKEY *pkey,
6661 WINBOOL *pfAscending);
6662
6663 HRESULT (STDMETHODCALLTYPE *SetViewProperty)(
6664 IFolderView2 *This,
6665 PCUITEMID_CHILD pidl,
6666 REFPROPERTYKEY propkey,
6667 REFPROPVARIANT propvar);
6668
6669 HRESULT (STDMETHODCALLTYPE *GetViewProperty)(
6670 IFolderView2 *This,
6671 PCUITEMID_CHILD pidl,
6672 REFPROPERTYKEY propkey,
6673 PROPVARIANT *ppropvar);
6674
6675 HRESULT (STDMETHODCALLTYPE *SetTileViewProperties)(
6676 IFolderView2 *This,
6677 PCUITEMID_CHILD pidl,
6678 LPCWSTR pszPropList);
6679
6680 HRESULT (STDMETHODCALLTYPE *SetExtendedTileViewProperties)(
6681 IFolderView2 *This,
6682 PCUITEMID_CHILD pidl,
6683 LPCWSTR pszPropList);
6684
6685 HRESULT (STDMETHODCALLTYPE *SetText)(
6686 IFolderView2 *This,
6687 FVTEXTTYPE iType,
6688 LPCWSTR pwszText);
6689
6690 HRESULT (STDMETHODCALLTYPE *SetCurrentFolderFlags)(
6691 IFolderView2 *This,
6692 DWORD dwMask,
6693 DWORD dwFlags);
6694
6695 HRESULT (STDMETHODCALLTYPE *GetCurrentFolderFlags)(
6696 IFolderView2 *This,
6697 DWORD *pdwFlags);
6698
6699 HRESULT (STDMETHODCALLTYPE *GetSortColumnCount)(
6700 IFolderView2 *This,
6701 int *pcColumns);
6702
6703 HRESULT (STDMETHODCALLTYPE *SetSortColumns)(
6704 IFolderView2 *This,
6705 const SORTCOLUMN *rgSortColumns,
6706 int cColumns);
6707
6708 HRESULT (STDMETHODCALLTYPE *GetSortColumns)(
6709 IFolderView2 *This,
6710 SORTCOLUMN *rgSortColumns,
6711 int cColumns);
6712
6713 HRESULT (STDMETHODCALLTYPE *GetItem)(
6714 IFolderView2 *This,
6715 int iItem,
6716 REFIID riid,
6717 void **ppv);
6718
6719 HRESULT (STDMETHODCALLTYPE *GetVisibleItem)(
6720 IFolderView2 *This,
6721 int iStart,
6722 WINBOOL fPrevious,
6723 int *piItem);
6724
6725 HRESULT (STDMETHODCALLTYPE *GetSelectedItem)(
6726 IFolderView2 *This,
6727 int iStart,
6728 int *piItem);
6729
6730 HRESULT (STDMETHODCALLTYPE *GetSelection)(
6731 IFolderView2 *This,
6732 WINBOOL fNoneImpliesFolder,
6733 IShellItemArray **ppsia);
6734
6735 HRESULT (STDMETHODCALLTYPE *GetSelectionState)(
6736 IFolderView2 *This,
6737 PCUITEMID_CHILD pidl,
6738 DWORD *pdwFlags);
6739
6740 HRESULT (STDMETHODCALLTYPE *InvokeVerbOnSelection)(
6741 IFolderView2 *This,
6742 LPCSTR pszVerb);
6743
6744 HRESULT (STDMETHODCALLTYPE *SetViewModeAndIconSize)(
6745 IFolderView2 *This,
6746 FOLDERVIEWMODE uViewMode,
6747 int iImageSize);
6748
6749 HRESULT (STDMETHODCALLTYPE *GetViewModeAndIconSize)(
6750 IFolderView2 *This,
6751 FOLDERVIEWMODE *puViewMode,
6752 int *piImageSize);
6753
6754 HRESULT (STDMETHODCALLTYPE *SetGroupSubsetCount)(
6755 IFolderView2 *This,
6756 UINT cVisibleRows);
6757
6758 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)(
6759 IFolderView2 *This,
6760 UINT *pcVisibleRows);
6761
6762 HRESULT (STDMETHODCALLTYPE *SetRedraw)(
6763 IFolderView2 *This,
6764 WINBOOL fRedrawOn);
6765
6766 HRESULT (STDMETHODCALLTYPE *IsMoveInSameFolder)(
6767 IFolderView2 *This);
6768
6769 HRESULT (STDMETHODCALLTYPE *DoRename)(
6770 IFolderView2 *This);
6771
6772 END_INTERFACE
6773} IFolderView2Vtbl;
6774
6775interface IFolderView2 {
6776 CONST_VTBL IFolderView2Vtbl* lpVtbl;
6777};
6778
6779#ifdef COBJMACROS
6780#ifndef WIDL_C_INLINE_WRAPPERS
6781/*** IUnknown methods ***/
6782#define IFolderView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6783#define IFolderView2_AddRef(This) (This)->lpVtbl->AddRef(This)
6784#define IFolderView2_Release(This) (This)->lpVtbl->Release(This)
6785/*** IFolderView methods ***/
6786#define IFolderView2_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode)
6787#define IFolderView2_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode)
6788#define IFolderView2_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv)
6789#define IFolderView2_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl)
6790#define IFolderView2_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems)
6791#define IFolderView2_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv)
6792#define IFolderView2_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem)
6793#define IFolderView2_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem)
6794#define IFolderView2_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt)
6795#define IFolderView2_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt)
6796#define IFolderView2_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt)
6797#define IFolderView2_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This)
6798#define IFolderView2_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags)
6799#define IFolderView2_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
6800/*** IFolderView2 methods ***/
6801#define IFolderView2_SetGroupBy(This,key,fAscending) (This)->lpVtbl->SetGroupBy(This,key,fAscending)
6802#define IFolderView2_GetGroupBy(This,pkey,pfAscending) (This)->lpVtbl->GetGroupBy(This,pkey,pfAscending)
6803#define IFolderView2_SetViewProperty(This,pidl,propkey,propvar) (This)->lpVtbl->SetViewProperty(This,pidl,propkey,propvar)
6804#define IFolderView2_GetViewProperty(This,pidl,propkey,ppropvar) (This)->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar)
6805#define IFolderView2_SetTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetTileViewProperties(This,pidl,pszPropList)
6806#define IFolderView2_SetExtendedTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList)
6807#define IFolderView2_SetText(This,iType,pwszText) (This)->lpVtbl->SetText(This,iType,pwszText)
6808#define IFolderView2_SetCurrentFolderFlags(This,dwMask,dwFlags) (This)->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags)
6809#define IFolderView2_GetCurrentFolderFlags(This,pdwFlags) (This)->lpVtbl->GetCurrentFolderFlags(This,pdwFlags)
6810#define IFolderView2_GetSortColumnCount(This,pcColumns) (This)->lpVtbl->GetSortColumnCount(This,pcColumns)
6811#define IFolderView2_SetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns)
6812#define IFolderView2_GetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns)
6813#define IFolderView2_GetItem(This,iItem,riid,ppv) (This)->lpVtbl->GetItem(This,iItem,riid,ppv)
6814#define IFolderView2_GetVisibleItem(This,iStart,fPrevious,piItem) (This)->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem)
6815#define IFolderView2_GetSelectedItem(This,iStart,piItem) (This)->lpVtbl->GetSelectedItem(This,iStart,piItem)
6816#define IFolderView2_GetSelection(This,fNoneImpliesFolder,ppsia) (This)->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia)
6817#define IFolderView2_GetSelectionState(This,pidl,pdwFlags) (This)->lpVtbl->GetSelectionState(This,pidl,pdwFlags)
6818#define IFolderView2_InvokeVerbOnSelection(This,pszVerb) (This)->lpVtbl->InvokeVerbOnSelection(This,pszVerb)
6819#define IFolderView2_SetViewModeAndIconSize(This,uViewMode,iImageSize) (This)->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize)
6820#define IFolderView2_GetViewModeAndIconSize(This,puViewMode,piImageSize) (This)->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize)
6821#define IFolderView2_SetGroupSubsetCount(This,cVisibleRows) (This)->lpVtbl->SetGroupSubsetCount(This,cVisibleRows)
6822#define IFolderView2_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows)
6823#define IFolderView2_SetRedraw(This,fRedrawOn) (This)->lpVtbl->SetRedraw(This,fRedrawOn)
6824#define IFolderView2_IsMoveInSameFolder(This) (This)->lpVtbl->IsMoveInSameFolder(This)
6825#define IFolderView2_DoRename(This) (This)->lpVtbl->DoRename(This)
6826#else
6827/*** IUnknown methods ***/
6828static inline HRESULT IFolderView2_QueryInterface(IFolderView2* This,REFIID riid,void **ppvObject) {
6829 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6830}
6831static inline ULONG IFolderView2_AddRef(IFolderView2* This) {
6832 return This->lpVtbl->AddRef(This);
6833}
6834static inline ULONG IFolderView2_Release(IFolderView2* This) {
6835 return This->lpVtbl->Release(This);
6836}
6837/*** IFolderView methods ***/
6838static inline HRESULT IFolderView2_GetCurrentViewMode(IFolderView2* This,UINT *pViewMode) {
6839 return This->lpVtbl->GetCurrentViewMode(This,pViewMode);
6840}
6841static inline HRESULT IFolderView2_SetCurrentViewMode(IFolderView2* This,UINT ViewMode) {
6842 return This->lpVtbl->SetCurrentViewMode(This,ViewMode);
6843}
6844static inline HRESULT IFolderView2_GetFolder(IFolderView2* This,REFIID riid,void **ppv) {
6845 return This->lpVtbl->GetFolder(This,riid,ppv);
6846}
6847static inline HRESULT IFolderView2_Item(IFolderView2* This,int iItemIndex,PITEMID_CHILD *ppidl) {
6848 return This->lpVtbl->Item(This,iItemIndex,ppidl);
6849}
6850static inline HRESULT IFolderView2_ItemCount(IFolderView2* This,UINT uFlags,int *pcItems) {
6851 return This->lpVtbl->ItemCount(This,uFlags,pcItems);
6852}
6853static inline HRESULT IFolderView2_Items(IFolderView2* This,UINT uFlags,REFIID riid,void **ppv) {
6854 return This->lpVtbl->Items(This,uFlags,riid,ppv);
6855}
6856static inline HRESULT IFolderView2_GetSelectionMarkedItem(IFolderView2* This,int *piItem) {
6857 return This->lpVtbl->GetSelectionMarkedItem(This,piItem);
6858}
6859static inline HRESULT IFolderView2_GetFocusedItem(IFolderView2* This,int *piItem) {
6860 return This->lpVtbl->GetFocusedItem(This,piItem);
6861}
6862static inline HRESULT IFolderView2_GetItemPosition(IFolderView2* This,PCUITEMID_CHILD pidl,POINT *ppt) {
6863 return This->lpVtbl->GetItemPosition(This,pidl,ppt);
6864}
6865static inline HRESULT IFolderView2_GetSpacing(IFolderView2* This,POINT *ppt) {
6866 return This->lpVtbl->GetSpacing(This,ppt);
6867}
6868static inline HRESULT IFolderView2_GetDefaultSpacing(IFolderView2* This,POINT *ppt) {
6869 return This->lpVtbl->GetDefaultSpacing(This,ppt);
6870}
6871static inline HRESULT IFolderView2_GetAutoArrange(IFolderView2* This) {
6872 return This->lpVtbl->GetAutoArrange(This);
6873}
6874static inline HRESULT IFolderView2_SelectItem(IFolderView2* This,int iItem,DWORD dwFlags) {
6875 return This->lpVtbl->SelectItem(This,iItem,dwFlags);
6876}
6877static inline HRESULT IFolderView2_SelectAndPositionItems(IFolderView2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) {
6878 return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags);
6879}
6880/*** IFolderView2 methods ***/
6881static inline HRESULT IFolderView2_SetGroupBy(IFolderView2* This,REFPROPERTYKEY key,WINBOOL fAscending) {
6882 return This->lpVtbl->SetGroupBy(This,key,fAscending);
6883}
6884static inline HRESULT IFolderView2_GetGroupBy(IFolderView2* This,PROPERTYKEY *pkey,WINBOOL *pfAscending) {
6885 return This->lpVtbl->GetGroupBy(This,pkey,pfAscending);
6886}
6887static inline HRESULT IFolderView2_SetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,REFPROPVARIANT propvar) {
6888 return This->lpVtbl->SetViewProperty(This,pidl,propkey,propvar);
6889}
6890static inline HRESULT IFolderView2_GetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,PROPVARIANT *ppropvar) {
6891 return This->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar);
6892}
6893static inline HRESULT IFolderView2_SetTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) {
6894 return This->lpVtbl->SetTileViewProperties(This,pidl,pszPropList);
6895}
6896static inline HRESULT IFolderView2_SetExtendedTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) {
6897 return This->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList);
6898}
6899static inline HRESULT IFolderView2_SetText(IFolderView2* This,FVTEXTTYPE iType,LPCWSTR pwszText) {
6900 return This->lpVtbl->SetText(This,iType,pwszText);
6901}
6902static inline HRESULT IFolderView2_SetCurrentFolderFlags(IFolderView2* This,DWORD dwMask,DWORD dwFlags) {
6903 return This->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags);
6904}
6905static inline HRESULT IFolderView2_GetCurrentFolderFlags(IFolderView2* This,DWORD *pdwFlags) {
6906 return This->lpVtbl->GetCurrentFolderFlags(This,pdwFlags);
6907}
6908static inline HRESULT IFolderView2_GetSortColumnCount(IFolderView2* This,int *pcColumns) {
6909 return This->lpVtbl->GetSortColumnCount(This,pcColumns);
6910}
6911static inline HRESULT IFolderView2_SetSortColumns(IFolderView2* This,const SORTCOLUMN *rgSortColumns,int cColumns) {
6912 return This->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns);
6913}
6914static inline HRESULT IFolderView2_GetSortColumns(IFolderView2* This,SORTCOLUMN *rgSortColumns,int cColumns) {
6915 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns);
6916}
6917static inline HRESULT IFolderView2_GetItem(IFolderView2* This,int iItem,REFIID riid,void **ppv) {
6918 return This->lpVtbl->GetItem(This,iItem,riid,ppv);
6919}
6920static inline HRESULT IFolderView2_GetVisibleItem(IFolderView2* This,int iStart,WINBOOL fPrevious,int *piItem) {
6921 return This->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem);
6922}
6923static inline HRESULT IFolderView2_GetSelectedItem(IFolderView2* This,int iStart,int *piItem) {
6924 return This->lpVtbl->GetSelectedItem(This,iStart,piItem);
6925}
6926static inline HRESULT IFolderView2_GetSelection(IFolderView2* This,WINBOOL fNoneImpliesFolder,IShellItemArray **ppsia) {
6927 return This->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia);
6928}
6929static inline HRESULT IFolderView2_GetSelectionState(IFolderView2* This,PCUITEMID_CHILD pidl,DWORD *pdwFlags) {
6930 return This->lpVtbl->GetSelectionState(This,pidl,pdwFlags);
6931}
6932static inline HRESULT IFolderView2_InvokeVerbOnSelection(IFolderView2* This,LPCSTR pszVerb) {
6933 return This->lpVtbl->InvokeVerbOnSelection(This,pszVerb);
6934}
6935static inline HRESULT IFolderView2_SetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE uViewMode,int iImageSize) {
6936 return This->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize);
6937}
6938static inline HRESULT IFolderView2_GetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE *puViewMode,int *piImageSize) {
6939 return This->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize);
6940}
6941static inline HRESULT IFolderView2_SetGroupSubsetCount(IFolderView2* This,UINT cVisibleRows) {
6942 return This->lpVtbl->SetGroupSubsetCount(This,cVisibleRows);
6943}
6944static inline HRESULT IFolderView2_GetGroupSubsetCount(IFolderView2* This,UINT *pcVisibleRows) {
6945 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows);
6946}
6947static inline HRESULT IFolderView2_SetRedraw(IFolderView2* This,WINBOOL fRedrawOn) {
6948 return This->lpVtbl->SetRedraw(This,fRedrawOn);
6949}
6950static inline HRESULT IFolderView2_IsMoveInSameFolder(IFolderView2* This) {
6951 return This->lpVtbl->IsMoveInSameFolder(This);
6952}
6953static inline HRESULT IFolderView2_DoRename(IFolderView2* This) {
6954 return This->lpVtbl->DoRename(This);
6955}
6956#endif
6957#endif
6958
6959#endif
6960
6961HRESULT STDMETHODCALLTYPE IFolderView2_RemoteGetGroupBy_Proxy(
6962 IFolderView2* This,
6963 PROPERTYKEY *pkey,
6964 WINBOOL *pfAscending);
6965void __RPC_STUB IFolderView2_RemoteGetGroupBy_Stub(
6966 IRpcStubBuffer* This,
6967 IRpcChannelBuffer* pRpcChannelBuffer,
6968 PRPC_MESSAGE pRpcMessage,
6969 DWORD* pdwStubPhase);
6970HRESULT CALLBACK IFolderView2_GetGroupBy_Proxy(
6971 IFolderView2* This,
6972 PROPERTYKEY *pkey,
6973 WINBOOL *pfAscending);
6974HRESULT __RPC_STUB IFolderView2_GetGroupBy_Stub(
6975 IFolderView2* This,
6976 PROPERTYKEY *pkey,
6977 WINBOOL *pfAscending);
6978
6979#endif /* __IFolderView2_INTERFACE_DEFINED__ */
6980
6981
6982#if NTDDI_VERSION >= NTDDI_VISTA
6983/*****************************************************************************
6984 * IFolderViewSettings interface
6985 */
6986#ifndef __IFolderViewSettings_INTERFACE_DEFINED__
6987#define __IFolderViewSettings_INTERFACE_DEFINED__
6988
6989DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0);
6990#if defined(__cplusplus) && !defined(CINTERFACE)
6991MIDL_INTERFACE("ae8c987d-8797-4ed3-be72-2a47dd938db0")
6992IFolderViewSettings : public IUnknown
6993{
6994 virtual HRESULT STDMETHODCALLTYPE GetColumnPropertyList(
6995 REFIID riid,
6996 void **ppv) = 0;
6997
6998 virtual HRESULT STDMETHODCALLTYPE GetGroupByProperty(
6999 PROPERTYKEY *pkey,
7000 WINBOOL *pfGroupAscending) = 0;
7001
7002 virtual HRESULT STDMETHODCALLTYPE GetViewMode(
7003 FOLDERLOGICALVIEWMODE *plvm) = 0;
7004
7005 virtual HRESULT STDMETHODCALLTYPE GetIconSize(
7006 UINT *puIconSize) = 0;
7007
7008 virtual HRESULT STDMETHODCALLTYPE GetFolderFlags(
7009 FOLDERFLAGS *pfolderMask,
7010 FOLDERFLAGS *pfolderFlags) = 0;
7011
7012 virtual HRESULT STDMETHODCALLTYPE GetSortColumns(
7013 SORTCOLUMN *rgSortColumns,
7014 UINT cColumnsIn,
7015 UINT *pcColumnsOut) = 0;
7016
7017 virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount(
7018 UINT *pcVisibleRows) = 0;
7019
7020};
7021#ifdef __CRT_UUID_DECL
7022__CRT_UUID_DECL(IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0)
7023#endif
7024#else
7025typedef struct IFolderViewSettingsVtbl {
7026 BEGIN_INTERFACE
7027
7028 /*** IUnknown methods ***/
7029 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7030 IFolderViewSettings *This,
7031 REFIID riid,
7032 void **ppvObject);
7033
7034 ULONG (STDMETHODCALLTYPE *AddRef)(
7035 IFolderViewSettings *This);
7036
7037 ULONG (STDMETHODCALLTYPE *Release)(
7038 IFolderViewSettings *This);
7039
7040 /*** IFolderViewSettings methods ***/
7041 HRESULT (STDMETHODCALLTYPE *GetColumnPropertyList)(
7042 IFolderViewSettings *This,
7043 REFIID riid,
7044 void **ppv);
7045
7046 HRESULT (STDMETHODCALLTYPE *GetGroupByProperty)(
7047 IFolderViewSettings *This,
7048 PROPERTYKEY *pkey,
7049 WINBOOL *pfGroupAscending);
7050
7051 HRESULT (STDMETHODCALLTYPE *GetViewMode)(
7052 IFolderViewSettings *This,
7053 FOLDERLOGICALVIEWMODE *plvm);
7054
7055 HRESULT (STDMETHODCALLTYPE *GetIconSize)(
7056 IFolderViewSettings *This,
7057 UINT *puIconSize);
7058
7059 HRESULT (STDMETHODCALLTYPE *GetFolderFlags)(
7060 IFolderViewSettings *This,
7061 FOLDERFLAGS *pfolderMask,
7062 FOLDERFLAGS *pfolderFlags);
7063
7064 HRESULT (STDMETHODCALLTYPE *GetSortColumns)(
7065 IFolderViewSettings *This,
7066 SORTCOLUMN *rgSortColumns,
7067 UINT cColumnsIn,
7068 UINT *pcColumnsOut);
7069
7070 HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)(
7071 IFolderViewSettings *This,
7072 UINT *pcVisibleRows);
7073
7074 END_INTERFACE
7075} IFolderViewSettingsVtbl;
7076
7077interface IFolderViewSettings {
7078 CONST_VTBL IFolderViewSettingsVtbl* lpVtbl;
7079};
7080
7081#ifdef COBJMACROS
7082#ifndef WIDL_C_INLINE_WRAPPERS
7083/*** IUnknown methods ***/
7084#define IFolderViewSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7085#define IFolderViewSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
7086#define IFolderViewSettings_Release(This) (This)->lpVtbl->Release(This)
7087/*** IFolderViewSettings methods ***/
7088#define IFolderViewSettings_GetColumnPropertyList(This,riid,ppv) (This)->lpVtbl->GetColumnPropertyList(This,riid,ppv)
7089#define IFolderViewSettings_GetGroupByProperty(This,pkey,pfGroupAscending) (This)->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending)
7090#define IFolderViewSettings_GetViewMode(This,plvm) (This)->lpVtbl->GetViewMode(This,plvm)
7091#define IFolderViewSettings_GetIconSize(This,puIconSize) (This)->lpVtbl->GetIconSize(This,puIconSize)
7092#define IFolderViewSettings_GetFolderFlags(This,pfolderMask,pfolderFlags) (This)->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags)
7093#define IFolderViewSettings_GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut)
7094#define IFolderViewSettings_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows)
7095#else
7096/*** IUnknown methods ***/
7097static inline HRESULT IFolderViewSettings_QueryInterface(IFolderViewSettings* This,REFIID riid,void **ppvObject) {
7098 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7099}
7100static inline ULONG IFolderViewSettings_AddRef(IFolderViewSettings* This) {
7101 return This->lpVtbl->AddRef(This);
7102}
7103static inline ULONG IFolderViewSettings_Release(IFolderViewSettings* This) {
7104 return This->lpVtbl->Release(This);
7105}
7106/*** IFolderViewSettings methods ***/
7107static inline HRESULT IFolderViewSettings_GetColumnPropertyList(IFolderViewSettings* This,REFIID riid,void **ppv) {
7108 return This->lpVtbl->GetColumnPropertyList(This,riid,ppv);
7109}
7110static inline HRESULT IFolderViewSettings_GetGroupByProperty(IFolderViewSettings* This,PROPERTYKEY *pkey,WINBOOL *pfGroupAscending) {
7111 return This->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending);
7112}
7113static inline HRESULT IFolderViewSettings_GetViewMode(IFolderViewSettings* This,FOLDERLOGICALVIEWMODE *plvm) {
7114 return This->lpVtbl->GetViewMode(This,plvm);
7115}
7116static inline HRESULT IFolderViewSettings_GetIconSize(IFolderViewSettings* This,UINT *puIconSize) {
7117 return This->lpVtbl->GetIconSize(This,puIconSize);
7118}
7119static inline HRESULT IFolderViewSettings_GetFolderFlags(IFolderViewSettings* This,FOLDERFLAGS *pfolderMask,FOLDERFLAGS *pfolderFlags) {
7120 return This->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags);
7121}
7122static inline HRESULT IFolderViewSettings_GetSortColumns(IFolderViewSettings* This,SORTCOLUMN *rgSortColumns,UINT cColumnsIn,UINT *pcColumnsOut) {
7123 return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut);
7124}
7125static inline HRESULT IFolderViewSettings_GetGroupSubsetCount(IFolderViewSettings* This,UINT *pcVisibleRows) {
7126 return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows);
7127}
7128#endif
7129#endif
7130
7131#endif
7132
7133
7134#endif /* __IFolderViewSettings_INTERFACE_DEFINED__ */
7135
7136#endif
7137#endif
7138
7139#if _WIN32_IE >= _WIN32_IE_IE70
7140/*****************************************************************************
7141 * IPreviewHandlerVisuals interface
7142 */
7143#ifndef __IPreviewHandlerVisuals_INTERFACE_DEFINED__
7144#define __IPreviewHandlerVisuals_INTERFACE_DEFINED__
7145
7146DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1);
7147#if defined(__cplusplus) && !defined(CINTERFACE)
7148MIDL_INTERFACE("196bf9a5-b346-4ef0-aa1e-5dcdb76768b1")
7149IPreviewHandlerVisuals : public IUnknown
7150{
7151 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
7152 COLORREF color) = 0;
7153
7154 virtual HRESULT STDMETHODCALLTYPE SetFont(
7155 const LOGFONTW *plf) = 0;
7156
7157 virtual HRESULT STDMETHODCALLTYPE SetTextColor(
7158 COLORREF color) = 0;
7159
7160};
7161#ifdef __CRT_UUID_DECL
7162__CRT_UUID_DECL(IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1)
7163#endif
7164#else
7165typedef struct IPreviewHandlerVisualsVtbl {
7166 BEGIN_INTERFACE
7167
7168 /*** IUnknown methods ***/
7169 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7170 IPreviewHandlerVisuals *This,
7171 REFIID riid,
7172 void **ppvObject);
7173
7174 ULONG (STDMETHODCALLTYPE *AddRef)(
7175 IPreviewHandlerVisuals *This);
7176
7177 ULONG (STDMETHODCALLTYPE *Release)(
7178 IPreviewHandlerVisuals *This);
7179
7180 /*** IPreviewHandlerVisuals methods ***/
7181 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
7182 IPreviewHandlerVisuals *This,
7183 COLORREF color);
7184
7185 HRESULT (STDMETHODCALLTYPE *SetFont)(
7186 IPreviewHandlerVisuals *This,
7187 const LOGFONTW *plf);
7188
7189 HRESULT (STDMETHODCALLTYPE *SetTextColor)(
7190 IPreviewHandlerVisuals *This,
7191 COLORREF color);
7192
7193 END_INTERFACE
7194} IPreviewHandlerVisualsVtbl;
7195
7196interface IPreviewHandlerVisuals {
7197 CONST_VTBL IPreviewHandlerVisualsVtbl* lpVtbl;
7198};
7199
7200#ifdef COBJMACROS
7201#ifndef WIDL_C_INLINE_WRAPPERS
7202/*** IUnknown methods ***/
7203#define IPreviewHandlerVisuals_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7204#define IPreviewHandlerVisuals_AddRef(This) (This)->lpVtbl->AddRef(This)
7205#define IPreviewHandlerVisuals_Release(This) (This)->lpVtbl->Release(This)
7206/*** IPreviewHandlerVisuals methods ***/
7207#define IPreviewHandlerVisuals_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
7208#define IPreviewHandlerVisuals_SetFont(This,plf) (This)->lpVtbl->SetFont(This,plf)
7209#define IPreviewHandlerVisuals_SetTextColor(This,color) (This)->lpVtbl->SetTextColor(This,color)
7210#else
7211/*** IUnknown methods ***/
7212static inline HRESULT IPreviewHandlerVisuals_QueryInterface(IPreviewHandlerVisuals* This,REFIID riid,void **ppvObject) {
7213 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7214}
7215static inline ULONG IPreviewHandlerVisuals_AddRef(IPreviewHandlerVisuals* This) {
7216 return This->lpVtbl->AddRef(This);
7217}
7218static inline ULONG IPreviewHandlerVisuals_Release(IPreviewHandlerVisuals* This) {
7219 return This->lpVtbl->Release(This);
7220}
7221/*** IPreviewHandlerVisuals methods ***/
7222static inline HRESULT IPreviewHandlerVisuals_SetBackgroundColor(IPreviewHandlerVisuals* This,COLORREF color) {
7223 return This->lpVtbl->SetBackgroundColor(This,color);
7224}
7225static inline HRESULT IPreviewHandlerVisuals_SetFont(IPreviewHandlerVisuals* This,const LOGFONTW *plf) {
7226 return This->lpVtbl->SetFont(This,plf);
7227}
7228static inline HRESULT IPreviewHandlerVisuals_SetTextColor(IPreviewHandlerVisuals* This,COLORREF color) {
7229 return This->lpVtbl->SetTextColor(This,color);
7230}
7231#endif
7232#endif
7233
7234#endif
7235
7236
7237#endif /* __IPreviewHandlerVisuals_INTERFACE_DEFINED__ */
7238
7239
7240/*****************************************************************************
7241 * IVisualProperties interface
7242 */
7243#ifndef __IVisualProperties_INTERFACE_DEFINED__
7244#define __IVisualProperties_INTERFACE_DEFINED__
7245
7246typedef enum VPWATERMARKFLAGS {
7247 VPWF_DEFAULT = 0x0,
7248 VPWF_ALPHABLEND = 0x1
7249} VPWATERMARKFLAGS;
7250
7251typedef enum VPCOLORFLAGS {
7252 VPCF_TEXT = 1,
7253 VPCF_BACKGROUND = 2,
7254 VPCF_SORTCOLUMN = 3,
7255 VPCF_SUBTEXT = 4,
7256 VPCF_TEXTBACKGROUND = 5
7257} VPCOLORFLAGS;
7258
7259DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS)
7260
7261DEFINE_GUID(IID_IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a);
7262#if defined(__cplusplus) && !defined(CINTERFACE)
7263MIDL_INTERFACE("e693cf68-d967-4112-8763-99172aee5e5a")
7264IVisualProperties : public IUnknown
7265{
7266 virtual HRESULT STDMETHODCALLTYPE SetWatermark(
7267 HBITMAP hbmp,
7268 VPWATERMARKFLAGS vpwf) = 0;
7269
7270 virtual HRESULT STDMETHODCALLTYPE SetColor(
7271 VPCOLORFLAGS vpcf,
7272 COLORREF cr) = 0;
7273
7274 virtual HRESULT STDMETHODCALLTYPE GetColor(
7275 VPCOLORFLAGS vpcf,
7276 COLORREF *pcr) = 0;
7277
7278 virtual HRESULT STDMETHODCALLTYPE SetItemHeight(
7279 int cyItemInPixels) = 0;
7280
7281 virtual HRESULT STDMETHODCALLTYPE GetItemHeight(
7282 int *cyItemInPixels) = 0;
7283
7284 virtual HRESULT STDMETHODCALLTYPE SetFont(
7285 const LOGFONTW *plf,
7286 WINBOOL bRedraw) = 0;
7287
7288 virtual HRESULT STDMETHODCALLTYPE GetFont(
7289 LOGFONTW *plf) = 0;
7290
7291 virtual HRESULT STDMETHODCALLTYPE SetTheme(
7292 LPCWSTR pszSubAppName,
7293 LPCWSTR pszSubIdList) = 0;
7294
7295};
7296#ifdef __CRT_UUID_DECL
7297__CRT_UUID_DECL(IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a)
7298#endif
7299#else
7300typedef struct IVisualPropertiesVtbl {
7301 BEGIN_INTERFACE
7302
7303 /*** IUnknown methods ***/
7304 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7305 IVisualProperties *This,
7306 REFIID riid,
7307 void **ppvObject);
7308
7309 ULONG (STDMETHODCALLTYPE *AddRef)(
7310 IVisualProperties *This);
7311
7312 ULONG (STDMETHODCALLTYPE *Release)(
7313 IVisualProperties *This);
7314
7315 /*** IVisualProperties methods ***/
7316 HRESULT (STDMETHODCALLTYPE *SetWatermark)(
7317 IVisualProperties *This,
7318 HBITMAP hbmp,
7319 VPWATERMARKFLAGS vpwf);
7320
7321 HRESULT (STDMETHODCALLTYPE *SetColor)(
7322 IVisualProperties *This,
7323 VPCOLORFLAGS vpcf,
7324 COLORREF cr);
7325
7326 HRESULT (STDMETHODCALLTYPE *GetColor)(
7327 IVisualProperties *This,
7328 VPCOLORFLAGS vpcf,
7329 COLORREF *pcr);
7330
7331 HRESULT (STDMETHODCALLTYPE *SetItemHeight)(
7332 IVisualProperties *This,
7333 int cyItemInPixels);
7334
7335 HRESULT (STDMETHODCALLTYPE *GetItemHeight)(
7336 IVisualProperties *This,
7337 int *cyItemInPixels);
7338
7339 HRESULT (STDMETHODCALLTYPE *SetFont)(
7340 IVisualProperties *This,
7341 const LOGFONTW *plf,
7342 WINBOOL bRedraw);
7343
7344 HRESULT (STDMETHODCALLTYPE *GetFont)(
7345 IVisualProperties *This,
7346 LOGFONTW *plf);
7347
7348 HRESULT (STDMETHODCALLTYPE *SetTheme)(
7349 IVisualProperties *This,
7350 LPCWSTR pszSubAppName,
7351 LPCWSTR pszSubIdList);
7352
7353 END_INTERFACE
7354} IVisualPropertiesVtbl;
7355
7356interface IVisualProperties {
7357 CONST_VTBL IVisualPropertiesVtbl* lpVtbl;
7358};
7359
7360#ifdef COBJMACROS
7361#ifndef WIDL_C_INLINE_WRAPPERS
7362/*** IUnknown methods ***/
7363#define IVisualProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7364#define IVisualProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
7365#define IVisualProperties_Release(This) (This)->lpVtbl->Release(This)
7366/*** IVisualProperties methods ***/
7367#define IVisualProperties_SetWatermark(This,hbmp,vpwf) (This)->lpVtbl->SetWatermark(This,hbmp,vpwf)
7368#define IVisualProperties_SetColor(This,vpcf,cr) (This)->lpVtbl->SetColor(This,vpcf,cr)
7369#define IVisualProperties_GetColor(This,vpcf,pcr) (This)->lpVtbl->GetColor(This,vpcf,pcr)
7370#define IVisualProperties_SetItemHeight(This,cyItemInPixels) (This)->lpVtbl->SetItemHeight(This,cyItemInPixels)
7371#define IVisualProperties_GetItemHeight(This,cyItemInPixels) (This)->lpVtbl->GetItemHeight(This,cyItemInPixels)
7372#define IVisualProperties_SetFont(This,plf,bRedraw) (This)->lpVtbl->SetFont(This,plf,bRedraw)
7373#define IVisualProperties_GetFont(This,plf) (This)->lpVtbl->GetFont(This,plf)
7374#define IVisualProperties_SetTheme(This,pszSubAppName,pszSubIdList) (This)->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList)
7375#else
7376/*** IUnknown methods ***/
7377static inline HRESULT IVisualProperties_QueryInterface(IVisualProperties* This,REFIID riid,void **ppvObject) {
7378 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7379}
7380static inline ULONG IVisualProperties_AddRef(IVisualProperties* This) {
7381 return This->lpVtbl->AddRef(This);
7382}
7383static inline ULONG IVisualProperties_Release(IVisualProperties* This) {
7384 return This->lpVtbl->Release(This);
7385}
7386/*** IVisualProperties methods ***/
7387static inline HRESULT IVisualProperties_SetWatermark(IVisualProperties* This,HBITMAP hbmp,VPWATERMARKFLAGS vpwf) {
7388 return This->lpVtbl->SetWatermark(This,hbmp,vpwf);
7389}
7390static inline HRESULT IVisualProperties_SetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF cr) {
7391 return This->lpVtbl->SetColor(This,vpcf,cr);
7392}
7393static inline HRESULT IVisualProperties_GetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF *pcr) {
7394 return This->lpVtbl->GetColor(This,vpcf,pcr);
7395}
7396static inline HRESULT IVisualProperties_SetItemHeight(IVisualProperties* This,int cyItemInPixels) {
7397 return This->lpVtbl->SetItemHeight(This,cyItemInPixels);
7398}
7399static inline HRESULT IVisualProperties_GetItemHeight(IVisualProperties* This,int *cyItemInPixels) {
7400 return This->lpVtbl->GetItemHeight(This,cyItemInPixels);
7401}
7402static inline HRESULT IVisualProperties_SetFont(IVisualProperties* This,const LOGFONTW *plf,WINBOOL bRedraw) {
7403 return This->lpVtbl->SetFont(This,plf,bRedraw);
7404}
7405static inline HRESULT IVisualProperties_GetFont(IVisualProperties* This,LOGFONTW *plf) {
7406 return This->lpVtbl->GetFont(This,plf);
7407}
7408static inline HRESULT IVisualProperties_SetTheme(IVisualProperties* This,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList) {
7409 return This->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList);
7410}
7411#endif
7412#endif
7413
7414#endif
7415
7416
7417#endif /* __IVisualProperties_INTERFACE_DEFINED__ */
7418
7419#endif
7420
7421#define CDBOSC_SETFOCUS 0x00000000
7422#define CDBOSC_KILLFOCUS 0x00000001
7423#define CDBOSC_SELCHANGE 0x00000002
7424#define CDBOSC_RENAME 0x00000003
7425#define CDBOSC_STATECHANGE 0x00000004
7426
7427/*****************************************************************************
7428 * ICommDlgBrowser interface
7429 */
7430#ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
7431#define __ICommDlgBrowser_INTERFACE_DEFINED__
7432
7433DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7434#if defined(__cplusplus) && !defined(CINTERFACE)
7435MIDL_INTERFACE("000214f1-0000-0000-c000-000000000046")
7436ICommDlgBrowser : public IUnknown
7437{
7438 virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(
7439 IShellView *ppshv) = 0;
7440
7441 virtual HRESULT STDMETHODCALLTYPE OnStateChange(
7442 IShellView *ppshv,
7443 ULONG uChange) = 0;
7444
7445 virtual HRESULT STDMETHODCALLTYPE IncludeObject(
7446 IShellView *ppshv,
7447 PCUITEMID_CHILD pidl) = 0;
7448
7449};
7450#ifdef __CRT_UUID_DECL
7451__CRT_UUID_DECL(ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7452#endif
7453#else
7454typedef struct ICommDlgBrowserVtbl {
7455 BEGIN_INTERFACE
7456
7457 /*** IUnknown methods ***/
7458 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7459 ICommDlgBrowser *This,
7460 REFIID riid,
7461 void **ppvObject);
7462
7463 ULONG (STDMETHODCALLTYPE *AddRef)(
7464 ICommDlgBrowser *This);
7465
7466 ULONG (STDMETHODCALLTYPE *Release)(
7467 ICommDlgBrowser *This);
7468
7469 /*** ICommDlgBrowser methods ***/
7470 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
7471 ICommDlgBrowser *This,
7472 IShellView *ppshv);
7473
7474 HRESULT (STDMETHODCALLTYPE *OnStateChange)(
7475 ICommDlgBrowser *This,
7476 IShellView *ppshv,
7477 ULONG uChange);
7478
7479 HRESULT (STDMETHODCALLTYPE *IncludeObject)(
7480 ICommDlgBrowser *This,
7481 IShellView *ppshv,
7482 PCUITEMID_CHILD pidl);
7483
7484 END_INTERFACE
7485} ICommDlgBrowserVtbl;
7486
7487interface ICommDlgBrowser {
7488 CONST_VTBL ICommDlgBrowserVtbl* lpVtbl;
7489};
7490
7491#ifdef COBJMACROS
7492#ifndef WIDL_C_INLINE_WRAPPERS
7493/*** IUnknown methods ***/
7494#define ICommDlgBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7495#define ICommDlgBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
7496#define ICommDlgBrowser_Release(This) (This)->lpVtbl->Release(This)
7497/*** ICommDlgBrowser methods ***/
7498#define ICommDlgBrowser_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
7499#define ICommDlgBrowser_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
7500#define ICommDlgBrowser_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
7501#else
7502/*** IUnknown methods ***/
7503static inline HRESULT ICommDlgBrowser_QueryInterface(ICommDlgBrowser* This,REFIID riid,void **ppvObject) {
7504 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7505}
7506static inline ULONG ICommDlgBrowser_AddRef(ICommDlgBrowser* This) {
7507 return This->lpVtbl->AddRef(This);
7508}
7509static inline ULONG ICommDlgBrowser_Release(ICommDlgBrowser* This) {
7510 return This->lpVtbl->Release(This);
7511}
7512/*** ICommDlgBrowser methods ***/
7513static inline HRESULT ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser* This,IShellView *ppshv) {
7514 return This->lpVtbl->OnDefaultCommand(This,ppshv);
7515}
7516static inline HRESULT ICommDlgBrowser_OnStateChange(ICommDlgBrowser* This,IShellView *ppshv,ULONG uChange) {
7517 return This->lpVtbl->OnStateChange(This,ppshv,uChange);
7518}
7519static inline HRESULT ICommDlgBrowser_IncludeObject(ICommDlgBrowser* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
7520 return This->lpVtbl->IncludeObject(This,ppshv,pidl);
7521}
7522#endif
7523#endif
7524
7525#endif
7526
7527
7528#endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
7529
7530typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
7531
7532#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser
7533
7534#define CDB2N_CONTEXTMENU_DONE 0x00000001
7535#define CDB2N_CONTEXTMENU_START 0x00000002
7536
7537#define CDB2GVF_SHOWALLFILES 0x1
7538#if NTDDI_VERSION >= NTDDI_VISTA
7539#define CDB2GVF_ISFILESAVE 0x2
7540#define CDB2GVF_ALLOWPREVIEWPANE 0x4
7541#define CDB2GVF_NOSELECTVERB 0x8
7542#define CDB2GVF_NOINCLUDEITEM 0x10
7543#define CDB2GVF_ISFOLDERPICKER 0x20
7544#define CDB2GVF_ADDSHIELD 0x40
7545#endif
7546
7547/*****************************************************************************
7548 * ICommDlgBrowser2 interface
7549 */
7550#ifndef __ICommDlgBrowser2_INTERFACE_DEFINED__
7551#define __ICommDlgBrowser2_INTERFACE_DEFINED__
7552
7553DEFINE_GUID(IID_ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
7554#if defined(__cplusplus) && !defined(CINTERFACE)
7555MIDL_INTERFACE("10339516-2894-11d2-9039-00c04f8eeb3e")
7556ICommDlgBrowser2 : public ICommDlgBrowser
7557{
7558 virtual HRESULT STDMETHODCALLTYPE Notify(
7559 IShellView *ppshv,
7560 DWORD dwNotifyType) = 0;
7561
7562 virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuText(
7563 IShellView *ppshv,
7564 LPWSTR pszText,
7565 int cchMax) = 0;
7566
7567 virtual HRESULT STDMETHODCALLTYPE GetViewFlags(
7568 DWORD *pdwFlags) = 0;
7569
7570};
7571#ifdef __CRT_UUID_DECL
7572__CRT_UUID_DECL(ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
7573#endif
7574#else
7575typedef struct ICommDlgBrowser2Vtbl {
7576 BEGIN_INTERFACE
7577
7578 /*** IUnknown methods ***/
7579 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7580 ICommDlgBrowser2 *This,
7581 REFIID riid,
7582 void **ppvObject);
7583
7584 ULONG (STDMETHODCALLTYPE *AddRef)(
7585 ICommDlgBrowser2 *This);
7586
7587 ULONG (STDMETHODCALLTYPE *Release)(
7588 ICommDlgBrowser2 *This);
7589
7590 /*** ICommDlgBrowser methods ***/
7591 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
7592 ICommDlgBrowser2 *This,
7593 IShellView *ppshv);
7594
7595 HRESULT (STDMETHODCALLTYPE *OnStateChange)(
7596 ICommDlgBrowser2 *This,
7597 IShellView *ppshv,
7598 ULONG uChange);
7599
7600 HRESULT (STDMETHODCALLTYPE *IncludeObject)(
7601 ICommDlgBrowser2 *This,
7602 IShellView *ppshv,
7603 PCUITEMID_CHILD pidl);
7604
7605 /*** ICommDlgBrowser2 methods ***/
7606 HRESULT (STDMETHODCALLTYPE *Notify)(
7607 ICommDlgBrowser2 *This,
7608 IShellView *ppshv,
7609 DWORD dwNotifyType);
7610
7611 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)(
7612 ICommDlgBrowser2 *This,
7613 IShellView *ppshv,
7614 LPWSTR pszText,
7615 int cchMax);
7616
7617 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
7618 ICommDlgBrowser2 *This,
7619 DWORD *pdwFlags);
7620
7621 END_INTERFACE
7622} ICommDlgBrowser2Vtbl;
7623
7624interface ICommDlgBrowser2 {
7625 CONST_VTBL ICommDlgBrowser2Vtbl* lpVtbl;
7626};
7627
7628#ifdef COBJMACROS
7629#ifndef WIDL_C_INLINE_WRAPPERS
7630/*** IUnknown methods ***/
7631#define ICommDlgBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7632#define ICommDlgBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This)
7633#define ICommDlgBrowser2_Release(This) (This)->lpVtbl->Release(This)
7634/*** ICommDlgBrowser methods ***/
7635#define ICommDlgBrowser2_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
7636#define ICommDlgBrowser2_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
7637#define ICommDlgBrowser2_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
7638/*** ICommDlgBrowser2 methods ***/
7639#define ICommDlgBrowser2_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType)
7640#define ICommDlgBrowser2_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax)
7641#define ICommDlgBrowser2_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags)
7642#else
7643/*** IUnknown methods ***/
7644static inline HRESULT ICommDlgBrowser2_QueryInterface(ICommDlgBrowser2* This,REFIID riid,void **ppvObject) {
7645 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7646}
7647static inline ULONG ICommDlgBrowser2_AddRef(ICommDlgBrowser2* This) {
7648 return This->lpVtbl->AddRef(This);
7649}
7650static inline ULONG ICommDlgBrowser2_Release(ICommDlgBrowser2* This) {
7651 return This->lpVtbl->Release(This);
7652}
7653/*** ICommDlgBrowser methods ***/
7654static inline HRESULT ICommDlgBrowser2_OnDefaultCommand(ICommDlgBrowser2* This,IShellView *ppshv) {
7655 return This->lpVtbl->OnDefaultCommand(This,ppshv);
7656}
7657static inline HRESULT ICommDlgBrowser2_OnStateChange(ICommDlgBrowser2* This,IShellView *ppshv,ULONG uChange) {
7658 return This->lpVtbl->OnStateChange(This,ppshv,uChange);
7659}
7660static inline HRESULT ICommDlgBrowser2_IncludeObject(ICommDlgBrowser2* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
7661 return This->lpVtbl->IncludeObject(This,ppshv,pidl);
7662}
7663/*** ICommDlgBrowser2 methods ***/
7664static inline HRESULT ICommDlgBrowser2_Notify(ICommDlgBrowser2* This,IShellView *ppshv,DWORD dwNotifyType) {
7665 return This->lpVtbl->Notify(This,ppshv,dwNotifyType);
7666}
7667static inline HRESULT ICommDlgBrowser2_GetDefaultMenuText(ICommDlgBrowser2* This,IShellView *ppshv,LPWSTR pszText,int cchMax) {
7668 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax);
7669}
7670static inline HRESULT ICommDlgBrowser2_GetViewFlags(ICommDlgBrowser2* This,DWORD *pdwFlags) {
7671 return This->lpVtbl->GetViewFlags(This,pdwFlags);
7672}
7673#endif
7674#endif
7675
7676#endif
7677
7678
7679#endif /* __ICommDlgBrowser2_INTERFACE_DEFINED__ */
7680
7681typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
7682
7683#if _WIN32_IE >= _WIN32_IE_IE70
7684/*****************************************************************************
7685 * ICommDlgBrowser3 interface
7686 */
7687#ifndef __ICommDlgBrowser3_INTERFACE_DEFINED__
7688#define __ICommDlgBrowser3_INTERFACE_DEFINED__
7689
7690DEFINE_GUID(IID_ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57);
7691#if defined(__cplusplus) && !defined(CINTERFACE)
7692MIDL_INTERFACE("c8ad25a1-3294-41ee-8165-71174bd01c57")
7693ICommDlgBrowser3 : public ICommDlgBrowser2
7694{
7695 virtual HRESULT STDMETHODCALLTYPE OnColumnClicked(
7696 IShellView *ppshv,
7697 int iColumn) = 0;
7698
7699 virtual HRESULT STDMETHODCALLTYPE GetCurrentFilter(
7700 LPWSTR pszFileSpec,
7701 int cchFileSpec) = 0;
7702
7703 virtual HRESULT STDMETHODCALLTYPE OnPreViewCreated(
7704 IShellView *ppshv) = 0;
7705
7706};
7707#ifdef __CRT_UUID_DECL
7708__CRT_UUID_DECL(ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57)
7709#endif
7710#else
7711typedef struct ICommDlgBrowser3Vtbl {
7712 BEGIN_INTERFACE
7713
7714 /*** IUnknown methods ***/
7715 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7716 ICommDlgBrowser3 *This,
7717 REFIID riid,
7718 void **ppvObject);
7719
7720 ULONG (STDMETHODCALLTYPE *AddRef)(
7721 ICommDlgBrowser3 *This);
7722
7723 ULONG (STDMETHODCALLTYPE *Release)(
7724 ICommDlgBrowser3 *This);
7725
7726 /*** ICommDlgBrowser methods ***/
7727 HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
7728 ICommDlgBrowser3 *This,
7729 IShellView *ppshv);
7730
7731 HRESULT (STDMETHODCALLTYPE *OnStateChange)(
7732 ICommDlgBrowser3 *This,
7733 IShellView *ppshv,
7734 ULONG uChange);
7735
7736 HRESULT (STDMETHODCALLTYPE *IncludeObject)(
7737 ICommDlgBrowser3 *This,
7738 IShellView *ppshv,
7739 PCUITEMID_CHILD pidl);
7740
7741 /*** ICommDlgBrowser2 methods ***/
7742 HRESULT (STDMETHODCALLTYPE *Notify)(
7743 ICommDlgBrowser3 *This,
7744 IShellView *ppshv,
7745 DWORD dwNotifyType);
7746
7747 HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)(
7748 ICommDlgBrowser3 *This,
7749 IShellView *ppshv,
7750 LPWSTR pszText,
7751 int cchMax);
7752
7753 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
7754 ICommDlgBrowser3 *This,
7755 DWORD *pdwFlags);
7756
7757 /*** ICommDlgBrowser3 methods ***/
7758 HRESULT (STDMETHODCALLTYPE *OnColumnClicked)(
7759 ICommDlgBrowser3 *This,
7760 IShellView *ppshv,
7761 int iColumn);
7762
7763 HRESULT (STDMETHODCALLTYPE *GetCurrentFilter)(
7764 ICommDlgBrowser3 *This,
7765 LPWSTR pszFileSpec,
7766 int cchFileSpec);
7767
7768 HRESULT (STDMETHODCALLTYPE *OnPreViewCreated)(
7769 ICommDlgBrowser3 *This,
7770 IShellView *ppshv);
7771
7772 END_INTERFACE
7773} ICommDlgBrowser3Vtbl;
7774
7775interface ICommDlgBrowser3 {
7776 CONST_VTBL ICommDlgBrowser3Vtbl* lpVtbl;
7777};
7778
7779#ifdef COBJMACROS
7780#ifndef WIDL_C_INLINE_WRAPPERS
7781/*** IUnknown methods ***/
7782#define ICommDlgBrowser3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7783#define ICommDlgBrowser3_AddRef(This) (This)->lpVtbl->AddRef(This)
7784#define ICommDlgBrowser3_Release(This) (This)->lpVtbl->Release(This)
7785/*** ICommDlgBrowser methods ***/
7786#define ICommDlgBrowser3_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
7787#define ICommDlgBrowser3_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
7788#define ICommDlgBrowser3_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
7789/*** ICommDlgBrowser2 methods ***/
7790#define ICommDlgBrowser3_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType)
7791#define ICommDlgBrowser3_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax)
7792#define ICommDlgBrowser3_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags)
7793/*** ICommDlgBrowser3 methods ***/
7794#define ICommDlgBrowser3_OnColumnClicked(This,ppshv,iColumn) (This)->lpVtbl->OnColumnClicked(This,ppshv,iColumn)
7795#define ICommDlgBrowser3_GetCurrentFilter(This,pszFileSpec,cchFileSpec) (This)->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec)
7796#define ICommDlgBrowser3_OnPreViewCreated(This,ppshv) (This)->lpVtbl->OnPreViewCreated(This,ppshv)
7797#else
7798/*** IUnknown methods ***/
7799static inline HRESULT ICommDlgBrowser3_QueryInterface(ICommDlgBrowser3* This,REFIID riid,void **ppvObject) {
7800 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7801}
7802static inline ULONG ICommDlgBrowser3_AddRef(ICommDlgBrowser3* This) {
7803 return This->lpVtbl->AddRef(This);
7804}
7805static inline ULONG ICommDlgBrowser3_Release(ICommDlgBrowser3* This) {
7806 return This->lpVtbl->Release(This);
7807}
7808/*** ICommDlgBrowser methods ***/
7809static inline HRESULT ICommDlgBrowser3_OnDefaultCommand(ICommDlgBrowser3* This,IShellView *ppshv) {
7810 return This->lpVtbl->OnDefaultCommand(This,ppshv);
7811}
7812static inline HRESULT ICommDlgBrowser3_OnStateChange(ICommDlgBrowser3* This,IShellView *ppshv,ULONG uChange) {
7813 return This->lpVtbl->OnStateChange(This,ppshv,uChange);
7814}
7815static inline HRESULT ICommDlgBrowser3_IncludeObject(ICommDlgBrowser3* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
7816 return This->lpVtbl->IncludeObject(This,ppshv,pidl);
7817}
7818/*** ICommDlgBrowser2 methods ***/
7819static inline HRESULT ICommDlgBrowser3_Notify(ICommDlgBrowser3* This,IShellView *ppshv,DWORD dwNotifyType) {
7820 return This->lpVtbl->Notify(This,ppshv,dwNotifyType);
7821}
7822static inline HRESULT ICommDlgBrowser3_GetDefaultMenuText(ICommDlgBrowser3* This,IShellView *ppshv,LPWSTR pszText,int cchMax) {
7823 return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax);
7824}
7825static inline HRESULT ICommDlgBrowser3_GetViewFlags(ICommDlgBrowser3* This,DWORD *pdwFlags) {
7826 return This->lpVtbl->GetViewFlags(This,pdwFlags);
7827}
7828/*** ICommDlgBrowser3 methods ***/
7829static inline HRESULT ICommDlgBrowser3_OnColumnClicked(ICommDlgBrowser3* This,IShellView *ppshv,int iColumn) {
7830 return This->lpVtbl->OnColumnClicked(This,ppshv,iColumn);
7831}
7832static inline HRESULT ICommDlgBrowser3_GetCurrentFilter(ICommDlgBrowser3* This,LPWSTR pszFileSpec,int cchFileSpec) {
7833 return This->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec);
7834}
7835static inline HRESULT ICommDlgBrowser3_OnPreViewCreated(ICommDlgBrowser3* This,IShellView *ppshv) {
7836 return This->lpVtbl->OnPreViewCreated(This,ppshv);
7837}
7838#endif
7839#endif
7840
7841#endif
7842
7843
7844#endif /* __ICommDlgBrowser3_INTERFACE_DEFINED__ */
7845
7846
7847typedef enum CM_MASK {
7848 CM_MASK_WIDTH = 0x1,
7849 CM_MASK_DEFAULTWIDTH = 0x2,
7850 CM_MASK_IDEALWIDTH = 0x4,
7851 CM_MASK_NAME = 0x8,
7852 CM_MASK_STATE = 0x10
7853} CM_MASK;
7854
7855DEFINE_ENUM_FLAG_OPERATORS(CM_MASK)
7856
7857typedef enum CM_STATE {
7858 CM_STATE_NONE = 0x0,
7859 CM_STATE_VISIBLE = 0x1,
7860 CM_STATE_FIXEDWIDTH = 0x2,
7861 CM_STATE_NOSORTBYFOLDERNESS = 0x4,
7862 CM_STATE_ALWAYSVISIBLE = 0x8
7863} CM_STATE;
7864
7865DEFINE_ENUM_FLAG_OPERATORS(CM_STATE)
7866
7867typedef enum CM_ENUM_FLAGS {
7868 CM_ENUM_ALL = 0x1,
7869 CM_ENUM_VISIBLE = 0x2
7870} CM_ENUM_FLAGS;
7871
7872DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS)
7873
7874typedef enum CM_SET_WIDTH_VALUE {
7875 CM_WIDTH_USEDEFAULT = -1,
7876 CM_WIDTH_AUTOSIZE = -2
7877} CM_SET_WIDTH_VALUE;
7878
7879typedef struct CM_COLUMNINFO {
7880 DWORD cbSize;
7881 DWORD dwMask;
7882 DWORD dwState;
7883 UINT uWidth;
7884 UINT uDefaultWidth;
7885 UINT uIdealWidth;
7886 WCHAR wszName[80];
7887} CM_COLUMNINFO;
7888
7889/*****************************************************************************
7890 * IColumnManager interface
7891 */
7892#ifndef __IColumnManager_INTERFACE_DEFINED__
7893#define __IColumnManager_INTERFACE_DEFINED__
7894
7895DEFINE_GUID(IID_IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53);
7896#if defined(__cplusplus) && !defined(CINTERFACE)
7897MIDL_INTERFACE("d8ec27bb-3f3b-4042-b10a-4acfd924d453")
7898IColumnManager : public IUnknown
7899{
7900 virtual HRESULT STDMETHODCALLTYPE SetColumnInfo(
7901 REFPROPERTYKEY propkey,
7902 const CM_COLUMNINFO *pcmci) = 0;
7903
7904 virtual HRESULT STDMETHODCALLTYPE GetColumnInfo(
7905 REFPROPERTYKEY propkey,
7906 CM_COLUMNINFO *pcmci) = 0;
7907
7908 virtual HRESULT STDMETHODCALLTYPE GetColumnCount(
7909 CM_ENUM_FLAGS dwFlags,
7910 UINT *puCount) = 0;
7911
7912 virtual HRESULT STDMETHODCALLTYPE GetColumns(
7913 CM_ENUM_FLAGS dwFlags,
7914 PROPERTYKEY *rgkeyOrder,
7915 UINT cColumns) = 0;
7916
7917 virtual HRESULT STDMETHODCALLTYPE SetColumns(
7918 const PROPERTYKEY *rgkeyOrder,
7919 UINT cVisible) = 0;
7920
7921};
7922#ifdef __CRT_UUID_DECL
7923__CRT_UUID_DECL(IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53)
7924#endif
7925#else
7926typedef struct IColumnManagerVtbl {
7927 BEGIN_INTERFACE
7928
7929 /*** IUnknown methods ***/
7930 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7931 IColumnManager *This,
7932 REFIID riid,
7933 void **ppvObject);
7934
7935 ULONG (STDMETHODCALLTYPE *AddRef)(
7936 IColumnManager *This);
7937
7938 ULONG (STDMETHODCALLTYPE *Release)(
7939 IColumnManager *This);
7940
7941 /*** IColumnManager methods ***/
7942 HRESULT (STDMETHODCALLTYPE *SetColumnInfo)(
7943 IColumnManager *This,
7944 REFPROPERTYKEY propkey,
7945 const CM_COLUMNINFO *pcmci);
7946
7947 HRESULT (STDMETHODCALLTYPE *GetColumnInfo)(
7948 IColumnManager *This,
7949 REFPROPERTYKEY propkey,
7950 CM_COLUMNINFO *pcmci);
7951
7952 HRESULT (STDMETHODCALLTYPE *GetColumnCount)(
7953 IColumnManager *This,
7954 CM_ENUM_FLAGS dwFlags,
7955 UINT *puCount);
7956
7957 HRESULT (STDMETHODCALLTYPE *GetColumns)(
7958 IColumnManager *This,
7959 CM_ENUM_FLAGS dwFlags,
7960 PROPERTYKEY *rgkeyOrder,
7961 UINT cColumns);
7962
7963 HRESULT (STDMETHODCALLTYPE *SetColumns)(
7964 IColumnManager *This,
7965 const PROPERTYKEY *rgkeyOrder,
7966 UINT cVisible);
7967
7968 END_INTERFACE
7969} IColumnManagerVtbl;
7970
7971interface IColumnManager {
7972 CONST_VTBL IColumnManagerVtbl* lpVtbl;
7973};
7974
7975#ifdef COBJMACROS
7976#ifndef WIDL_C_INLINE_WRAPPERS
7977/*** IUnknown methods ***/
7978#define IColumnManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7979#define IColumnManager_AddRef(This) (This)->lpVtbl->AddRef(This)
7980#define IColumnManager_Release(This) (This)->lpVtbl->Release(This)
7981/*** IColumnManager methods ***/
7982#define IColumnManager_SetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->SetColumnInfo(This,propkey,pcmci)
7983#define IColumnManager_GetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->GetColumnInfo(This,propkey,pcmci)
7984#define IColumnManager_GetColumnCount(This,dwFlags,puCount) (This)->lpVtbl->GetColumnCount(This,dwFlags,puCount)
7985#define IColumnManager_GetColumns(This,dwFlags,rgkeyOrder,cColumns) (This)->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns)
7986#define IColumnManager_SetColumns(This,rgkeyOrder,cVisible) (This)->lpVtbl->SetColumns(This,rgkeyOrder,cVisible)
7987#else
7988/*** IUnknown methods ***/
7989static inline HRESULT IColumnManager_QueryInterface(IColumnManager* This,REFIID riid,void **ppvObject) {
7990 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7991}
7992static inline ULONG IColumnManager_AddRef(IColumnManager* This) {
7993 return This->lpVtbl->AddRef(This);
7994}
7995static inline ULONG IColumnManager_Release(IColumnManager* This) {
7996 return This->lpVtbl->Release(This);
7997}
7998/*** IColumnManager methods ***/
7999static inline HRESULT IColumnManager_SetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,const CM_COLUMNINFO *pcmci) {
8000 return This->lpVtbl->SetColumnInfo(This,propkey,pcmci);
8001}
8002static inline HRESULT IColumnManager_GetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,CM_COLUMNINFO *pcmci) {
8003 return This->lpVtbl->GetColumnInfo(This,propkey,pcmci);
8004}
8005static inline HRESULT IColumnManager_GetColumnCount(IColumnManager* This,CM_ENUM_FLAGS dwFlags,UINT *puCount) {
8006 return This->lpVtbl->GetColumnCount(This,dwFlags,puCount);
8007}
8008static inline HRESULT IColumnManager_GetColumns(IColumnManager* This,CM_ENUM_FLAGS dwFlags,PROPERTYKEY *rgkeyOrder,UINT cColumns) {
8009 return This->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns);
8010}
8011static inline HRESULT IColumnManager_SetColumns(IColumnManager* This,const PROPERTYKEY *rgkeyOrder,UINT cVisible) {
8012 return This->lpVtbl->SetColumns(This,rgkeyOrder,cVisible);
8013}
8014#endif
8015#endif
8016
8017#endif
8018
8019
8020#endif /* __IColumnManager_INTERFACE_DEFINED__ */
8021
8022#endif
8023
8024/*****************************************************************************
8025 * IFolderFilterSite interface
8026 */
8027#ifndef __IFolderFilterSite_INTERFACE_DEFINED__
8028#define __IFolderFilterSite_INTERFACE_DEFINED__
8029
8030DEFINE_GUID(IID_IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6);
8031#if defined(__cplusplus) && !defined(CINTERFACE)
8032MIDL_INTERFACE("c0a651f5-b48b-11d2-b5ed-006097c686f6")
8033IFolderFilterSite : public IUnknown
8034{
8035 virtual HRESULT STDMETHODCALLTYPE SetFilter(
8036 IUnknown *punk) = 0;
8037
8038};
8039#ifdef __CRT_UUID_DECL
8040__CRT_UUID_DECL(IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6)
8041#endif
8042#else
8043typedef struct IFolderFilterSiteVtbl {
8044 BEGIN_INTERFACE
8045
8046 /*** IUnknown methods ***/
8047 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8048 IFolderFilterSite *This,
8049 REFIID riid,
8050 void **ppvObject);
8051
8052 ULONG (STDMETHODCALLTYPE *AddRef)(
8053 IFolderFilterSite *This);
8054
8055 ULONG (STDMETHODCALLTYPE *Release)(
8056 IFolderFilterSite *This);
8057
8058 /*** IFolderFilterSite methods ***/
8059 HRESULT (STDMETHODCALLTYPE *SetFilter)(
8060 IFolderFilterSite *This,
8061 IUnknown *punk);
8062
8063 END_INTERFACE
8064} IFolderFilterSiteVtbl;
8065
8066interface IFolderFilterSite {
8067 CONST_VTBL IFolderFilterSiteVtbl* lpVtbl;
8068};
8069
8070#ifdef COBJMACROS
8071#ifndef WIDL_C_INLINE_WRAPPERS
8072/*** IUnknown methods ***/
8073#define IFolderFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8074#define IFolderFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This)
8075#define IFolderFilterSite_Release(This) (This)->lpVtbl->Release(This)
8076/*** IFolderFilterSite methods ***/
8077#define IFolderFilterSite_SetFilter(This,punk) (This)->lpVtbl->SetFilter(This,punk)
8078#else
8079/*** IUnknown methods ***/
8080static inline HRESULT IFolderFilterSite_QueryInterface(IFolderFilterSite* This,REFIID riid,void **ppvObject) {
8081 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8082}
8083static inline ULONG IFolderFilterSite_AddRef(IFolderFilterSite* This) {
8084 return This->lpVtbl->AddRef(This);
8085}
8086static inline ULONG IFolderFilterSite_Release(IFolderFilterSite* This) {
8087 return This->lpVtbl->Release(This);
8088}
8089/*** IFolderFilterSite methods ***/
8090static inline HRESULT IFolderFilterSite_SetFilter(IFolderFilterSite* This,IUnknown *punk) {
8091 return This->lpVtbl->SetFilter(This,punk);
8092}
8093#endif
8094#endif
8095
8096#endif
8097
8098
8099#endif /* __IFolderFilterSite_INTERFACE_DEFINED__ */
8100
8101
8102/*****************************************************************************
8103 * IFolderFilter interface
8104 */
8105#ifndef __IFolderFilter_INTERFACE_DEFINED__
8106#define __IFolderFilter_INTERFACE_DEFINED__
8107
8108DEFINE_GUID(IID_IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
8109#if defined(__cplusplus) && !defined(CINTERFACE)
8110MIDL_INTERFACE("9cc22886-dc8e-11d2-b1d0-00c04f8eeb3e")
8111IFolderFilter : public IUnknown
8112{
8113 virtual HRESULT STDMETHODCALLTYPE ShouldShow(
8114 IShellFolder *psf,
8115 PCIDLIST_ABSOLUTE pidlFolder,
8116 PCUITEMID_CHILD pidlItem) = 0;
8117
8118 virtual HRESULT STDMETHODCALLTYPE GetEnumFlags(
8119 IShellFolder *psf,
8120 PCIDLIST_ABSOLUTE pidlFolder,
8121 HWND *phwnd,
8122 DWORD *pgrfFlags) = 0;
8123
8124};
8125#ifdef __CRT_UUID_DECL
8126__CRT_UUID_DECL(IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
8127#endif
8128#else
8129typedef struct IFolderFilterVtbl {
8130 BEGIN_INTERFACE
8131
8132 /*** IUnknown methods ***/
8133 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8134 IFolderFilter *This,
8135 REFIID riid,
8136 void **ppvObject);
8137
8138 ULONG (STDMETHODCALLTYPE *AddRef)(
8139 IFolderFilter *This);
8140
8141 ULONG (STDMETHODCALLTYPE *Release)(
8142 IFolderFilter *This);
8143
8144 /*** IFolderFilter methods ***/
8145 HRESULT (STDMETHODCALLTYPE *ShouldShow)(
8146 IFolderFilter *This,
8147 IShellFolder *psf,
8148 PCIDLIST_ABSOLUTE pidlFolder,
8149 PCUITEMID_CHILD pidlItem);
8150
8151 HRESULT (STDMETHODCALLTYPE *GetEnumFlags)(
8152 IFolderFilter *This,
8153 IShellFolder *psf,
8154 PCIDLIST_ABSOLUTE pidlFolder,
8155 HWND *phwnd,
8156 DWORD *pgrfFlags);
8157
8158 END_INTERFACE
8159} IFolderFilterVtbl;
8160
8161interface IFolderFilter {
8162 CONST_VTBL IFolderFilterVtbl* lpVtbl;
8163};
8164
8165#ifdef COBJMACROS
8166#ifndef WIDL_C_INLINE_WRAPPERS
8167/*** IUnknown methods ***/
8168#define IFolderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8169#define IFolderFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
8170#define IFolderFilter_Release(This) (This)->lpVtbl->Release(This)
8171/*** IFolderFilter methods ***/
8172#define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) (This)->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem)
8173#define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) (This)->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags)
8174#else
8175/*** IUnknown methods ***/
8176static inline HRESULT IFolderFilter_QueryInterface(IFolderFilter* This,REFIID riid,void **ppvObject) {
8177 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8178}
8179static inline ULONG IFolderFilter_AddRef(IFolderFilter* This) {
8180 return This->lpVtbl->AddRef(This);
8181}
8182static inline ULONG IFolderFilter_Release(IFolderFilter* This) {
8183 return This->lpVtbl->Release(This);
8184}
8185/*** IFolderFilter methods ***/
8186static inline HRESULT IFolderFilter_ShouldShow(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,PCUITEMID_CHILD pidlItem) {
8187 return This->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem);
8188}
8189static inline HRESULT IFolderFilter_GetEnumFlags(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HWND *phwnd,DWORD *pgrfFlags) {
8190 return This->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags);
8191}
8192#endif
8193#endif
8194
8195#endif
8196
8197
8198#endif /* __IFolderFilter_INTERFACE_DEFINED__ */
8199
8200
8201/*****************************************************************************
8202 * IInputObjectSite interface
8203 */
8204#ifndef __IInputObjectSite_INTERFACE_DEFINED__
8205#define __IInputObjectSite_INTERFACE_DEFINED__
8206
8207DEFINE_GUID(IID_IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
8208#if defined(__cplusplus) && !defined(CINTERFACE)
8209MIDL_INTERFACE("f1db8392-7331-11d0-8c99-00a0c92dbfe8")
8210IInputObjectSite : public IUnknown
8211{
8212 virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(
8213 IUnknown *punkObj,
8214 WINBOOL fSetFocus) = 0;
8215
8216};
8217#ifdef __CRT_UUID_DECL
8218__CRT_UUID_DECL(IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
8219#endif
8220#else
8221typedef struct IInputObjectSiteVtbl {
8222 BEGIN_INTERFACE
8223
8224 /*** IUnknown methods ***/
8225 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8226 IInputObjectSite *This,
8227 REFIID riid,
8228 void **ppvObject);
8229
8230 ULONG (STDMETHODCALLTYPE *AddRef)(
8231 IInputObjectSite *This);
8232
8233 ULONG (STDMETHODCALLTYPE *Release)(
8234 IInputObjectSite *This);
8235
8236 /*** IInputObjectSite methods ***/
8237 HRESULT (STDMETHODCALLTYPE *OnFocusChangeIS)(
8238 IInputObjectSite *This,
8239 IUnknown *punkObj,
8240 WINBOOL fSetFocus);
8241
8242 END_INTERFACE
8243} IInputObjectSiteVtbl;
8244
8245interface IInputObjectSite {
8246 CONST_VTBL IInputObjectSiteVtbl* lpVtbl;
8247};
8248
8249#ifdef COBJMACROS
8250#ifndef WIDL_C_INLINE_WRAPPERS
8251/*** IUnknown methods ***/
8252#define IInputObjectSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8253#define IInputObjectSite_AddRef(This) (This)->lpVtbl->AddRef(This)
8254#define IInputObjectSite_Release(This) (This)->lpVtbl->Release(This)
8255/*** IInputObjectSite methods ***/
8256#define IInputObjectSite_OnFocusChangeIS(This,punkObj,fSetFocus) (This)->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus)
8257#else
8258/*** IUnknown methods ***/
8259static inline HRESULT IInputObjectSite_QueryInterface(IInputObjectSite* This,REFIID riid,void **ppvObject) {
8260 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8261}
8262static inline ULONG IInputObjectSite_AddRef(IInputObjectSite* This) {
8263 return This->lpVtbl->AddRef(This);
8264}
8265static inline ULONG IInputObjectSite_Release(IInputObjectSite* This) {
8266 return This->lpVtbl->Release(This);
8267}
8268/*** IInputObjectSite methods ***/
8269static inline HRESULT IInputObjectSite_OnFocusChangeIS(IInputObjectSite* This,IUnknown *punkObj,WINBOOL fSetFocus) {
8270 return This->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus);
8271}
8272#endif
8273#endif
8274
8275#endif
8276
8277
8278#endif /* __IInputObjectSite_INTERFACE_DEFINED__ */
8279
8280
8281/*****************************************************************************
8282 * IInputObject interface
8283 */
8284#ifndef __IInputObject_INTERFACE_DEFINED__
8285#define __IInputObject_INTERFACE_DEFINED__
8286
8287DEFINE_GUID(IID_IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4);
8288#if defined(__cplusplus) && !defined(CINTERFACE)
8289MIDL_INTERFACE("68284faa-6a48-11d0-8c78-00c04fd918b4")
8290IInputObject : public IUnknown
8291{
8292 virtual HRESULT STDMETHODCALLTYPE UIActivateIO(
8293 WINBOOL fActivate,
8294 MSG *pMsg) = 0;
8295
8296 virtual HRESULT STDMETHODCALLTYPE HasFocusIO(
8297 ) = 0;
8298
8299 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(
8300 MSG *pMsg) = 0;
8301
8302};
8303#ifdef __CRT_UUID_DECL
8304__CRT_UUID_DECL(IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4)
8305#endif
8306#else
8307typedef struct IInputObjectVtbl {
8308 BEGIN_INTERFACE
8309
8310 /*** IUnknown methods ***/
8311 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8312 IInputObject *This,
8313 REFIID riid,
8314 void **ppvObject);
8315
8316 ULONG (STDMETHODCALLTYPE *AddRef)(
8317 IInputObject *This);
8318
8319 ULONG (STDMETHODCALLTYPE *Release)(
8320 IInputObject *This);
8321
8322 /*** IInputObject methods ***/
8323 HRESULT (STDMETHODCALLTYPE *UIActivateIO)(
8324 IInputObject *This,
8325 WINBOOL fActivate,
8326 MSG *pMsg);
8327
8328 HRESULT (STDMETHODCALLTYPE *HasFocusIO)(
8329 IInputObject *This);
8330
8331 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)(
8332 IInputObject *This,
8333 MSG *pMsg);
8334
8335 END_INTERFACE
8336} IInputObjectVtbl;
8337
8338interface IInputObject {
8339 CONST_VTBL IInputObjectVtbl* lpVtbl;
8340};
8341
8342#ifdef COBJMACROS
8343#ifndef WIDL_C_INLINE_WRAPPERS
8344/*** IUnknown methods ***/
8345#define IInputObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8346#define IInputObject_AddRef(This) (This)->lpVtbl->AddRef(This)
8347#define IInputObject_Release(This) (This)->lpVtbl->Release(This)
8348/*** IInputObject methods ***/
8349#define IInputObject_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg)
8350#define IInputObject_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This)
8351#define IInputObject_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg)
8352#else
8353/*** IUnknown methods ***/
8354static inline HRESULT IInputObject_QueryInterface(IInputObject* This,REFIID riid,void **ppvObject) {
8355 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8356}
8357static inline ULONG IInputObject_AddRef(IInputObject* This) {
8358 return This->lpVtbl->AddRef(This);
8359}
8360static inline ULONG IInputObject_Release(IInputObject* This) {
8361 return This->lpVtbl->Release(This);
8362}
8363/*** IInputObject methods ***/
8364static inline HRESULT IInputObject_UIActivateIO(IInputObject* This,WINBOOL fActivate,MSG *pMsg) {
8365 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg);
8366}
8367static inline HRESULT IInputObject_HasFocusIO(IInputObject* This) {
8368 return This->lpVtbl->HasFocusIO(This);
8369}
8370static inline HRESULT IInputObject_TranslateAcceleratorIO(IInputObject* This,MSG *pMsg) {
8371 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg);
8372}
8373#endif
8374#endif
8375
8376#endif
8377
8378
8379#endif /* __IInputObject_INTERFACE_DEFINED__ */
8380
8381
8382/*****************************************************************************
8383 * IInputObject2 interface
8384 */
8385#ifndef __IInputObject2_INTERFACE_DEFINED__
8386#define __IInputObject2_INTERFACE_DEFINED__
8387
8388DEFINE_GUID(IID_IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b);
8389#if defined(__cplusplus) && !defined(CINTERFACE)
8390MIDL_INTERFACE("6915c085-510b-44cd-94af-28dfa56cf92b")
8391IInputObject2 : public IInputObject
8392{
8393 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorGlobal(
8394 MSG *pMsg) = 0;
8395
8396};
8397#ifdef __CRT_UUID_DECL
8398__CRT_UUID_DECL(IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b)
8399#endif
8400#else
8401typedef struct IInputObject2Vtbl {
8402 BEGIN_INTERFACE
8403
8404 /*** IUnknown methods ***/
8405 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8406 IInputObject2 *This,
8407 REFIID riid,
8408 void **ppvObject);
8409
8410 ULONG (STDMETHODCALLTYPE *AddRef)(
8411 IInputObject2 *This);
8412
8413 ULONG (STDMETHODCALLTYPE *Release)(
8414 IInputObject2 *This);
8415
8416 /*** IInputObject methods ***/
8417 HRESULT (STDMETHODCALLTYPE *UIActivateIO)(
8418 IInputObject2 *This,
8419 WINBOOL fActivate,
8420 MSG *pMsg);
8421
8422 HRESULT (STDMETHODCALLTYPE *HasFocusIO)(
8423 IInputObject2 *This);
8424
8425 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)(
8426 IInputObject2 *This,
8427 MSG *pMsg);
8428
8429 /*** IInputObject2 methods ***/
8430 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorGlobal)(
8431 IInputObject2 *This,
8432 MSG *pMsg);
8433
8434 END_INTERFACE
8435} IInputObject2Vtbl;
8436
8437interface IInputObject2 {
8438 CONST_VTBL IInputObject2Vtbl* lpVtbl;
8439};
8440
8441#ifdef COBJMACROS
8442#ifndef WIDL_C_INLINE_WRAPPERS
8443/*** IUnknown methods ***/
8444#define IInputObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8445#define IInputObject2_AddRef(This) (This)->lpVtbl->AddRef(This)
8446#define IInputObject2_Release(This) (This)->lpVtbl->Release(This)
8447/*** IInputObject methods ***/
8448#define IInputObject2_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg)
8449#define IInputObject2_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This)
8450#define IInputObject2_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg)
8451/*** IInputObject2 methods ***/
8452#define IInputObject2_TranslateAcceleratorGlobal(This,pMsg) (This)->lpVtbl->TranslateAcceleratorGlobal(This,pMsg)
8453#else
8454/*** IUnknown methods ***/
8455static inline HRESULT IInputObject2_QueryInterface(IInputObject2* This,REFIID riid,void **ppvObject) {
8456 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8457}
8458static inline ULONG IInputObject2_AddRef(IInputObject2* This) {
8459 return This->lpVtbl->AddRef(This);
8460}
8461static inline ULONG IInputObject2_Release(IInputObject2* This) {
8462 return This->lpVtbl->Release(This);
8463}
8464/*** IInputObject methods ***/
8465static inline HRESULT IInputObject2_UIActivateIO(IInputObject2* This,WINBOOL fActivate,MSG *pMsg) {
8466 return This->lpVtbl->UIActivateIO(This,fActivate,pMsg);
8467}
8468static inline HRESULT IInputObject2_HasFocusIO(IInputObject2* This) {
8469 return This->lpVtbl->HasFocusIO(This);
8470}
8471static inline HRESULT IInputObject2_TranslateAcceleratorIO(IInputObject2* This,MSG *pMsg) {
8472 return This->lpVtbl->TranslateAcceleratorIO(This,pMsg);
8473}
8474/*** IInputObject2 methods ***/
8475static inline HRESULT IInputObject2_TranslateAcceleratorGlobal(IInputObject2* This,MSG *pMsg) {
8476 return This->lpVtbl->TranslateAcceleratorGlobal(This,pMsg);
8477}
8478#endif
8479#endif
8480
8481#endif
8482
8483
8484#endif /* __IInputObject2_INTERFACE_DEFINED__ */
8485
8486
8487/*****************************************************************************
8488 * IShellIcon interface
8489 */
8490#ifndef __IShellIcon_INTERFACE_DEFINED__
8491#define __IShellIcon_INTERFACE_DEFINED__
8492
8493DEFINE_GUID(IID_IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8494#if defined(__cplusplus) && !defined(CINTERFACE)
8495MIDL_INTERFACE("000214e5-0000-0000-c000-000000000046")
8496IShellIcon : public IUnknown
8497{
8498 virtual HRESULT STDMETHODCALLTYPE GetIconOf(
8499 PCUITEMID_CHILD pidl,
8500 UINT flags,
8501 int *pIconIndex) = 0;
8502
8503};
8504#ifdef __CRT_UUID_DECL
8505__CRT_UUID_DECL(IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
8506#endif
8507#else
8508typedef struct IShellIconVtbl {
8509 BEGIN_INTERFACE
8510
8511 /*** IUnknown methods ***/
8512 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8513 IShellIcon *This,
8514 REFIID riid,
8515 void **ppvObject);
8516
8517 ULONG (STDMETHODCALLTYPE *AddRef)(
8518 IShellIcon *This);
8519
8520 ULONG (STDMETHODCALLTYPE *Release)(
8521 IShellIcon *This);
8522
8523 /*** IShellIcon methods ***/
8524 HRESULT (STDMETHODCALLTYPE *GetIconOf)(
8525 IShellIcon *This,
8526 PCUITEMID_CHILD pidl,
8527 UINT flags,
8528 int *pIconIndex);
8529
8530 END_INTERFACE
8531} IShellIconVtbl;
8532
8533interface IShellIcon {
8534 CONST_VTBL IShellIconVtbl* lpVtbl;
8535};
8536
8537#ifdef COBJMACROS
8538#ifndef WIDL_C_INLINE_WRAPPERS
8539/*** IUnknown methods ***/
8540#define IShellIcon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8541#define IShellIcon_AddRef(This) (This)->lpVtbl->AddRef(This)
8542#define IShellIcon_Release(This) (This)->lpVtbl->Release(This)
8543/*** IShellIcon methods ***/
8544#define IShellIcon_GetIconOf(This,pidl,flags,pIconIndex) (This)->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex)
8545#else
8546/*** IUnknown methods ***/
8547static inline HRESULT IShellIcon_QueryInterface(IShellIcon* This,REFIID riid,void **ppvObject) {
8548 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8549}
8550static inline ULONG IShellIcon_AddRef(IShellIcon* This) {
8551 return This->lpVtbl->AddRef(This);
8552}
8553static inline ULONG IShellIcon_Release(IShellIcon* This) {
8554 return This->lpVtbl->Release(This);
8555}
8556/*** IShellIcon methods ***/
8557static inline HRESULT IShellIcon_GetIconOf(IShellIcon* This,PCUITEMID_CHILD pidl,UINT flags,int *pIconIndex) {
8558 return This->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex);
8559}
8560#endif
8561#endif
8562
8563#endif
8564
8565
8566#endif /* __IShellIcon_INTERFACE_DEFINED__ */
8567
8568
8569#define SBSP_DEFBROWSER 0x0000
8570#define SBSP_SAMEBROWSER 0x0001
8571#define SBSP_NEWBROWSER 0x0002
8572
8573#define SBSP_DEFMODE 0x0000
8574#define SBSP_OPENMODE 0x0010
8575#define SBSP_EXPLOREMODE 0x0020
8576#define SBSP_HELPMODE 0x0040
8577#define SBSP_NOTRANSFERHIST 0x0080
8578
8579#define SBSP_ABSOLUTE 0x0000
8580#define SBSP_RELATIVE 0x1000
8581#define SBSP_PARENT 0x2000
8582#define SBSP_NAVIGATEBACK 0x4000
8583#define SBSP_NAVIGATEFORWARD 0x8000
8584#define SBSP_ALLOW_AUTONAVIGATE 0x00010000
8585#if NTDDI_VERSION >= NTDDI_VISTA
8586#define SBSP_KEEPSAMETEMPLATE 0x00020000
8587#define SBSP_KEEPWORDWHEELTEXT 0x00040000
8588#define SBSP_ACTIVATE_NOFOCUS 0x00080000
8589#define SBSP_CREATENOHISTORY 0x00100000
8590#define SBSP_PLAYNOSOUND 0x00200000
8591#endif
8592#if _WIN32_IE >= _WIN32_IE_IE60SP2
8593#define SBSP_CALLERUNTRUSTED 0x00800000
8594#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000
8595#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000
8596#endif
8597#define SBSP_NOAUTOSELECT 0x04000000
8598#define SBSP_WRITENOHISTORY 0x08000000
8599#if _WIN32_IE >= _WIN32_IE_IE60SP2
8600#define SBSP_TRUSTEDFORACTIVEX 0x10000000
8601#endif
8602#if _WIN32_IE >= _WIN32_IE_IE70
8603#define SBSP_FEEDNAVIGATION 0x20000000
8604#endif
8605#define SBSP_REDIRECT 0x40000000
8606#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
8607
8608#define FCW_STATUS 0x0001
8609#define FCW_TOOLBAR 0x0002
8610#define FCW_TREE 0x0003
8611#define FCW_INTERNETBAR 0x0006
8612#define FCW_PROGRESS 0x0008
8613
8614#define FCT_MERGE 0x0001
8615#define FCT_CONFIGABLE 0x0002
8616#define FCT_ADDTOEND 0x0004
8617
8618#if 0
8619typedef LPARAM LPTBBUTTONSB;
8620#else
8621#include <commctrl.h>
8622
8623typedef LPTBBUTTON LPTBBUTTONSB;
8624#endif
8625
8626/*****************************************************************************
8627 * IShellBrowser interface
8628 */
8629#ifndef __IShellBrowser_INTERFACE_DEFINED__
8630#define __IShellBrowser_INTERFACE_DEFINED__
8631
8632DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8633#if defined(__cplusplus) && !defined(CINTERFACE)
8634MIDL_INTERFACE("000214e2-0000-0000-c000-000000000046")
8635IShellBrowser : public IOleWindow
8636{
8637 virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(
8638 HMENU hmenuShared,
8639 LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
8640
8641 virtual HRESULT STDMETHODCALLTYPE SetMenuSB(
8642 HMENU hmenuShared,
8643 HOLEMENU holemenuRes,
8644 HWND hwndActiveObject) = 0;
8645
8646 virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(
8647 HMENU hmenuShared) = 0;
8648
8649 virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(
8650 LPCWSTR pszStatusText) = 0;
8651
8652 virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(
8653 WINBOOL fEnable) = 0;
8654
8655 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(
8656 MSG *pmsg,
8657 WORD wID) = 0;
8658
8659 virtual HRESULT STDMETHODCALLTYPE BrowseObject(
8660 PCUIDLIST_RELATIVE pidl,
8661 UINT wFlags) = 0;
8662
8663 virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(
8664 DWORD grfMode,
8665 IStream **ppStrm) = 0;
8666
8667 virtual HRESULT STDMETHODCALLTYPE GetControlWindow(
8668 UINT id,
8669 HWND *phwnd) = 0;
8670
8671 virtual HRESULT STDMETHODCALLTYPE SendControlMsg(
8672 UINT id,
8673 UINT uMsg,
8674 WPARAM wParam,
8675 LPARAM lParam,
8676 LRESULT *pret) = 0;
8677
8678 virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(
8679 IShellView **ppshv) = 0;
8680
8681 virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(
8682 IShellView *pshv) = 0;
8683
8684 virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(
8685 LPTBBUTTONSB lpButtons,
8686 UINT nButtons,
8687 UINT uFlags) = 0;
8688
8689};
8690#ifdef __CRT_UUID_DECL
8691__CRT_UUID_DECL(IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
8692#endif
8693#else
8694typedef struct IShellBrowserVtbl {
8695 BEGIN_INTERFACE
8696
8697 /*** IUnknown methods ***/
8698 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8699 IShellBrowser *This,
8700 REFIID riid,
8701 void **ppvObject);
8702
8703 ULONG (STDMETHODCALLTYPE *AddRef)(
8704 IShellBrowser *This);
8705
8706 ULONG (STDMETHODCALLTYPE *Release)(
8707 IShellBrowser *This);
8708
8709 /*** IOleWindow methods ***/
8710 HRESULT (STDMETHODCALLTYPE *GetWindow)(
8711 IShellBrowser *This,
8712 HWND *phwnd);
8713
8714 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
8715 IShellBrowser *This,
8716 WINBOOL fEnterMode);
8717
8718 /*** IShellBrowser methods ***/
8719 HRESULT (STDMETHODCALLTYPE *InsertMenusSB)(
8720 IShellBrowser *This,
8721 HMENU hmenuShared,
8722 LPOLEMENUGROUPWIDTHS lpMenuWidths);
8723
8724 HRESULT (STDMETHODCALLTYPE *SetMenuSB)(
8725 IShellBrowser *This,
8726 HMENU hmenuShared,
8727 HOLEMENU holemenuRes,
8728 HWND hwndActiveObject);
8729
8730 HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)(
8731 IShellBrowser *This,
8732 HMENU hmenuShared);
8733
8734 HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)(
8735 IShellBrowser *This,
8736 LPCWSTR pszStatusText);
8737
8738 HRESULT (STDMETHODCALLTYPE *EnableModelessSB)(
8739 IShellBrowser *This,
8740 WINBOOL fEnable);
8741
8742 HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)(
8743 IShellBrowser *This,
8744 MSG *pmsg,
8745 WORD wID);
8746
8747 HRESULT (STDMETHODCALLTYPE *BrowseObject)(
8748 IShellBrowser *This,
8749 PCUIDLIST_RELATIVE pidl,
8750 UINT wFlags);
8751
8752 HRESULT (STDMETHODCALLTYPE *GetViewStateStream)(
8753 IShellBrowser *This,
8754 DWORD grfMode,
8755 IStream **ppStrm);
8756
8757 HRESULT (STDMETHODCALLTYPE *GetControlWindow)(
8758 IShellBrowser *This,
8759 UINT id,
8760 HWND *phwnd);
8761
8762 HRESULT (STDMETHODCALLTYPE *SendControlMsg)(
8763 IShellBrowser *This,
8764 UINT id,
8765 UINT uMsg,
8766 WPARAM wParam,
8767 LPARAM lParam,
8768 LRESULT *pret);
8769
8770 HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)(
8771 IShellBrowser *This,
8772 IShellView **ppshv);
8773
8774 HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)(
8775 IShellBrowser *This,
8776 IShellView *pshv);
8777
8778 HRESULT (STDMETHODCALLTYPE *SetToolbarItems)(
8779 IShellBrowser *This,
8780 LPTBBUTTONSB lpButtons,
8781 UINT nButtons,
8782 UINT uFlags);
8783
8784 END_INTERFACE
8785} IShellBrowserVtbl;
8786
8787interface IShellBrowser {
8788 CONST_VTBL IShellBrowserVtbl* lpVtbl;
8789};
8790
8791#ifdef COBJMACROS
8792#ifndef WIDL_C_INLINE_WRAPPERS
8793/*** IUnknown methods ***/
8794#define IShellBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8795#define IShellBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
8796#define IShellBrowser_Release(This) (This)->lpVtbl->Release(This)
8797/*** IOleWindow methods ***/
8798#define IShellBrowser_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
8799#define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
8800/*** IShellBrowser methods ***/
8801#define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths)
8802#define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) (This)->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject)
8803#define IShellBrowser_RemoveMenusSB(This,hmenuShared) (This)->lpVtbl->RemoveMenusSB(This,hmenuShared)
8804#define IShellBrowser_SetStatusTextSB(This,pszStatusText) (This)->lpVtbl->SetStatusTextSB(This,pszStatusText)
8805#define IShellBrowser_EnableModelessSB(This,fEnable) (This)->lpVtbl->EnableModelessSB(This,fEnable)
8806#define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) (This)->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID)
8807#define IShellBrowser_BrowseObject(This,pidl,wFlags) (This)->lpVtbl->BrowseObject(This,pidl,wFlags)
8808#define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) (This)->lpVtbl->GetViewStateStream(This,grfMode,ppStrm)
8809#define IShellBrowser_GetControlWindow(This,id,phwnd) (This)->lpVtbl->GetControlWindow(This,id,phwnd)
8810#define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) (This)->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret)
8811#define IShellBrowser_QueryActiveShellView(This,ppshv) (This)->lpVtbl->QueryActiveShellView(This,ppshv)
8812#define IShellBrowser_OnViewWindowActive(This,pshv) (This)->lpVtbl->OnViewWindowActive(This,pshv)
8813#define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) (This)->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags)
8814#else
8815/*** IUnknown methods ***/
8816static inline HRESULT IShellBrowser_QueryInterface(IShellBrowser* This,REFIID riid,void **ppvObject) {
8817 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8818}
8819static inline ULONG IShellBrowser_AddRef(IShellBrowser* This) {
8820 return This->lpVtbl->AddRef(This);
8821}
8822static inline ULONG IShellBrowser_Release(IShellBrowser* This) {
8823 return This->lpVtbl->Release(This);
8824}
8825/*** IOleWindow methods ***/
8826static inline HRESULT IShellBrowser_GetWindow(IShellBrowser* This,HWND *phwnd) {
8827 return This->lpVtbl->GetWindow(This,phwnd);
8828}
8829static inline HRESULT IShellBrowser_ContextSensitiveHelp(IShellBrowser* This,WINBOOL fEnterMode) {
8830 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
8831}
8832/*** IShellBrowser methods ***/
8833static inline HRESULT IShellBrowser_InsertMenusSB(IShellBrowser* This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) {
8834 return This->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths);
8835}
8836static inline HRESULT IShellBrowser_SetMenuSB(IShellBrowser* This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject) {
8837 return This->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject);
8838}
8839static inline HRESULT IShellBrowser_RemoveMenusSB(IShellBrowser* This,HMENU hmenuShared) {
8840 return This->lpVtbl->RemoveMenusSB(This,hmenuShared);
8841}
8842static inline HRESULT IShellBrowser_SetStatusTextSB(IShellBrowser* This,LPCWSTR pszStatusText) {
8843 return This->lpVtbl->SetStatusTextSB(This,pszStatusText);
8844}
8845static inline HRESULT IShellBrowser_EnableModelessSB(IShellBrowser* This,WINBOOL fEnable) {
8846 return This->lpVtbl->EnableModelessSB(This,fEnable);
8847}
8848static inline HRESULT IShellBrowser_TranslateAcceleratorSB(IShellBrowser* This,MSG *pmsg,WORD wID) {
8849 return This->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID);
8850}
8851static inline HRESULT IShellBrowser_BrowseObject(IShellBrowser* This,PCUIDLIST_RELATIVE pidl,UINT wFlags) {
8852 return This->lpVtbl->BrowseObject(This,pidl,wFlags);
8853}
8854static inline HRESULT IShellBrowser_GetViewStateStream(IShellBrowser* This,DWORD grfMode,IStream **ppStrm) {
8855 return This->lpVtbl->GetViewStateStream(This,grfMode,ppStrm);
8856}
8857static inline HRESULT IShellBrowser_GetControlWindow(IShellBrowser* This,UINT id,HWND *phwnd) {
8858 return This->lpVtbl->GetControlWindow(This,id,phwnd);
8859}
8860static inline HRESULT IShellBrowser_SendControlMsg(IShellBrowser* This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) {
8861 return This->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret);
8862}
8863static inline HRESULT IShellBrowser_QueryActiveShellView(IShellBrowser* This,IShellView **ppshv) {
8864 return This->lpVtbl->QueryActiveShellView(This,ppshv);
8865}
8866static inline HRESULT IShellBrowser_OnViewWindowActive(IShellBrowser* This,IShellView *pshv) {
8867 return This->lpVtbl->OnViewWindowActive(This,pshv);
8868}
8869static inline HRESULT IShellBrowser_SetToolbarItems(IShellBrowser* This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) {
8870 return This->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags);
8871}
8872#endif
8873#endif
8874
8875#endif
8876
8877
8878#endif /* __IShellBrowser_INTERFACE_DEFINED__ */
8879
8880
8881typedef IShellBrowser *LPSHELLBROWSER;
8882
8883/*****************************************************************************
8884 * IProfferService interface
8885 */
8886#ifndef __IProfferService_INTERFACE_DEFINED__
8887#define __IProfferService_INTERFACE_DEFINED__
8888
8889DEFINE_GUID(IID_IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0);
8890#if defined(__cplusplus) && !defined(CINTERFACE)
8891MIDL_INTERFACE("cb728b20-f786-11ce-92ad-00aa00a74cd0")
8892IProfferService : public IUnknown
8893{
8894 virtual HRESULT STDMETHODCALLTYPE ProfferService(
8895 REFGUID guidService,
8896 IServiceProvider *psp,
8897 DWORD *pdwCookie) = 0;
8898
8899 virtual HRESULT STDMETHODCALLTYPE RevokeService(
8900 DWORD dwCookie) = 0;
8901
8902};
8903#ifdef __CRT_UUID_DECL
8904__CRT_UUID_DECL(IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0)
8905#endif
8906#else
8907typedef struct IProfferServiceVtbl {
8908 BEGIN_INTERFACE
8909
8910 /*** IUnknown methods ***/
8911 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8912 IProfferService *This,
8913 REFIID riid,
8914 void **ppvObject);
8915
8916 ULONG (STDMETHODCALLTYPE *AddRef)(
8917 IProfferService *This);
8918
8919 ULONG (STDMETHODCALLTYPE *Release)(
8920 IProfferService *This);
8921
8922 /*** IProfferService methods ***/
8923 HRESULT (STDMETHODCALLTYPE *ProfferService)(
8924 IProfferService *This,
8925 REFGUID guidService,
8926 IServiceProvider *psp,
8927 DWORD *pdwCookie);
8928
8929 HRESULT (STDMETHODCALLTYPE *RevokeService)(
8930 IProfferService *This,
8931 DWORD dwCookie);
8932
8933 END_INTERFACE
8934} IProfferServiceVtbl;
8935
8936interface IProfferService {
8937 CONST_VTBL IProfferServiceVtbl* lpVtbl;
8938};
8939
8940#ifdef COBJMACROS
8941#ifndef WIDL_C_INLINE_WRAPPERS
8942/*** IUnknown methods ***/
8943#define IProfferService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8944#define IProfferService_AddRef(This) (This)->lpVtbl->AddRef(This)
8945#define IProfferService_Release(This) (This)->lpVtbl->Release(This)
8946/*** IProfferService methods ***/
8947#define IProfferService_ProfferService(This,guidService,psp,pdwCookie) (This)->lpVtbl->ProfferService(This,guidService,psp,pdwCookie)
8948#define IProfferService_RevokeService(This,dwCookie) (This)->lpVtbl->RevokeService(This,dwCookie)
8949#else
8950/*** IUnknown methods ***/
8951static inline HRESULT IProfferService_QueryInterface(IProfferService* This,REFIID riid,void **ppvObject) {
8952 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8953}
8954static inline ULONG IProfferService_AddRef(IProfferService* This) {
8955 return This->lpVtbl->AddRef(This);
8956}
8957static inline ULONG IProfferService_Release(IProfferService* This) {
8958 return This->lpVtbl->Release(This);
8959}
8960/*** IProfferService methods ***/
8961static inline HRESULT IProfferService_ProfferService(IProfferService* This,REFGUID guidService,IServiceProvider *psp,DWORD *pdwCookie) {
8962 return This->lpVtbl->ProfferService(This,guidService,psp,pdwCookie);
8963}
8964static inline HRESULT IProfferService_RevokeService(IProfferService* This,DWORD dwCookie) {
8965 return This->lpVtbl->RevokeService(This,dwCookie);
8966}
8967#endif
8968#endif
8969
8970#endif
8971
8972
8973#endif /* __IProfferService_INTERFACE_DEFINED__ */
8974
8975
8976#define SID_SProfferService IID_IProfferService
8977#define STR_DONT_RESOLVE_LINK L"Don't Resolve Link"
8978#define STR_GET_ASYNC_HANDLER L"GetAsyncHandler"
8979
8980/*****************************************************************************
8981 * IShellItem interface
8982 */
8983#ifndef __IShellItem_INTERFACE_DEFINED__
8984#define __IShellItem_INTERFACE_DEFINED__
8985
8986typedef enum _SIGDN {
8987 SIGDN_NORMALDISPLAY = 0x0,
8988 SIGDN_PARENTRELATIVEPARSING = (int)0x80018001,
8989 SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000,
8990 SIGDN_PARENTRELATIVEEDITING = (int)0x80031001,
8991 SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000,
8992 SIGDN_FILESYSPATH = (int)0x80058000,
8993 SIGDN_URL = (int)0x80068000,
8994 SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001,
8995 SIGDN_PARENTRELATIVE = (int)0x80080001,
8996 SIGDN_PARENTRELATIVEFORUI = (int)0x80094001
8997} SIGDN;
8998
8999enum _SICHINTF {
9000 SICHINT_DISPLAY = 0x0,
9001 SICHINT_ALLFIELDS = (int)0x80000000,
9002 SICHINT_CANONICAL = 0x10000000,
9003 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
9004};
9005
9006typedef DWORD SICHINTF;
9007
9008DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe);
9009#if defined(__cplusplus) && !defined(CINTERFACE)
9010MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
9011IShellItem : public IUnknown
9012{
9013 virtual HRESULT STDMETHODCALLTYPE BindToHandler(
9014 IBindCtx *pbc,
9015 REFGUID bhid,
9016 REFIID riid,
9017 void **ppv) = 0;
9018
9019 virtual HRESULT STDMETHODCALLTYPE GetParent(
9020 IShellItem **ppsi) = 0;
9021
9022 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
9023 SIGDN sigdnName,
9024 LPWSTR *ppszName) = 0;
9025
9026 virtual HRESULT STDMETHODCALLTYPE GetAttributes(
9027 SFGAOF sfgaoMask,
9028 SFGAOF *psfgaoAttribs) = 0;
9029
9030 virtual HRESULT STDMETHODCALLTYPE Compare(
9031 IShellItem *psi,
9032 SICHINTF hint,
9033 int *piOrder) = 0;
9034
9035};
9036#ifdef __CRT_UUID_DECL
9037__CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe)
9038#endif
9039#else
9040typedef struct IShellItemVtbl {
9041 BEGIN_INTERFACE
9042
9043 /*** IUnknown methods ***/
9044 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9045 IShellItem *This,
9046 REFIID riid,
9047 void **ppvObject);
9048
9049 ULONG (STDMETHODCALLTYPE *AddRef)(
9050 IShellItem *This);
9051
9052 ULONG (STDMETHODCALLTYPE *Release)(
9053 IShellItem *This);
9054
9055 /*** IShellItem methods ***/
9056 HRESULT (STDMETHODCALLTYPE *BindToHandler)(
9057 IShellItem *This,
9058 IBindCtx *pbc,
9059 REFGUID bhid,
9060 REFIID riid,
9061 void **ppv);
9062
9063 HRESULT (STDMETHODCALLTYPE *GetParent)(
9064 IShellItem *This,
9065 IShellItem **ppsi);
9066
9067 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
9068 IShellItem *This,
9069 SIGDN sigdnName,
9070 LPWSTR *ppszName);
9071
9072 HRESULT (STDMETHODCALLTYPE *GetAttributes)(
9073 IShellItem *This,
9074 SFGAOF sfgaoMask,
9075 SFGAOF *psfgaoAttribs);
9076
9077 HRESULT (STDMETHODCALLTYPE *Compare)(
9078 IShellItem *This,
9079 IShellItem *psi,
9080 SICHINTF hint,
9081 int *piOrder);
9082
9083 END_INTERFACE
9084} IShellItemVtbl;
9085
9086interface IShellItem {
9087 CONST_VTBL IShellItemVtbl* lpVtbl;
9088};
9089
9090#ifdef COBJMACROS
9091#ifndef WIDL_C_INLINE_WRAPPERS
9092/*** IUnknown methods ***/
9093#define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9094#define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This)
9095#define IShellItem_Release(This) (This)->lpVtbl->Release(This)
9096/*** IShellItem methods ***/
9097#define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
9098#define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
9099#define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
9100#define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
9101#define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
9102#else
9103/*** IUnknown methods ***/
9104static inline HRESULT IShellItem_QueryInterface(IShellItem* This,REFIID riid,void **ppvObject) {
9105 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9106}
9107static inline ULONG IShellItem_AddRef(IShellItem* This) {
9108 return This->lpVtbl->AddRef(This);
9109}
9110static inline ULONG IShellItem_Release(IShellItem* This) {
9111 return This->lpVtbl->Release(This);
9112}
9113/*** IShellItem methods ***/
9114static inline HRESULT IShellItem_BindToHandler(IShellItem* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) {
9115 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv);
9116}
9117static inline HRESULT IShellItem_GetParent(IShellItem* This,IShellItem **ppsi) {
9118 return This->lpVtbl->GetParent(This,ppsi);
9119}
9120static inline HRESULT IShellItem_GetDisplayName(IShellItem* This,SIGDN sigdnName,LPWSTR *ppszName) {
9121 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName);
9122}
9123static inline HRESULT IShellItem_GetAttributes(IShellItem* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
9124 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs);
9125}
9126static inline HRESULT IShellItem_Compare(IShellItem* This,IShellItem *psi,SICHINTF hint,int *piOrder) {
9127 return This->lpVtbl->Compare(This,psi,hint,piOrder);
9128}
9129#endif
9130#endif
9131
9132#endif
9133
9134
9135#endif /* __IShellItem_INTERFACE_DEFINED__ */
9136
9137
9138SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath);
9139
9140#if _WIN32_IE >= _WIN32_IE_IE70
9141 SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);
9142 SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);
9143 SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem);
9144 SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv);
9145#endif
9146#if NTDDI_VERSION >= NTDDI_VISTA
9147 SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv);
9148 SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);
9149 SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);
9150 SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);
9151 SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);
9152 SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);
9153#endif
9154#if NTDDI_VERSION >= NTDDI_WIN7
9155typedef enum DATAOBJ_GET_ITEM_FLAGS {
9156 DOGIF_DEFAULT = 0x0,
9157 DOGIF_TRAVERSE_LINK = 0x1,
9158 DOGIF_NO_HDROP = 0x2,
9159 DOGIF_NO_URL = 0x4,
9160 DOGIF_ONLY_IF_ONE = 0x8
9161} DATAOBJ_GET_ITEM_FLAGS;
9162
9163DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)
9164
9165 STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);
9166#endif
9167
9168#define STR_GPS_HANDLERPROPERTIESONLY L"GPS_HANDLERPROPERTIESONLY"
9169#define STR_GPS_FASTPROPERTIESONLY L"GPS_FASTPROPERTIESONLY"
9170#define STR_GPS_OPENSLOWITEM L"GPS_OPENSLOWITEM"
9171#define STR_GPS_DELAYCREATION L"GPS_DELAYCREATION"
9172#define STR_GPS_BESTEFFORT L"GPS_BESTEFFORT"
9173#define STR_GPS_NO_OPLOCK L"GPS_NO_OPLOCK"
9174
9175/*****************************************************************************
9176 * IShellItem2 interface
9177 */
9178#ifndef __IShellItem2_INTERFACE_DEFINED__
9179#define __IShellItem2_INTERFACE_DEFINED__
9180
9181DEFINE_GUID(IID_IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93);
9182#if defined(__cplusplus) && !defined(CINTERFACE)
9183MIDL_INTERFACE("7e9fb0d3-919f-4307-ab2e-9b1860310c93")
9184IShellItem2 : public IShellItem
9185{
9186 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
9187 GETPROPERTYSTOREFLAGS flags,
9188 REFIID riid,
9189 void **ppv) = 0;
9190
9191 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreWithCreateObject(
9192 GETPROPERTYSTOREFLAGS flags,
9193 IUnknown *punkCreateObject,
9194 REFIID riid,
9195 void **ppv) = 0;
9196
9197 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys(
9198 const PROPERTYKEY *rgKeys,
9199 UINT cKeys,
9200 GETPROPERTYSTOREFLAGS flags,
9201 REFIID riid,
9202 void **ppv) = 0;
9203
9204 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
9205 REFPROPERTYKEY keyType,
9206 REFIID riid,
9207 void **ppv) = 0;
9208
9209 virtual HRESULT STDMETHODCALLTYPE Update(
9210 IBindCtx *pbc) = 0;
9211
9212 virtual HRESULT STDMETHODCALLTYPE GetProperty(
9213 REFPROPERTYKEY key,
9214 PROPVARIANT *ppropvar) = 0;
9215
9216 virtual HRESULT STDMETHODCALLTYPE GetCLSID(
9217 REFPROPERTYKEY key,
9218 CLSID *pclsid) = 0;
9219
9220 virtual HRESULT STDMETHODCALLTYPE GetFileTime(
9221 REFPROPERTYKEY key,
9222 FILETIME *pft) = 0;
9223
9224 virtual HRESULT STDMETHODCALLTYPE GetInt32(
9225 REFPROPERTYKEY key,
9226 int *pi) = 0;
9227
9228 virtual HRESULT STDMETHODCALLTYPE GetString(
9229 REFPROPERTYKEY key,
9230 LPWSTR *ppsz) = 0;
9231
9232 virtual HRESULT STDMETHODCALLTYPE GetUInt32(
9233 REFPROPERTYKEY key,
9234 ULONG *pui) = 0;
9235
9236 virtual HRESULT STDMETHODCALLTYPE GetUInt64(
9237 REFPROPERTYKEY key,
9238 ULONGLONG *pull) = 0;
9239
9240 virtual HRESULT STDMETHODCALLTYPE GetBool(
9241 REFPROPERTYKEY key,
9242 WINBOOL *pf) = 0;
9243
9244};
9245#ifdef __CRT_UUID_DECL
9246__CRT_UUID_DECL(IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93)
9247#endif
9248#else
9249typedef struct IShellItem2Vtbl {
9250 BEGIN_INTERFACE
9251
9252 /*** IUnknown methods ***/
9253 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9254 IShellItem2 *This,
9255 REFIID riid,
9256 void **ppvObject);
9257
9258 ULONG (STDMETHODCALLTYPE *AddRef)(
9259 IShellItem2 *This);
9260
9261 ULONG (STDMETHODCALLTYPE *Release)(
9262 IShellItem2 *This);
9263
9264 /*** IShellItem methods ***/
9265 HRESULT (STDMETHODCALLTYPE *BindToHandler)(
9266 IShellItem2 *This,
9267 IBindCtx *pbc,
9268 REFGUID bhid,
9269 REFIID riid,
9270 void **ppv);
9271
9272 HRESULT (STDMETHODCALLTYPE *GetParent)(
9273 IShellItem2 *This,
9274 IShellItem **ppsi);
9275
9276 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
9277 IShellItem2 *This,
9278 SIGDN sigdnName,
9279 LPWSTR *ppszName);
9280
9281 HRESULT (STDMETHODCALLTYPE *GetAttributes)(
9282 IShellItem2 *This,
9283 SFGAOF sfgaoMask,
9284 SFGAOF *psfgaoAttribs);
9285
9286 HRESULT (STDMETHODCALLTYPE *Compare)(
9287 IShellItem2 *This,
9288 IShellItem *psi,
9289 SICHINTF hint,
9290 int *piOrder);
9291
9292 /*** IShellItem2 methods ***/
9293 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
9294 IShellItem2 *This,
9295 GETPROPERTYSTOREFLAGS flags,
9296 REFIID riid,
9297 void **ppv);
9298
9299 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreWithCreateObject)(
9300 IShellItem2 *This,
9301 GETPROPERTYSTOREFLAGS flags,
9302 IUnknown *punkCreateObject,
9303 REFIID riid,
9304 void **ppv);
9305
9306 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)(
9307 IShellItem2 *This,
9308 const PROPERTYKEY *rgKeys,
9309 UINT cKeys,
9310 GETPROPERTYSTOREFLAGS flags,
9311 REFIID riid,
9312 void **ppv);
9313
9314 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
9315 IShellItem2 *This,
9316 REFPROPERTYKEY keyType,
9317 REFIID riid,
9318 void **ppv);
9319
9320 HRESULT (STDMETHODCALLTYPE *Update)(
9321 IShellItem2 *This,
9322 IBindCtx *pbc);
9323
9324 HRESULT (STDMETHODCALLTYPE *GetProperty)(
9325 IShellItem2 *This,
9326 REFPROPERTYKEY key,
9327 PROPVARIANT *ppropvar);
9328
9329 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
9330 IShellItem2 *This,
9331 REFPROPERTYKEY key,
9332 CLSID *pclsid);
9333
9334 HRESULT (STDMETHODCALLTYPE *GetFileTime)(
9335 IShellItem2 *This,
9336 REFPROPERTYKEY key,
9337 FILETIME *pft);
9338
9339 HRESULT (STDMETHODCALLTYPE *GetInt32)(
9340 IShellItem2 *This,
9341 REFPROPERTYKEY key,
9342 int *pi);
9343
9344 HRESULT (STDMETHODCALLTYPE *GetString)(
9345 IShellItem2 *This,
9346 REFPROPERTYKEY key,
9347 LPWSTR *ppsz);
9348
9349 HRESULT (STDMETHODCALLTYPE *GetUInt32)(
9350 IShellItem2 *This,
9351 REFPROPERTYKEY key,
9352 ULONG *pui);
9353
9354 HRESULT (STDMETHODCALLTYPE *GetUInt64)(
9355 IShellItem2 *This,
9356 REFPROPERTYKEY key,
9357 ULONGLONG *pull);
9358
9359 HRESULT (STDMETHODCALLTYPE *GetBool)(
9360 IShellItem2 *This,
9361 REFPROPERTYKEY key,
9362 WINBOOL *pf);
9363
9364 END_INTERFACE
9365} IShellItem2Vtbl;
9366
9367interface IShellItem2 {
9368 CONST_VTBL IShellItem2Vtbl* lpVtbl;
9369};
9370
9371#ifdef COBJMACROS
9372#ifndef WIDL_C_INLINE_WRAPPERS
9373/*** IUnknown methods ***/
9374#define IShellItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9375#define IShellItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
9376#define IShellItem2_Release(This) (This)->lpVtbl->Release(This)
9377/*** IShellItem methods ***/
9378#define IShellItem2_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
9379#define IShellItem2_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
9380#define IShellItem2_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
9381#define IShellItem2_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
9382#define IShellItem2_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
9383/*** IShellItem2 methods ***/
9384#define IShellItem2_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
9385#define IShellItem2_GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) (This)->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv)
9386#define IShellItem2_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)
9387#define IShellItem2_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
9388#define IShellItem2_Update(This,pbc) (This)->lpVtbl->Update(This,pbc)
9389#define IShellItem2_GetProperty(This,key,ppropvar) (This)->lpVtbl->GetProperty(This,key,ppropvar)
9390#define IShellItem2_GetCLSID(This,key,pclsid) (This)->lpVtbl->GetCLSID(This,key,pclsid)
9391#define IShellItem2_GetFileTime(This,key,pft) (This)->lpVtbl->GetFileTime(This,key,pft)
9392#define IShellItem2_GetInt32(This,key,pi) (This)->lpVtbl->GetInt32(This,key,pi)
9393#define IShellItem2_GetString(This,key,ppsz) (This)->lpVtbl->GetString(This,key,ppsz)
9394#define IShellItem2_GetUInt32(This,key,pui) (This)->lpVtbl->GetUInt32(This,key,pui)
9395#define IShellItem2_GetUInt64(This,key,pull) (This)->lpVtbl->GetUInt64(This,key,pull)
9396#define IShellItem2_GetBool(This,key,pf) (This)->lpVtbl->GetBool(This,key,pf)
9397#else
9398/*** IUnknown methods ***/
9399static inline HRESULT IShellItem2_QueryInterface(IShellItem2* This,REFIID riid,void **ppvObject) {
9400 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9401}
9402static inline ULONG IShellItem2_AddRef(IShellItem2* This) {
9403 return This->lpVtbl->AddRef(This);
9404}
9405static inline ULONG IShellItem2_Release(IShellItem2* This) {
9406 return This->lpVtbl->Release(This);
9407}
9408/*** IShellItem methods ***/
9409static inline HRESULT IShellItem2_BindToHandler(IShellItem2* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) {
9410 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv);
9411}
9412static inline HRESULT IShellItem2_GetParent(IShellItem2* This,IShellItem **ppsi) {
9413 return This->lpVtbl->GetParent(This,ppsi);
9414}
9415static inline HRESULT IShellItem2_GetDisplayName(IShellItem2* This,SIGDN sigdnName,LPWSTR *ppszName) {
9416 return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName);
9417}
9418static inline HRESULT IShellItem2_GetAttributes(IShellItem2* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
9419 return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs);
9420}
9421static inline HRESULT IShellItem2_Compare(IShellItem2* This,IShellItem *psi,SICHINTF hint,int *piOrder) {
9422 return This->lpVtbl->Compare(This,psi,hint,piOrder);
9423}
9424/*** IShellItem2 methods ***/
9425static inline HRESULT IShellItem2_GetPropertyStore(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
9426 return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv);
9427}
9428static inline HRESULT IShellItem2_GetPropertyStoreWithCreateObject(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,IUnknown *punkCreateObject,REFIID riid,void **ppv) {
9429 return This->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv);
9430}
9431static inline HRESULT IShellItem2_GetPropertyStoreForKeys(IShellItem2* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
9432 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv);
9433}
9434static inline HRESULT IShellItem2_GetPropertyDescriptionList(IShellItem2* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) {
9435 return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv);
9436}
9437static inline HRESULT IShellItem2_Update(IShellItem2* This,IBindCtx *pbc) {
9438 return This->lpVtbl->Update(This,pbc);
9439}
9440static inline HRESULT IShellItem2_GetProperty(IShellItem2* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar) {
9441 return This->lpVtbl->GetProperty(This,key,ppropvar);
9442}
9443static inline HRESULT IShellItem2_GetCLSID(IShellItem2* This,REFPROPERTYKEY key,CLSID *pclsid) {
9444 return This->lpVtbl->GetCLSID(This,key,pclsid);
9445}
9446static inline HRESULT IShellItem2_GetFileTime(IShellItem2* This,REFPROPERTYKEY key,FILETIME *pft) {
9447 return This->lpVtbl->GetFileTime(This,key,pft);
9448}
9449static inline HRESULT IShellItem2_GetInt32(IShellItem2* This,REFPROPERTYKEY key,int *pi) {
9450 return This->lpVtbl->GetInt32(This,key,pi);
9451}
9452static inline HRESULT IShellItem2_GetString(IShellItem2* This,REFPROPERTYKEY key,LPWSTR *ppsz) {
9453 return This->lpVtbl->GetString(This,key,ppsz);
9454}
9455static inline HRESULT IShellItem2_GetUInt32(IShellItem2* This,REFPROPERTYKEY key,ULONG *pui) {
9456 return This->lpVtbl->GetUInt32(This,key,pui);
9457}
9458static inline HRESULT IShellItem2_GetUInt64(IShellItem2* This,REFPROPERTYKEY key,ULONGLONG *pull) {
9459 return This->lpVtbl->GetUInt64(This,key,pull);
9460}
9461static inline HRESULT IShellItem2_GetBool(IShellItem2* This,REFPROPERTYKEY key,WINBOOL *pf) {
9462 return This->lpVtbl->GetBool(This,key,pf);
9463}
9464#endif
9465#endif
9466
9467#endif
9468
9469
9470#endif /* __IShellItem2_INTERFACE_DEFINED__ */
9471
9472
9473enum _SIIGBF {
9474 SIIGBF_RESIZETOFIT = 0x0,
9475 SIIGBF_BIGGERSIZEOK = 0x1,
9476 SIIGBF_MEMORYONLY = 0x2,
9477 SIIGBF_ICONONLY = 0x4,
9478 SIIGBF_THUMBNAILONLY = 0x8,
9479 SIIGBF_INCACHEONLY = 0x10,
9480 SIIGBF_CROPTOSQUARE = 0x20,
9481 SIIGBF_WIDETHUMBNAILS = 0x40,
9482 SIIGBF_ICONBACKGROUND = 0x80,
9483 SIIGBF_SCALEUP = 0x100
9484};
9485
9486typedef int SIIGBF;
9487
9488/*****************************************************************************
9489 * IShellItemImageFactory interface
9490 */
9491#ifndef __IShellItemImageFactory_INTERFACE_DEFINED__
9492#define __IShellItemImageFactory_INTERFACE_DEFINED__
9493
9494DEFINE_GUID(IID_IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b);
9495#if defined(__cplusplus) && !defined(CINTERFACE)
9496MIDL_INTERFACE("bcc18b79-ba16-442f-80c4-8a59c30c463b")
9497IShellItemImageFactory : public IUnknown
9498{
9499 virtual HRESULT STDMETHODCALLTYPE GetImage(
9500 SIZE size,
9501 SIIGBF flags,
9502 HBITMAP *phbm) = 0;
9503
9504};
9505#ifdef __CRT_UUID_DECL
9506__CRT_UUID_DECL(IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b)
9507#endif
9508#else
9509typedef struct IShellItemImageFactoryVtbl {
9510 BEGIN_INTERFACE
9511
9512 /*** IUnknown methods ***/
9513 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9514 IShellItemImageFactory *This,
9515 REFIID riid,
9516 void **ppvObject);
9517
9518 ULONG (STDMETHODCALLTYPE *AddRef)(
9519 IShellItemImageFactory *This);
9520
9521 ULONG (STDMETHODCALLTYPE *Release)(
9522 IShellItemImageFactory *This);
9523
9524 /*** IShellItemImageFactory methods ***/
9525 HRESULT (STDMETHODCALLTYPE *GetImage)(
9526 IShellItemImageFactory *This,
9527 SIZE size,
9528 SIIGBF flags,
9529 HBITMAP *phbm);
9530
9531 END_INTERFACE
9532} IShellItemImageFactoryVtbl;
9533
9534interface IShellItemImageFactory {
9535 CONST_VTBL IShellItemImageFactoryVtbl* lpVtbl;
9536};
9537
9538#ifdef COBJMACROS
9539#ifndef WIDL_C_INLINE_WRAPPERS
9540/*** IUnknown methods ***/
9541#define IShellItemImageFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9542#define IShellItemImageFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
9543#define IShellItemImageFactory_Release(This) (This)->lpVtbl->Release(This)
9544/*** IShellItemImageFactory methods ***/
9545#define IShellItemImageFactory_GetImage(This,size,flags,phbm) (This)->lpVtbl->GetImage(This,size,flags,phbm)
9546#else
9547/*** IUnknown methods ***/
9548static inline HRESULT IShellItemImageFactory_QueryInterface(IShellItemImageFactory* This,REFIID riid,void **ppvObject) {
9549 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9550}
9551static inline ULONG IShellItemImageFactory_AddRef(IShellItemImageFactory* This) {
9552 return This->lpVtbl->AddRef(This);
9553}
9554static inline ULONG IShellItemImageFactory_Release(IShellItemImageFactory* This) {
9555 return This->lpVtbl->Release(This);
9556}
9557/*** IShellItemImageFactory methods ***/
9558static inline HRESULT IShellItemImageFactory_GetImage(IShellItemImageFactory* This,SIZE size,SIIGBF flags,HBITMAP *phbm) {
9559 return This->lpVtbl->GetImage(This,size,flags,phbm);
9560}
9561#endif
9562#endif
9563
9564#endif
9565
9566
9567#endif /* __IShellItemImageFactory_INTERFACE_DEFINED__ */
9568
9569
9570/*****************************************************************************
9571 * IUserAccountChangeCallback interface
9572 */
9573#ifndef __IUserAccountChangeCallback_INTERFACE_DEFINED__
9574#define __IUserAccountChangeCallback_INTERFACE_DEFINED__
9575
9576DEFINE_GUID(IID_IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30);
9577#if defined(__cplusplus) && !defined(CINTERFACE)
9578MIDL_INTERFACE("a561e69a-b4b8-4113-91a5-64c6bcca3430")
9579IUserAccountChangeCallback : public IUnknown
9580{
9581 virtual HRESULT STDMETHODCALLTYPE OnPictureChange(
9582 LPCWSTR pszUserName) = 0;
9583
9584};
9585#ifdef __CRT_UUID_DECL
9586__CRT_UUID_DECL(IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30)
9587#endif
9588#else
9589typedef struct IUserAccountChangeCallbackVtbl {
9590 BEGIN_INTERFACE
9591
9592 /*** IUnknown methods ***/
9593 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9594 IUserAccountChangeCallback *This,
9595 REFIID riid,
9596 void **ppvObject);
9597
9598 ULONG (STDMETHODCALLTYPE *AddRef)(
9599 IUserAccountChangeCallback *This);
9600
9601 ULONG (STDMETHODCALLTYPE *Release)(
9602 IUserAccountChangeCallback *This);
9603
9604 /*** IUserAccountChangeCallback methods ***/
9605 HRESULT (STDMETHODCALLTYPE *OnPictureChange)(
9606 IUserAccountChangeCallback *This,
9607 LPCWSTR pszUserName);
9608
9609 END_INTERFACE
9610} IUserAccountChangeCallbackVtbl;
9611
9612interface IUserAccountChangeCallback {
9613 CONST_VTBL IUserAccountChangeCallbackVtbl* lpVtbl;
9614};
9615
9616#ifdef COBJMACROS
9617#ifndef WIDL_C_INLINE_WRAPPERS
9618/*** IUnknown methods ***/
9619#define IUserAccountChangeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9620#define IUserAccountChangeCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
9621#define IUserAccountChangeCallback_Release(This) (This)->lpVtbl->Release(This)
9622/*** IUserAccountChangeCallback methods ***/
9623#define IUserAccountChangeCallback_OnPictureChange(This,pszUserName) (This)->lpVtbl->OnPictureChange(This,pszUserName)
9624#else
9625/*** IUnknown methods ***/
9626static inline HRESULT IUserAccountChangeCallback_QueryInterface(IUserAccountChangeCallback* This,REFIID riid,void **ppvObject) {
9627 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9628}
9629static inline ULONG IUserAccountChangeCallback_AddRef(IUserAccountChangeCallback* This) {
9630 return This->lpVtbl->AddRef(This);
9631}
9632static inline ULONG IUserAccountChangeCallback_Release(IUserAccountChangeCallback* This) {
9633 return This->lpVtbl->Release(This);
9634}
9635/*** IUserAccountChangeCallback methods ***/
9636static inline HRESULT IUserAccountChangeCallback_OnPictureChange(IUserAccountChangeCallback* This,LPCWSTR pszUserName) {
9637 return This->lpVtbl->OnPictureChange(This,pszUserName);
9638}
9639#endif
9640#endif
9641
9642#endif
9643
9644
9645#endif /* __IUserAccountChangeCallback_INTERFACE_DEFINED__ */
9646
9647
9648/*****************************************************************************
9649 * IEnumShellItems interface
9650 */
9651#ifndef __IEnumShellItems_INTERFACE_DEFINED__
9652#define __IEnumShellItems_INTERFACE_DEFINED__
9653
9654DEFINE_GUID(IID_IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7);
9655#if defined(__cplusplus) && !defined(CINTERFACE)
9656MIDL_INTERFACE("70629033-e363-4a28-a567-0db78006e6d7")
9657IEnumShellItems : public IUnknown
9658{
9659 virtual HRESULT STDMETHODCALLTYPE Next(
9660 ULONG celt,
9661 IShellItem **rgelt,
9662 ULONG *pceltFetched) = 0;
9663
9664 virtual HRESULT STDMETHODCALLTYPE Skip(
9665 ULONG celt) = 0;
9666
9667 virtual HRESULT STDMETHODCALLTYPE Reset(
9668 ) = 0;
9669
9670 virtual HRESULT STDMETHODCALLTYPE Clone(
9671 IEnumShellItems **ppenum) = 0;
9672
9673};
9674#ifdef __CRT_UUID_DECL
9675__CRT_UUID_DECL(IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7)
9676#endif
9677#else
9678typedef struct IEnumShellItemsVtbl {
9679 BEGIN_INTERFACE
9680
9681 /*** IUnknown methods ***/
9682 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9683 IEnumShellItems *This,
9684 REFIID riid,
9685 void **ppvObject);
9686
9687 ULONG (STDMETHODCALLTYPE *AddRef)(
9688 IEnumShellItems *This);
9689
9690 ULONG (STDMETHODCALLTYPE *Release)(
9691 IEnumShellItems *This);
9692
9693 /*** IEnumShellItems methods ***/
9694 HRESULT (STDMETHODCALLTYPE *Next)(
9695 IEnumShellItems *This,
9696 ULONG celt,
9697 IShellItem **rgelt,
9698 ULONG *pceltFetched);
9699
9700 HRESULT (STDMETHODCALLTYPE *Skip)(
9701 IEnumShellItems *This,
9702 ULONG celt);
9703
9704 HRESULT (STDMETHODCALLTYPE *Reset)(
9705 IEnumShellItems *This);
9706
9707 HRESULT (STDMETHODCALLTYPE *Clone)(
9708 IEnumShellItems *This,
9709 IEnumShellItems **ppenum);
9710
9711 END_INTERFACE
9712} IEnumShellItemsVtbl;
9713
9714interface IEnumShellItems {
9715 CONST_VTBL IEnumShellItemsVtbl* lpVtbl;
9716};
9717
9718#ifdef COBJMACROS
9719#ifndef WIDL_C_INLINE_WRAPPERS
9720/*** IUnknown methods ***/
9721#define IEnumShellItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9722#define IEnumShellItems_AddRef(This) (This)->lpVtbl->AddRef(This)
9723#define IEnumShellItems_Release(This) (This)->lpVtbl->Release(This)
9724/*** IEnumShellItems methods ***/
9725#define IEnumShellItems_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
9726#define IEnumShellItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
9727#define IEnumShellItems_Reset(This) (This)->lpVtbl->Reset(This)
9728#define IEnumShellItems_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
9729#else
9730/*** IUnknown methods ***/
9731static inline HRESULT IEnumShellItems_QueryInterface(IEnumShellItems* This,REFIID riid,void **ppvObject) {
9732 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9733}
9734static inline ULONG IEnumShellItems_AddRef(IEnumShellItems* This) {
9735 return This->lpVtbl->AddRef(This);
9736}
9737static inline ULONG IEnumShellItems_Release(IEnumShellItems* This) {
9738 return This->lpVtbl->Release(This);
9739}
9740/*** IEnumShellItems methods ***/
9741static inline HRESULT IEnumShellItems_Next(IEnumShellItems* This,ULONG celt,IShellItem **rgelt,ULONG *pceltFetched) {
9742 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
9743}
9744static inline HRESULT IEnumShellItems_Skip(IEnumShellItems* This,ULONG celt) {
9745 return This->lpVtbl->Skip(This,celt);
9746}
9747static inline HRESULT IEnumShellItems_Reset(IEnumShellItems* This) {
9748 return This->lpVtbl->Reset(This);
9749}
9750static inline HRESULT IEnumShellItems_Clone(IEnumShellItems* This,IEnumShellItems **ppenum) {
9751 return This->lpVtbl->Clone(This,ppenum);
9752}
9753#endif
9754#endif
9755
9756#endif
9757
9758HRESULT STDMETHODCALLTYPE IEnumShellItems_RemoteNext_Proxy(
9759 IEnumShellItems* This,
9760 ULONG celt,
9761 IShellItem **rgelt,
9762 ULONG *pceltFetched);
9763void __RPC_STUB IEnumShellItems_RemoteNext_Stub(
9764 IRpcStubBuffer* This,
9765 IRpcChannelBuffer* pRpcChannelBuffer,
9766 PRPC_MESSAGE pRpcMessage,
9767 DWORD* pdwStubPhase);
9768HRESULT CALLBACK IEnumShellItems_Next_Proxy(
9769 IEnumShellItems* This,
9770 ULONG celt,
9771 IShellItem **rgelt,
9772 ULONG *pceltFetched);
9773HRESULT __RPC_STUB IEnumShellItems_Next_Stub(
9774 IEnumShellItems* This,
9775 ULONG celt,
9776 IShellItem **rgelt,
9777 ULONG *pceltFetched);
9778
9779#endif /* __IEnumShellItems_INTERFACE_DEFINED__ */
9780
9781
9782typedef GUID STGTRANSCONFIRMATION;
9783typedef GUID *LPSTGTRANSCONFIRMATION;
9784
9785typedef enum STGOP {
9786 STGOP_MOVE = 1,
9787 STGOP_COPY = 2,
9788 STGOP_SYNC = 3,
9789 STGOP_REMOVE = 5,
9790 STGOP_RENAME = 6,
9791 STGOP_APPLYPROPERTIES = 8,
9792 STGOP_NEW = 10
9793} STGOP;
9794
9795enum _TRANSFER_SOURCE_FLAGS {
9796 TSF_NORMAL = 0x0,
9797 TSF_FAIL_EXIST = 0x0,
9798 TSF_RENAME_EXIST = 0x1,
9799 TSF_OVERWRITE_EXIST = 0x2,
9800 TSF_ALLOW_DECRYPTION = 0x4,
9801 TSF_NO_SECURITY = 0x8,
9802 TSF_COPY_CREATION_TIME = 0x10,
9803 TSF_COPY_WRITE_TIME = 0x20,
9804 TSF_USE_FULL_ACCESS = 0x40,
9805 TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80,
9806 TSF_COPY_HARD_LINK = 0x100,
9807 TSF_COPY_LOCALIZED_NAME = 0x200,
9808 TSF_MOVE_AS_COPY_DELETE = 0x400,
9809 TSF_SUSPEND_SHELLEVENTS = 0x800
9810};
9811
9812typedef DWORD TRANSFER_SOURCE_FLAGS;
9813
9814#if _WIN32_IE >= _WIN32_IE_IE70
9815/*****************************************************************************
9816 * ITransferAdviseSink interface
9817 */
9818#ifndef __ITransferAdviseSink_INTERFACE_DEFINED__
9819#define __ITransferAdviseSink_INTERFACE_DEFINED__
9820
9821enum _TRANSFER_ADVISE_STATE {
9822 TS_NONE = 0x0,
9823 TS_PERFORMING = 0x1,
9824 TS_PREPARING = 0x2,
9825 TS_INDETERMINATE = 0x4
9826};
9827
9828typedef DWORD TRANSFER_ADVISE_STATE;
9829
9830DEFINE_GUID(IID_ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88);
9831#if defined(__cplusplus) && !defined(CINTERFACE)
9832MIDL_INTERFACE("d594d0d8-8da7-457b-b3b4-ce5dbaac0b88")
9833ITransferAdviseSink : public IUnknown
9834{
9835 virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
9836 ULONGLONG ullSizeCurrent,
9837 ULONGLONG ullSizeTotal,
9838 int nFilesCurrent,
9839 int nFilesTotal,
9840 int nFoldersCurrent,
9841 int nFoldersTotal) = 0;
9842
9843 virtual HRESULT STDMETHODCALLTYPE UpdateTransferState(
9844 TRANSFER_ADVISE_STATE ts) = 0;
9845
9846 virtual HRESULT STDMETHODCALLTYPE ConfirmOverwrite(
9847 IShellItem *psiSource,
9848 IShellItem *psiDestParent,
9849 LPCWSTR pszName) = 0;
9850
9851 virtual HRESULT STDMETHODCALLTYPE ConfirmEncryptionLoss(
9852 IShellItem *psiSource) = 0;
9853
9854 virtual HRESULT STDMETHODCALLTYPE FileFailure(
9855 IShellItem *psi,
9856 LPCWSTR pszItem,
9857 HRESULT hrError,
9858 LPWSTR pszRename,
9859 ULONG cchRename) = 0;
9860
9861 virtual HRESULT STDMETHODCALLTYPE SubStreamFailure(
9862 IShellItem *psi,
9863 LPCWSTR pszStreamName,
9864 HRESULT hrError) = 0;
9865
9866 virtual HRESULT STDMETHODCALLTYPE PropertyFailure(
9867 IShellItem *psi,
9868 const PROPERTYKEY *pkey,
9869 HRESULT hrError) = 0;
9870
9871};
9872#ifdef __CRT_UUID_DECL
9873__CRT_UUID_DECL(ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88)
9874#endif
9875#else
9876typedef struct ITransferAdviseSinkVtbl {
9877 BEGIN_INTERFACE
9878
9879 /*** IUnknown methods ***/
9880 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9881 ITransferAdviseSink *This,
9882 REFIID riid,
9883 void **ppvObject);
9884
9885 ULONG (STDMETHODCALLTYPE *AddRef)(
9886 ITransferAdviseSink *This);
9887
9888 ULONG (STDMETHODCALLTYPE *Release)(
9889 ITransferAdviseSink *This);
9890
9891 /*** ITransferAdviseSink methods ***/
9892 HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
9893 ITransferAdviseSink *This,
9894 ULONGLONG ullSizeCurrent,
9895 ULONGLONG ullSizeTotal,
9896 int nFilesCurrent,
9897 int nFilesTotal,
9898 int nFoldersCurrent,
9899 int nFoldersTotal);
9900
9901 HRESULT (STDMETHODCALLTYPE *UpdateTransferState)(
9902 ITransferAdviseSink *This,
9903 TRANSFER_ADVISE_STATE ts);
9904
9905 HRESULT (STDMETHODCALLTYPE *ConfirmOverwrite)(
9906 ITransferAdviseSink *This,
9907 IShellItem *psiSource,
9908 IShellItem *psiDestParent,
9909 LPCWSTR pszName);
9910
9911 HRESULT (STDMETHODCALLTYPE *ConfirmEncryptionLoss)(
9912 ITransferAdviseSink *This,
9913 IShellItem *psiSource);
9914
9915 HRESULT (STDMETHODCALLTYPE *FileFailure)(
9916 ITransferAdviseSink *This,
9917 IShellItem *psi,
9918 LPCWSTR pszItem,
9919 HRESULT hrError,
9920 LPWSTR pszRename,
9921 ULONG cchRename);
9922
9923 HRESULT (STDMETHODCALLTYPE *SubStreamFailure)(
9924 ITransferAdviseSink *This,
9925 IShellItem *psi,
9926 LPCWSTR pszStreamName,
9927 HRESULT hrError);
9928
9929 HRESULT (STDMETHODCALLTYPE *PropertyFailure)(
9930 ITransferAdviseSink *This,
9931 IShellItem *psi,
9932 const PROPERTYKEY *pkey,
9933 HRESULT hrError);
9934
9935 END_INTERFACE
9936} ITransferAdviseSinkVtbl;
9937
9938interface ITransferAdviseSink {
9939 CONST_VTBL ITransferAdviseSinkVtbl* lpVtbl;
9940};
9941
9942#ifdef COBJMACROS
9943#ifndef WIDL_C_INLINE_WRAPPERS
9944/*** IUnknown methods ***/
9945#define ITransferAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9946#define ITransferAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
9947#define ITransferAdviseSink_Release(This) (This)->lpVtbl->Release(This)
9948/*** ITransferAdviseSink methods ***/
9949#define ITransferAdviseSink_UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) (This)->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal)
9950#define ITransferAdviseSink_UpdateTransferState(This,ts) (This)->lpVtbl->UpdateTransferState(This,ts)
9951#define ITransferAdviseSink_ConfirmOverwrite(This,psiSource,psiDestParent,pszName) (This)->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName)
9952#define ITransferAdviseSink_ConfirmEncryptionLoss(This,psiSource) (This)->lpVtbl->ConfirmEncryptionLoss(This,psiSource)
9953#define ITransferAdviseSink_FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) (This)->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename)
9954#define ITransferAdviseSink_SubStreamFailure(This,psi,pszStreamName,hrError) (This)->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError)
9955#define ITransferAdviseSink_PropertyFailure(This,psi,pkey,hrError) (This)->lpVtbl->PropertyFailure(This,psi,pkey,hrError)
9956#else
9957/*** IUnknown methods ***/
9958static inline HRESULT ITransferAdviseSink_QueryInterface(ITransferAdviseSink* This,REFIID riid,void **ppvObject) {
9959 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9960}
9961static inline ULONG ITransferAdviseSink_AddRef(ITransferAdviseSink* This) {
9962 return This->lpVtbl->AddRef(This);
9963}
9964static inline ULONG ITransferAdviseSink_Release(ITransferAdviseSink* This) {
9965 return This->lpVtbl->Release(This);
9966}
9967/*** ITransferAdviseSink methods ***/
9968static inline HRESULT ITransferAdviseSink_UpdateProgress(ITransferAdviseSink* This,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,int nFilesCurrent,int nFilesTotal,int nFoldersCurrent,int nFoldersTotal) {
9969 return This->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal);
9970}
9971static inline HRESULT ITransferAdviseSink_UpdateTransferState(ITransferAdviseSink* This,TRANSFER_ADVISE_STATE ts) {
9972 return This->lpVtbl->UpdateTransferState(This,ts);
9973}
9974static inline HRESULT ITransferAdviseSink_ConfirmOverwrite(ITransferAdviseSink* This,IShellItem *psiSource,IShellItem *psiDestParent,LPCWSTR pszName) {
9975 return This->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName);
9976}
9977static inline HRESULT ITransferAdviseSink_ConfirmEncryptionLoss(ITransferAdviseSink* This,IShellItem *psiSource) {
9978 return This->lpVtbl->ConfirmEncryptionLoss(This,psiSource);
9979}
9980static inline HRESULT ITransferAdviseSink_FileFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszItem,HRESULT hrError,LPWSTR pszRename,ULONG cchRename) {
9981 return This->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename);
9982}
9983static inline HRESULT ITransferAdviseSink_SubStreamFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszStreamName,HRESULT hrError) {
9984 return This->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError);
9985}
9986static inline HRESULT ITransferAdviseSink_PropertyFailure(ITransferAdviseSink* This,IShellItem *psi,const PROPERTYKEY *pkey,HRESULT hrError) {
9987 return This->lpVtbl->PropertyFailure(This,psi,pkey,hrError);
9988}
9989#endif
9990#endif
9991
9992#endif
9993
9994
9995#endif /* __ITransferAdviseSink_INTERFACE_DEFINED__ */
9996
9997#endif
9998
9999#if NTDDI_VERSION >= NTDDI_VISTA
10000/*****************************************************************************
10001 * ITransferSource interface
10002 */
10003#ifndef __ITransferSource_INTERFACE_DEFINED__
10004#define __ITransferSource_INTERFACE_DEFINED__
10005
10006DEFINE_GUID(IID_ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08);
10007#if defined(__cplusplus) && !defined(CINTERFACE)
10008MIDL_INTERFACE("00adb003-bde9-45c6-8e29-d09f9353e108")
10009ITransferSource : public IUnknown
10010{
10011 virtual HRESULT STDMETHODCALLTYPE Advise(
10012 ITransferAdviseSink *psink,
10013 DWORD *pdwCookie) = 0;
10014
10015 virtual HRESULT STDMETHODCALLTYPE Unadvise(
10016 DWORD dwCookie) = 0;
10017
10018 virtual HRESULT STDMETHODCALLTYPE SetProperties(
10019 IPropertyChangeArray *pproparray) = 0;
10020
10021 virtual HRESULT STDMETHODCALLTYPE OpenItem(
10022 IShellItem *psi,
10023 TRANSFER_SOURCE_FLAGS flags,
10024 REFIID riid,
10025 void **ppv) = 0;
10026
10027 virtual HRESULT STDMETHODCALLTYPE MoveItem(
10028 IShellItem *psi,
10029 IShellItem *psiParentDst,
10030 LPCWSTR pszNameDst,
10031 TRANSFER_SOURCE_FLAGS flags,
10032 IShellItem **ppsiNew) = 0;
10033
10034 virtual HRESULT STDMETHODCALLTYPE RecycleItem(
10035 IShellItem *psiSource,
10036 IShellItem *psiParentDest,
10037 TRANSFER_SOURCE_FLAGS flags,
10038 IShellItem **ppsiNewDest) = 0;
10039
10040 virtual HRESULT STDMETHODCALLTYPE RemoveItem(
10041 IShellItem *psiSource,
10042 TRANSFER_SOURCE_FLAGS flags) = 0;
10043
10044 virtual HRESULT STDMETHODCALLTYPE RenameItem(
10045 IShellItem *psiSource,
10046 LPCWSTR pszNewName,
10047 TRANSFER_SOURCE_FLAGS flags,
10048 IShellItem **ppsiNewDest) = 0;
10049
10050 virtual HRESULT STDMETHODCALLTYPE LinkItem(
10051 IShellItem *psiSource,
10052 IShellItem *psiParentDest,
10053 LPCWSTR pszNewName,
10054 TRANSFER_SOURCE_FLAGS flags,
10055 IShellItem **ppsiNewDest) = 0;
10056
10057 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem(
10058 IShellItem *psiSource,
10059 IShellItem **ppsiNew) = 0;
10060
10061 virtual HRESULT STDMETHODCALLTYPE GetDefaultDestinationName(
10062 IShellItem *psiSource,
10063 IShellItem *psiParentDest,
10064 LPWSTR *ppszDestinationName) = 0;
10065
10066 virtual HRESULT STDMETHODCALLTYPE EnterFolder(
10067 IShellItem *psiChildFolderDest) = 0;
10068
10069 virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
10070 IShellItem *psiChildFolderDest) = 0;
10071
10072};
10073#ifdef __CRT_UUID_DECL
10074__CRT_UUID_DECL(ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08)
10075#endif
10076#else
10077typedef struct ITransferSourceVtbl {
10078 BEGIN_INTERFACE
10079
10080 /*** IUnknown methods ***/
10081 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10082 ITransferSource *This,
10083 REFIID riid,
10084 void **ppvObject);
10085
10086 ULONG (STDMETHODCALLTYPE *AddRef)(
10087 ITransferSource *This);
10088
10089 ULONG (STDMETHODCALLTYPE *Release)(
10090 ITransferSource *This);
10091
10092 /*** ITransferSource methods ***/
10093 HRESULT (STDMETHODCALLTYPE *Advise)(
10094 ITransferSource *This,
10095 ITransferAdviseSink *psink,
10096 DWORD *pdwCookie);
10097
10098 HRESULT (STDMETHODCALLTYPE *Unadvise)(
10099 ITransferSource *This,
10100 DWORD dwCookie);
10101
10102 HRESULT (STDMETHODCALLTYPE *SetProperties)(
10103 ITransferSource *This,
10104 IPropertyChangeArray *pproparray);
10105
10106 HRESULT (STDMETHODCALLTYPE *OpenItem)(
10107 ITransferSource *This,
10108 IShellItem *psi,
10109 TRANSFER_SOURCE_FLAGS flags,
10110 REFIID riid,
10111 void **ppv);
10112
10113 HRESULT (STDMETHODCALLTYPE *MoveItem)(
10114 ITransferSource *This,
10115 IShellItem *psi,
10116 IShellItem *psiParentDst,
10117 LPCWSTR pszNameDst,
10118 TRANSFER_SOURCE_FLAGS flags,
10119 IShellItem **ppsiNew);
10120
10121 HRESULT (STDMETHODCALLTYPE *RecycleItem)(
10122 ITransferSource *This,
10123 IShellItem *psiSource,
10124 IShellItem *psiParentDest,
10125 TRANSFER_SOURCE_FLAGS flags,
10126 IShellItem **ppsiNewDest);
10127
10128 HRESULT (STDMETHODCALLTYPE *RemoveItem)(
10129 ITransferSource *This,
10130 IShellItem *psiSource,
10131 TRANSFER_SOURCE_FLAGS flags);
10132
10133 HRESULT (STDMETHODCALLTYPE *RenameItem)(
10134 ITransferSource *This,
10135 IShellItem *psiSource,
10136 LPCWSTR pszNewName,
10137 TRANSFER_SOURCE_FLAGS flags,
10138 IShellItem **ppsiNewDest);
10139
10140 HRESULT (STDMETHODCALLTYPE *LinkItem)(
10141 ITransferSource *This,
10142 IShellItem *psiSource,
10143 IShellItem *psiParentDest,
10144 LPCWSTR pszNewName,
10145 TRANSFER_SOURCE_FLAGS flags,
10146 IShellItem **ppsiNewDest);
10147
10148 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)(
10149 ITransferSource *This,
10150 IShellItem *psiSource,
10151 IShellItem **ppsiNew);
10152
10153 HRESULT (STDMETHODCALLTYPE *GetDefaultDestinationName)(
10154 ITransferSource *This,
10155 IShellItem *psiSource,
10156 IShellItem *psiParentDest,
10157 LPWSTR *ppszDestinationName);
10158
10159 HRESULT (STDMETHODCALLTYPE *EnterFolder)(
10160 ITransferSource *This,
10161 IShellItem *psiChildFolderDest);
10162
10163 HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
10164 ITransferSource *This,
10165 IShellItem *psiChildFolderDest);
10166
10167 END_INTERFACE
10168} ITransferSourceVtbl;
10169
10170interface ITransferSource {
10171 CONST_VTBL ITransferSourceVtbl* lpVtbl;
10172};
10173
10174#ifdef COBJMACROS
10175#ifndef WIDL_C_INLINE_WRAPPERS
10176/*** IUnknown methods ***/
10177#define ITransferSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10178#define ITransferSource_AddRef(This) (This)->lpVtbl->AddRef(This)
10179#define ITransferSource_Release(This) (This)->lpVtbl->Release(This)
10180/*** ITransferSource methods ***/
10181#define ITransferSource_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie)
10182#define ITransferSource_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
10183#define ITransferSource_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray)
10184#define ITransferSource_OpenItem(This,psi,flags,riid,ppv) (This)->lpVtbl->OpenItem(This,psi,flags,riid,ppv)
10185#define ITransferSource_MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) (This)->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew)
10186#define ITransferSource_RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) (This)->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest)
10187#define ITransferSource_RemoveItem(This,psiSource,flags) (This)->lpVtbl->RemoveItem(This,psiSource,flags)
10188#define ITransferSource_RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest)
10189#define ITransferSource_LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest)
10190#define ITransferSource_ApplyPropertiesToItem(This,psiSource,ppsiNew) (This)->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew)
10191#define ITransferSource_GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) (This)->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName)
10192#define ITransferSource_EnterFolder(This,psiChildFolderDest) (This)->lpVtbl->EnterFolder(This,psiChildFolderDest)
10193#define ITransferSource_LeaveFolder(This,psiChildFolderDest) (This)->lpVtbl->LeaveFolder(This,psiChildFolderDest)
10194#else
10195/*** IUnknown methods ***/
10196static inline HRESULT ITransferSource_QueryInterface(ITransferSource* This,REFIID riid,void **ppvObject) {
10197 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10198}
10199static inline ULONG ITransferSource_AddRef(ITransferSource* This) {
10200 return This->lpVtbl->AddRef(This);
10201}
10202static inline ULONG ITransferSource_Release(ITransferSource* This) {
10203 return This->lpVtbl->Release(This);
10204}
10205/*** ITransferSource methods ***/
10206static inline HRESULT ITransferSource_Advise(ITransferSource* This,ITransferAdviseSink *psink,DWORD *pdwCookie) {
10207 return This->lpVtbl->Advise(This,psink,pdwCookie);
10208}
10209static inline HRESULT ITransferSource_Unadvise(ITransferSource* This,DWORD dwCookie) {
10210 return This->lpVtbl->Unadvise(This,dwCookie);
10211}
10212static inline HRESULT ITransferSource_SetProperties(ITransferSource* This,IPropertyChangeArray *pproparray) {
10213 return This->lpVtbl->SetProperties(This,pproparray);
10214}
10215static inline HRESULT ITransferSource_OpenItem(ITransferSource* This,IShellItem *psi,TRANSFER_SOURCE_FLAGS flags,REFIID riid,void **ppv) {
10216 return This->lpVtbl->OpenItem(This,psi,flags,riid,ppv);
10217}
10218static inline HRESULT ITransferSource_MoveItem(ITransferSource* This,IShellItem *psi,IShellItem *psiParentDst,LPCWSTR pszNameDst,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNew) {
10219 return This->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew);
10220}
10221static inline HRESULT ITransferSource_RecycleItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
10222 return This->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest);
10223}
10224static inline HRESULT ITransferSource_RemoveItem(ITransferSource* This,IShellItem *psiSource,TRANSFER_SOURCE_FLAGS flags) {
10225 return This->lpVtbl->RemoveItem(This,psiSource,flags);
10226}
10227static inline HRESULT ITransferSource_RenameItem(ITransferSource* This,IShellItem *psiSource,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
10228 return This->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest);
10229}
10230static inline HRESULT ITransferSource_LinkItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
10231 return This->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest);
10232}
10233static inline HRESULT ITransferSource_ApplyPropertiesToItem(ITransferSource* This,IShellItem *psiSource,IShellItem **ppsiNew) {
10234 return This->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew);
10235}
10236static inline HRESULT ITransferSource_GetDefaultDestinationName(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPWSTR *ppszDestinationName) {
10237 return This->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName);
10238}
10239static inline HRESULT ITransferSource_EnterFolder(ITransferSource* This,IShellItem *psiChildFolderDest) {
10240 return This->lpVtbl->EnterFolder(This,psiChildFolderDest);
10241}
10242static inline HRESULT ITransferSource_LeaveFolder(ITransferSource* This,IShellItem *psiChildFolderDest) {
10243 return This->lpVtbl->LeaveFolder(This,psiChildFolderDest);
10244}
10245#endif
10246#endif
10247
10248#endif
10249
10250
10251#endif /* __ITransferSource_INTERFACE_DEFINED__ */
10252
10253#endif
10254
10255typedef struct SHELL_ITEM_RESOURCE {
10256 GUID guidType;
10257 WCHAR szName[260];
10258} SHELL_ITEM_RESOURCE;
10259
10260/*****************************************************************************
10261 * IEnumResources interface
10262 */
10263#ifndef __IEnumResources_INTERFACE_DEFINED__
10264#define __IEnumResources_INTERFACE_DEFINED__
10265
10266DEFINE_GUID(IID_IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1);
10267#if defined(__cplusplus) && !defined(CINTERFACE)
10268MIDL_INTERFACE("2dd81fe3-a83c-4da9-a330-47249d345ba1")
10269IEnumResources : public IUnknown
10270{
10271 virtual HRESULT STDMETHODCALLTYPE Next(
10272 ULONG celt,
10273 SHELL_ITEM_RESOURCE *psir,
10274 ULONG *pceltFetched) = 0;
10275
10276 virtual HRESULT STDMETHODCALLTYPE Skip(
10277 ULONG celt) = 0;
10278
10279 virtual HRESULT STDMETHODCALLTYPE Reset(
10280 ) = 0;
10281
10282 virtual HRESULT STDMETHODCALLTYPE Clone(
10283 IEnumResources **ppenumr) = 0;
10284
10285};
10286#ifdef __CRT_UUID_DECL
10287__CRT_UUID_DECL(IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1)
10288#endif
10289#else
10290typedef struct IEnumResourcesVtbl {
10291 BEGIN_INTERFACE
10292
10293 /*** IUnknown methods ***/
10294 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10295 IEnumResources *This,
10296 REFIID riid,
10297 void **ppvObject);
10298
10299 ULONG (STDMETHODCALLTYPE *AddRef)(
10300 IEnumResources *This);
10301
10302 ULONG (STDMETHODCALLTYPE *Release)(
10303 IEnumResources *This);
10304
10305 /*** IEnumResources methods ***/
10306 HRESULT (STDMETHODCALLTYPE *Next)(
10307 IEnumResources *This,
10308 ULONG celt,
10309 SHELL_ITEM_RESOURCE *psir,
10310 ULONG *pceltFetched);
10311
10312 HRESULT (STDMETHODCALLTYPE *Skip)(
10313 IEnumResources *This,
10314 ULONG celt);
10315
10316 HRESULT (STDMETHODCALLTYPE *Reset)(
10317 IEnumResources *This);
10318
10319 HRESULT (STDMETHODCALLTYPE *Clone)(
10320 IEnumResources *This,
10321 IEnumResources **ppenumr);
10322
10323 END_INTERFACE
10324} IEnumResourcesVtbl;
10325
10326interface IEnumResources {
10327 CONST_VTBL IEnumResourcesVtbl* lpVtbl;
10328};
10329
10330#ifdef COBJMACROS
10331#ifndef WIDL_C_INLINE_WRAPPERS
10332/*** IUnknown methods ***/
10333#define IEnumResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10334#define IEnumResources_AddRef(This) (This)->lpVtbl->AddRef(This)
10335#define IEnumResources_Release(This) (This)->lpVtbl->Release(This)
10336/*** IEnumResources methods ***/
10337#define IEnumResources_Next(This,celt,psir,pceltFetched) (This)->lpVtbl->Next(This,celt,psir,pceltFetched)
10338#define IEnumResources_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
10339#define IEnumResources_Reset(This) (This)->lpVtbl->Reset(This)
10340#define IEnumResources_Clone(This,ppenumr) (This)->lpVtbl->Clone(This,ppenumr)
10341#else
10342/*** IUnknown methods ***/
10343static inline HRESULT IEnumResources_QueryInterface(IEnumResources* This,REFIID riid,void **ppvObject) {
10344 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10345}
10346static inline ULONG IEnumResources_AddRef(IEnumResources* This) {
10347 return This->lpVtbl->AddRef(This);
10348}
10349static inline ULONG IEnumResources_Release(IEnumResources* This) {
10350 return This->lpVtbl->Release(This);
10351}
10352/*** IEnumResources methods ***/
10353static inline HRESULT IEnumResources_Next(IEnumResources* This,ULONG celt,SHELL_ITEM_RESOURCE *psir,ULONG *pceltFetched) {
10354 return This->lpVtbl->Next(This,celt,psir,pceltFetched);
10355}
10356static inline HRESULT IEnumResources_Skip(IEnumResources* This,ULONG celt) {
10357 return This->lpVtbl->Skip(This,celt);
10358}
10359static inline HRESULT IEnumResources_Reset(IEnumResources* This) {
10360 return This->lpVtbl->Reset(This);
10361}
10362static inline HRESULT IEnumResources_Clone(IEnumResources* This,IEnumResources **ppenumr) {
10363 return This->lpVtbl->Clone(This,ppenumr);
10364}
10365#endif
10366#endif
10367
10368#endif
10369
10370
10371#endif /* __IEnumResources_INTERFACE_DEFINED__ */
10372
10373
10374/*****************************************************************************
10375 * IShellItemResources interface
10376 */
10377#ifndef __IShellItemResources_INTERFACE_DEFINED__
10378#define __IShellItemResources_INTERFACE_DEFINED__
10379
10380DEFINE_GUID(IID_IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9);
10381#if defined(__cplusplus) && !defined(CINTERFACE)
10382MIDL_INTERFACE("ff5693be-2ce0-4d48-b5c5-40817d1acdb9")
10383IShellItemResources : public IUnknown
10384{
10385 virtual HRESULT STDMETHODCALLTYPE GetAttributes(
10386 DWORD *pdwAttributes) = 0;
10387
10388 virtual HRESULT STDMETHODCALLTYPE GetSize(
10389 ULONGLONG *pullSize) = 0;
10390
10391 virtual HRESULT STDMETHODCALLTYPE GetTimes(
10392 FILETIME *pftCreation,
10393 FILETIME *pftWrite,
10394 FILETIME *pftAccess) = 0;
10395
10396 virtual HRESULT STDMETHODCALLTYPE SetTimes(
10397 const FILETIME *pftCreation,
10398 const FILETIME *pftWrite,
10399 const FILETIME *pftAccess) = 0;
10400
10401 virtual HRESULT STDMETHODCALLTYPE GetResourceDescription(
10402 const SHELL_ITEM_RESOURCE *pcsir,
10403 LPWSTR *ppszDescription) = 0;
10404
10405 virtual HRESULT STDMETHODCALLTYPE EnumResources(
10406 IEnumResources **ppenumr) = 0;
10407
10408 virtual HRESULT STDMETHODCALLTYPE SupportsResource(
10409 const SHELL_ITEM_RESOURCE *pcsir) = 0;
10410
10411 virtual HRESULT STDMETHODCALLTYPE OpenResource(
10412 const SHELL_ITEM_RESOURCE *pcsir,
10413 REFIID riid,
10414 void **ppv) = 0;
10415
10416 virtual HRESULT STDMETHODCALLTYPE CreateResource(
10417 const SHELL_ITEM_RESOURCE *pcsir,
10418 REFIID riid,
10419 void **ppv) = 0;
10420
10421 virtual HRESULT STDMETHODCALLTYPE MarkForDelete(
10422 ) = 0;
10423
10424};
10425#ifdef __CRT_UUID_DECL
10426__CRT_UUID_DECL(IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9)
10427#endif
10428#else
10429typedef struct IShellItemResourcesVtbl {
10430 BEGIN_INTERFACE
10431
10432 /*** IUnknown methods ***/
10433 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10434 IShellItemResources *This,
10435 REFIID riid,
10436 void **ppvObject);
10437
10438 ULONG (STDMETHODCALLTYPE *AddRef)(
10439 IShellItemResources *This);
10440
10441 ULONG (STDMETHODCALLTYPE *Release)(
10442 IShellItemResources *This);
10443
10444 /*** IShellItemResources methods ***/
10445 HRESULT (STDMETHODCALLTYPE *GetAttributes)(
10446 IShellItemResources *This,
10447 DWORD *pdwAttributes);
10448
10449 HRESULT (STDMETHODCALLTYPE *GetSize)(
10450 IShellItemResources *This,
10451 ULONGLONG *pullSize);
10452
10453 HRESULT (STDMETHODCALLTYPE *GetTimes)(
10454 IShellItemResources *This,
10455 FILETIME *pftCreation,
10456 FILETIME *pftWrite,
10457 FILETIME *pftAccess);
10458
10459 HRESULT (STDMETHODCALLTYPE *SetTimes)(
10460 IShellItemResources *This,
10461 const FILETIME *pftCreation,
10462 const FILETIME *pftWrite,
10463 const FILETIME *pftAccess);
10464
10465 HRESULT (STDMETHODCALLTYPE *GetResourceDescription)(
10466 IShellItemResources *This,
10467 const SHELL_ITEM_RESOURCE *pcsir,
10468 LPWSTR *ppszDescription);
10469
10470 HRESULT (STDMETHODCALLTYPE *EnumResources)(
10471 IShellItemResources *This,
10472 IEnumResources **ppenumr);
10473
10474 HRESULT (STDMETHODCALLTYPE *SupportsResource)(
10475 IShellItemResources *This,
10476 const SHELL_ITEM_RESOURCE *pcsir);
10477
10478 HRESULT (STDMETHODCALLTYPE *OpenResource)(
10479 IShellItemResources *This,
10480 const SHELL_ITEM_RESOURCE *pcsir,
10481 REFIID riid,
10482 void **ppv);
10483
10484 HRESULT (STDMETHODCALLTYPE *CreateResource)(
10485 IShellItemResources *This,
10486 const SHELL_ITEM_RESOURCE *pcsir,
10487 REFIID riid,
10488 void **ppv);
10489
10490 HRESULT (STDMETHODCALLTYPE *MarkForDelete)(
10491 IShellItemResources *This);
10492
10493 END_INTERFACE
10494} IShellItemResourcesVtbl;
10495
10496interface IShellItemResources {
10497 CONST_VTBL IShellItemResourcesVtbl* lpVtbl;
10498};
10499
10500#ifdef COBJMACROS
10501#ifndef WIDL_C_INLINE_WRAPPERS
10502/*** IUnknown methods ***/
10503#define IShellItemResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10504#define IShellItemResources_AddRef(This) (This)->lpVtbl->AddRef(This)
10505#define IShellItemResources_Release(This) (This)->lpVtbl->Release(This)
10506/*** IShellItemResources methods ***/
10507#define IShellItemResources_GetAttributes(This,pdwAttributes) (This)->lpVtbl->GetAttributes(This,pdwAttributes)
10508#define IShellItemResources_GetSize(This,pullSize) (This)->lpVtbl->GetSize(This,pullSize)
10509#define IShellItemResources_GetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess)
10510#define IShellItemResources_SetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess)
10511#define IShellItemResources_GetResourceDescription(This,pcsir,ppszDescription) (This)->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription)
10512#define IShellItemResources_EnumResources(This,ppenumr) (This)->lpVtbl->EnumResources(This,ppenumr)
10513#define IShellItemResources_SupportsResource(This,pcsir) (This)->lpVtbl->SupportsResource(This,pcsir)
10514#define IShellItemResources_OpenResource(This,pcsir,riid,ppv) (This)->lpVtbl->OpenResource(This,pcsir,riid,ppv)
10515#define IShellItemResources_CreateResource(This,pcsir,riid,ppv) (This)->lpVtbl->CreateResource(This,pcsir,riid,ppv)
10516#define IShellItemResources_MarkForDelete(This) (This)->lpVtbl->MarkForDelete(This)
10517#else
10518/*** IUnknown methods ***/
10519static inline HRESULT IShellItemResources_QueryInterface(IShellItemResources* This,REFIID riid,void **ppvObject) {
10520 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10521}
10522static inline ULONG IShellItemResources_AddRef(IShellItemResources* This) {
10523 return This->lpVtbl->AddRef(This);
10524}
10525static inline ULONG IShellItemResources_Release(IShellItemResources* This) {
10526 return This->lpVtbl->Release(This);
10527}
10528/*** IShellItemResources methods ***/
10529static inline HRESULT IShellItemResources_GetAttributes(IShellItemResources* This,DWORD *pdwAttributes) {
10530 return This->lpVtbl->GetAttributes(This,pdwAttributes);
10531}
10532static inline HRESULT IShellItemResources_GetSize(IShellItemResources* This,ULONGLONG *pullSize) {
10533 return This->lpVtbl->GetSize(This,pullSize);
10534}
10535static inline HRESULT IShellItemResources_GetTimes(IShellItemResources* This,FILETIME *pftCreation,FILETIME *pftWrite,FILETIME *pftAccess) {
10536 return This->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess);
10537}
10538static inline HRESULT IShellItemResources_SetTimes(IShellItemResources* This,const FILETIME *pftCreation,const FILETIME *pftWrite,const FILETIME *pftAccess) {
10539 return This->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess);
10540}
10541static inline HRESULT IShellItemResources_GetResourceDescription(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,LPWSTR *ppszDescription) {
10542 return This->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription);
10543}
10544static inline HRESULT IShellItemResources_EnumResources(IShellItemResources* This,IEnumResources **ppenumr) {
10545 return This->lpVtbl->EnumResources(This,ppenumr);
10546}
10547static inline HRESULT IShellItemResources_SupportsResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir) {
10548 return This->lpVtbl->SupportsResource(This,pcsir);
10549}
10550static inline HRESULT IShellItemResources_OpenResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) {
10551 return This->lpVtbl->OpenResource(This,pcsir,riid,ppv);
10552}
10553static inline HRESULT IShellItemResources_CreateResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) {
10554 return This->lpVtbl->CreateResource(This,pcsir,riid,ppv);
10555}
10556static inline HRESULT IShellItemResources_MarkForDelete(IShellItemResources* This) {
10557 return This->lpVtbl->MarkForDelete(This);
10558}
10559#endif
10560#endif
10561
10562#endif
10563
10564
10565#endif /* __IShellItemResources_INTERFACE_DEFINED__ */
10566
10567
10568/*****************************************************************************
10569 * ITransferDestination interface
10570 */
10571#ifndef __ITransferDestination_INTERFACE_DEFINED__
10572#define __ITransferDestination_INTERFACE_DEFINED__
10573
10574DEFINE_GUID(IID_ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07);
10575#if defined(__cplusplus) && !defined(CINTERFACE)
10576MIDL_INTERFACE("48addd32-3ca5-4124-abe3-b5a72531b207")
10577ITransferDestination : public IUnknown
10578{
10579 virtual HRESULT STDMETHODCALLTYPE Advise(
10580 ITransferAdviseSink *psink,
10581 DWORD *pdwCookie) = 0;
10582
10583 virtual HRESULT STDMETHODCALLTYPE Unadvise(
10584 DWORD dwCookie) = 0;
10585
10586 virtual HRESULT STDMETHODCALLTYPE CreateItem(
10587 LPCWSTR pszName,
10588 DWORD dwAttributes,
10589 ULONGLONG ullSize,
10590 TRANSFER_SOURCE_FLAGS flags,
10591 REFIID riidItem,
10592 void **ppvItem,
10593 REFIID riidResources,
10594 void **ppvResources) = 0;
10595
10596};
10597#ifdef __CRT_UUID_DECL
10598__CRT_UUID_DECL(ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07)
10599#endif
10600#else
10601typedef struct ITransferDestinationVtbl {
10602 BEGIN_INTERFACE
10603
10604 /*** IUnknown methods ***/
10605 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10606 ITransferDestination *This,
10607 REFIID riid,
10608 void **ppvObject);
10609
10610 ULONG (STDMETHODCALLTYPE *AddRef)(
10611 ITransferDestination *This);
10612
10613 ULONG (STDMETHODCALLTYPE *Release)(
10614 ITransferDestination *This);
10615
10616 /*** ITransferDestination methods ***/
10617 HRESULT (STDMETHODCALLTYPE *Advise)(
10618 ITransferDestination *This,
10619 ITransferAdviseSink *psink,
10620 DWORD *pdwCookie);
10621
10622 HRESULT (STDMETHODCALLTYPE *Unadvise)(
10623 ITransferDestination *This,
10624 DWORD dwCookie);
10625
10626 HRESULT (STDMETHODCALLTYPE *CreateItem)(
10627 ITransferDestination *This,
10628 LPCWSTR pszName,
10629 DWORD dwAttributes,
10630 ULONGLONG ullSize,
10631 TRANSFER_SOURCE_FLAGS flags,
10632 REFIID riidItem,
10633 void **ppvItem,
10634 REFIID riidResources,
10635 void **ppvResources);
10636
10637 END_INTERFACE
10638} ITransferDestinationVtbl;
10639
10640interface ITransferDestination {
10641 CONST_VTBL ITransferDestinationVtbl* lpVtbl;
10642};
10643
10644#ifdef COBJMACROS
10645#ifndef WIDL_C_INLINE_WRAPPERS
10646/*** IUnknown methods ***/
10647#define ITransferDestination_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10648#define ITransferDestination_AddRef(This) (This)->lpVtbl->AddRef(This)
10649#define ITransferDestination_Release(This) (This)->lpVtbl->Release(This)
10650/*** ITransferDestination methods ***/
10651#define ITransferDestination_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie)
10652#define ITransferDestination_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
10653#define ITransferDestination_CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources) (This)->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources)
10654#else
10655/*** IUnknown methods ***/
10656static inline HRESULT ITransferDestination_QueryInterface(ITransferDestination* This,REFIID riid,void **ppvObject) {
10657 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10658}
10659static inline ULONG ITransferDestination_AddRef(ITransferDestination* This) {
10660 return This->lpVtbl->AddRef(This);
10661}
10662static inline ULONG ITransferDestination_Release(ITransferDestination* This) {
10663 return This->lpVtbl->Release(This);
10664}
10665/*** ITransferDestination methods ***/
10666static inline HRESULT ITransferDestination_Advise(ITransferDestination* This,ITransferAdviseSink *psink,DWORD *pdwCookie) {
10667 return This->lpVtbl->Advise(This,psink,pdwCookie);
10668}
10669static inline HRESULT ITransferDestination_Unadvise(ITransferDestination* This,DWORD dwCookie) {
10670 return This->lpVtbl->Unadvise(This,dwCookie);
10671}
10672static inline HRESULT ITransferDestination_CreateItem(ITransferDestination* This,LPCWSTR pszName,DWORD dwAttributes,ULONGLONG ullSize,TRANSFER_SOURCE_FLAGS flags,REFIID riidItem,void **ppvItem,REFIID riidResources,void **ppvResources) {
10673 return This->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources);
10674}
10675#endif
10676#endif
10677
10678#endif
10679
10680
10681#endif /* __ITransferDestination_INTERFACE_DEFINED__ */
10682
10683#if 0
10684typedef struct _OVERLAPPED {
10685 ULONG_PTR Internal;
10686 ULONG_PTR InternalHigh;
10687 __C89_NAMELESS union {
10688 __C89_NAMELESS struct {
10689 DWORD Offset;
10690 DWORD OffsetHigh;
10691 } __C89_NAMELESSSTRUCTNAME;
10692 PVOID Pointer;
10693 } __C89_NAMELESSUNIONNAME;
10694 HANDLE hEvent;
10695} OVERLAPPED;
10696typedef struct _OVERLAPPED *LPOVERLAPPED;
10697#endif
10698
10699/*****************************************************************************
10700 * IStreamAsync interface
10701 */
10702#ifndef __IStreamAsync_INTERFACE_DEFINED__
10703#define __IStreamAsync_INTERFACE_DEFINED__
10704
10705DEFINE_GUID(IID_IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5);
10706#if defined(__cplusplus) && !defined(CINTERFACE)
10707MIDL_INTERFACE("fe0b6665-e0ca-49b9-a178-2b5cb48d92a5")
10708IStreamAsync : public IStream
10709{
10710 virtual HRESULT STDMETHODCALLTYPE ReadAsync(
10711 void *pv,
10712 DWORD cb,
10713 LPDWORD pcbRead,
10714 LPOVERLAPPED lpOverlapped) = 0;
10715
10716 virtual HRESULT STDMETHODCALLTYPE WriteAsync(
10717 const void *lpBuffer,
10718 DWORD cb,
10719 LPDWORD pcbWritten,
10720 LPOVERLAPPED lpOverlapped) = 0;
10721
10722 virtual HRESULT STDMETHODCALLTYPE OverlappedResult(
10723 LPOVERLAPPED lpOverlapped,
10724 LPDWORD lpNumberOfBytesTransferred,
10725 WINBOOL bWait) = 0;
10726
10727 virtual HRESULT STDMETHODCALLTYPE CancelIo(
10728 ) = 0;
10729
10730};
10731#ifdef __CRT_UUID_DECL
10732__CRT_UUID_DECL(IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5)
10733#endif
10734#else
10735typedef struct IStreamAsyncVtbl {
10736 BEGIN_INTERFACE
10737
10738 /*** IUnknown methods ***/
10739 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10740 IStreamAsync *This,
10741 REFIID riid,
10742 void **ppvObject);
10743
10744 ULONG (STDMETHODCALLTYPE *AddRef)(
10745 IStreamAsync *This);
10746
10747 ULONG (STDMETHODCALLTYPE *Release)(
10748 IStreamAsync *This);
10749
10750 /*** ISequentialStream methods ***/
10751 HRESULT (STDMETHODCALLTYPE *Read)(
10752 IStreamAsync *This,
10753 void *pv,
10754 ULONG cb,
10755 ULONG *pcbRead);
10756
10757 HRESULT (STDMETHODCALLTYPE *Write)(
10758 IStreamAsync *This,
10759 const void *pv,
10760 ULONG cb,
10761 ULONG *pcbWritten);
10762
10763 /*** IStream methods ***/
10764 HRESULT (STDMETHODCALLTYPE *Seek)(
10765 IStreamAsync *This,
10766 LARGE_INTEGER dlibMove,
10767 DWORD dwOrigin,
10768 ULARGE_INTEGER *plibNewPosition);
10769
10770 HRESULT (STDMETHODCALLTYPE *SetSize)(
10771 IStreamAsync *This,
10772 ULARGE_INTEGER libNewSize);
10773
10774 HRESULT (STDMETHODCALLTYPE *CopyTo)(
10775 IStreamAsync *This,
10776 IStream *pstm,
10777 ULARGE_INTEGER cb,
10778 ULARGE_INTEGER *pcbRead,
10779 ULARGE_INTEGER *pcbWritten);
10780
10781 HRESULT (STDMETHODCALLTYPE *Commit)(
10782 IStreamAsync *This,
10783 DWORD grfCommitFlags);
10784
10785 HRESULT (STDMETHODCALLTYPE *Revert)(
10786 IStreamAsync *This);
10787
10788 HRESULT (STDMETHODCALLTYPE *LockRegion)(
10789 IStreamAsync *This,
10790 ULARGE_INTEGER libOffset,
10791 ULARGE_INTEGER cb,
10792 DWORD dwLockType);
10793
10794 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
10795 IStreamAsync *This,
10796 ULARGE_INTEGER libOffset,
10797 ULARGE_INTEGER cb,
10798 DWORD dwLockType);
10799
10800 HRESULT (STDMETHODCALLTYPE *Stat)(
10801 IStreamAsync *This,
10802 STATSTG *pstatstg,
10803 DWORD grfStatFlag);
10804
10805 HRESULT (STDMETHODCALLTYPE *Clone)(
10806 IStreamAsync *This,
10807 IStream **ppstm);
10808
10809 /*** IStreamAsync methods ***/
10810 HRESULT (STDMETHODCALLTYPE *ReadAsync)(
10811 IStreamAsync *This,
10812 void *pv,
10813 DWORD cb,
10814 LPDWORD pcbRead,
10815 LPOVERLAPPED lpOverlapped);
10816
10817 HRESULT (STDMETHODCALLTYPE *WriteAsync)(
10818 IStreamAsync *This,
10819 const void *lpBuffer,
10820 DWORD cb,
10821 LPDWORD pcbWritten,
10822 LPOVERLAPPED lpOverlapped);
10823
10824 HRESULT (STDMETHODCALLTYPE *OverlappedResult)(
10825 IStreamAsync *This,
10826 LPOVERLAPPED lpOverlapped,
10827 LPDWORD lpNumberOfBytesTransferred,
10828 WINBOOL bWait);
10829
10830 HRESULT (STDMETHODCALLTYPE *CancelIo)(
10831 IStreamAsync *This);
10832
10833 END_INTERFACE
10834} IStreamAsyncVtbl;
10835
10836interface IStreamAsync {
10837 CONST_VTBL IStreamAsyncVtbl* lpVtbl;
10838};
10839
10840#ifdef COBJMACROS
10841#ifndef WIDL_C_INLINE_WRAPPERS
10842/*** IUnknown methods ***/
10843#define IStreamAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10844#define IStreamAsync_AddRef(This) (This)->lpVtbl->AddRef(This)
10845#define IStreamAsync_Release(This) (This)->lpVtbl->Release(This)
10846/*** ISequentialStream methods ***/
10847#define IStreamAsync_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
10848#define IStreamAsync_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
10849/*** IStream methods ***/
10850#define IStreamAsync_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
10851#define IStreamAsync_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
10852#define IStreamAsync_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
10853#define IStreamAsync_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
10854#define IStreamAsync_Revert(This) (This)->lpVtbl->Revert(This)
10855#define IStreamAsync_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
10856#define IStreamAsync_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
10857#define IStreamAsync_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
10858#define IStreamAsync_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
10859/*** IStreamAsync methods ***/
10860#define IStreamAsync_ReadAsync(This,pv,cb,pcbRead,lpOverlapped) (This)->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped)
10861#define IStreamAsync_WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped) (This)->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped)
10862#define IStreamAsync_OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait) (This)->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait)
10863#define IStreamAsync_CancelIo(This) (This)->lpVtbl->CancelIo(This)
10864#else
10865/*** IUnknown methods ***/
10866static inline HRESULT IStreamAsync_QueryInterface(IStreamAsync* This,REFIID riid,void **ppvObject) {
10867 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10868}
10869static inline ULONG IStreamAsync_AddRef(IStreamAsync* This) {
10870 return This->lpVtbl->AddRef(This);
10871}
10872static inline ULONG IStreamAsync_Release(IStreamAsync* This) {
10873 return This->lpVtbl->Release(This);
10874}
10875/*** ISequentialStream methods ***/
10876static inline HRESULT IStreamAsync_Read(IStreamAsync* This,void *pv,ULONG cb,ULONG *pcbRead) {
10877 return This->lpVtbl->Read(This,pv,cb,pcbRead);
10878}
10879static inline HRESULT IStreamAsync_Write(IStreamAsync* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
10880 return This->lpVtbl->Write(This,pv,cb,pcbWritten);
10881}
10882/*** IStream methods ***/
10883static inline HRESULT IStreamAsync_Seek(IStreamAsync* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
10884 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
10885}
10886static inline HRESULT IStreamAsync_SetSize(IStreamAsync* This,ULARGE_INTEGER libNewSize) {
10887 return This->lpVtbl->SetSize(This,libNewSize);
10888}
10889static inline HRESULT IStreamAsync_CopyTo(IStreamAsync* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
10890 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
10891}
10892static inline HRESULT IStreamAsync_Commit(IStreamAsync* This,DWORD grfCommitFlags) {
10893 return This->lpVtbl->Commit(This,grfCommitFlags);
10894}
10895static inline HRESULT IStreamAsync_Revert(IStreamAsync* This) {
10896 return This->lpVtbl->Revert(This);
10897}
10898static inline HRESULT IStreamAsync_LockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
10899 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
10900}
10901static inline HRESULT IStreamAsync_UnlockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
10902 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
10903}
10904static inline HRESULT IStreamAsync_Stat(IStreamAsync* This,STATSTG *pstatstg,DWORD grfStatFlag) {
10905 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
10906}
10907static inline HRESULT IStreamAsync_Clone(IStreamAsync* This,IStream **ppstm) {
10908 return This->lpVtbl->Clone(This,ppstm);
10909}
10910/*** IStreamAsync methods ***/
10911static inline HRESULT IStreamAsync_ReadAsync(IStreamAsync* This,void *pv,DWORD cb,LPDWORD pcbRead,LPOVERLAPPED lpOverlapped) {
10912 return This->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped);
10913}
10914static inline HRESULT IStreamAsync_WriteAsync(IStreamAsync* This,const void *lpBuffer,DWORD cb,LPDWORD pcbWritten,LPOVERLAPPED lpOverlapped) {
10915 return This->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped);
10916}
10917static inline HRESULT IStreamAsync_OverlappedResult(IStreamAsync* This,LPOVERLAPPED lpOverlapped,LPDWORD lpNumberOfBytesTransferred,WINBOOL bWait) {
10918 return This->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait);
10919}
10920static inline HRESULT IStreamAsync_CancelIo(IStreamAsync* This) {
10921 return This->lpVtbl->CancelIo(This);
10922}
10923#endif
10924#endif
10925
10926#endif
10927
10928
10929#endif /* __IStreamAsync_INTERFACE_DEFINED__ */
10930
10931
10932/*****************************************************************************
10933 * IStreamUnbufferedInfo interface
10934 */
10935#ifndef __IStreamUnbufferedInfo_INTERFACE_DEFINED__
10936#define __IStreamUnbufferedInfo_INTERFACE_DEFINED__
10937
10938DEFINE_GUID(IID_IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25);
10939#if defined(__cplusplus) && !defined(CINTERFACE)
10940MIDL_INTERFACE("8a68fdda-1fdc-4c20-8ceb-416643b5a625")
10941IStreamUnbufferedInfo : public IUnknown
10942{
10943 virtual HRESULT STDMETHODCALLTYPE GetSectorSize(
10944 ULONG *pcbSectorSize) = 0;
10945
10946};
10947#ifdef __CRT_UUID_DECL
10948__CRT_UUID_DECL(IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25)
10949#endif
10950#else
10951typedef struct IStreamUnbufferedInfoVtbl {
10952 BEGIN_INTERFACE
10953
10954 /*** IUnknown methods ***/
10955 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10956 IStreamUnbufferedInfo *This,
10957 REFIID riid,
10958 void **ppvObject);
10959
10960 ULONG (STDMETHODCALLTYPE *AddRef)(
10961 IStreamUnbufferedInfo *This);
10962
10963 ULONG (STDMETHODCALLTYPE *Release)(
10964 IStreamUnbufferedInfo *This);
10965
10966 /*** IStreamUnbufferedInfo methods ***/
10967 HRESULT (STDMETHODCALLTYPE *GetSectorSize)(
10968 IStreamUnbufferedInfo *This,
10969 ULONG *pcbSectorSize);
10970
10971 END_INTERFACE
10972} IStreamUnbufferedInfoVtbl;
10973
10974interface IStreamUnbufferedInfo {
10975 CONST_VTBL IStreamUnbufferedInfoVtbl* lpVtbl;
10976};
10977
10978#ifdef COBJMACROS
10979#ifndef WIDL_C_INLINE_WRAPPERS
10980/*** IUnknown methods ***/
10981#define IStreamUnbufferedInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10982#define IStreamUnbufferedInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
10983#define IStreamUnbufferedInfo_Release(This) (This)->lpVtbl->Release(This)
10984/*** IStreamUnbufferedInfo methods ***/
10985#define IStreamUnbufferedInfo_GetSectorSize(This,pcbSectorSize) (This)->lpVtbl->GetSectorSize(This,pcbSectorSize)
10986#else
10987/*** IUnknown methods ***/
10988static inline HRESULT IStreamUnbufferedInfo_QueryInterface(IStreamUnbufferedInfo* This,REFIID riid,void **ppvObject) {
10989 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10990}
10991static inline ULONG IStreamUnbufferedInfo_AddRef(IStreamUnbufferedInfo* This) {
10992 return This->lpVtbl->AddRef(This);
10993}
10994static inline ULONG IStreamUnbufferedInfo_Release(IStreamUnbufferedInfo* This) {
10995 return This->lpVtbl->Release(This);
10996}
10997/*** IStreamUnbufferedInfo methods ***/
10998static inline HRESULT IStreamUnbufferedInfo_GetSectorSize(IStreamUnbufferedInfo* This,ULONG *pcbSectorSize) {
10999 return This->lpVtbl->GetSectorSize(This,pcbSectorSize);
11000}
11001#endif
11002#endif
11003
11004#endif
11005
11006
11007#endif /* __IStreamUnbufferedInfo_INTERFACE_DEFINED__ */
11008
11009
11010#if _WIN32_IE >= _WIN32_IE_IE70
11011/*****************************************************************************
11012 * IFileOperationProgressSink interface
11013 */
11014#ifndef __IFileOperationProgressSink_INTERFACE_DEFINED__
11015#define __IFileOperationProgressSink_INTERFACE_DEFINED__
11016
11017DEFINE_GUID(IID_IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2);
11018#if defined(__cplusplus) && !defined(CINTERFACE)
11019MIDL_INTERFACE("04b0f1a7-9490-44bc-96e1-4296a31252e2")
11020IFileOperationProgressSink : public IUnknown
11021{
11022 virtual HRESULT STDMETHODCALLTYPE StartOperations(
11023 ) = 0;
11024
11025 virtual HRESULT STDMETHODCALLTYPE FinishOperations(
11026 HRESULT hrResult) = 0;
11027
11028 virtual HRESULT STDMETHODCALLTYPE PreRenameItem(
11029 DWORD dwFlags,
11030 IShellItem *psiItem,
11031 LPCWSTR pszNewName) = 0;
11032
11033 virtual HRESULT STDMETHODCALLTYPE PostRenameItem(
11034 DWORD dwFlags,
11035 IShellItem *psiItem,
11036 LPCWSTR pszNewName,
11037 HRESULT hrRename,
11038 IShellItem *psiNewlyCreated) = 0;
11039
11040 virtual HRESULT STDMETHODCALLTYPE PreMoveItem(
11041 DWORD dwFlags,
11042 IShellItem *psiItem,
11043 IShellItem *psiDestinationFolder,
11044 LPCWSTR pszNewName) = 0;
11045
11046 virtual HRESULT STDMETHODCALLTYPE PostMoveItem(
11047 DWORD dwFlags,
11048 IShellItem *psiItem,
11049 IShellItem *psiDestinationFolder,
11050 LPCWSTR pszNewName,
11051 HRESULT hrMove,
11052 IShellItem *psiNewlyCreated) = 0;
11053
11054 virtual HRESULT STDMETHODCALLTYPE PreCopyItem(
11055 DWORD dwFlags,
11056 IShellItem *psiItem,
11057 IShellItem *psiDestinationFolder,
11058 LPCWSTR pszNewName) = 0;
11059
11060 virtual HRESULT STDMETHODCALLTYPE PostCopyItem(
11061 DWORD dwFlags,
11062 IShellItem *psiItem,
11063 IShellItem *psiDestinationFolder,
11064 LPCWSTR pszNewName,
11065 HRESULT hrCopy,
11066 IShellItem *psiNewlyCreated) = 0;
11067
11068 virtual HRESULT STDMETHODCALLTYPE PreDeleteItem(
11069 DWORD dwFlags,
11070 IShellItem *psiItem) = 0;
11071
11072 virtual HRESULT STDMETHODCALLTYPE PostDeleteItem(
11073 DWORD dwFlags,
11074 IShellItem *psiItem,
11075 HRESULT hrDelete,
11076 IShellItem *psiNewlyCreated) = 0;
11077
11078 virtual HRESULT STDMETHODCALLTYPE PreNewItem(
11079 DWORD dwFlags,
11080 IShellItem *psiDestinationFolder,
11081 LPCWSTR pszNewName) = 0;
11082
11083 virtual HRESULT STDMETHODCALLTYPE PostNewItem(
11084 DWORD dwFlags,
11085 IShellItem *psiDestinationFolder,
11086 LPCWSTR pszNewName,
11087 LPCWSTR pszTemplateName,
11088 DWORD dwFileAttributes,
11089 HRESULT hrNew,
11090 IShellItem *psiNewItem) = 0;
11091
11092 virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
11093 UINT iWorkTotal,
11094 UINT iWorkSoFar) = 0;
11095
11096 virtual HRESULT STDMETHODCALLTYPE ResetTimer(
11097 ) = 0;
11098
11099 virtual HRESULT STDMETHODCALLTYPE PauseTimer(
11100 ) = 0;
11101
11102 virtual HRESULT STDMETHODCALLTYPE ResumeTimer(
11103 ) = 0;
11104
11105};
11106#ifdef __CRT_UUID_DECL
11107__CRT_UUID_DECL(IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2)
11108#endif
11109#else
11110typedef struct IFileOperationProgressSinkVtbl {
11111 BEGIN_INTERFACE
11112
11113 /*** IUnknown methods ***/
11114 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11115 IFileOperationProgressSink *This,
11116 REFIID riid,
11117 void **ppvObject);
11118
11119 ULONG (STDMETHODCALLTYPE *AddRef)(
11120 IFileOperationProgressSink *This);
11121
11122 ULONG (STDMETHODCALLTYPE *Release)(
11123 IFileOperationProgressSink *This);
11124
11125 /*** IFileOperationProgressSink methods ***/
11126 HRESULT (STDMETHODCALLTYPE *StartOperations)(
11127 IFileOperationProgressSink *This);
11128
11129 HRESULT (STDMETHODCALLTYPE *FinishOperations)(
11130 IFileOperationProgressSink *This,
11131 HRESULT hrResult);
11132
11133 HRESULT (STDMETHODCALLTYPE *PreRenameItem)(
11134 IFileOperationProgressSink *This,
11135 DWORD dwFlags,
11136 IShellItem *psiItem,
11137 LPCWSTR pszNewName);
11138
11139 HRESULT (STDMETHODCALLTYPE *PostRenameItem)(
11140 IFileOperationProgressSink *This,
11141 DWORD dwFlags,
11142 IShellItem *psiItem,
11143 LPCWSTR pszNewName,
11144 HRESULT hrRename,
11145 IShellItem *psiNewlyCreated);
11146
11147 HRESULT (STDMETHODCALLTYPE *PreMoveItem)(
11148 IFileOperationProgressSink *This,
11149 DWORD dwFlags,
11150 IShellItem *psiItem,
11151 IShellItem *psiDestinationFolder,
11152 LPCWSTR pszNewName);
11153
11154 HRESULT (STDMETHODCALLTYPE *PostMoveItem)(
11155 IFileOperationProgressSink *This,
11156 DWORD dwFlags,
11157 IShellItem *psiItem,
11158 IShellItem *psiDestinationFolder,
11159 LPCWSTR pszNewName,
11160 HRESULT hrMove,
11161 IShellItem *psiNewlyCreated);
11162
11163 HRESULT (STDMETHODCALLTYPE *PreCopyItem)(
11164 IFileOperationProgressSink *This,
11165 DWORD dwFlags,
11166 IShellItem *psiItem,
11167 IShellItem *psiDestinationFolder,
11168 LPCWSTR pszNewName);
11169
11170 HRESULT (STDMETHODCALLTYPE *PostCopyItem)(
11171 IFileOperationProgressSink *This,
11172 DWORD dwFlags,
11173 IShellItem *psiItem,
11174 IShellItem *psiDestinationFolder,
11175 LPCWSTR pszNewName,
11176 HRESULT hrCopy,
11177 IShellItem *psiNewlyCreated);
11178
11179 HRESULT (STDMETHODCALLTYPE *PreDeleteItem)(
11180 IFileOperationProgressSink *This,
11181 DWORD dwFlags,
11182 IShellItem *psiItem);
11183
11184 HRESULT (STDMETHODCALLTYPE *PostDeleteItem)(
11185 IFileOperationProgressSink *This,
11186 DWORD dwFlags,
11187 IShellItem *psiItem,
11188 HRESULT hrDelete,
11189 IShellItem *psiNewlyCreated);
11190
11191 HRESULT (STDMETHODCALLTYPE *PreNewItem)(
11192 IFileOperationProgressSink *This,
11193 DWORD dwFlags,
11194 IShellItem *psiDestinationFolder,
11195 LPCWSTR pszNewName);
11196
11197 HRESULT (STDMETHODCALLTYPE *PostNewItem)(
11198 IFileOperationProgressSink *This,
11199 DWORD dwFlags,
11200 IShellItem *psiDestinationFolder,
11201 LPCWSTR pszNewName,
11202 LPCWSTR pszTemplateName,
11203 DWORD dwFileAttributes,
11204 HRESULT hrNew,
11205 IShellItem *psiNewItem);
11206
11207 HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
11208 IFileOperationProgressSink *This,
11209 UINT iWorkTotal,
11210 UINT iWorkSoFar);
11211
11212 HRESULT (STDMETHODCALLTYPE *ResetTimer)(
11213 IFileOperationProgressSink *This);
11214
11215 HRESULT (STDMETHODCALLTYPE *PauseTimer)(
11216 IFileOperationProgressSink *This);
11217
11218 HRESULT (STDMETHODCALLTYPE *ResumeTimer)(
11219 IFileOperationProgressSink *This);
11220
11221 END_INTERFACE
11222} IFileOperationProgressSinkVtbl;
11223
11224interface IFileOperationProgressSink {
11225 CONST_VTBL IFileOperationProgressSinkVtbl* lpVtbl;
11226};
11227
11228#ifdef COBJMACROS
11229#ifndef WIDL_C_INLINE_WRAPPERS
11230/*** IUnknown methods ***/
11231#define IFileOperationProgressSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11232#define IFileOperationProgressSink_AddRef(This) (This)->lpVtbl->AddRef(This)
11233#define IFileOperationProgressSink_Release(This) (This)->lpVtbl->Release(This)
11234/*** IFileOperationProgressSink methods ***/
11235#define IFileOperationProgressSink_StartOperations(This) (This)->lpVtbl->StartOperations(This)
11236#define IFileOperationProgressSink_FinishOperations(This,hrResult) (This)->lpVtbl->FinishOperations(This,hrResult)
11237#define IFileOperationProgressSink_PreRenameItem(This,dwFlags,psiItem,pszNewName) (This)->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName)
11238#define IFileOperationProgressSink_PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated) (This)->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated)
11239#define IFileOperationProgressSink_PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName)
11240#define IFileOperationProgressSink_PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated) (This)->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated)
11241#define IFileOperationProgressSink_PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName)
11242#define IFileOperationProgressSink_PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated) (This)->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated)
11243#define IFileOperationProgressSink_PreDeleteItem(This,dwFlags,psiItem) (This)->lpVtbl->PreDeleteItem(This,dwFlags,psiItem)
11244#define IFileOperationProgressSink_PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated) (This)->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated)
11245#define IFileOperationProgressSink_PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName)
11246#define IFileOperationProgressSink_PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem) (This)->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem)
11247#define IFileOperationProgressSink_UpdateProgress(This,iWorkTotal,iWorkSoFar) (This)->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar)
11248#define IFileOperationProgressSink_ResetTimer(This) (This)->lpVtbl->ResetTimer(This)
11249#define IFileOperationProgressSink_PauseTimer(This) (This)->lpVtbl->PauseTimer(This)
11250#define IFileOperationProgressSink_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This)
11251#else
11252/*** IUnknown methods ***/
11253static inline HRESULT IFileOperationProgressSink_QueryInterface(IFileOperationProgressSink* This,REFIID riid,void **ppvObject) {
11254 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11255}
11256static inline ULONG IFileOperationProgressSink_AddRef(IFileOperationProgressSink* This) {
11257 return This->lpVtbl->AddRef(This);
11258}
11259static inline ULONG IFileOperationProgressSink_Release(IFileOperationProgressSink* This) {
11260 return This->lpVtbl->Release(This);
11261}
11262/*** IFileOperationProgressSink methods ***/
11263static inline HRESULT IFileOperationProgressSink_StartOperations(IFileOperationProgressSink* This) {
11264 return This->lpVtbl->StartOperations(This);
11265}
11266static inline HRESULT IFileOperationProgressSink_FinishOperations(IFileOperationProgressSink* This,HRESULT hrResult) {
11267 return This->lpVtbl->FinishOperations(This,hrResult);
11268}
11269static inline HRESULT IFileOperationProgressSink_PreRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName) {
11270 return This->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName);
11271}
11272static inline HRESULT IFileOperationProgressSink_PostRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName,HRESULT hrRename,IShellItem *psiNewlyCreated) {
11273 return This->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated);
11274}
11275static inline HRESULT IFileOperationProgressSink_PreMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
11276 return This->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName);
11277}
11278static inline HRESULT IFileOperationProgressSink_PostMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrMove,IShellItem *psiNewlyCreated) {
11279 return This->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated);
11280}
11281static inline HRESULT IFileOperationProgressSink_PreCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
11282 return This->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName);
11283}
11284static inline HRESULT IFileOperationProgressSink_PostCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrCopy,IShellItem *psiNewlyCreated) {
11285 return This->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated);
11286}
11287static inline HRESULT IFileOperationProgressSink_PreDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem) {
11288 return This->lpVtbl->PreDeleteItem(This,dwFlags,psiItem);
11289}
11290static inline HRESULT IFileOperationProgressSink_PostDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,HRESULT hrDelete,IShellItem *psiNewlyCreated) {
11291 return This->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated);
11292}
11293static inline HRESULT IFileOperationProgressSink_PreNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
11294 return This->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName);
11295}
11296static inline HRESULT IFileOperationProgressSink_PostNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,LPCWSTR pszTemplateName,DWORD dwFileAttributes,HRESULT hrNew,IShellItem *psiNewItem) {
11297 return This->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem);
11298}
11299static inline HRESULT IFileOperationProgressSink_UpdateProgress(IFileOperationProgressSink* This,UINT iWorkTotal,UINT iWorkSoFar) {
11300 return This->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar);
11301}
11302static inline HRESULT IFileOperationProgressSink_ResetTimer(IFileOperationProgressSink* This) {
11303 return This->lpVtbl->ResetTimer(This);
11304}
11305static inline HRESULT IFileOperationProgressSink_PauseTimer(IFileOperationProgressSink* This) {
11306 return This->lpVtbl->PauseTimer(This);
11307}
11308static inline HRESULT IFileOperationProgressSink_ResumeTimer(IFileOperationProgressSink* This) {
11309 return This->lpVtbl->ResumeTimer(This);
11310}
11311#endif
11312#endif
11313
11314#endif
11315
11316
11317#endif /* __IFileOperationProgressSink_INTERFACE_DEFINED__ */
11318
11319#endif
11320
11321/*****************************************************************************
11322 * IShellItemArray interface
11323 */
11324#ifndef __IShellItemArray_INTERFACE_DEFINED__
11325#define __IShellItemArray_INTERFACE_DEFINED__
11326
11327typedef enum SIATTRIBFLAGS {
11328 SIATTRIBFLAGS_AND = 0x1,
11329 SIATTRIBFLAGS_OR = 0x2,
11330 SIATTRIBFLAGS_APPCOMPAT = 0x3,
11331 SIATTRIBFLAGS_MASK = 0x3,
11332 SIATTRIBFLAGS_ALLITEMS = 0x4000
11333} SIATTRIBFLAGS;
11334
11335DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)
11336
11337DEFINE_GUID(IID_IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b);
11338#if defined(__cplusplus) && !defined(CINTERFACE)
11339MIDL_INTERFACE("b63ea76d-1f85-456f-a19c-48159efa858b")
11340IShellItemArray : public IUnknown
11341{
11342 virtual HRESULT STDMETHODCALLTYPE BindToHandler(
11343 IBindCtx *pbc,
11344 REFGUID bhid,
11345 REFIID riid,
11346 void **ppvOut) = 0;
11347
11348 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
11349 GETPROPERTYSTOREFLAGS flags,
11350 REFIID riid,
11351 void **ppv) = 0;
11352
11353 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
11354 REFPROPERTYKEY keyType,
11355 REFIID riid,
11356 void **ppv) = 0;
11357
11358 virtual HRESULT STDMETHODCALLTYPE GetAttributes(
11359 SIATTRIBFLAGS AttribFlags,
11360 SFGAOF sfgaoMask,
11361 SFGAOF *psfgaoAttribs) = 0;
11362
11363 virtual HRESULT STDMETHODCALLTYPE GetCount(
11364 DWORD *pdwNumItems) = 0;
11365
11366 virtual HRESULT STDMETHODCALLTYPE GetItemAt(
11367 DWORD dwIndex,
11368 IShellItem **ppsi) = 0;
11369
11370 virtual HRESULT STDMETHODCALLTYPE EnumItems(
11371 IEnumShellItems **ppenumShellItems) = 0;
11372
11373};
11374#ifdef __CRT_UUID_DECL
11375__CRT_UUID_DECL(IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b)
11376#endif
11377#else
11378typedef struct IShellItemArrayVtbl {
11379 BEGIN_INTERFACE
11380
11381 /*** IUnknown methods ***/
11382 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11383 IShellItemArray *This,
11384 REFIID riid,
11385 void **ppvObject);
11386
11387 ULONG (STDMETHODCALLTYPE *AddRef)(
11388 IShellItemArray *This);
11389
11390 ULONG (STDMETHODCALLTYPE *Release)(
11391 IShellItemArray *This);
11392
11393 /*** IShellItemArray methods ***/
11394 HRESULT (STDMETHODCALLTYPE *BindToHandler)(
11395 IShellItemArray *This,
11396 IBindCtx *pbc,
11397 REFGUID bhid,
11398 REFIID riid,
11399 void **ppvOut);
11400
11401 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
11402 IShellItemArray *This,
11403 GETPROPERTYSTOREFLAGS flags,
11404 REFIID riid,
11405 void **ppv);
11406
11407 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
11408 IShellItemArray *This,
11409 REFPROPERTYKEY keyType,
11410 REFIID riid,
11411 void **ppv);
11412
11413 HRESULT (STDMETHODCALLTYPE *GetAttributes)(
11414 IShellItemArray *This,
11415 SIATTRIBFLAGS AttribFlags,
11416 SFGAOF sfgaoMask,
11417 SFGAOF *psfgaoAttribs);
11418
11419 HRESULT (STDMETHODCALLTYPE *GetCount)(
11420 IShellItemArray *This,
11421 DWORD *pdwNumItems);
11422
11423 HRESULT (STDMETHODCALLTYPE *GetItemAt)(
11424 IShellItemArray *This,
11425 DWORD dwIndex,
11426 IShellItem **ppsi);
11427
11428 HRESULT (STDMETHODCALLTYPE *EnumItems)(
11429 IShellItemArray *This,
11430 IEnumShellItems **ppenumShellItems);
11431
11432 END_INTERFACE
11433} IShellItemArrayVtbl;
11434
11435interface IShellItemArray {
11436 CONST_VTBL IShellItemArrayVtbl* lpVtbl;
11437};
11438
11439#ifdef COBJMACROS
11440#ifndef WIDL_C_INLINE_WRAPPERS
11441/*** IUnknown methods ***/
11442#define IShellItemArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11443#define IShellItemArray_AddRef(This) (This)->lpVtbl->AddRef(This)
11444#define IShellItemArray_Release(This) (This)->lpVtbl->Release(This)
11445/*** IShellItemArray methods ***/
11446#define IShellItemArray_BindToHandler(This,pbc,bhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut)
11447#define IShellItemArray_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
11448#define IShellItemArray_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
11449#define IShellItemArray_GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs)
11450#define IShellItemArray_GetCount(This,pdwNumItems) (This)->lpVtbl->GetCount(This,pdwNumItems)
11451#define IShellItemArray_GetItemAt(This,dwIndex,ppsi) (This)->lpVtbl->GetItemAt(This,dwIndex,ppsi)
11452#define IShellItemArray_EnumItems(This,ppenumShellItems) (This)->lpVtbl->EnumItems(This,ppenumShellItems)
11453#else
11454/*** IUnknown methods ***/
11455static inline HRESULT IShellItemArray_QueryInterface(IShellItemArray* This,REFIID riid,void **ppvObject) {
11456 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11457}
11458static inline ULONG IShellItemArray_AddRef(IShellItemArray* This) {
11459 return This->lpVtbl->AddRef(This);
11460}
11461static inline ULONG IShellItemArray_Release(IShellItemArray* This) {
11462 return This->lpVtbl->Release(This);
11463}
11464/*** IShellItemArray methods ***/
11465static inline HRESULT IShellItemArray_BindToHandler(IShellItemArray* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppvOut) {
11466 return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut);
11467}
11468static inline HRESULT IShellItemArray_GetPropertyStore(IShellItemArray* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
11469 return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv);
11470}
11471static inline HRESULT IShellItemArray_GetPropertyDescriptionList(IShellItemArray* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) {
11472 return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv);
11473}
11474static inline HRESULT IShellItemArray_GetAttributes(IShellItemArray* This,SIATTRIBFLAGS AttribFlags,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
11475 return This->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs);
11476}
11477static inline HRESULT IShellItemArray_GetCount(IShellItemArray* This,DWORD *pdwNumItems) {
11478 return This->lpVtbl->GetCount(This,pdwNumItems);
11479}
11480static inline HRESULT IShellItemArray_GetItemAt(IShellItemArray* This,DWORD dwIndex,IShellItem **ppsi) {
11481 return This->lpVtbl->GetItemAt(This,dwIndex,ppsi);
11482}
11483static inline HRESULT IShellItemArray_EnumItems(IShellItemArray* This,IEnumShellItems **ppenumShellItems) {
11484 return This->lpVtbl->EnumItems(This,ppenumShellItems);
11485}
11486#endif
11487#endif
11488
11489#endif
11490
11491
11492#endif /* __IShellItemArray_INTERFACE_DEFINED__ */
11493
11494
11495#if _WIN32_IE >= _WIN32_IE_IE70
11496 SHSTDAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);
11497 SHSTDAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);
11498 SHSTDAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY rgpidl, IShellItemArray **ppsiItemArray);
11499 SHSTDAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);
11500#endif
11501
11502/*****************************************************************************
11503 * IInitializeWithItem interface
11504 */
11505#ifndef __IInitializeWithItem_INTERFACE_DEFINED__
11506#define __IInitializeWithItem_INTERFACE_DEFINED__
11507
11508DEFINE_GUID(IID_IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41);
11509#if defined(__cplusplus) && !defined(CINTERFACE)
11510MIDL_INTERFACE("7f73be3f-fb79-493c-a6c7-7ee14e245841")
11511IInitializeWithItem : public IUnknown
11512{
11513 virtual HRESULT STDMETHODCALLTYPE Initialize(
11514 IShellItem *psi,
11515 DWORD grfMode) = 0;
11516
11517};
11518#ifdef __CRT_UUID_DECL
11519__CRT_UUID_DECL(IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41)
11520#endif
11521#else
11522typedef struct IInitializeWithItemVtbl {
11523 BEGIN_INTERFACE
11524
11525 /*** IUnknown methods ***/
11526 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11527 IInitializeWithItem *This,
11528 REFIID riid,
11529 void **ppvObject);
11530
11531 ULONG (STDMETHODCALLTYPE *AddRef)(
11532 IInitializeWithItem *This);
11533
11534 ULONG (STDMETHODCALLTYPE *Release)(
11535 IInitializeWithItem *This);
11536
11537 /*** IInitializeWithItem methods ***/
11538 HRESULT (STDMETHODCALLTYPE *Initialize)(
11539 IInitializeWithItem *This,
11540 IShellItem *psi,
11541 DWORD grfMode);
11542
11543 END_INTERFACE
11544} IInitializeWithItemVtbl;
11545
11546interface IInitializeWithItem {
11547 CONST_VTBL IInitializeWithItemVtbl* lpVtbl;
11548};
11549
11550#ifdef COBJMACROS
11551#ifndef WIDL_C_INLINE_WRAPPERS
11552/*** IUnknown methods ***/
11553#define IInitializeWithItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11554#define IInitializeWithItem_AddRef(This) (This)->lpVtbl->AddRef(This)
11555#define IInitializeWithItem_Release(This) (This)->lpVtbl->Release(This)
11556/*** IInitializeWithItem methods ***/
11557#define IInitializeWithItem_Initialize(This,psi,grfMode) (This)->lpVtbl->Initialize(This,psi,grfMode)
11558#else
11559/*** IUnknown methods ***/
11560static inline HRESULT IInitializeWithItem_QueryInterface(IInitializeWithItem* This,REFIID riid,void **ppvObject) {
11561 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11562}
11563static inline ULONG IInitializeWithItem_AddRef(IInitializeWithItem* This) {
11564 return This->lpVtbl->AddRef(This);
11565}
11566static inline ULONG IInitializeWithItem_Release(IInitializeWithItem* This) {
11567 return This->lpVtbl->Release(This);
11568}
11569/*** IInitializeWithItem methods ***/
11570static inline HRESULT IInitializeWithItem_Initialize(IInitializeWithItem* This,IShellItem *psi,DWORD grfMode) {
11571 return This->lpVtbl->Initialize(This,psi,grfMode);
11572}
11573#endif
11574#endif
11575
11576#endif
11577
11578
11579#endif /* __IInitializeWithItem_INTERFACE_DEFINED__ */
11580
11581
11582/*****************************************************************************
11583 * IObjectWithSelection interface
11584 */
11585#ifndef __IObjectWithSelection_INTERFACE_DEFINED__
11586#define __IObjectWithSelection_INTERFACE_DEFINED__
11587
11588DEFINE_GUID(IID_IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c);
11589#if defined(__cplusplus) && !defined(CINTERFACE)
11590MIDL_INTERFACE("1c9cd5bb-98e9-4491-a60f-31aacc72b83c")
11591IObjectWithSelection : public IUnknown
11592{
11593 virtual HRESULT STDMETHODCALLTYPE SetSelection(
11594 IShellItemArray *psia) = 0;
11595
11596 virtual HRESULT STDMETHODCALLTYPE GetSelection(
11597 REFIID riid,
11598 void **ppv) = 0;
11599
11600};
11601#ifdef __CRT_UUID_DECL
11602__CRT_UUID_DECL(IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c)
11603#endif
11604#else
11605typedef struct IObjectWithSelectionVtbl {
11606 BEGIN_INTERFACE
11607
11608 /*** IUnknown methods ***/
11609 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11610 IObjectWithSelection *This,
11611 REFIID riid,
11612 void **ppvObject);
11613
11614 ULONG (STDMETHODCALLTYPE *AddRef)(
11615 IObjectWithSelection *This);
11616
11617 ULONG (STDMETHODCALLTYPE *Release)(
11618 IObjectWithSelection *This);
11619
11620 /*** IObjectWithSelection methods ***/
11621 HRESULT (STDMETHODCALLTYPE *SetSelection)(
11622 IObjectWithSelection *This,
11623 IShellItemArray *psia);
11624
11625 HRESULT (STDMETHODCALLTYPE *GetSelection)(
11626 IObjectWithSelection *This,
11627 REFIID riid,
11628 void **ppv);
11629
11630 END_INTERFACE
11631} IObjectWithSelectionVtbl;
11632
11633interface IObjectWithSelection {
11634 CONST_VTBL IObjectWithSelectionVtbl* lpVtbl;
11635};
11636
11637#ifdef COBJMACROS
11638#ifndef WIDL_C_INLINE_WRAPPERS
11639/*** IUnknown methods ***/
11640#define IObjectWithSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11641#define IObjectWithSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
11642#define IObjectWithSelection_Release(This) (This)->lpVtbl->Release(This)
11643/*** IObjectWithSelection methods ***/
11644#define IObjectWithSelection_SetSelection(This,psia) (This)->lpVtbl->SetSelection(This,psia)
11645#define IObjectWithSelection_GetSelection(This,riid,ppv) (This)->lpVtbl->GetSelection(This,riid,ppv)
11646#else
11647/*** IUnknown methods ***/
11648static inline HRESULT IObjectWithSelection_QueryInterface(IObjectWithSelection* This,REFIID riid,void **ppvObject) {
11649 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11650}
11651static inline ULONG IObjectWithSelection_AddRef(IObjectWithSelection* This) {
11652 return This->lpVtbl->AddRef(This);
11653}
11654static inline ULONG IObjectWithSelection_Release(IObjectWithSelection* This) {
11655 return This->lpVtbl->Release(This);
11656}
11657/*** IObjectWithSelection methods ***/
11658static inline HRESULT IObjectWithSelection_SetSelection(IObjectWithSelection* This,IShellItemArray *psia) {
11659 return This->lpVtbl->SetSelection(This,psia);
11660}
11661static inline HRESULT IObjectWithSelection_GetSelection(IObjectWithSelection* This,REFIID riid,void **ppv) {
11662 return This->lpVtbl->GetSelection(This,riid,ppv);
11663}
11664#endif
11665#endif
11666
11667#endif
11668
11669
11670#endif /* __IObjectWithSelection_INTERFACE_DEFINED__ */
11671
11672
11673/*****************************************************************************
11674 * IObjectWithBackReferences interface
11675 */
11676#ifndef __IObjectWithBackReferences_INTERFACE_DEFINED__
11677#define __IObjectWithBackReferences_INTERFACE_DEFINED__
11678
11679DEFINE_GUID(IID_IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36);
11680#if defined(__cplusplus) && !defined(CINTERFACE)
11681MIDL_INTERFACE("321a6a6a-d61f-4bf3-97ae-14be2986bb36")
11682IObjectWithBackReferences : public IUnknown
11683{
11684 virtual HRESULT STDMETHODCALLTYPE RemoveBackReferences(
11685 ) = 0;
11686
11687};
11688#ifdef __CRT_UUID_DECL
11689__CRT_UUID_DECL(IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36)
11690#endif
11691#else
11692typedef struct IObjectWithBackReferencesVtbl {
11693 BEGIN_INTERFACE
11694
11695 /*** IUnknown methods ***/
11696 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11697 IObjectWithBackReferences *This,
11698 REFIID riid,
11699 void **ppvObject);
11700
11701 ULONG (STDMETHODCALLTYPE *AddRef)(
11702 IObjectWithBackReferences *This);
11703
11704 ULONG (STDMETHODCALLTYPE *Release)(
11705 IObjectWithBackReferences *This);
11706
11707 /*** IObjectWithBackReferences methods ***/
11708 HRESULT (STDMETHODCALLTYPE *RemoveBackReferences)(
11709 IObjectWithBackReferences *This);
11710
11711 END_INTERFACE
11712} IObjectWithBackReferencesVtbl;
11713
11714interface IObjectWithBackReferences {
11715 CONST_VTBL IObjectWithBackReferencesVtbl* lpVtbl;
11716};
11717
11718#ifdef COBJMACROS
11719#ifndef WIDL_C_INLINE_WRAPPERS
11720/*** IUnknown methods ***/
11721#define IObjectWithBackReferences_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11722#define IObjectWithBackReferences_AddRef(This) (This)->lpVtbl->AddRef(This)
11723#define IObjectWithBackReferences_Release(This) (This)->lpVtbl->Release(This)
11724/*** IObjectWithBackReferences methods ***/
11725#define IObjectWithBackReferences_RemoveBackReferences(This) (This)->lpVtbl->RemoveBackReferences(This)
11726#else
11727/*** IUnknown methods ***/
11728static inline HRESULT IObjectWithBackReferences_QueryInterface(IObjectWithBackReferences* This,REFIID riid,void **ppvObject) {
11729 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11730}
11731static inline ULONG IObjectWithBackReferences_AddRef(IObjectWithBackReferences* This) {
11732 return This->lpVtbl->AddRef(This);
11733}
11734static inline ULONG IObjectWithBackReferences_Release(IObjectWithBackReferences* This) {
11735 return This->lpVtbl->Release(This);
11736}
11737/*** IObjectWithBackReferences methods ***/
11738static inline HRESULT IObjectWithBackReferences_RemoveBackReferences(IObjectWithBackReferences* This) {
11739 return This->lpVtbl->RemoveBackReferences(This);
11740}
11741#endif
11742#endif
11743
11744#endif
11745
11746
11747#endif /* __IObjectWithBackReferences_INTERFACE_DEFINED__ */
11748
11749
11750enum _PROPERTYUI_NAME_FLAGS {
11751 PUIFNF_DEFAULT = 0x0,
11752 PUIFNF_MNEMONIC = 0x1
11753};
11754
11755typedef DWORD PROPERTYUI_NAME_FLAGS;
11756
11757enum _PROPERTYUI_FLAGS {
11758 PUIF_DEFAULT = 0x0,
11759 PUIF_RIGHTALIGN = 0x1,
11760 PUIF_NOLABELININFOTIP = 0x2
11761};
11762
11763typedef DWORD PROPERTYUI_FLAGS;
11764
11765enum _PROPERTYUI_FORMAT_FLAGS {
11766 PUIFFDF_DEFAULT = 0x0,
11767 PUIFFDF_RIGHTTOLEFT = 0x1,
11768 PUIFFDF_SHORTFORMAT = 0x2,
11769 PUIFFDF_NOTIME = 0x4,
11770 PUIFFDF_FRIENDLYDATE = 0x8
11771};
11772
11773typedef DWORD PROPERTYUI_FORMAT_FLAGS;
11774
11775/*****************************************************************************
11776 * IPropertyUI interface
11777 */
11778#ifndef __IPropertyUI_INTERFACE_DEFINED__
11779#define __IPropertyUI_INTERFACE_DEFINED__
11780
11781DEFINE_GUID(IID_IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66);
11782#if defined(__cplusplus) && !defined(CINTERFACE)
11783MIDL_INTERFACE("757a7d9f-919a-4118-99d7-dbb208c8cc66")
11784IPropertyUI : public IUnknown
11785{
11786 virtual HRESULT STDMETHODCALLTYPE ParsePropertyName(
11787 LPCWSTR pszName,
11788 FMTID *pfmtid,
11789 PROPID *ppid,
11790 ULONG *pchEaten) = 0;
11791
11792 virtual HRESULT STDMETHODCALLTYPE GetCannonicalName(
11793 REFFMTID fmtid,
11794 PROPID pid,
11795 LPWSTR pwszText,
11796 DWORD cchText) = 0;
11797
11798 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
11799 REFFMTID fmtid,
11800 PROPID pid,
11801 PROPERTYUI_NAME_FLAGS flags,
11802 LPWSTR pwszText,
11803 DWORD cchText) = 0;
11804
11805 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription(
11806 REFFMTID fmtid,
11807 PROPID pid,
11808 LPWSTR pwszText,
11809 DWORD cchText) = 0;
11810
11811 virtual HRESULT STDMETHODCALLTYPE GetDefaultWidth(
11812 REFFMTID fmtid,
11813 PROPID pid,
11814 ULONG *pcxChars) = 0;
11815
11816 virtual HRESULT STDMETHODCALLTYPE GetFlags(
11817 REFFMTID fmtid,
11818 PROPID pid,
11819 PROPERTYUI_FLAGS *pflags) = 0;
11820
11821 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
11822 REFFMTID fmtid,
11823 PROPID pid,
11824 const PROPVARIANT *ppropvar,
11825 PROPERTYUI_FORMAT_FLAGS puiff,
11826 LPWSTR pwszText,
11827 DWORD cchText) = 0;
11828
11829 virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
11830 REFFMTID fmtid,
11831 PROPID pid,
11832 LPWSTR pwszHelpFile,
11833 DWORD cch,
11834 UINT *puHelpID) = 0;
11835
11836};
11837#ifdef __CRT_UUID_DECL
11838__CRT_UUID_DECL(IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66)
11839#endif
11840#else
11841typedef struct IPropertyUIVtbl {
11842 BEGIN_INTERFACE
11843
11844 /*** IUnknown methods ***/
11845 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11846 IPropertyUI *This,
11847 REFIID riid,
11848 void **ppvObject);
11849
11850 ULONG (STDMETHODCALLTYPE *AddRef)(
11851 IPropertyUI *This);
11852
11853 ULONG (STDMETHODCALLTYPE *Release)(
11854 IPropertyUI *This);
11855
11856 /*** IPropertyUI methods ***/
11857 HRESULT (STDMETHODCALLTYPE *ParsePropertyName)(
11858 IPropertyUI *This,
11859 LPCWSTR pszName,
11860 FMTID *pfmtid,
11861 PROPID *ppid,
11862 ULONG *pchEaten);
11863
11864 HRESULT (STDMETHODCALLTYPE *GetCannonicalName)(
11865 IPropertyUI *This,
11866 REFFMTID fmtid,
11867 PROPID pid,
11868 LPWSTR pwszText,
11869 DWORD cchText);
11870
11871 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
11872 IPropertyUI *This,
11873 REFFMTID fmtid,
11874 PROPID pid,
11875 PROPERTYUI_NAME_FLAGS flags,
11876 LPWSTR pwszText,
11877 DWORD cchText);
11878
11879 HRESULT (STDMETHODCALLTYPE *GetPropertyDescription)(
11880 IPropertyUI *This,
11881 REFFMTID fmtid,
11882 PROPID pid,
11883 LPWSTR pwszText,
11884 DWORD cchText);
11885
11886 HRESULT (STDMETHODCALLTYPE *GetDefaultWidth)(
11887 IPropertyUI *This,
11888 REFFMTID fmtid,
11889 PROPID pid,
11890 ULONG *pcxChars);
11891
11892 HRESULT (STDMETHODCALLTYPE *GetFlags)(
11893 IPropertyUI *This,
11894 REFFMTID fmtid,
11895 PROPID pid,
11896 PROPERTYUI_FLAGS *pflags);
11897
11898 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
11899 IPropertyUI *This,
11900 REFFMTID fmtid,
11901 PROPID pid,
11902 const PROPVARIANT *ppropvar,
11903 PROPERTYUI_FORMAT_FLAGS puiff,
11904 LPWSTR pwszText,
11905 DWORD cchText);
11906
11907 HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
11908 IPropertyUI *This,
11909 REFFMTID fmtid,
11910 PROPID pid,
11911 LPWSTR pwszHelpFile,
11912 DWORD cch,
11913 UINT *puHelpID);
11914
11915 END_INTERFACE
11916} IPropertyUIVtbl;
11917
11918interface IPropertyUI {
11919 CONST_VTBL IPropertyUIVtbl* lpVtbl;
11920};
11921
11922#ifdef COBJMACROS
11923#ifndef WIDL_C_INLINE_WRAPPERS
11924/*** IUnknown methods ***/
11925#define IPropertyUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11926#define IPropertyUI_AddRef(This) (This)->lpVtbl->AddRef(This)
11927#define IPropertyUI_Release(This) (This)->lpVtbl->Release(This)
11928/*** IPropertyUI methods ***/
11929#define IPropertyUI_ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) (This)->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten)
11930#define IPropertyUI_GetCannonicalName(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText)
11931#define IPropertyUI_GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) (This)->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText)
11932#define IPropertyUI_GetPropertyDescription(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText)
11933#define IPropertyUI_GetDefaultWidth(This,fmtid,pid,pcxChars) (This)->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars)
11934#define IPropertyUI_GetFlags(This,fmtid,pid,pflags) (This)->lpVtbl->GetFlags(This,fmtid,pid,pflags)
11935#define IPropertyUI_FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText) (This)->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText)
11936#define IPropertyUI_GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) (This)->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID)
11937#else
11938/*** IUnknown methods ***/
11939static inline HRESULT IPropertyUI_QueryInterface(IPropertyUI* This,REFIID riid,void **ppvObject) {
11940 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11941}
11942static inline ULONG IPropertyUI_AddRef(IPropertyUI* This) {
11943 return This->lpVtbl->AddRef(This);
11944}
11945static inline ULONG IPropertyUI_Release(IPropertyUI* This) {
11946 return This->lpVtbl->Release(This);
11947}
11948/*** IPropertyUI methods ***/
11949static inline HRESULT IPropertyUI_ParsePropertyName(IPropertyUI* This,LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten) {
11950 return This->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten);
11951}
11952static inline HRESULT IPropertyUI_GetCannonicalName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) {
11953 return This->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText);
11954}
11955static inline HRESULT IPropertyUI_GetDisplayName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText) {
11956 return This->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText);
11957}
11958static inline HRESULT IPropertyUI_GetPropertyDescription(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) {
11959 return This->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText);
11960}
11961static inline HRESULT IPropertyUI_GetDefaultWidth(IPropertyUI* This,REFFMTID fmtid,PROPID pid,ULONG *pcxChars) {
11962 return This->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars);
11963}
11964static inline HRESULT IPropertyUI_GetFlags(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pflags) {
11965 return This->lpVtbl->GetFlags(This,fmtid,pid,pflags);
11966}
11967static inline HRESULT IPropertyUI_FormatForDisplay(IPropertyUI* This,REFFMTID fmtid,PROPID pid,const PROPVARIANT *ppropvar,PROPERTYUI_FORMAT_FLAGS puiff,LPWSTR pwszText,DWORD cchText) {
11968 return This->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText);
11969}
11970static inline HRESULT IPropertyUI_GetHelpInfo(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID) {
11971 return This->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID);
11972}
11973#endif
11974#endif
11975
11976#endif
11977
11978
11979#endif /* __IPropertyUI_INTERFACE_DEFINED__ */
11980
11981
11982#if _WIN32_IE >= _WIN32_IE_IE70
11983 SHSTDAPI SHRemovePersonalPropertyValues(IShellItemArray *psia);
11984 SHSTDAPI SHAddDefaultPropertiesByExt(PCWSTR pszExt, IPropertyStore *pPropStore);
11985 SHSTDAPI SHCreateDefaultPropertiesOp(IShellItem *psi, IFileOperation **ppFileOp);
11986 SHSTDAPI SHSetDefaultProperties(HWND hwnd, IShellItem *psi, DWORD dwFileOpFlags, IFileOperationProgressSink *pfops);
11987#endif
11988
11989/*****************************************************************************
11990 * ICategoryProvider interface
11991 */
11992#ifndef __ICategoryProvider_INTERFACE_DEFINED__
11993#define __ICategoryProvider_INTERFACE_DEFINED__
11994
11995DEFINE_GUID(IID_ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3);
11996#if defined(__cplusplus) && !defined(CINTERFACE)
11997MIDL_INTERFACE("9af64809-5864-4c26-a720-c1f78c086ee3")
11998ICategoryProvider : public IUnknown
11999{
12000 virtual HRESULT STDMETHODCALLTYPE CanCategorizeOnSCID(
12001 const SHCOLUMNID *pscid) = 0;
12002
12003 virtual HRESULT STDMETHODCALLTYPE GetDefaultCategory(
12004 GUID *pguid,
12005 SHCOLUMNID *pscid) = 0;
12006
12007 virtual HRESULT STDMETHODCALLTYPE GetCategoryForSCID(
12008 const SHCOLUMNID *pscid,
12009 GUID *pguid) = 0;
12010
12011 virtual HRESULT STDMETHODCALLTYPE EnumCategories(
12012 IEnumGUID **penum) = 0;
12013
12014 virtual HRESULT STDMETHODCALLTYPE GetCategoryName(
12015 const GUID *pguid,
12016 LPWSTR pszName,
12017 UINT cch) = 0;
12018
12019 virtual HRESULT STDMETHODCALLTYPE CreateCategory(
12020 const GUID *pguid,
12021 REFIID riid,
12022 void **ppv) = 0;
12023
12024};
12025#ifdef __CRT_UUID_DECL
12026__CRT_UUID_DECL(ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3)
12027#endif
12028#else
12029typedef struct ICategoryProviderVtbl {
12030 BEGIN_INTERFACE
12031
12032 /*** IUnknown methods ***/
12033 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12034 ICategoryProvider *This,
12035 REFIID riid,
12036 void **ppvObject);
12037
12038 ULONG (STDMETHODCALLTYPE *AddRef)(
12039 ICategoryProvider *This);
12040
12041 ULONG (STDMETHODCALLTYPE *Release)(
12042 ICategoryProvider *This);
12043
12044 /*** ICategoryProvider methods ***/
12045 HRESULT (STDMETHODCALLTYPE *CanCategorizeOnSCID)(
12046 ICategoryProvider *This,
12047 const SHCOLUMNID *pscid);
12048
12049 HRESULT (STDMETHODCALLTYPE *GetDefaultCategory)(
12050 ICategoryProvider *This,
12051 GUID *pguid,
12052 SHCOLUMNID *pscid);
12053
12054 HRESULT (STDMETHODCALLTYPE *GetCategoryForSCID)(
12055 ICategoryProvider *This,
12056 const SHCOLUMNID *pscid,
12057 GUID *pguid);
12058
12059 HRESULT (STDMETHODCALLTYPE *EnumCategories)(
12060 ICategoryProvider *This,
12061 IEnumGUID **penum);
12062
12063 HRESULT (STDMETHODCALLTYPE *GetCategoryName)(
12064 ICategoryProvider *This,
12065 const GUID *pguid,
12066 LPWSTR pszName,
12067 UINT cch);
12068
12069 HRESULT (STDMETHODCALLTYPE *CreateCategory)(
12070 ICategoryProvider *This,
12071 const GUID *pguid,
12072 REFIID riid,
12073 void **ppv);
12074
12075 END_INTERFACE
12076} ICategoryProviderVtbl;
12077
12078interface ICategoryProvider {
12079 CONST_VTBL ICategoryProviderVtbl* lpVtbl;
12080};
12081
12082#ifdef COBJMACROS
12083#ifndef WIDL_C_INLINE_WRAPPERS
12084/*** IUnknown methods ***/
12085#define ICategoryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12086#define ICategoryProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
12087#define ICategoryProvider_Release(This) (This)->lpVtbl->Release(This)
12088/*** ICategoryProvider methods ***/
12089#define ICategoryProvider_CanCategorizeOnSCID(This,pscid) (This)->lpVtbl->CanCategorizeOnSCID(This,pscid)
12090#define ICategoryProvider_GetDefaultCategory(This,pguid,pscid) (This)->lpVtbl->GetDefaultCategory(This,pguid,pscid)
12091#define ICategoryProvider_GetCategoryForSCID(This,pscid,pguid) (This)->lpVtbl->GetCategoryForSCID(This,pscid,pguid)
12092#define ICategoryProvider_EnumCategories(This,penum) (This)->lpVtbl->EnumCategories(This,penum)
12093#define ICategoryProvider_GetCategoryName(This,pguid,pszName,cch) (This)->lpVtbl->GetCategoryName(This,pguid,pszName,cch)
12094#define ICategoryProvider_CreateCategory(This,pguid,riid,ppv) (This)->lpVtbl->CreateCategory(This,pguid,riid,ppv)
12095#else
12096/*** IUnknown methods ***/
12097static inline HRESULT ICategoryProvider_QueryInterface(ICategoryProvider* This,REFIID riid,void **ppvObject) {
12098 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12099}
12100static inline ULONG ICategoryProvider_AddRef(ICategoryProvider* This) {
12101 return This->lpVtbl->AddRef(This);
12102}
12103static inline ULONG ICategoryProvider_Release(ICategoryProvider* This) {
12104 return This->lpVtbl->Release(This);
12105}
12106/*** ICategoryProvider methods ***/
12107static inline HRESULT ICategoryProvider_CanCategorizeOnSCID(ICategoryProvider* This,const SHCOLUMNID *pscid) {
12108 return This->lpVtbl->CanCategorizeOnSCID(This,pscid);
12109}
12110static inline HRESULT ICategoryProvider_GetDefaultCategory(ICategoryProvider* This,GUID *pguid,SHCOLUMNID *pscid) {
12111 return This->lpVtbl->GetDefaultCategory(This,pguid,pscid);
12112}
12113static inline HRESULT ICategoryProvider_GetCategoryForSCID(ICategoryProvider* This,const SHCOLUMNID *pscid,GUID *pguid) {
12114 return This->lpVtbl->GetCategoryForSCID(This,pscid,pguid);
12115}
12116static inline HRESULT ICategoryProvider_EnumCategories(ICategoryProvider* This,IEnumGUID **penum) {
12117 return This->lpVtbl->EnumCategories(This,penum);
12118}
12119static inline HRESULT ICategoryProvider_GetCategoryName(ICategoryProvider* This,const GUID *pguid,LPWSTR pszName,UINT cch) {
12120 return This->lpVtbl->GetCategoryName(This,pguid,pszName,cch);
12121}
12122static inline HRESULT ICategoryProvider_CreateCategory(ICategoryProvider* This,const GUID *pguid,REFIID riid,void **ppv) {
12123 return This->lpVtbl->CreateCategory(This,pguid,riid,ppv);
12124}
12125#endif
12126#endif
12127
12128#endif
12129
12130
12131#endif /* __ICategoryProvider_INTERFACE_DEFINED__ */
12132
12133
12134typedef enum CATEGORYINFO_FLAGS {
12135 CATINFO_NORMAL = 0x0,
12136 CATINFO_COLLAPSED = 0x1,
12137 CATINFO_HIDDEN = 0x2,
12138 CATINFO_EXPANDED = 0x4,
12139 CATINFO_NOHEADER = 0x8,
12140 CATINFO_NOTCOLLAPSIBLE = 0x10,
12141 CATINFO_NOHEADERCOUNT = 0x20,
12142 CATINFO_SUBSETTED = 0x40
12143} CATEGORYINFO_FLAGS;
12144
12145DEFINE_ENUM_FLAG_OPERATORS(CATEGORYINFO_FLAGS)
12146
12147typedef enum CATSORT_FLAGS {
12148 CATSORT_DEFAULT = 0x0,
12149 CATSORT_NAME = 0x1
12150} CATSORT_FLAGS;
12151
12152DEFINE_ENUM_FLAG_OPERATORS(CATSORT_FLAGS)
12153
12154typedef struct CATEGORY_INFO {
12155 CATEGORYINFO_FLAGS cif;
12156 WCHAR wszName[260];
12157} CATEGORY_INFO;
12158
12159/*****************************************************************************
12160 * ICategorizer interface
12161 */
12162#ifndef __ICategorizer_INTERFACE_DEFINED__
12163#define __ICategorizer_INTERFACE_DEFINED__
12164
12165DEFINE_GUID(IID_ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7);
12166#if defined(__cplusplus) && !defined(CINTERFACE)
12167MIDL_INTERFACE("a3b14589-9174-49a8-89a3-06a1ae2b9ba7")
12168ICategorizer : public IUnknown
12169{
12170 virtual HRESULT STDMETHODCALLTYPE GetDescription(
12171 LPWSTR pszDesc,
12172 UINT cch) = 0;
12173
12174 virtual HRESULT STDMETHODCALLTYPE GetCategory(
12175 UINT cidl,
12176 PCUITEMID_CHILD_ARRAY apidl,
12177 DWORD *rgCategoryIds) = 0;
12178
12179 virtual HRESULT STDMETHODCALLTYPE GetCategoryInfo(
12180 DWORD dwCategoryId,
12181 CATEGORY_INFO *pci) = 0;
12182
12183 virtual HRESULT STDMETHODCALLTYPE CompareCategory(
12184 CATSORT_FLAGS csfFlags,
12185 DWORD dwCategoryId1,
12186 DWORD dwCategoryId2) = 0;
12187
12188};
12189#ifdef __CRT_UUID_DECL
12190__CRT_UUID_DECL(ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7)
12191#endif
12192#else
12193typedef struct ICategorizerVtbl {
12194 BEGIN_INTERFACE
12195
12196 /*** IUnknown methods ***/
12197 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12198 ICategorizer *This,
12199 REFIID riid,
12200 void **ppvObject);
12201
12202 ULONG (STDMETHODCALLTYPE *AddRef)(
12203 ICategorizer *This);
12204
12205 ULONG (STDMETHODCALLTYPE *Release)(
12206 ICategorizer *This);
12207
12208 /*** ICategorizer methods ***/
12209 HRESULT (STDMETHODCALLTYPE *GetDescription)(
12210 ICategorizer *This,
12211 LPWSTR pszDesc,
12212 UINT cch);
12213
12214 HRESULT (STDMETHODCALLTYPE *GetCategory)(
12215 ICategorizer *This,
12216 UINT cidl,
12217 PCUITEMID_CHILD_ARRAY apidl,
12218 DWORD *rgCategoryIds);
12219
12220 HRESULT (STDMETHODCALLTYPE *GetCategoryInfo)(
12221 ICategorizer *This,
12222 DWORD dwCategoryId,
12223 CATEGORY_INFO *pci);
12224
12225 HRESULT (STDMETHODCALLTYPE *CompareCategory)(
12226 ICategorizer *This,
12227 CATSORT_FLAGS csfFlags,
12228 DWORD dwCategoryId1,
12229 DWORD dwCategoryId2);
12230
12231 END_INTERFACE
12232} ICategorizerVtbl;
12233
12234interface ICategorizer {
12235 CONST_VTBL ICategorizerVtbl* lpVtbl;
12236};
12237
12238#ifdef COBJMACROS
12239#ifndef WIDL_C_INLINE_WRAPPERS
12240/*** IUnknown methods ***/
12241#define ICategorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12242#define ICategorizer_AddRef(This) (This)->lpVtbl->AddRef(This)
12243#define ICategorizer_Release(This) (This)->lpVtbl->Release(This)
12244/*** ICategorizer methods ***/
12245#define ICategorizer_GetDescription(This,pszDesc,cch) (This)->lpVtbl->GetDescription(This,pszDesc,cch)
12246#define ICategorizer_GetCategory(This,cidl,apidl,rgCategoryIds) (This)->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds)
12247#define ICategorizer_GetCategoryInfo(This,dwCategoryId,pci) (This)->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci)
12248#define ICategorizer_CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) (This)->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2)
12249#else
12250/*** IUnknown methods ***/
12251static inline HRESULT ICategorizer_QueryInterface(ICategorizer* This,REFIID riid,void **ppvObject) {
12252 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12253}
12254static inline ULONG ICategorizer_AddRef(ICategorizer* This) {
12255 return This->lpVtbl->AddRef(This);
12256}
12257static inline ULONG ICategorizer_Release(ICategorizer* This) {
12258 return This->lpVtbl->Release(This);
12259}
12260/*** ICategorizer methods ***/
12261static inline HRESULT ICategorizer_GetDescription(ICategorizer* This,LPWSTR pszDesc,UINT cch) {
12262 return This->lpVtbl->GetDescription(This,pszDesc,cch);
12263}
12264static inline HRESULT ICategorizer_GetCategory(ICategorizer* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,DWORD *rgCategoryIds) {
12265 return This->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds);
12266}
12267static inline HRESULT ICategorizer_GetCategoryInfo(ICategorizer* This,DWORD dwCategoryId,CATEGORY_INFO *pci) {
12268 return This->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci);
12269}
12270static inline HRESULT ICategorizer_CompareCategory(ICategorizer* This,CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2) {
12271 return This->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2);
12272}
12273#endif
12274#endif
12275
12276#endif
12277
12278
12279#endif /* __ICategorizer_INTERFACE_DEFINED__ */
12280
12281
12282#include <pshpack8.h>
12283typedef struct SHDRAGIMAGE {
12284 SIZE sizeDragImage;
12285 POINT ptOffset;
12286 HBITMAP hbmpDragImage;
12287 COLORREF crColorKey;
12288} SHDRAGIMAGE;
12289typedef struct SHDRAGIMAGE *LPSHDRAGIMAGE;
12290#include <poppack.h>
12291
12292#define DI_GETDRAGIMAGE TEXT("ShellGetDragImage")
12293
12294/*****************************************************************************
12295 * IDropTargetHelper interface
12296 */
12297#ifndef __IDropTargetHelper_INTERFACE_DEFINED__
12298#define __IDropTargetHelper_INTERFACE_DEFINED__
12299
12300DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
12301#if defined(__cplusplus) && !defined(CINTERFACE)
12302MIDL_INTERFACE("4657278b-411b-11d2-839a-00c04fd918d0")
12303IDropTargetHelper : public IUnknown
12304{
12305 virtual HRESULT STDMETHODCALLTYPE DragEnter(
12306 HWND hwndTarget,
12307 IDataObject *pDataObject,
12308 POINT *ppt,
12309 DWORD dwEffect) = 0;
12310
12311 virtual HRESULT STDMETHODCALLTYPE DragLeave(
12312 ) = 0;
12313
12314 virtual HRESULT STDMETHODCALLTYPE DragOver(
12315 POINT *ppt,
12316 DWORD dwEffect) = 0;
12317
12318 virtual HRESULT STDMETHODCALLTYPE Drop(
12319 IDataObject *pDataObject,
12320 POINT *ppt,
12321 DWORD dwEffect) = 0;
12322
12323 virtual HRESULT STDMETHODCALLTYPE Show(
12324 WINBOOL fShow) = 0;
12325
12326};
12327#ifdef __CRT_UUID_DECL
12328__CRT_UUID_DECL(IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
12329#endif
12330#else
12331typedef struct IDropTargetHelperVtbl {
12332 BEGIN_INTERFACE
12333
12334 /*** IUnknown methods ***/
12335 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12336 IDropTargetHelper *This,
12337 REFIID riid,
12338 void **ppvObject);
12339
12340 ULONG (STDMETHODCALLTYPE *AddRef)(
12341 IDropTargetHelper *This);
12342
12343 ULONG (STDMETHODCALLTYPE *Release)(
12344 IDropTargetHelper *This);
12345
12346 /*** IDropTargetHelper methods ***/
12347 HRESULT (STDMETHODCALLTYPE *DragEnter)(
12348 IDropTargetHelper *This,
12349 HWND hwndTarget,
12350 IDataObject *pDataObject,
12351 POINT *ppt,
12352 DWORD dwEffect);
12353
12354 HRESULT (STDMETHODCALLTYPE *DragLeave)(
12355 IDropTargetHelper *This);
12356
12357 HRESULT (STDMETHODCALLTYPE *DragOver)(
12358 IDropTargetHelper *This,
12359 POINT *ppt,
12360 DWORD dwEffect);
12361
12362 HRESULT (STDMETHODCALLTYPE *Drop)(
12363 IDropTargetHelper *This,
12364 IDataObject *pDataObject,
12365 POINT *ppt,
12366 DWORD dwEffect);
12367
12368 HRESULT (STDMETHODCALLTYPE *Show)(
12369 IDropTargetHelper *This,
12370 WINBOOL fShow);
12371
12372 END_INTERFACE
12373} IDropTargetHelperVtbl;
12374
12375interface IDropTargetHelper {
12376 CONST_VTBL IDropTargetHelperVtbl* lpVtbl;
12377};
12378
12379#ifdef COBJMACROS
12380#ifndef WIDL_C_INLINE_WRAPPERS
12381/*** IUnknown methods ***/
12382#define IDropTargetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12383#define IDropTargetHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
12384#define IDropTargetHelper_Release(This) (This)->lpVtbl->Release(This)
12385/*** IDropTargetHelper methods ***/
12386#define IDropTargetHelper_DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect) (This)->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect)
12387#define IDropTargetHelper_DragLeave(This) (This)->lpVtbl->DragLeave(This)
12388#define IDropTargetHelper_DragOver(This,ppt,dwEffect) (This)->lpVtbl->DragOver(This,ppt,dwEffect)
12389#define IDropTargetHelper_Drop(This,pDataObject,ppt,dwEffect) (This)->lpVtbl->Drop(This,pDataObject,ppt,dwEffect)
12390#define IDropTargetHelper_Show(This,fShow) (This)->lpVtbl->Show(This,fShow)
12391#else
12392/*** IUnknown methods ***/
12393static inline HRESULT IDropTargetHelper_QueryInterface(IDropTargetHelper* This,REFIID riid,void **ppvObject) {
12394 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12395}
12396static inline ULONG IDropTargetHelper_AddRef(IDropTargetHelper* This) {
12397 return This->lpVtbl->AddRef(This);
12398}
12399static inline ULONG IDropTargetHelper_Release(IDropTargetHelper* This) {
12400 return This->lpVtbl->Release(This);
12401}
12402/*** IDropTargetHelper methods ***/
12403static inline HRESULT IDropTargetHelper_DragEnter(IDropTargetHelper* This,HWND hwndTarget,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) {
12404 return This->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect);
12405}
12406static inline HRESULT IDropTargetHelper_DragLeave(IDropTargetHelper* This) {
12407 return This->lpVtbl->DragLeave(This);
12408}
12409static inline HRESULT IDropTargetHelper_DragOver(IDropTargetHelper* This,POINT *ppt,DWORD dwEffect) {
12410 return This->lpVtbl->DragOver(This,ppt,dwEffect);
12411}
12412static inline HRESULT IDropTargetHelper_Drop(IDropTargetHelper* This,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) {
12413 return This->lpVtbl->Drop(This,pDataObject,ppt,dwEffect);
12414}
12415static inline HRESULT IDropTargetHelper_Show(IDropTargetHelper* This,WINBOOL fShow) {
12416 return This->lpVtbl->Show(This,fShow);
12417}
12418#endif
12419#endif
12420
12421#endif
12422
12423
12424#endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
12425
12426
12427/*****************************************************************************
12428 * IDragSourceHelper interface
12429 */
12430#ifndef __IDragSourceHelper_INTERFACE_DEFINED__
12431#define __IDragSourceHelper_INTERFACE_DEFINED__
12432
12433DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
12434#if defined(__cplusplus) && !defined(CINTERFACE)
12435MIDL_INTERFACE("de5bf786-477a-11d2-839d-00c04fd918d0")
12436IDragSourceHelper : public IUnknown
12437{
12438 virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
12439 LPSHDRAGIMAGE pshdi,
12440 IDataObject *pDataObject) = 0;
12441
12442 virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow(
12443 HWND hwnd,
12444 POINT *ppt,
12445 IDataObject *pDataObject) = 0;
12446
12447};
12448#ifdef __CRT_UUID_DECL
12449__CRT_UUID_DECL(IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
12450#endif
12451#else
12452typedef struct IDragSourceHelperVtbl {
12453 BEGIN_INTERFACE
12454
12455 /*** IUnknown methods ***/
12456 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12457 IDragSourceHelper *This,
12458 REFIID riid,
12459 void **ppvObject);
12460
12461 ULONG (STDMETHODCALLTYPE *AddRef)(
12462 IDragSourceHelper *This);
12463
12464 ULONG (STDMETHODCALLTYPE *Release)(
12465 IDragSourceHelper *This);
12466
12467 /*** IDragSourceHelper methods ***/
12468 HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
12469 IDragSourceHelper *This,
12470 LPSHDRAGIMAGE pshdi,
12471 IDataObject *pDataObject);
12472
12473 HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
12474 IDragSourceHelper *This,
12475 HWND hwnd,
12476 POINT *ppt,
12477 IDataObject *pDataObject);
12478
12479 END_INTERFACE
12480} IDragSourceHelperVtbl;
12481
12482interface IDragSourceHelper {
12483 CONST_VTBL IDragSourceHelperVtbl* lpVtbl;
12484};
12485
12486#ifdef COBJMACROS
12487#ifndef WIDL_C_INLINE_WRAPPERS
12488/*** IUnknown methods ***/
12489#define IDragSourceHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12490#define IDragSourceHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
12491#define IDragSourceHelper_Release(This) (This)->lpVtbl->Release(This)
12492/*** IDragSourceHelper methods ***/
12493#define IDragSourceHelper_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject)
12494#define IDragSourceHelper_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject)
12495#else
12496/*** IUnknown methods ***/
12497static inline HRESULT IDragSourceHelper_QueryInterface(IDragSourceHelper* This,REFIID riid,void **ppvObject) {
12498 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12499}
12500static inline ULONG IDragSourceHelper_AddRef(IDragSourceHelper* This) {
12501 return This->lpVtbl->AddRef(This);
12502}
12503static inline ULONG IDragSourceHelper_Release(IDragSourceHelper* This) {
12504 return This->lpVtbl->Release(This);
12505}
12506/*** IDragSourceHelper methods ***/
12507static inline HRESULT IDragSourceHelper_InitializeFromBitmap(IDragSourceHelper* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) {
12508 return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject);
12509}
12510static inline HRESULT IDragSourceHelper_InitializeFromWindow(IDragSourceHelper* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) {
12511 return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject);
12512}
12513#endif
12514#endif
12515
12516#endif
12517
12518
12519#endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
12520
12521
12522#if NTDDI_VERSION >= NTDDI_VISTA
12523typedef enum DSH_FLAGS {
12524 DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1
12525} DSH_FLAGS;
12526
12527DEFINE_ENUM_FLAG_OPERATORS(DSH_FLAGS)
12528
12529/*****************************************************************************
12530 * IDragSourceHelper2 interface
12531 */
12532#ifndef __IDragSourceHelper2_INTERFACE_DEFINED__
12533#define __IDragSourceHelper2_INTERFACE_DEFINED__
12534
12535DEFINE_GUID(IID_IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40);
12536#if defined(__cplusplus) && !defined(CINTERFACE)
12537MIDL_INTERFACE("83e07d0d-0c5f-4163-bf1a-60b274051e40")
12538IDragSourceHelper2 : public IDragSourceHelper
12539{
12540 virtual HRESULT STDMETHODCALLTYPE SetFlags(
12541 DWORD dwFlags) = 0;
12542
12543};
12544#ifdef __CRT_UUID_DECL
12545__CRT_UUID_DECL(IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40)
12546#endif
12547#else
12548typedef struct IDragSourceHelper2Vtbl {
12549 BEGIN_INTERFACE
12550
12551 /*** IUnknown methods ***/
12552 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12553 IDragSourceHelper2 *This,
12554 REFIID riid,
12555 void **ppvObject);
12556
12557 ULONG (STDMETHODCALLTYPE *AddRef)(
12558 IDragSourceHelper2 *This);
12559
12560 ULONG (STDMETHODCALLTYPE *Release)(
12561 IDragSourceHelper2 *This);
12562
12563 /*** IDragSourceHelper methods ***/
12564 HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
12565 IDragSourceHelper2 *This,
12566 LPSHDRAGIMAGE pshdi,
12567 IDataObject *pDataObject);
12568
12569 HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
12570 IDragSourceHelper2 *This,
12571 HWND hwnd,
12572 POINT *ppt,
12573 IDataObject *pDataObject);
12574
12575 /*** IDragSourceHelper2 methods ***/
12576 HRESULT (STDMETHODCALLTYPE *SetFlags)(
12577 IDragSourceHelper2 *This,
12578 DWORD dwFlags);
12579
12580 END_INTERFACE
12581} IDragSourceHelper2Vtbl;
12582
12583interface IDragSourceHelper2 {
12584 CONST_VTBL IDragSourceHelper2Vtbl* lpVtbl;
12585};
12586
12587#ifdef COBJMACROS
12588#ifndef WIDL_C_INLINE_WRAPPERS
12589/*** IUnknown methods ***/
12590#define IDragSourceHelper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12591#define IDragSourceHelper2_AddRef(This) (This)->lpVtbl->AddRef(This)
12592#define IDragSourceHelper2_Release(This) (This)->lpVtbl->Release(This)
12593/*** IDragSourceHelper methods ***/
12594#define IDragSourceHelper2_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject)
12595#define IDragSourceHelper2_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject)
12596/*** IDragSourceHelper2 methods ***/
12597#define IDragSourceHelper2_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
12598#else
12599/*** IUnknown methods ***/
12600static inline HRESULT IDragSourceHelper2_QueryInterface(IDragSourceHelper2* This,REFIID riid,void **ppvObject) {
12601 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12602}
12603static inline ULONG IDragSourceHelper2_AddRef(IDragSourceHelper2* This) {
12604 return This->lpVtbl->AddRef(This);
12605}
12606static inline ULONG IDragSourceHelper2_Release(IDragSourceHelper2* This) {
12607 return This->lpVtbl->Release(This);
12608}
12609/*** IDragSourceHelper methods ***/
12610static inline HRESULT IDragSourceHelper2_InitializeFromBitmap(IDragSourceHelper2* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) {
12611 return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject);
12612}
12613static inline HRESULT IDragSourceHelper2_InitializeFromWindow(IDragSourceHelper2* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) {
12614 return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject);
12615}
12616/*** IDragSourceHelper2 methods ***/
12617static inline HRESULT IDragSourceHelper2_SetFlags(IDragSourceHelper2* This,DWORD dwFlags) {
12618 return This->lpVtbl->SetFlags(This,dwFlags);
12619}
12620#endif
12621#endif
12622
12623#endif
12624
12625
12626#endif /* __IDragSourceHelper2_INTERFACE_DEFINED__ */
12627
12628#endif
12629
12630#define IShellLink __MINGW_NAME_AW(IShellLink)
12631
12632typedef enum SLR_FLAGS {
12633 SLR_NO_UI = 0x1,
12634 SLR_ANY_MATCH = 0x2,
12635 SLR_UPDATE = 0x4,
12636 SLR_NOUPDATE = 0x8,
12637 SLR_NOSEARCH = 0x10,
12638 SLR_NOTRACK = 0x20,
12639 SLR_NOLINKINFO = 0x40,
12640 SLR_INVOKE_MSI = 0x80,
12641 SLR_NO_UI_WITH_MSG_PUMP = 0x101,
12642 SLR_OFFER_DELETE_WITHOUT_FILE = 0x200,
12643 SLR_KNOWNFOLDER = 0x400,
12644 SLR_MACHINE_IN_LOCAL_TARGET = 0x800,
12645 SLR_UPDATE_MACHINE_AND_SID = 0x1000
12646} SLR_FLAGS;
12647
12648DEFINE_ENUM_FLAG_OPERATORS(SLR_FLAGS)
12649
12650typedef enum SLGP_FLAGS {
12651 SLGP_SHORTPATH = 0x1,
12652 SLGP_UNCPRIORITY = 0x2,
12653 SLGP_RAWPATH = 0x4,
12654 SLGP_RELATIVEPRIORITY = 0x8
12655} SLGP_FLAGS;
12656
12657DEFINE_ENUM_FLAG_OPERATORS(SLGP_FLAGS)
12658
12659/*****************************************************************************
12660 * IShellLinkA interface
12661 */
12662#ifndef __IShellLinkA_INTERFACE_DEFINED__
12663#define __IShellLinkA_INTERFACE_DEFINED__
12664
12665DEFINE_GUID(IID_IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12666#if defined(__cplusplus) && !defined(CINTERFACE)
12667MIDL_INTERFACE("000214ee-0000-0000-c000-000000000046")
12668IShellLinkA : public IUnknown
12669{
12670 virtual HRESULT STDMETHODCALLTYPE GetPath(
12671 LPSTR pszFile,
12672 int cch,
12673 WIN32_FIND_DATAA *pfd,
12674 DWORD fFlags) = 0;
12675
12676 virtual HRESULT STDMETHODCALLTYPE GetIDList(
12677 PIDLIST_ABSOLUTE *ppidl) = 0;
12678
12679 virtual HRESULT STDMETHODCALLTYPE SetIDList(
12680 PCIDLIST_ABSOLUTE pidl) = 0;
12681
12682 virtual HRESULT STDMETHODCALLTYPE GetDescription(
12683 LPSTR pszName,
12684 int cch) = 0;
12685
12686 virtual HRESULT STDMETHODCALLTYPE SetDescription(
12687 LPCSTR pszName) = 0;
12688
12689 virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
12690 LPSTR pszDir,
12691 int cch) = 0;
12692
12693 virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
12694 LPCSTR pszDir) = 0;
12695
12696 virtual HRESULT STDMETHODCALLTYPE GetArguments(
12697 LPSTR pszArgs,
12698 int cch) = 0;
12699
12700 virtual HRESULT STDMETHODCALLTYPE SetArguments(
12701 LPCSTR pszArgs) = 0;
12702
12703 virtual HRESULT STDMETHODCALLTYPE GetHotkey(
12704 WORD *pwHotkey) = 0;
12705
12706 virtual HRESULT STDMETHODCALLTYPE SetHotkey(
12707 WORD wHotkey) = 0;
12708
12709 virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
12710 int *piShowCmd) = 0;
12711
12712 virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
12713 int iShowCmd) = 0;
12714
12715 virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
12716 LPSTR pszIconPath,
12717 int cch,
12718 int *piIcon) = 0;
12719
12720 virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
12721 LPCSTR pszIconPath,
12722 int iIcon) = 0;
12723
12724 virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
12725 LPCSTR pszPathRel,
12726 DWORD dwReserved) = 0;
12727
12728 virtual HRESULT STDMETHODCALLTYPE Resolve(
12729 HWND hwnd,
12730 DWORD fFlags) = 0;
12731
12732 virtual HRESULT STDMETHODCALLTYPE SetPath(
12733 LPCSTR pszFile) = 0;
12734
12735};
12736#ifdef __CRT_UUID_DECL
12737__CRT_UUID_DECL(IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12738#endif
12739#else
12740typedef struct IShellLinkAVtbl {
12741 BEGIN_INTERFACE
12742
12743 /*** IUnknown methods ***/
12744 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12745 IShellLinkA *This,
12746 REFIID riid,
12747 void **ppvObject);
12748
12749 ULONG (STDMETHODCALLTYPE *AddRef)(
12750 IShellLinkA *This);
12751
12752 ULONG (STDMETHODCALLTYPE *Release)(
12753 IShellLinkA *This);
12754
12755 /*** IShellLinkA methods ***/
12756 HRESULT (STDMETHODCALLTYPE *GetPath)(
12757 IShellLinkA *This,
12758 LPSTR pszFile,
12759 int cch,
12760 WIN32_FIND_DATAA *pfd,
12761 DWORD fFlags);
12762
12763 HRESULT (STDMETHODCALLTYPE *GetIDList)(
12764 IShellLinkA *This,
12765 PIDLIST_ABSOLUTE *ppidl);
12766
12767 HRESULT (STDMETHODCALLTYPE *SetIDList)(
12768 IShellLinkA *This,
12769 PCIDLIST_ABSOLUTE pidl);
12770
12771 HRESULT (STDMETHODCALLTYPE *GetDescription)(
12772 IShellLinkA *This,
12773 LPSTR pszName,
12774 int cch);
12775
12776 HRESULT (STDMETHODCALLTYPE *SetDescription)(
12777 IShellLinkA *This,
12778 LPCSTR pszName);
12779
12780 HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
12781 IShellLinkA *This,
12782 LPSTR pszDir,
12783 int cch);
12784
12785 HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
12786 IShellLinkA *This,
12787 LPCSTR pszDir);
12788
12789 HRESULT (STDMETHODCALLTYPE *GetArguments)(
12790 IShellLinkA *This,
12791 LPSTR pszArgs,
12792 int cch);
12793
12794 HRESULT (STDMETHODCALLTYPE *SetArguments)(
12795 IShellLinkA *This,
12796 LPCSTR pszArgs);
12797
12798 HRESULT (STDMETHODCALLTYPE *GetHotkey)(
12799 IShellLinkA *This,
12800 WORD *pwHotkey);
12801
12802 HRESULT (STDMETHODCALLTYPE *SetHotkey)(
12803 IShellLinkA *This,
12804 WORD wHotkey);
12805
12806 HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
12807 IShellLinkA *This,
12808 int *piShowCmd);
12809
12810 HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
12811 IShellLinkA *This,
12812 int iShowCmd);
12813
12814 HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
12815 IShellLinkA *This,
12816 LPSTR pszIconPath,
12817 int cch,
12818 int *piIcon);
12819
12820 HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
12821 IShellLinkA *This,
12822 LPCSTR pszIconPath,
12823 int iIcon);
12824
12825 HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
12826 IShellLinkA *This,
12827 LPCSTR pszPathRel,
12828 DWORD dwReserved);
12829
12830 HRESULT (STDMETHODCALLTYPE *Resolve)(
12831 IShellLinkA *This,
12832 HWND hwnd,
12833 DWORD fFlags);
12834
12835 HRESULT (STDMETHODCALLTYPE *SetPath)(
12836 IShellLinkA *This,
12837 LPCSTR pszFile);
12838
12839 END_INTERFACE
12840} IShellLinkAVtbl;
12841
12842interface IShellLinkA {
12843 CONST_VTBL IShellLinkAVtbl* lpVtbl;
12844};
12845
12846#ifdef COBJMACROS
12847#ifndef WIDL_C_INLINE_WRAPPERS
12848/*** IUnknown methods ***/
12849#define IShellLinkA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12850#define IShellLinkA_AddRef(This) (This)->lpVtbl->AddRef(This)
12851#define IShellLinkA_Release(This) (This)->lpVtbl->Release(This)
12852/*** IShellLinkA methods ***/
12853#define IShellLinkA_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
12854#define IShellLinkA_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
12855#define IShellLinkA_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
12856#define IShellLinkA_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
12857#define IShellLinkA_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
12858#define IShellLinkA_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
12859#define IShellLinkA_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
12860#define IShellLinkA_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
12861#define IShellLinkA_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
12862#define IShellLinkA_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
12863#define IShellLinkA_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
12864#define IShellLinkA_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
12865#define IShellLinkA_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
12866#define IShellLinkA_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
12867#define IShellLinkA_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
12868#define IShellLinkA_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
12869#define IShellLinkA_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
12870#define IShellLinkA_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
12871#else
12872/*** IUnknown methods ***/
12873static inline HRESULT IShellLinkA_QueryInterface(IShellLinkA* This,REFIID riid,void **ppvObject) {
12874 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12875}
12876static inline ULONG IShellLinkA_AddRef(IShellLinkA* This) {
12877 return This->lpVtbl->AddRef(This);
12878}
12879static inline ULONG IShellLinkA_Release(IShellLinkA* This) {
12880 return This->lpVtbl->Release(This);
12881}
12882/*** IShellLinkA methods ***/
12883static inline HRESULT IShellLinkA_GetPath(IShellLinkA* This,LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags) {
12884 return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags);
12885}
12886static inline HRESULT IShellLinkA_GetIDList(IShellLinkA* This,PIDLIST_ABSOLUTE *ppidl) {
12887 return This->lpVtbl->GetIDList(This,ppidl);
12888}
12889static inline HRESULT IShellLinkA_SetIDList(IShellLinkA* This,PCIDLIST_ABSOLUTE pidl) {
12890 return This->lpVtbl->SetIDList(This,pidl);
12891}
12892static inline HRESULT IShellLinkA_GetDescription(IShellLinkA* This,LPSTR pszName,int cch) {
12893 return This->lpVtbl->GetDescription(This,pszName,cch);
12894}
12895static inline HRESULT IShellLinkA_SetDescription(IShellLinkA* This,LPCSTR pszName) {
12896 return This->lpVtbl->SetDescription(This,pszName);
12897}
12898static inline HRESULT IShellLinkA_GetWorkingDirectory(IShellLinkA* This,LPSTR pszDir,int cch) {
12899 return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch);
12900}
12901static inline HRESULT IShellLinkA_SetWorkingDirectory(IShellLinkA* This,LPCSTR pszDir) {
12902 return This->lpVtbl->SetWorkingDirectory(This,pszDir);
12903}
12904static inline HRESULT IShellLinkA_GetArguments(IShellLinkA* This,LPSTR pszArgs,int cch) {
12905 return This->lpVtbl->GetArguments(This,pszArgs,cch);
12906}
12907static inline HRESULT IShellLinkA_SetArguments(IShellLinkA* This,LPCSTR pszArgs) {
12908 return This->lpVtbl->SetArguments(This,pszArgs);
12909}
12910static inline HRESULT IShellLinkA_GetHotkey(IShellLinkA* This,WORD *pwHotkey) {
12911 return This->lpVtbl->GetHotkey(This,pwHotkey);
12912}
12913static inline HRESULT IShellLinkA_SetHotkey(IShellLinkA* This,WORD wHotkey) {
12914 return This->lpVtbl->SetHotkey(This,wHotkey);
12915}
12916static inline HRESULT IShellLinkA_GetShowCmd(IShellLinkA* This,int *piShowCmd) {
12917 return This->lpVtbl->GetShowCmd(This,piShowCmd);
12918}
12919static inline HRESULT IShellLinkA_SetShowCmd(IShellLinkA* This,int iShowCmd) {
12920 return This->lpVtbl->SetShowCmd(This,iShowCmd);
12921}
12922static inline HRESULT IShellLinkA_GetIconLocation(IShellLinkA* This,LPSTR pszIconPath,int cch,int *piIcon) {
12923 return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon);
12924}
12925static inline HRESULT IShellLinkA_SetIconLocation(IShellLinkA* This,LPCSTR pszIconPath,int iIcon) {
12926 return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon);
12927}
12928static inline HRESULT IShellLinkA_SetRelativePath(IShellLinkA* This,LPCSTR pszPathRel,DWORD dwReserved) {
12929 return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved);
12930}
12931static inline HRESULT IShellLinkA_Resolve(IShellLinkA* This,HWND hwnd,DWORD fFlags) {
12932 return This->lpVtbl->Resolve(This,hwnd,fFlags);
12933}
12934static inline HRESULT IShellLinkA_SetPath(IShellLinkA* This,LPCSTR pszFile) {
12935 return This->lpVtbl->SetPath(This,pszFile);
12936}
12937#endif
12938#endif
12939
12940#endif
12941
12942
12943#endif /* __IShellLinkA_INTERFACE_DEFINED__ */
12944
12945
12946/*****************************************************************************
12947 * IShellLinkW interface
12948 */
12949#ifndef __IShellLinkW_INTERFACE_DEFINED__
12950#define __IShellLinkW_INTERFACE_DEFINED__
12951
12952DEFINE_GUID(IID_IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12953#if defined(__cplusplus) && !defined(CINTERFACE)
12954MIDL_INTERFACE("000214f9-0000-0000-c000-000000000046")
12955IShellLinkW : public IUnknown
12956{
12957 virtual HRESULT STDMETHODCALLTYPE GetPath(
12958 LPWSTR pszFile,
12959 int cch,
12960 WIN32_FIND_DATAW *pfd,
12961 DWORD fFlags) = 0;
12962
12963 virtual HRESULT STDMETHODCALLTYPE GetIDList(
12964 PIDLIST_ABSOLUTE *ppidl) = 0;
12965
12966 virtual HRESULT STDMETHODCALLTYPE SetIDList(
12967 PCIDLIST_ABSOLUTE pidl) = 0;
12968
12969 virtual HRESULT STDMETHODCALLTYPE GetDescription(
12970 LPWSTR pszName,
12971 int cch) = 0;
12972
12973 virtual HRESULT STDMETHODCALLTYPE SetDescription(
12974 LPCWSTR pszName) = 0;
12975
12976 virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
12977 LPWSTR pszDir,
12978 int cch) = 0;
12979
12980 virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
12981 LPCWSTR pszDir) = 0;
12982
12983 virtual HRESULT STDMETHODCALLTYPE GetArguments(
12984 LPWSTR pszArgs,
12985 int cch) = 0;
12986
12987 virtual HRESULT STDMETHODCALLTYPE SetArguments(
12988 LPCWSTR pszArgs) = 0;
12989
12990 virtual HRESULT STDMETHODCALLTYPE GetHotkey(
12991 WORD *pwHotkey) = 0;
12992
12993 virtual HRESULT STDMETHODCALLTYPE SetHotkey(
12994 WORD wHotkey) = 0;
12995
12996 virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
12997 int *piShowCmd) = 0;
12998
12999 virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
13000 int iShowCmd) = 0;
13001
13002 virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
13003 LPWSTR pszIconPath,
13004 int cch,
13005 int *piIcon) = 0;
13006
13007 virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
13008 LPCWSTR pszIconPath,
13009 int iIcon) = 0;
13010
13011 virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
13012 LPCWSTR pszPathRel,
13013 DWORD dwReserved) = 0;
13014
13015 virtual HRESULT STDMETHODCALLTYPE Resolve(
13016 HWND hwnd,
13017 DWORD fFlags) = 0;
13018
13019 virtual HRESULT STDMETHODCALLTYPE SetPath(
13020 LPCWSTR pszFile) = 0;
13021
13022};
13023#ifdef __CRT_UUID_DECL
13024__CRT_UUID_DECL(IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
13025#endif
13026#else
13027typedef struct IShellLinkWVtbl {
13028 BEGIN_INTERFACE
13029
13030 /*** IUnknown methods ***/
13031 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13032 IShellLinkW *This,
13033 REFIID riid,
13034 void **ppvObject);
13035
13036 ULONG (STDMETHODCALLTYPE *AddRef)(
13037 IShellLinkW *This);
13038
13039 ULONG (STDMETHODCALLTYPE *Release)(
13040 IShellLinkW *This);
13041
13042 /*** IShellLinkW methods ***/
13043 HRESULT (STDMETHODCALLTYPE *GetPath)(
13044 IShellLinkW *This,
13045 LPWSTR pszFile,
13046 int cch,
13047 WIN32_FIND_DATAW *pfd,
13048 DWORD fFlags);
13049
13050 HRESULT (STDMETHODCALLTYPE *GetIDList)(
13051 IShellLinkW *This,
13052 PIDLIST_ABSOLUTE *ppidl);
13053
13054 HRESULT (STDMETHODCALLTYPE *SetIDList)(
13055 IShellLinkW *This,
13056 PCIDLIST_ABSOLUTE pidl);
13057
13058 HRESULT (STDMETHODCALLTYPE *GetDescription)(
13059 IShellLinkW *This,
13060 LPWSTR pszName,
13061 int cch);
13062
13063 HRESULT (STDMETHODCALLTYPE *SetDescription)(
13064 IShellLinkW *This,
13065 LPCWSTR pszName);
13066
13067 HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
13068 IShellLinkW *This,
13069 LPWSTR pszDir,
13070 int cch);
13071
13072 HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
13073 IShellLinkW *This,
13074 LPCWSTR pszDir);
13075
13076 HRESULT (STDMETHODCALLTYPE *GetArguments)(
13077 IShellLinkW *This,
13078 LPWSTR pszArgs,
13079 int cch);
13080
13081 HRESULT (STDMETHODCALLTYPE *SetArguments)(
13082 IShellLinkW *This,
13083 LPCWSTR pszArgs);
13084
13085 HRESULT (STDMETHODCALLTYPE *GetHotkey)(
13086 IShellLinkW *This,
13087 WORD *pwHotkey);
13088
13089 HRESULT (STDMETHODCALLTYPE *SetHotkey)(
13090 IShellLinkW *This,
13091 WORD wHotkey);
13092
13093 HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
13094 IShellLinkW *This,
13095 int *piShowCmd);
13096
13097 HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
13098 IShellLinkW *This,
13099 int iShowCmd);
13100
13101 HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
13102 IShellLinkW *This,
13103 LPWSTR pszIconPath,
13104 int cch,
13105 int *piIcon);
13106
13107 HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
13108 IShellLinkW *This,
13109 LPCWSTR pszIconPath,
13110 int iIcon);
13111
13112 HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
13113 IShellLinkW *This,
13114 LPCWSTR pszPathRel,
13115 DWORD dwReserved);
13116
13117 HRESULT (STDMETHODCALLTYPE *Resolve)(
13118 IShellLinkW *This,
13119 HWND hwnd,
13120 DWORD fFlags);
13121
13122 HRESULT (STDMETHODCALLTYPE *SetPath)(
13123 IShellLinkW *This,
13124 LPCWSTR pszFile);
13125
13126 END_INTERFACE
13127} IShellLinkWVtbl;
13128
13129interface IShellLinkW {
13130 CONST_VTBL IShellLinkWVtbl* lpVtbl;
13131};
13132
13133#ifdef COBJMACROS
13134#ifndef WIDL_C_INLINE_WRAPPERS
13135/*** IUnknown methods ***/
13136#define IShellLinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13137#define IShellLinkW_AddRef(This) (This)->lpVtbl->AddRef(This)
13138#define IShellLinkW_Release(This) (This)->lpVtbl->Release(This)
13139/*** IShellLinkW methods ***/
13140#define IShellLinkW_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
13141#define IShellLinkW_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
13142#define IShellLinkW_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
13143#define IShellLinkW_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
13144#define IShellLinkW_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
13145#define IShellLinkW_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
13146#define IShellLinkW_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
13147#define IShellLinkW_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
13148#define IShellLinkW_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
13149#define IShellLinkW_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
13150#define IShellLinkW_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
13151#define IShellLinkW_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
13152#define IShellLinkW_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
13153#define IShellLinkW_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
13154#define IShellLinkW_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
13155#define IShellLinkW_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
13156#define IShellLinkW_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
13157#define IShellLinkW_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
13158#else
13159/*** IUnknown methods ***/
13160static inline HRESULT IShellLinkW_QueryInterface(IShellLinkW* This,REFIID riid,void **ppvObject) {
13161 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13162}
13163static inline ULONG IShellLinkW_AddRef(IShellLinkW* This) {
13164 return This->lpVtbl->AddRef(This);
13165}
13166static inline ULONG IShellLinkW_Release(IShellLinkW* This) {
13167 return This->lpVtbl->Release(This);
13168}
13169/*** IShellLinkW methods ***/
13170static inline HRESULT IShellLinkW_GetPath(IShellLinkW* This,LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags) {
13171 return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags);
13172}
13173static inline HRESULT IShellLinkW_GetIDList(IShellLinkW* This,PIDLIST_ABSOLUTE *ppidl) {
13174 return This->lpVtbl->GetIDList(This,ppidl);
13175}
13176static inline HRESULT IShellLinkW_SetIDList(IShellLinkW* This,PCIDLIST_ABSOLUTE pidl) {
13177 return This->lpVtbl->SetIDList(This,pidl);
13178}
13179static inline HRESULT IShellLinkW_GetDescription(IShellLinkW* This,LPWSTR pszName,int cch) {
13180 return This->lpVtbl->GetDescription(This,pszName,cch);
13181}
13182static inline HRESULT IShellLinkW_SetDescription(IShellLinkW* This,LPCWSTR pszName) {
13183 return This->lpVtbl->SetDescription(This,pszName);
13184}
13185static inline HRESULT IShellLinkW_GetWorkingDirectory(IShellLinkW* This,LPWSTR pszDir,int cch) {
13186 return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch);
13187}
13188static inline HRESULT IShellLinkW_SetWorkingDirectory(IShellLinkW* This,LPCWSTR pszDir) {
13189 return This->lpVtbl->SetWorkingDirectory(This,pszDir);
13190}
13191static inline HRESULT IShellLinkW_GetArguments(IShellLinkW* This,LPWSTR pszArgs,int cch) {
13192 return This->lpVtbl->GetArguments(This,pszArgs,cch);
13193}
13194static inline HRESULT IShellLinkW_SetArguments(IShellLinkW* This,LPCWSTR pszArgs) {
13195 return This->lpVtbl->SetArguments(This,pszArgs);
13196}
13197static inline HRESULT IShellLinkW_GetHotkey(IShellLinkW* This,WORD *pwHotkey) {
13198 return This->lpVtbl->GetHotkey(This,pwHotkey);
13199}
13200static inline HRESULT IShellLinkW_SetHotkey(IShellLinkW* This,WORD wHotkey) {
13201 return This->lpVtbl->SetHotkey(This,wHotkey);
13202}
13203static inline HRESULT IShellLinkW_GetShowCmd(IShellLinkW* This,int *piShowCmd) {
13204 return This->lpVtbl->GetShowCmd(This,piShowCmd);
13205}
13206static inline HRESULT IShellLinkW_SetShowCmd(IShellLinkW* This,int iShowCmd) {
13207 return This->lpVtbl->SetShowCmd(This,iShowCmd);
13208}
13209static inline HRESULT IShellLinkW_GetIconLocation(IShellLinkW* This,LPWSTR pszIconPath,int cch,int *piIcon) {
13210 return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon);
13211}
13212static inline HRESULT IShellLinkW_SetIconLocation(IShellLinkW* This,LPCWSTR pszIconPath,int iIcon) {
13213 return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon);
13214}
13215static inline HRESULT IShellLinkW_SetRelativePath(IShellLinkW* This,LPCWSTR pszPathRel,DWORD dwReserved) {
13216 return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved);
13217}
13218static inline HRESULT IShellLinkW_Resolve(IShellLinkW* This,HWND hwnd,DWORD fFlags) {
13219 return This->lpVtbl->Resolve(This,hwnd,fFlags);
13220}
13221static inline HRESULT IShellLinkW_SetPath(IShellLinkW* This,LPCWSTR pszFile) {
13222 return This->lpVtbl->SetPath(This,pszFile);
13223}
13224#endif
13225#endif
13226
13227#endif
13228
13229
13230#endif /* __IShellLinkW_INTERFACE_DEFINED__ */
13231
13232
13233/*****************************************************************************
13234 * IShellLinkDataList interface
13235 */
13236#ifndef __IShellLinkDataList_INTERFACE_DEFINED__
13237#define __IShellLinkDataList_INTERFACE_DEFINED__
13238
13239DEFINE_GUID(IID_IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1);
13240#if defined(__cplusplus) && !defined(CINTERFACE)
13241MIDL_INTERFACE("45e2b4ae-b1c3-11d0-b92f-00a0c90312e1")
13242IShellLinkDataList : public IUnknown
13243{
13244 virtual HRESULT STDMETHODCALLTYPE AddDataBlock(
13245 void *pDataBlock) = 0;
13246
13247 virtual HRESULT STDMETHODCALLTYPE CopyDataBlock(
13248 DWORD dwSig,
13249 void **ppDataBlock) = 0;
13250
13251 virtual HRESULT STDMETHODCALLTYPE RemoveDataBlock(
13252 DWORD dwSig) = 0;
13253
13254 virtual HRESULT STDMETHODCALLTYPE GetFlags(
13255 DWORD *pdwFlags) = 0;
13256
13257 virtual HRESULT STDMETHODCALLTYPE SetFlags(
13258 DWORD dwFlags) = 0;
13259
13260};
13261#ifdef __CRT_UUID_DECL
13262__CRT_UUID_DECL(IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1)
13263#endif
13264#else
13265typedef struct IShellLinkDataListVtbl {
13266 BEGIN_INTERFACE
13267
13268 /*** IUnknown methods ***/
13269 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13270 IShellLinkDataList *This,
13271 REFIID riid,
13272 void **ppvObject);
13273
13274 ULONG (STDMETHODCALLTYPE *AddRef)(
13275 IShellLinkDataList *This);
13276
13277 ULONG (STDMETHODCALLTYPE *Release)(
13278 IShellLinkDataList *This);
13279
13280 /*** IShellLinkDataList methods ***/
13281 HRESULT (STDMETHODCALLTYPE *AddDataBlock)(
13282 IShellLinkDataList *This,
13283 void *pDataBlock);
13284
13285 HRESULT (STDMETHODCALLTYPE *CopyDataBlock)(
13286 IShellLinkDataList *This,
13287 DWORD dwSig,
13288 void **ppDataBlock);
13289
13290 HRESULT (STDMETHODCALLTYPE *RemoveDataBlock)(
13291 IShellLinkDataList *This,
13292 DWORD dwSig);
13293
13294 HRESULT (STDMETHODCALLTYPE *GetFlags)(
13295 IShellLinkDataList *This,
13296 DWORD *pdwFlags);
13297
13298 HRESULT (STDMETHODCALLTYPE *SetFlags)(
13299 IShellLinkDataList *This,
13300 DWORD dwFlags);
13301
13302 END_INTERFACE
13303} IShellLinkDataListVtbl;
13304
13305interface IShellLinkDataList {
13306 CONST_VTBL IShellLinkDataListVtbl* lpVtbl;
13307};
13308
13309#ifdef COBJMACROS
13310#ifndef WIDL_C_INLINE_WRAPPERS
13311/*** IUnknown methods ***/
13312#define IShellLinkDataList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13313#define IShellLinkDataList_AddRef(This) (This)->lpVtbl->AddRef(This)
13314#define IShellLinkDataList_Release(This) (This)->lpVtbl->Release(This)
13315/*** IShellLinkDataList methods ***/
13316#define IShellLinkDataList_AddDataBlock(This,pDataBlock) (This)->lpVtbl->AddDataBlock(This,pDataBlock)
13317#define IShellLinkDataList_CopyDataBlock(This,dwSig,ppDataBlock) (This)->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock)
13318#define IShellLinkDataList_RemoveDataBlock(This,dwSig) (This)->lpVtbl->RemoveDataBlock(This,dwSig)
13319#define IShellLinkDataList_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
13320#define IShellLinkDataList_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
13321#else
13322/*** IUnknown methods ***/
13323static inline HRESULT IShellLinkDataList_QueryInterface(IShellLinkDataList* This,REFIID riid,void **ppvObject) {
13324 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13325}
13326static inline ULONG IShellLinkDataList_AddRef(IShellLinkDataList* This) {
13327 return This->lpVtbl->AddRef(This);
13328}
13329static inline ULONG IShellLinkDataList_Release(IShellLinkDataList* This) {
13330 return This->lpVtbl->Release(This);
13331}
13332/*** IShellLinkDataList methods ***/
13333static inline HRESULT IShellLinkDataList_AddDataBlock(IShellLinkDataList* This,void *pDataBlock) {
13334 return This->lpVtbl->AddDataBlock(This,pDataBlock);
13335}
13336static inline HRESULT IShellLinkDataList_CopyDataBlock(IShellLinkDataList* This,DWORD dwSig,void **ppDataBlock) {
13337 return This->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock);
13338}
13339static inline HRESULT IShellLinkDataList_RemoveDataBlock(IShellLinkDataList* This,DWORD dwSig) {
13340 return This->lpVtbl->RemoveDataBlock(This,dwSig);
13341}
13342static inline HRESULT IShellLinkDataList_GetFlags(IShellLinkDataList* This,DWORD *pdwFlags) {
13343 return This->lpVtbl->GetFlags(This,pdwFlags);
13344}
13345static inline HRESULT IShellLinkDataList_SetFlags(IShellLinkDataList* This,DWORD dwFlags) {
13346 return This->lpVtbl->SetFlags(This,dwFlags);
13347}
13348#endif
13349#endif
13350
13351#endif
13352
13353
13354#endif /* __IShellLinkDataList_INTERFACE_DEFINED__ */
13355
13356
13357/*****************************************************************************
13358 * IResolveShellLink interface
13359 */
13360#ifndef __IResolveShellLink_INTERFACE_DEFINED__
13361#define __IResolveShellLink_INTERFACE_DEFINED__
13362
13363DEFINE_GUID(IID_IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0);
13364#if defined(__cplusplus) && !defined(CINTERFACE)
13365MIDL_INTERFACE("5cd52983-9449-11d2-963a-00c04f79adf0")
13366IResolveShellLink : public IUnknown
13367{
13368 virtual HRESULT STDMETHODCALLTYPE ResolveShellLink(
13369 IUnknown *punkLink,
13370 HWND hwnd,
13371 DWORD fFlags) = 0;
13372
13373};
13374#ifdef __CRT_UUID_DECL
13375__CRT_UUID_DECL(IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0)
13376#endif
13377#else
13378typedef struct IResolveShellLinkVtbl {
13379 BEGIN_INTERFACE
13380
13381 /*** IUnknown methods ***/
13382 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13383 IResolveShellLink *This,
13384 REFIID riid,
13385 void **ppvObject);
13386
13387 ULONG (STDMETHODCALLTYPE *AddRef)(
13388 IResolveShellLink *This);
13389
13390 ULONG (STDMETHODCALLTYPE *Release)(
13391 IResolveShellLink *This);
13392
13393 /*** IResolveShellLink methods ***/
13394 HRESULT (STDMETHODCALLTYPE *ResolveShellLink)(
13395 IResolveShellLink *This,
13396 IUnknown *punkLink,
13397 HWND hwnd,
13398 DWORD fFlags);
13399
13400 END_INTERFACE
13401} IResolveShellLinkVtbl;
13402
13403interface IResolveShellLink {
13404 CONST_VTBL IResolveShellLinkVtbl* lpVtbl;
13405};
13406
13407#ifdef COBJMACROS
13408#ifndef WIDL_C_INLINE_WRAPPERS
13409/*** IUnknown methods ***/
13410#define IResolveShellLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13411#define IResolveShellLink_AddRef(This) (This)->lpVtbl->AddRef(This)
13412#define IResolveShellLink_Release(This) (This)->lpVtbl->Release(This)
13413/*** IResolveShellLink methods ***/
13414#define IResolveShellLink_ResolveShellLink(This,punkLink,hwnd,fFlags) (This)->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags)
13415#else
13416/*** IUnknown methods ***/
13417static inline HRESULT IResolveShellLink_QueryInterface(IResolveShellLink* This,REFIID riid,void **ppvObject) {
13418 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13419}
13420static inline ULONG IResolveShellLink_AddRef(IResolveShellLink* This) {
13421 return This->lpVtbl->AddRef(This);
13422}
13423static inline ULONG IResolveShellLink_Release(IResolveShellLink* This) {
13424 return This->lpVtbl->Release(This);
13425}
13426/*** IResolveShellLink methods ***/
13427static inline HRESULT IResolveShellLink_ResolveShellLink(IResolveShellLink* This,IUnknown *punkLink,HWND hwnd,DWORD fFlags) {
13428 return This->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags);
13429}
13430#endif
13431#endif
13432
13433#endif
13434
13435
13436#endif /* __IResolveShellLink_INTERFACE_DEFINED__ */
13437
13438
13439/*****************************************************************************
13440 * IActionProgressDialog interface
13441 */
13442#ifndef __IActionProgressDialog_INTERFACE_DEFINED__
13443#define __IActionProgressDialog_INTERFACE_DEFINED__
13444
13445enum _SPINITF {
13446 SPINITF_NORMAL = 0x0,
13447 SPINITF_MODAL = 0x1,
13448 SPINITF_NOMINIMIZE = 0x8
13449};
13450
13451typedef DWORD SPINITF;
13452
13453DEFINE_GUID(IID_IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c);
13454#if defined(__cplusplus) && !defined(CINTERFACE)
13455MIDL_INTERFACE("49ff1172-eadc-446d-9285-156453a6431c")
13456IActionProgressDialog : public IUnknown
13457{
13458 virtual HRESULT STDMETHODCALLTYPE Initialize(
13459 SPINITF flags,
13460 LPCWSTR pszTitle,
13461 LPCWSTR pszCancel) = 0;
13462
13463 virtual HRESULT STDMETHODCALLTYPE Stop(
13464 ) = 0;
13465
13466};
13467#ifdef __CRT_UUID_DECL
13468__CRT_UUID_DECL(IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c)
13469#endif
13470#else
13471typedef struct IActionProgressDialogVtbl {
13472 BEGIN_INTERFACE
13473
13474 /*** IUnknown methods ***/
13475 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13476 IActionProgressDialog *This,
13477 REFIID riid,
13478 void **ppvObject);
13479
13480 ULONG (STDMETHODCALLTYPE *AddRef)(
13481 IActionProgressDialog *This);
13482
13483 ULONG (STDMETHODCALLTYPE *Release)(
13484 IActionProgressDialog *This);
13485
13486 /*** IActionProgressDialog methods ***/
13487 HRESULT (STDMETHODCALLTYPE *Initialize)(
13488 IActionProgressDialog *This,
13489 SPINITF flags,
13490 LPCWSTR pszTitle,
13491 LPCWSTR pszCancel);
13492
13493 HRESULT (STDMETHODCALLTYPE *Stop)(
13494 IActionProgressDialog *This);
13495
13496 END_INTERFACE
13497} IActionProgressDialogVtbl;
13498
13499interface IActionProgressDialog {
13500 CONST_VTBL IActionProgressDialogVtbl* lpVtbl;
13501};
13502
13503#ifdef COBJMACROS
13504#ifndef WIDL_C_INLINE_WRAPPERS
13505/*** IUnknown methods ***/
13506#define IActionProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13507#define IActionProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
13508#define IActionProgressDialog_Release(This) (This)->lpVtbl->Release(This)
13509/*** IActionProgressDialog methods ***/
13510#define IActionProgressDialog_Initialize(This,flags,pszTitle,pszCancel) (This)->lpVtbl->Initialize(This,flags,pszTitle,pszCancel)
13511#define IActionProgressDialog_Stop(This) (This)->lpVtbl->Stop(This)
13512#else
13513/*** IUnknown methods ***/
13514static inline HRESULT IActionProgressDialog_QueryInterface(IActionProgressDialog* This,REFIID riid,void **ppvObject) {
13515 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13516}
13517static inline ULONG IActionProgressDialog_AddRef(IActionProgressDialog* This) {
13518 return This->lpVtbl->AddRef(This);
13519}
13520static inline ULONG IActionProgressDialog_Release(IActionProgressDialog* This) {
13521 return This->lpVtbl->Release(This);
13522}
13523/*** IActionProgressDialog methods ***/
13524static inline HRESULT IActionProgressDialog_Initialize(IActionProgressDialog* This,SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel) {
13525 return This->lpVtbl->Initialize(This,flags,pszTitle,pszCancel);
13526}
13527static inline HRESULT IActionProgressDialog_Stop(IActionProgressDialog* This) {
13528 return This->lpVtbl->Stop(This);
13529}
13530#endif
13531#endif
13532
13533#endif
13534
13535
13536#endif /* __IActionProgressDialog_INTERFACE_DEFINED__ */
13537
13538
13539/*****************************************************************************
13540 * IHWEventHandler interface
13541 */
13542#ifndef __IHWEventHandler_INTERFACE_DEFINED__
13543#define __IHWEventHandler_INTERFACE_DEFINED__
13544
13545DEFINE_GUID(IID_IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1);
13546#if defined(__cplusplus) && !defined(CINTERFACE)
13547MIDL_INTERFACE("c1fb73d0-ec3a-4ba2-b512-8cdb9187b6d1")
13548IHWEventHandler : public IUnknown
13549{
13550 virtual HRESULT STDMETHODCALLTYPE Initialize(
13551 LPCWSTR pszParams) = 0;
13552
13553 virtual HRESULT STDMETHODCALLTYPE HandleEvent(
13554 LPCWSTR pszDeviceID,
13555 LPCWSTR pszAltDeviceID,
13556 LPCWSTR pszEventType) = 0;
13557
13558 virtual HRESULT STDMETHODCALLTYPE HandleEventWithContent(
13559 LPCWSTR pszDeviceID,
13560 LPCWSTR pszAltDeviceID,
13561 LPCWSTR pszEventType,
13562 LPCWSTR pszContentTypeHandler,
13563 IDataObject *pdataobject) = 0;
13564
13565};
13566#ifdef __CRT_UUID_DECL
13567__CRT_UUID_DECL(IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1)
13568#endif
13569#else
13570typedef struct IHWEventHandlerVtbl {
13571 BEGIN_INTERFACE
13572
13573 /*** IUnknown methods ***/
13574 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13575 IHWEventHandler *This,
13576 REFIID riid,
13577 void **ppvObject);
13578
13579 ULONG (STDMETHODCALLTYPE *AddRef)(
13580 IHWEventHandler *This);
13581
13582 ULONG (STDMETHODCALLTYPE *Release)(
13583 IHWEventHandler *This);
13584
13585 /*** IHWEventHandler methods ***/
13586 HRESULT (STDMETHODCALLTYPE *Initialize)(
13587 IHWEventHandler *This,
13588 LPCWSTR pszParams);
13589
13590 HRESULT (STDMETHODCALLTYPE *HandleEvent)(
13591 IHWEventHandler *This,
13592 LPCWSTR pszDeviceID,
13593 LPCWSTR pszAltDeviceID,
13594 LPCWSTR pszEventType);
13595
13596 HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)(
13597 IHWEventHandler *This,
13598 LPCWSTR pszDeviceID,
13599 LPCWSTR pszAltDeviceID,
13600 LPCWSTR pszEventType,
13601 LPCWSTR pszContentTypeHandler,
13602 IDataObject *pdataobject);
13603
13604 END_INTERFACE
13605} IHWEventHandlerVtbl;
13606
13607interface IHWEventHandler {
13608 CONST_VTBL IHWEventHandlerVtbl* lpVtbl;
13609};
13610
13611#ifdef COBJMACROS
13612#ifndef WIDL_C_INLINE_WRAPPERS
13613/*** IUnknown methods ***/
13614#define IHWEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13615#define IHWEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
13616#define IHWEventHandler_Release(This) (This)->lpVtbl->Release(This)
13617/*** IHWEventHandler methods ***/
13618#define IHWEventHandler_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams)
13619#define IHWEventHandler_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
13620#define IHWEventHandler_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
13621#else
13622/*** IUnknown methods ***/
13623static inline HRESULT IHWEventHandler_QueryInterface(IHWEventHandler* This,REFIID riid,void **ppvObject) {
13624 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13625}
13626static inline ULONG IHWEventHandler_AddRef(IHWEventHandler* This) {
13627 return This->lpVtbl->AddRef(This);
13628}
13629static inline ULONG IHWEventHandler_Release(IHWEventHandler* This) {
13630 return This->lpVtbl->Release(This);
13631}
13632/*** IHWEventHandler methods ***/
13633static inline HRESULT IHWEventHandler_Initialize(IHWEventHandler* This,LPCWSTR pszParams) {
13634 return This->lpVtbl->Initialize(This,pszParams);
13635}
13636static inline HRESULT IHWEventHandler_HandleEvent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) {
13637 return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType);
13638}
13639static inline HRESULT IHWEventHandler_HandleEventWithContent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) {
13640 return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject);
13641}
13642#endif
13643#endif
13644
13645#endif
13646
13647
13648#endif /* __IHWEventHandler_INTERFACE_DEFINED__ */
13649
13650
13651/*****************************************************************************
13652 * IHWEventHandler2 interface
13653 */
13654#ifndef __IHWEventHandler2_INTERFACE_DEFINED__
13655#define __IHWEventHandler2_INTERFACE_DEFINED__
13656
13657DEFINE_GUID(IID_IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6);
13658#if defined(__cplusplus) && !defined(CINTERFACE)
13659MIDL_INTERFACE("cfcc809f-295d-42e8-9ffc-424b33c487e6")
13660IHWEventHandler2 : public IHWEventHandler
13661{
13662 virtual HRESULT STDMETHODCALLTYPE HandleEventWithHWND(
13663 LPCWSTR pszDeviceID,
13664 LPCWSTR pszAltDeviceID,
13665 LPCWSTR pszEventType,
13666 HWND hwndOwner) = 0;
13667
13668};
13669#ifdef __CRT_UUID_DECL
13670__CRT_UUID_DECL(IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6)
13671#endif
13672#else
13673typedef struct IHWEventHandler2Vtbl {
13674 BEGIN_INTERFACE
13675
13676 /*** IUnknown methods ***/
13677 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13678 IHWEventHandler2 *This,
13679 REFIID riid,
13680 void **ppvObject);
13681
13682 ULONG (STDMETHODCALLTYPE *AddRef)(
13683 IHWEventHandler2 *This);
13684
13685 ULONG (STDMETHODCALLTYPE *Release)(
13686 IHWEventHandler2 *This);
13687
13688 /*** IHWEventHandler methods ***/
13689 HRESULT (STDMETHODCALLTYPE *Initialize)(
13690 IHWEventHandler2 *This,
13691 LPCWSTR pszParams);
13692
13693 HRESULT (STDMETHODCALLTYPE *HandleEvent)(
13694 IHWEventHandler2 *This,
13695 LPCWSTR pszDeviceID,
13696 LPCWSTR pszAltDeviceID,
13697 LPCWSTR pszEventType);
13698
13699 HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)(
13700 IHWEventHandler2 *This,
13701 LPCWSTR pszDeviceID,
13702 LPCWSTR pszAltDeviceID,
13703 LPCWSTR pszEventType,
13704 LPCWSTR pszContentTypeHandler,
13705 IDataObject *pdataobject);
13706
13707 /*** IHWEventHandler2 methods ***/
13708 HRESULT (STDMETHODCALLTYPE *HandleEventWithHWND)(
13709 IHWEventHandler2 *This,
13710 LPCWSTR pszDeviceID,
13711 LPCWSTR pszAltDeviceID,
13712 LPCWSTR pszEventType,
13713 HWND hwndOwner);
13714
13715 END_INTERFACE
13716} IHWEventHandler2Vtbl;
13717
13718interface IHWEventHandler2 {
13719 CONST_VTBL IHWEventHandler2Vtbl* lpVtbl;
13720};
13721
13722#ifdef COBJMACROS
13723#ifndef WIDL_C_INLINE_WRAPPERS
13724/*** IUnknown methods ***/
13725#define IHWEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13726#define IHWEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
13727#define IHWEventHandler2_Release(This) (This)->lpVtbl->Release(This)
13728/*** IHWEventHandler methods ***/
13729#define IHWEventHandler2_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams)
13730#define IHWEventHandler2_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
13731#define IHWEventHandler2_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
13732/*** IHWEventHandler2 methods ***/
13733#define IHWEventHandler2_HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner) (This)->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner)
13734#else
13735/*** IUnknown methods ***/
13736static inline HRESULT IHWEventHandler2_QueryInterface(IHWEventHandler2* This,REFIID riid,void **ppvObject) {
13737 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13738}
13739static inline ULONG IHWEventHandler2_AddRef(IHWEventHandler2* This) {
13740 return This->lpVtbl->AddRef(This);
13741}
13742static inline ULONG IHWEventHandler2_Release(IHWEventHandler2* This) {
13743 return This->lpVtbl->Release(This);
13744}
13745/*** IHWEventHandler methods ***/
13746static inline HRESULT IHWEventHandler2_Initialize(IHWEventHandler2* This,LPCWSTR pszParams) {
13747 return This->lpVtbl->Initialize(This,pszParams);
13748}
13749static inline HRESULT IHWEventHandler2_HandleEvent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) {
13750 return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType);
13751}
13752static inline HRESULT IHWEventHandler2_HandleEventWithContent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) {
13753 return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject);
13754}
13755/*** IHWEventHandler2 methods ***/
13756static inline HRESULT IHWEventHandler2_HandleEventWithHWND(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,HWND hwndOwner) {
13757 return This->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner);
13758}
13759#endif
13760#endif
13761
13762#endif
13763
13764
13765#endif /* __IHWEventHandler2_INTERFACE_DEFINED__ */
13766
13767
13768#define ARCONTENT_AUTORUNINF 0x00000002
13769#define ARCONTENT_AUDIOCD 0x00000004
13770#define ARCONTENT_DVDMOVIE 0x00000008
13771#define ARCONTENT_BLANKCD 0x00000010
13772#define ARCONTENT_BLANKDVD 0x00000020
13773#define ARCONTENT_UNKNOWNCONTENT 0x00000040
13774#define ARCONTENT_AUTOPLAYPIX 0x00000080
13775#define ARCONTENT_AUTOPLAYMUSIC 0x00000100
13776#define ARCONTENT_AUTOPLAYVIDEO 0x00000200
13777
13778#if NTDDI_VERSION >= NTDDI_VISTA
13779#define ARCONTENT_VCD 0x00000400
13780#define ARCONTENT_SVCD 0x00000800
13781#define ARCONTENT_DVDAUDIO 0x00001000
13782#define ARCONTENT_BLANKBD 0x00002000
13783#define ARCONTENT_BLURAY 0x00004000
13784#define ARCONTENT_CAMERASTORAGE 0x00008000
13785#define ARCONTENT_CUSTOMEVENT 0x00010000
13786#define ARCONTENT_NONE 0x00000000
13787#define ARCONTENT_MASK 0x0001FFFE
13788
13789#define ARCONTENT_PHASE_UNKNOWN 0x00000000
13790#define ARCONTENT_PHASE_PRESNIFF 0x10000000
13791#define ARCONTENT_PHASE_SNIFFING 0x20000000
13792#define ARCONTENT_PHASE_FINAL 0x40000000
13793#define ARCONTENT_PHASE_MASK 0x70000000
13794#endif
13795
13796/*****************************************************************************
13797 * IQueryCancelAutoPlay interface
13798 */
13799#ifndef __IQueryCancelAutoPlay_INTERFACE_DEFINED__
13800#define __IQueryCancelAutoPlay_INTERFACE_DEFINED__
13801
13802DEFINE_GUID(IID_IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12);
13803#if defined(__cplusplus) && !defined(CINTERFACE)
13804MIDL_INTERFACE("ddefe873-6997-4e68-be26-39b633adbe12")
13805IQueryCancelAutoPlay : public IUnknown
13806{
13807 virtual HRESULT STDMETHODCALLTYPE AllowAutoPlay(
13808 LPCWSTR pszPath,
13809 DWORD dwContentType,
13810 LPCWSTR pszLabel,
13811 DWORD dwSerialNumber) = 0;
13812
13813};
13814#ifdef __CRT_UUID_DECL
13815__CRT_UUID_DECL(IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12)
13816#endif
13817#else
13818typedef struct IQueryCancelAutoPlayVtbl {
13819 BEGIN_INTERFACE
13820
13821 /*** IUnknown methods ***/
13822 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13823 IQueryCancelAutoPlay *This,
13824 REFIID riid,
13825 void **ppvObject);
13826
13827 ULONG (STDMETHODCALLTYPE *AddRef)(
13828 IQueryCancelAutoPlay *This);
13829
13830 ULONG (STDMETHODCALLTYPE *Release)(
13831 IQueryCancelAutoPlay *This);
13832
13833 /*** IQueryCancelAutoPlay methods ***/
13834 HRESULT (STDMETHODCALLTYPE *AllowAutoPlay)(
13835 IQueryCancelAutoPlay *This,
13836 LPCWSTR pszPath,
13837 DWORD dwContentType,
13838 LPCWSTR pszLabel,
13839 DWORD dwSerialNumber);
13840
13841 END_INTERFACE
13842} IQueryCancelAutoPlayVtbl;
13843
13844interface IQueryCancelAutoPlay {
13845 CONST_VTBL IQueryCancelAutoPlayVtbl* lpVtbl;
13846};
13847
13848#ifdef COBJMACROS
13849#ifndef WIDL_C_INLINE_WRAPPERS
13850/*** IUnknown methods ***/
13851#define IQueryCancelAutoPlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13852#define IQueryCancelAutoPlay_AddRef(This) (This)->lpVtbl->AddRef(This)
13853#define IQueryCancelAutoPlay_Release(This) (This)->lpVtbl->Release(This)
13854/*** IQueryCancelAutoPlay methods ***/
13855#define IQueryCancelAutoPlay_AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) (This)->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber)
13856#else
13857/*** IUnknown methods ***/
13858static inline HRESULT IQueryCancelAutoPlay_QueryInterface(IQueryCancelAutoPlay* This,REFIID riid,void **ppvObject) {
13859 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13860}
13861static inline ULONG IQueryCancelAutoPlay_AddRef(IQueryCancelAutoPlay* This) {
13862 return This->lpVtbl->AddRef(This);
13863}
13864static inline ULONG IQueryCancelAutoPlay_Release(IQueryCancelAutoPlay* This) {
13865 return This->lpVtbl->Release(This);
13866}
13867/*** IQueryCancelAutoPlay methods ***/
13868static inline HRESULT IQueryCancelAutoPlay_AllowAutoPlay(IQueryCancelAutoPlay* This,LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber) {
13869 return This->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber);
13870}
13871#endif
13872#endif
13873
13874#endif
13875
13876
13877#endif /* __IQueryCancelAutoPlay_INTERFACE_DEFINED__ */
13878
13879
13880#if NTDDI_VERSION >= NTDDI_VISTA
13881/*****************************************************************************
13882 * IDynamicHWHandler interface
13883 */
13884#ifndef __IDynamicHWHandler_INTERFACE_DEFINED__
13885#define __IDynamicHWHandler_INTERFACE_DEFINED__
13886
13887DEFINE_GUID(IID_IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7);
13888#if defined(__cplusplus) && !defined(CINTERFACE)
13889MIDL_INTERFACE("dc2601d7-059e-42fc-a09d-2afd21b6d5f7")
13890IDynamicHWHandler : public IUnknown
13891{
13892 virtual HRESULT STDMETHODCALLTYPE GetDynamicInfo(
13893 LPCWSTR pszDeviceID,
13894 DWORD dwContentType,
13895 LPWSTR *ppszAction) = 0;
13896
13897};
13898#ifdef __CRT_UUID_DECL
13899__CRT_UUID_DECL(IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7)
13900#endif
13901#else
13902typedef struct IDynamicHWHandlerVtbl {
13903 BEGIN_INTERFACE
13904
13905 /*** IUnknown methods ***/
13906 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13907 IDynamicHWHandler *This,
13908 REFIID riid,
13909 void **ppvObject);
13910
13911 ULONG (STDMETHODCALLTYPE *AddRef)(
13912 IDynamicHWHandler *This);
13913
13914 ULONG (STDMETHODCALLTYPE *Release)(
13915 IDynamicHWHandler *This);
13916
13917 /*** IDynamicHWHandler methods ***/
13918 HRESULT (STDMETHODCALLTYPE *GetDynamicInfo)(
13919 IDynamicHWHandler *This,
13920 LPCWSTR pszDeviceID,
13921 DWORD dwContentType,
13922 LPWSTR *ppszAction);
13923
13924 END_INTERFACE
13925} IDynamicHWHandlerVtbl;
13926
13927interface IDynamicHWHandler {
13928 CONST_VTBL IDynamicHWHandlerVtbl* lpVtbl;
13929};
13930
13931#ifdef COBJMACROS
13932#ifndef WIDL_C_INLINE_WRAPPERS
13933/*** IUnknown methods ***/
13934#define IDynamicHWHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13935#define IDynamicHWHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
13936#define IDynamicHWHandler_Release(This) (This)->lpVtbl->Release(This)
13937/*** IDynamicHWHandler methods ***/
13938#define IDynamicHWHandler_GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction) (This)->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction)
13939#else
13940/*** IUnknown methods ***/
13941static inline HRESULT IDynamicHWHandler_QueryInterface(IDynamicHWHandler* This,REFIID riid,void **ppvObject) {
13942 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13943}
13944static inline ULONG IDynamicHWHandler_AddRef(IDynamicHWHandler* This) {
13945 return This->lpVtbl->AddRef(This);
13946}
13947static inline ULONG IDynamicHWHandler_Release(IDynamicHWHandler* This) {
13948 return This->lpVtbl->Release(This);
13949}
13950/*** IDynamicHWHandler methods ***/
13951static inline HRESULT IDynamicHWHandler_GetDynamicInfo(IDynamicHWHandler* This,LPCWSTR pszDeviceID,DWORD dwContentType,LPWSTR *ppszAction) {
13952 return This->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction);
13953}
13954#endif
13955#endif
13956
13957#endif
13958
13959
13960#endif /* __IDynamicHWHandler_INTERFACE_DEFINED__ */
13961
13962#endif
13963
13964/*****************************************************************************
13965 * IActionProgress interface
13966 */
13967#ifndef __IActionProgress_INTERFACE_DEFINED__
13968#define __IActionProgress_INTERFACE_DEFINED__
13969
13970enum _SPBEGINF {
13971 SPBEGINF_NORMAL = 0x0,
13972 SPBEGINF_AUTOTIME = 0x2,
13973 SPBEGINF_NOPROGRESSBAR = 0x10,
13974 SPBEGINF_MARQUEEPROGRESS = 0x20,
13975 SPBEGINF_NOCANCELBUTTON = 0x40
13976};
13977
13978typedef DWORD SPBEGINF;
13979
13980typedef enum _SPACTION {
13981 SPACTION_NONE = 0,
13982 SPACTION_MOVING = 1,
13983 SPACTION_COPYING = 2,
13984 SPACTION_RECYCLING = 3,
13985 SPACTION_APPLYINGATTRIBS = 4,
13986 SPACTION_DOWNLOADING = 5,
13987 SPACTION_SEARCHING_INTERNET = 6,
13988 SPACTION_CALCULATING = 7,
13989 SPACTION_UPLOADING = 8,
13990 SPACTION_SEARCHING_FILES = 9,
13991 SPACTION_DELETING = 10,
13992 SPACTION_RENAMING = 11,
13993 SPACTION_FORMATTING = 12,
13994 SPACTION_COPY_MOVING = 13
13995} SPACTION;
13996
13997typedef enum _SPTEXT {
13998 SPTEXT_ACTIONDESCRIPTION = 1,
13999 SPTEXT_ACTIONDETAIL = 2
14000} SPTEXT;
14001
14002DEFINE_GUID(IID_IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c);
14003#if defined(__cplusplus) && !defined(CINTERFACE)
14004MIDL_INTERFACE("49ff1173-eadc-446d-9285-156453a6431c")
14005IActionProgress : public IUnknown
14006{
14007 virtual HRESULT STDMETHODCALLTYPE Begin(
14008 SPACTION action,
14009 SPBEGINF flags) = 0;
14010
14011 virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
14012 ULONGLONG ulCompleted,
14013 ULONGLONG ulTotal) = 0;
14014
14015 virtual HRESULT STDMETHODCALLTYPE UpdateText(
14016 SPTEXT sptext,
14017 LPCWSTR pszText,
14018 WINBOOL fMayCompact) = 0;
14019
14020 virtual HRESULT STDMETHODCALLTYPE QueryCancel(
14021 WINBOOL *pfCancelled) = 0;
14022
14023 virtual HRESULT STDMETHODCALLTYPE ResetCancel(
14024 ) = 0;
14025
14026 virtual HRESULT STDMETHODCALLTYPE End(
14027 ) = 0;
14028
14029};
14030#ifdef __CRT_UUID_DECL
14031__CRT_UUID_DECL(IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c)
14032#endif
14033#else
14034typedef struct IActionProgressVtbl {
14035 BEGIN_INTERFACE
14036
14037 /*** IUnknown methods ***/
14038 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14039 IActionProgress *This,
14040 REFIID riid,
14041 void **ppvObject);
14042
14043 ULONG (STDMETHODCALLTYPE *AddRef)(
14044 IActionProgress *This);
14045
14046 ULONG (STDMETHODCALLTYPE *Release)(
14047 IActionProgress *This);
14048
14049 /*** IActionProgress methods ***/
14050 HRESULT (STDMETHODCALLTYPE *Begin)(
14051 IActionProgress *This,
14052 SPACTION action,
14053 SPBEGINF flags);
14054
14055 HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
14056 IActionProgress *This,
14057 ULONGLONG ulCompleted,
14058 ULONGLONG ulTotal);
14059
14060 HRESULT (STDMETHODCALLTYPE *UpdateText)(
14061 IActionProgress *This,
14062 SPTEXT sptext,
14063 LPCWSTR pszText,
14064 WINBOOL fMayCompact);
14065
14066 HRESULT (STDMETHODCALLTYPE *QueryCancel)(
14067 IActionProgress *This,
14068 WINBOOL *pfCancelled);
14069
14070 HRESULT (STDMETHODCALLTYPE *ResetCancel)(
14071 IActionProgress *This);
14072
14073 HRESULT (STDMETHODCALLTYPE *End)(
14074 IActionProgress *This);
14075
14076 END_INTERFACE
14077} IActionProgressVtbl;
14078
14079interface IActionProgress {
14080 CONST_VTBL IActionProgressVtbl* lpVtbl;
14081};
14082
14083#ifdef COBJMACROS
14084#ifndef WIDL_C_INLINE_WRAPPERS
14085/*** IUnknown methods ***/
14086#define IActionProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14087#define IActionProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
14088#define IActionProgress_Release(This) (This)->lpVtbl->Release(This)
14089/*** IActionProgress methods ***/
14090#define IActionProgress_Begin(This,action,flags) (This)->lpVtbl->Begin(This,action,flags)
14091#define IActionProgress_UpdateProgress(This,ulCompleted,ulTotal) (This)->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal)
14092#define IActionProgress_UpdateText(This,sptext,pszText,fMayCompact) (This)->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact)
14093#define IActionProgress_QueryCancel(This,pfCancelled) (This)->lpVtbl->QueryCancel(This,pfCancelled)
14094#define IActionProgress_ResetCancel(This) (This)->lpVtbl->ResetCancel(This)
14095#define IActionProgress_End(This) (This)->lpVtbl->End(This)
14096#else
14097/*** IUnknown methods ***/
14098static inline HRESULT IActionProgress_QueryInterface(IActionProgress* This,REFIID riid,void **ppvObject) {
14099 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14100}
14101static inline ULONG IActionProgress_AddRef(IActionProgress* This) {
14102 return This->lpVtbl->AddRef(This);
14103}
14104static inline ULONG IActionProgress_Release(IActionProgress* This) {
14105 return This->lpVtbl->Release(This);
14106}
14107/*** IActionProgress methods ***/
14108static inline HRESULT IActionProgress_Begin(IActionProgress* This,SPACTION action,SPBEGINF flags) {
14109 return This->lpVtbl->Begin(This,action,flags);
14110}
14111static inline HRESULT IActionProgress_UpdateProgress(IActionProgress* This,ULONGLONG ulCompleted,ULONGLONG ulTotal) {
14112 return This->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal);
14113}
14114static inline HRESULT IActionProgress_UpdateText(IActionProgress* This,SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact) {
14115 return This->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact);
14116}
14117static inline HRESULT IActionProgress_QueryCancel(IActionProgress* This,WINBOOL *pfCancelled) {
14118 return This->lpVtbl->QueryCancel(This,pfCancelled);
14119}
14120static inline HRESULT IActionProgress_ResetCancel(IActionProgress* This) {
14121 return This->lpVtbl->ResetCancel(This);
14122}
14123static inline HRESULT IActionProgress_End(IActionProgress* This) {
14124 return This->lpVtbl->End(This);
14125}
14126#endif
14127#endif
14128
14129#endif
14130
14131
14132#endif /* __IActionProgress_INTERFACE_DEFINED__ */
14133
14134
14135/*****************************************************************************
14136 * IShellExtInit interface
14137 */
14138#ifndef __IShellExtInit_INTERFACE_DEFINED__
14139#define __IShellExtInit_INTERFACE_DEFINED__
14140
14141DEFINE_GUID(IID_IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
14142#if defined(__cplusplus) && !defined(CINTERFACE)
14143MIDL_INTERFACE("000214e8-0000-0000-c000-000000000046")
14144IShellExtInit : public IUnknown
14145{
14146 virtual HRESULT STDMETHODCALLTYPE Initialize(
14147 PCIDLIST_ABSOLUTE pidlFolder,
14148 IDataObject *pdtobj,
14149 HKEY hkeyProgID) = 0;
14150
14151};
14152#ifdef __CRT_UUID_DECL
14153__CRT_UUID_DECL(IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
14154#endif
14155#else
14156typedef struct IShellExtInitVtbl {
14157 BEGIN_INTERFACE
14158
14159 /*** IUnknown methods ***/
14160 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14161 IShellExtInit *This,
14162 REFIID riid,
14163 void **ppvObject);
14164
14165 ULONG (STDMETHODCALLTYPE *AddRef)(
14166 IShellExtInit *This);
14167
14168 ULONG (STDMETHODCALLTYPE *Release)(
14169 IShellExtInit *This);
14170
14171 /*** IShellExtInit methods ***/
14172 HRESULT (STDMETHODCALLTYPE *Initialize)(
14173 IShellExtInit *This,
14174 PCIDLIST_ABSOLUTE pidlFolder,
14175 IDataObject *pdtobj,
14176 HKEY hkeyProgID);
14177
14178 END_INTERFACE
14179} IShellExtInitVtbl;
14180
14181interface IShellExtInit {
14182 CONST_VTBL IShellExtInitVtbl* lpVtbl;
14183};
14184
14185#ifdef COBJMACROS
14186#ifndef WIDL_C_INLINE_WRAPPERS
14187/*** IUnknown methods ***/
14188#define IShellExtInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14189#define IShellExtInit_AddRef(This) (This)->lpVtbl->AddRef(This)
14190#define IShellExtInit_Release(This) (This)->lpVtbl->Release(This)
14191/*** IShellExtInit methods ***/
14192#define IShellExtInit_Initialize(This,pidlFolder,pdtobj,hkeyProgID) (This)->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID)
14193#else
14194/*** IUnknown methods ***/
14195static inline HRESULT IShellExtInit_QueryInterface(IShellExtInit* This,REFIID riid,void **ppvObject) {
14196 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14197}
14198static inline ULONG IShellExtInit_AddRef(IShellExtInit* This) {
14199 return This->lpVtbl->AddRef(This);
14200}
14201static inline ULONG IShellExtInit_Release(IShellExtInit* This) {
14202 return This->lpVtbl->Release(This);
14203}
14204/*** IShellExtInit methods ***/
14205static inline HRESULT IShellExtInit_Initialize(IShellExtInit* This,PCIDLIST_ABSOLUTE pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID) {
14206 return This->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID);
14207}
14208#endif
14209#endif
14210
14211#endif
14212
14213
14214#endif /* __IShellExtInit_INTERFACE_DEFINED__ */
14215
14216typedef IShellExtInit *LPSHELLEXTINIT;
14217
14218/*****************************************************************************
14219 * IShellPropSheetExt interface
14220 */
14221#ifndef __IShellPropSheetExt_INTERFACE_DEFINED__
14222#define __IShellPropSheetExt_INTERFACE_DEFINED__
14223
14224enum _EXPPS {
14225 EXPPS_FILETYPES = 0x1
14226};
14227
14228typedef UINT EXPPS;
14229
14230DEFINE_GUID(IID_IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
14231#if defined(__cplusplus) && !defined(CINTERFACE)
14232MIDL_INTERFACE("000214e9-0000-0000-c000-000000000046")
14233IShellPropSheetExt : public IUnknown
14234{
14235 virtual HRESULT STDMETHODCALLTYPE AddPages(
14236 LPFNSVADDPROPSHEETPAGE pfnAddPage,
14237 LPARAM lParam) = 0;
14238
14239 virtual HRESULT STDMETHODCALLTYPE ReplacePage(
14240 EXPPS uPageID,
14241 LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
14242 LPARAM lParam) = 0;
14243
14244};
14245#ifdef __CRT_UUID_DECL
14246__CRT_UUID_DECL(IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
14247#endif
14248#else
14249typedef struct IShellPropSheetExtVtbl {
14250 BEGIN_INTERFACE
14251
14252 /*** IUnknown methods ***/
14253 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14254 IShellPropSheetExt *This,
14255 REFIID riid,
14256 void **ppvObject);
14257
14258 ULONG (STDMETHODCALLTYPE *AddRef)(
14259 IShellPropSheetExt *This);
14260
14261 ULONG (STDMETHODCALLTYPE *Release)(
14262 IShellPropSheetExt *This);
14263
14264 /*** IShellPropSheetExt methods ***/
14265 HRESULT (STDMETHODCALLTYPE *AddPages)(
14266 IShellPropSheetExt *This,
14267 LPFNSVADDPROPSHEETPAGE pfnAddPage,
14268 LPARAM lParam);
14269
14270 HRESULT (STDMETHODCALLTYPE *ReplacePage)(
14271 IShellPropSheetExt *This,
14272 EXPPS uPageID,
14273 LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
14274 LPARAM lParam);
14275
14276 END_INTERFACE
14277} IShellPropSheetExtVtbl;
14278
14279interface IShellPropSheetExt {
14280 CONST_VTBL IShellPropSheetExtVtbl* lpVtbl;
14281};
14282
14283#ifdef COBJMACROS
14284#ifndef WIDL_C_INLINE_WRAPPERS
14285/*** IUnknown methods ***/
14286#define IShellPropSheetExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14287#define IShellPropSheetExt_AddRef(This) (This)->lpVtbl->AddRef(This)
14288#define IShellPropSheetExt_Release(This) (This)->lpVtbl->Release(This)
14289/*** IShellPropSheetExt methods ***/
14290#define IShellPropSheetExt_AddPages(This,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,pfnAddPage,lParam)
14291#define IShellPropSheetExt_ReplacePage(This,uPageID,pfnReplaceWith,lParam) (This)->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam)
14292#else
14293/*** IUnknown methods ***/
14294static inline HRESULT IShellPropSheetExt_QueryInterface(IShellPropSheetExt* This,REFIID riid,void **ppvObject) {
14295 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14296}
14297static inline ULONG IShellPropSheetExt_AddRef(IShellPropSheetExt* This) {
14298 return This->lpVtbl->AddRef(This);
14299}
14300static inline ULONG IShellPropSheetExt_Release(IShellPropSheetExt* This) {
14301 return This->lpVtbl->Release(This);
14302}
14303/*** IShellPropSheetExt methods ***/
14304static inline HRESULT IShellPropSheetExt_AddPages(IShellPropSheetExt* This,LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) {
14305 return This->lpVtbl->AddPages(This,pfnAddPage,lParam);
14306}
14307static inline HRESULT IShellPropSheetExt_ReplacePage(IShellPropSheetExt* This,EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) {
14308 return This->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam);
14309}
14310#endif
14311#endif
14312
14313#endif
14314
14315
14316#endif /* __IShellPropSheetExt_INTERFACE_DEFINED__ */
14317
14318typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
14319
14320/*****************************************************************************
14321 * IRemoteComputer interface
14322 */
14323#ifndef __IRemoteComputer_INTERFACE_DEFINED__
14324#define __IRemoteComputer_INTERFACE_DEFINED__
14325
14326DEFINE_GUID(IID_IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
14327#if defined(__cplusplus) && !defined(CINTERFACE)
14328MIDL_INTERFACE("000214fe-0000-0000-c000-000000000046")
14329IRemoteComputer : public IUnknown
14330{
14331 virtual HRESULT STDMETHODCALLTYPE Initialize(
14332 LPCWSTR pszMachine,
14333 WINBOOL bEnumerating) = 0;
14334
14335};
14336#ifdef __CRT_UUID_DECL
14337__CRT_UUID_DECL(IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
14338#endif
14339#else
14340typedef struct IRemoteComputerVtbl {
14341 BEGIN_INTERFACE
14342
14343 /*** IUnknown methods ***/
14344 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14345 IRemoteComputer *This,
14346 REFIID riid,
14347 void **ppvObject);
14348
14349 ULONG (STDMETHODCALLTYPE *AddRef)(
14350 IRemoteComputer *This);
14351
14352 ULONG (STDMETHODCALLTYPE *Release)(
14353 IRemoteComputer *This);
14354
14355 /*** IRemoteComputer methods ***/
14356 HRESULT (STDMETHODCALLTYPE *Initialize)(
14357 IRemoteComputer *This,
14358 LPCWSTR pszMachine,
14359 WINBOOL bEnumerating);
14360
14361 END_INTERFACE
14362} IRemoteComputerVtbl;
14363
14364interface IRemoteComputer {
14365 CONST_VTBL IRemoteComputerVtbl* lpVtbl;
14366};
14367
14368#ifdef COBJMACROS
14369#ifndef WIDL_C_INLINE_WRAPPERS
14370/*** IUnknown methods ***/
14371#define IRemoteComputer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14372#define IRemoteComputer_AddRef(This) (This)->lpVtbl->AddRef(This)
14373#define IRemoteComputer_Release(This) (This)->lpVtbl->Release(This)
14374/*** IRemoteComputer methods ***/
14375#define IRemoteComputer_Initialize(This,pszMachine,bEnumerating) (This)->lpVtbl->Initialize(This,pszMachine,bEnumerating)
14376#else
14377/*** IUnknown methods ***/
14378static inline HRESULT IRemoteComputer_QueryInterface(IRemoteComputer* This,REFIID riid,void **ppvObject) {
14379 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14380}
14381static inline ULONG IRemoteComputer_AddRef(IRemoteComputer* This) {
14382 return This->lpVtbl->AddRef(This);
14383}
14384static inline ULONG IRemoteComputer_Release(IRemoteComputer* This) {
14385 return This->lpVtbl->Release(This);
14386}
14387/*** IRemoteComputer methods ***/
14388static inline HRESULT IRemoteComputer_Initialize(IRemoteComputer* This,LPCWSTR pszMachine,WINBOOL bEnumerating) {
14389 return This->lpVtbl->Initialize(This,pszMachine,bEnumerating);
14390}
14391#endif
14392#endif
14393
14394#endif
14395
14396
14397#endif /* __IRemoteComputer_INTERFACE_DEFINED__ */
14398
14399
14400/*****************************************************************************
14401 * IQueryContinue interface
14402 */
14403#ifndef __IQueryContinue_INTERFACE_DEFINED__
14404#define __IQueryContinue_INTERFACE_DEFINED__
14405
14406DEFINE_GUID(IID_IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9);
14407#if defined(__cplusplus) && !defined(CINTERFACE)
14408MIDL_INTERFACE("7307055c-b24a-486b-9f25-163e597a28a9")
14409IQueryContinue : public IUnknown
14410{
14411 virtual HRESULT STDMETHODCALLTYPE QueryContinue(
14412 ) = 0;
14413
14414};
14415#ifdef __CRT_UUID_DECL
14416__CRT_UUID_DECL(IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9)
14417#endif
14418#else
14419typedef struct IQueryContinueVtbl {
14420 BEGIN_INTERFACE
14421
14422 /*** IUnknown methods ***/
14423 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14424 IQueryContinue *This,
14425 REFIID riid,
14426 void **ppvObject);
14427
14428 ULONG (STDMETHODCALLTYPE *AddRef)(
14429 IQueryContinue *This);
14430
14431 ULONG (STDMETHODCALLTYPE *Release)(
14432 IQueryContinue *This);
14433
14434 /*** IQueryContinue methods ***/
14435 HRESULT (STDMETHODCALLTYPE *QueryContinue)(
14436 IQueryContinue *This);
14437
14438 END_INTERFACE
14439} IQueryContinueVtbl;
14440
14441interface IQueryContinue {
14442 CONST_VTBL IQueryContinueVtbl* lpVtbl;
14443};
14444
14445#ifdef COBJMACROS
14446#ifndef WIDL_C_INLINE_WRAPPERS
14447/*** IUnknown methods ***/
14448#define IQueryContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14449#define IQueryContinue_AddRef(This) (This)->lpVtbl->AddRef(This)
14450#define IQueryContinue_Release(This) (This)->lpVtbl->Release(This)
14451/*** IQueryContinue methods ***/
14452#define IQueryContinue_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
14453#else
14454/*** IUnknown methods ***/
14455static inline HRESULT IQueryContinue_QueryInterface(IQueryContinue* This,REFIID riid,void **ppvObject) {
14456 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14457}
14458static inline ULONG IQueryContinue_AddRef(IQueryContinue* This) {
14459 return This->lpVtbl->AddRef(This);
14460}
14461static inline ULONG IQueryContinue_Release(IQueryContinue* This) {
14462 return This->lpVtbl->Release(This);
14463}
14464/*** IQueryContinue methods ***/
14465static inline HRESULT IQueryContinue_QueryContinue(IQueryContinue* This) {
14466 return This->lpVtbl->QueryContinue(This);
14467}
14468#endif
14469#endif
14470
14471#endif
14472
14473
14474#endif /* __IQueryContinue_INTERFACE_DEFINED__ */
14475
14476
14477/*****************************************************************************
14478 * IObjectWithCancelEvent interface
14479 */
14480#ifndef __IObjectWithCancelEvent_INTERFACE_DEFINED__
14481#define __IObjectWithCancelEvent_INTERFACE_DEFINED__
14482
14483DEFINE_GUID(IID_IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41);
14484#if defined(__cplusplus) && !defined(CINTERFACE)
14485MIDL_INTERFACE("f279b885-0ae9-4b85-ac06-ddecf9408941")
14486IObjectWithCancelEvent : public IUnknown
14487{
14488 virtual HRESULT STDMETHODCALLTYPE GetCancelEvent(
14489 HANDLE *phEvent) = 0;
14490
14491};
14492#ifdef __CRT_UUID_DECL
14493__CRT_UUID_DECL(IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41)
14494#endif
14495#else
14496typedef struct IObjectWithCancelEventVtbl {
14497 BEGIN_INTERFACE
14498
14499 /*** IUnknown methods ***/
14500 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14501 IObjectWithCancelEvent *This,
14502 REFIID riid,
14503 void **ppvObject);
14504
14505 ULONG (STDMETHODCALLTYPE *AddRef)(
14506 IObjectWithCancelEvent *This);
14507
14508 ULONG (STDMETHODCALLTYPE *Release)(
14509 IObjectWithCancelEvent *This);
14510
14511 /*** IObjectWithCancelEvent methods ***/
14512 HRESULT (STDMETHODCALLTYPE *GetCancelEvent)(
14513 IObjectWithCancelEvent *This,
14514 HANDLE *phEvent);
14515
14516 END_INTERFACE
14517} IObjectWithCancelEventVtbl;
14518
14519interface IObjectWithCancelEvent {
14520 CONST_VTBL IObjectWithCancelEventVtbl* lpVtbl;
14521};
14522
14523#ifdef COBJMACROS
14524#ifndef WIDL_C_INLINE_WRAPPERS
14525/*** IUnknown methods ***/
14526#define IObjectWithCancelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14527#define IObjectWithCancelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
14528#define IObjectWithCancelEvent_Release(This) (This)->lpVtbl->Release(This)
14529/*** IObjectWithCancelEvent methods ***/
14530#define IObjectWithCancelEvent_GetCancelEvent(This,phEvent) (This)->lpVtbl->GetCancelEvent(This,phEvent)
14531#else
14532/*** IUnknown methods ***/
14533static inline HRESULT IObjectWithCancelEvent_QueryInterface(IObjectWithCancelEvent* This,REFIID riid,void **ppvObject) {
14534 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14535}
14536static inline ULONG IObjectWithCancelEvent_AddRef(IObjectWithCancelEvent* This) {
14537 return This->lpVtbl->AddRef(This);
14538}
14539static inline ULONG IObjectWithCancelEvent_Release(IObjectWithCancelEvent* This) {
14540 return This->lpVtbl->Release(This);
14541}
14542/*** IObjectWithCancelEvent methods ***/
14543static inline HRESULT IObjectWithCancelEvent_GetCancelEvent(IObjectWithCancelEvent* This,HANDLE *phEvent) {
14544 return This->lpVtbl->GetCancelEvent(This,phEvent);
14545}
14546#endif
14547#endif
14548
14549#endif
14550
14551
14552#endif /* __IObjectWithCancelEvent_INTERFACE_DEFINED__ */
14553
14554
14555/*****************************************************************************
14556 * IUserNotification interface
14557 */
14558#ifndef __IUserNotification_INTERFACE_DEFINED__
14559#define __IUserNotification_INTERFACE_DEFINED__
14560
14561DEFINE_GUID(IID_IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b);
14562#if defined(__cplusplus) && !defined(CINTERFACE)
14563MIDL_INTERFACE("ba9711ba-5893-4787-a7e1-41277151550b")
14564IUserNotification : public IUnknown
14565{
14566 virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo(
14567 LPCWSTR pszTitle,
14568 LPCWSTR pszText,
14569 DWORD dwInfoFlags) = 0;
14570
14571 virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry(
14572 DWORD dwShowTime,
14573 DWORD dwInterval,
14574 UINT cRetryCount) = 0;
14575
14576 virtual HRESULT STDMETHODCALLTYPE SetIconInfo(
14577 HICON hIcon,
14578 LPCWSTR pszToolTip) = 0;
14579
14580 virtual HRESULT STDMETHODCALLTYPE Show(
14581 IQueryContinue *pqc,
14582 DWORD dwContinuePollInterval) = 0;
14583
14584 virtual HRESULT STDMETHODCALLTYPE PlaySound(
14585 LPCWSTR pszSoundName) = 0;
14586
14587};
14588#ifdef __CRT_UUID_DECL
14589__CRT_UUID_DECL(IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b)
14590#endif
14591#else
14592typedef struct IUserNotificationVtbl {
14593 BEGIN_INTERFACE
14594
14595 /*** IUnknown methods ***/
14596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14597 IUserNotification *This,
14598 REFIID riid,
14599 void **ppvObject);
14600
14601 ULONG (STDMETHODCALLTYPE *AddRef)(
14602 IUserNotification *This);
14603
14604 ULONG (STDMETHODCALLTYPE *Release)(
14605 IUserNotification *This);
14606
14607 /*** IUserNotification methods ***/
14608 HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)(
14609 IUserNotification *This,
14610 LPCWSTR pszTitle,
14611 LPCWSTR pszText,
14612 DWORD dwInfoFlags);
14613
14614 HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)(
14615 IUserNotification *This,
14616 DWORD dwShowTime,
14617 DWORD dwInterval,
14618 UINT cRetryCount);
14619
14620 HRESULT (STDMETHODCALLTYPE *SetIconInfo)(
14621 IUserNotification *This,
14622 HICON hIcon,
14623 LPCWSTR pszToolTip);
14624
14625 HRESULT (STDMETHODCALLTYPE *Show)(
14626 IUserNotification *This,
14627 IQueryContinue *pqc,
14628 DWORD dwContinuePollInterval);
14629
14630 HRESULT (STDMETHODCALLTYPE *PlaySound)(
14631 IUserNotification *This,
14632 LPCWSTR pszSoundName);
14633
14634 END_INTERFACE
14635} IUserNotificationVtbl;
14636
14637interface IUserNotification {
14638 CONST_VTBL IUserNotificationVtbl* lpVtbl;
14639};
14640
14641#ifdef COBJMACROS
14642#ifndef WIDL_C_INLINE_WRAPPERS
14643/*** IUnknown methods ***/
14644#define IUserNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14645#define IUserNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
14646#define IUserNotification_Release(This) (This)->lpVtbl->Release(This)
14647/*** IUserNotification methods ***/
14648#define IUserNotification_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
14649#define IUserNotification_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
14650#define IUserNotification_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip)
14651#define IUserNotification_Show(This,pqc,dwContinuePollInterval) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval)
14652#define IUserNotification_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName)
14653#else
14654/*** IUnknown methods ***/
14655static inline HRESULT IUserNotification_QueryInterface(IUserNotification* This,REFIID riid,void **ppvObject) {
14656 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14657}
14658static inline ULONG IUserNotification_AddRef(IUserNotification* This) {
14659 return This->lpVtbl->AddRef(This);
14660}
14661static inline ULONG IUserNotification_Release(IUserNotification* This) {
14662 return This->lpVtbl->Release(This);
14663}
14664/*** IUserNotification methods ***/
14665static inline HRESULT IUserNotification_SetBalloonInfo(IUserNotification* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) {
14666 return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags);
14667}
14668static inline HRESULT IUserNotification_SetBalloonRetry(IUserNotification* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) {
14669 return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount);
14670}
14671static inline HRESULT IUserNotification_SetIconInfo(IUserNotification* This,HICON hIcon,LPCWSTR pszToolTip) {
14672 return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip);
14673}
14674static inline HRESULT IUserNotification_Show(IUserNotification* This,IQueryContinue *pqc,DWORD dwContinuePollInterval) {
14675 return This->lpVtbl->Show(This,pqc,dwContinuePollInterval);
14676}
14677static inline HRESULT IUserNotification_PlaySound(IUserNotification* This,LPCWSTR pszSoundName) {
14678 return This->lpVtbl->PlaySound(This,pszSoundName);
14679}
14680#endif
14681#endif
14682
14683#endif
14684
14685
14686#endif /* __IUserNotification_INTERFACE_DEFINED__ */
14687
14688
14689/*****************************************************************************
14690 * IUserNotificationCallback interface
14691 */
14692#ifndef __IUserNotificationCallback_INTERFACE_DEFINED__
14693#define __IUserNotificationCallback_INTERFACE_DEFINED__
14694
14695DEFINE_GUID(IID_IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea);
14696#if defined(__cplusplus) && !defined(CINTERFACE)
14697MIDL_INTERFACE("19108294-0441-4aff-8013-fa0a730b0bea")
14698IUserNotificationCallback : public IUnknown
14699{
14700 virtual HRESULT STDMETHODCALLTYPE OnBalloonUserClick(
14701 POINT *pt) = 0;
14702
14703 virtual HRESULT STDMETHODCALLTYPE OnLeftClick(
14704 POINT *pt) = 0;
14705
14706 virtual HRESULT STDMETHODCALLTYPE OnContextMenu(
14707 POINT *pt) = 0;
14708
14709};
14710#ifdef __CRT_UUID_DECL
14711__CRT_UUID_DECL(IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea)
14712#endif
14713#else
14714typedef struct IUserNotificationCallbackVtbl {
14715 BEGIN_INTERFACE
14716
14717 /*** IUnknown methods ***/
14718 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14719 IUserNotificationCallback *This,
14720 REFIID riid,
14721 void **ppvObject);
14722
14723 ULONG (STDMETHODCALLTYPE *AddRef)(
14724 IUserNotificationCallback *This);
14725
14726 ULONG (STDMETHODCALLTYPE *Release)(
14727 IUserNotificationCallback *This);
14728
14729 /*** IUserNotificationCallback methods ***/
14730 HRESULT (STDMETHODCALLTYPE *OnBalloonUserClick)(
14731 IUserNotificationCallback *This,
14732 POINT *pt);
14733
14734 HRESULT (STDMETHODCALLTYPE *OnLeftClick)(
14735 IUserNotificationCallback *This,
14736 POINT *pt);
14737
14738 HRESULT (STDMETHODCALLTYPE *OnContextMenu)(
14739 IUserNotificationCallback *This,
14740 POINT *pt);
14741
14742 END_INTERFACE
14743} IUserNotificationCallbackVtbl;
14744
14745interface IUserNotificationCallback {
14746 CONST_VTBL IUserNotificationCallbackVtbl* lpVtbl;
14747};
14748
14749#ifdef COBJMACROS
14750#ifndef WIDL_C_INLINE_WRAPPERS
14751/*** IUnknown methods ***/
14752#define IUserNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14753#define IUserNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
14754#define IUserNotificationCallback_Release(This) (This)->lpVtbl->Release(This)
14755/*** IUserNotificationCallback methods ***/
14756#define IUserNotificationCallback_OnBalloonUserClick(This,pt) (This)->lpVtbl->OnBalloonUserClick(This,pt)
14757#define IUserNotificationCallback_OnLeftClick(This,pt) (This)->lpVtbl->OnLeftClick(This,pt)
14758#define IUserNotificationCallback_OnContextMenu(This,pt) (This)->lpVtbl->OnContextMenu(This,pt)
14759#else
14760/*** IUnknown methods ***/
14761static inline HRESULT IUserNotificationCallback_QueryInterface(IUserNotificationCallback* This,REFIID riid,void **ppvObject) {
14762 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14763}
14764static inline ULONG IUserNotificationCallback_AddRef(IUserNotificationCallback* This) {
14765 return This->lpVtbl->AddRef(This);
14766}
14767static inline ULONG IUserNotificationCallback_Release(IUserNotificationCallback* This) {
14768 return This->lpVtbl->Release(This);
14769}
14770/*** IUserNotificationCallback methods ***/
14771static inline HRESULT IUserNotificationCallback_OnBalloonUserClick(IUserNotificationCallback* This,POINT *pt) {
14772 return This->lpVtbl->OnBalloonUserClick(This,pt);
14773}
14774static inline HRESULT IUserNotificationCallback_OnLeftClick(IUserNotificationCallback* This,POINT *pt) {
14775 return This->lpVtbl->OnLeftClick(This,pt);
14776}
14777static inline HRESULT IUserNotificationCallback_OnContextMenu(IUserNotificationCallback* This,POINT *pt) {
14778 return This->lpVtbl->OnContextMenu(This,pt);
14779}
14780#endif
14781#endif
14782
14783#endif
14784
14785
14786#endif /* __IUserNotificationCallback_INTERFACE_DEFINED__ */
14787
14788
14789/*****************************************************************************
14790 * IUserNotification2 interface
14791 */
14792#ifndef __IUserNotification2_INTERFACE_DEFINED__
14793#define __IUserNotification2_INTERFACE_DEFINED__
14794
14795DEFINE_GUID(IID_IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c);
14796#if defined(__cplusplus) && !defined(CINTERFACE)
14797MIDL_INTERFACE("215913cc-57eb-4fab-ab5a-e5fa7bea2a6c")
14798IUserNotification2 : public IUnknown
14799{
14800 virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo(
14801 LPCWSTR pszTitle,
14802 LPCWSTR pszText,
14803 DWORD dwInfoFlags) = 0;
14804
14805 virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry(
14806 DWORD dwShowTime,
14807 DWORD dwInterval,
14808 UINT cRetryCount) = 0;
14809
14810 virtual HRESULT STDMETHODCALLTYPE SetIconInfo(
14811 HICON hIcon,
14812 LPCWSTR pszToolTip) = 0;
14813
14814 virtual HRESULT STDMETHODCALLTYPE Show(
14815 IQueryContinue *pqc,
14816 DWORD dwContinuePollInterval,
14817 IUserNotificationCallback *pSink) = 0;
14818
14819 virtual HRESULT STDMETHODCALLTYPE PlaySound(
14820 LPCWSTR pszSoundName) = 0;
14821
14822};
14823#ifdef __CRT_UUID_DECL
14824__CRT_UUID_DECL(IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c)
14825#endif
14826#else
14827typedef struct IUserNotification2Vtbl {
14828 BEGIN_INTERFACE
14829
14830 /*** IUnknown methods ***/
14831 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14832 IUserNotification2 *This,
14833 REFIID riid,
14834 void **ppvObject);
14835
14836 ULONG (STDMETHODCALLTYPE *AddRef)(
14837 IUserNotification2 *This);
14838
14839 ULONG (STDMETHODCALLTYPE *Release)(
14840 IUserNotification2 *This);
14841
14842 /*** IUserNotification2 methods ***/
14843 HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)(
14844 IUserNotification2 *This,
14845 LPCWSTR pszTitle,
14846 LPCWSTR pszText,
14847 DWORD dwInfoFlags);
14848
14849 HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)(
14850 IUserNotification2 *This,
14851 DWORD dwShowTime,
14852 DWORD dwInterval,
14853 UINT cRetryCount);
14854
14855 HRESULT (STDMETHODCALLTYPE *SetIconInfo)(
14856 IUserNotification2 *This,
14857 HICON hIcon,
14858 LPCWSTR pszToolTip);
14859
14860 HRESULT (STDMETHODCALLTYPE *Show)(
14861 IUserNotification2 *This,
14862 IQueryContinue *pqc,
14863 DWORD dwContinuePollInterval,
14864 IUserNotificationCallback *pSink);
14865
14866 HRESULT (STDMETHODCALLTYPE *PlaySound)(
14867 IUserNotification2 *This,
14868 LPCWSTR pszSoundName);
14869
14870 END_INTERFACE
14871} IUserNotification2Vtbl;
14872
14873interface IUserNotification2 {
14874 CONST_VTBL IUserNotification2Vtbl* lpVtbl;
14875};
14876
14877#ifdef COBJMACROS
14878#ifndef WIDL_C_INLINE_WRAPPERS
14879/*** IUnknown methods ***/
14880#define IUserNotification2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14881#define IUserNotification2_AddRef(This) (This)->lpVtbl->AddRef(This)
14882#define IUserNotification2_Release(This) (This)->lpVtbl->Release(This)
14883/*** IUserNotification2 methods ***/
14884#define IUserNotification2_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
14885#define IUserNotification2_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
14886#define IUserNotification2_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip)
14887#define IUserNotification2_Show(This,pqc,dwContinuePollInterval,pSink) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink)
14888#define IUserNotification2_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName)
14889#else
14890/*** IUnknown methods ***/
14891static inline HRESULT IUserNotification2_QueryInterface(IUserNotification2* This,REFIID riid,void **ppvObject) {
14892 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14893}
14894static inline ULONG IUserNotification2_AddRef(IUserNotification2* This) {
14895 return This->lpVtbl->AddRef(This);
14896}
14897static inline ULONG IUserNotification2_Release(IUserNotification2* This) {
14898 return This->lpVtbl->Release(This);
14899}
14900/*** IUserNotification2 methods ***/
14901static inline HRESULT IUserNotification2_SetBalloonInfo(IUserNotification2* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) {
14902 return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags);
14903}
14904static inline HRESULT IUserNotification2_SetBalloonRetry(IUserNotification2* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) {
14905 return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount);
14906}
14907static inline HRESULT IUserNotification2_SetIconInfo(IUserNotification2* This,HICON hIcon,LPCWSTR pszToolTip) {
14908 return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip);
14909}
14910static inline HRESULT IUserNotification2_Show(IUserNotification2* This,IQueryContinue *pqc,DWORD dwContinuePollInterval,IUserNotificationCallback *pSink) {
14911 return This->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink);
14912}
14913static inline HRESULT IUserNotification2_PlaySound(IUserNotification2* This,LPCWSTR pszSoundName) {
14914 return This->lpVtbl->PlaySound(This,pszSoundName);
14915}
14916#endif
14917#endif
14918
14919#endif
14920
14921
14922#endif /* __IUserNotification2_INTERFACE_DEFINED__ */
14923
14924
14925/*****************************************************************************
14926 * IItemNameLimits interface
14927 */
14928#ifndef __IItemNameLimits_INTERFACE_DEFINED__
14929#define __IItemNameLimits_INTERFACE_DEFINED__
14930
14931DEFINE_GUID(IID_IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4);
14932#if defined(__cplusplus) && !defined(CINTERFACE)
14933MIDL_INTERFACE("1df0d7f1-b267-4d28-8b10-12e23202a5c4")
14934IItemNameLimits : public IUnknown
14935{
14936 virtual HRESULT STDMETHODCALLTYPE GetValidCharacters(
14937 LPWSTR *ppwszValidChars,
14938 LPWSTR *ppwszInvalidChars) = 0;
14939
14940 virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
14941 LPCWSTR pszName,
14942 int *piMaxNameLen) = 0;
14943
14944};
14945#ifdef __CRT_UUID_DECL
14946__CRT_UUID_DECL(IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4)
14947#endif
14948#else
14949typedef struct IItemNameLimitsVtbl {
14950 BEGIN_INTERFACE
14951
14952 /*** IUnknown methods ***/
14953 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14954 IItemNameLimits *This,
14955 REFIID riid,
14956 void **ppvObject);
14957
14958 ULONG (STDMETHODCALLTYPE *AddRef)(
14959 IItemNameLimits *This);
14960
14961 ULONG (STDMETHODCALLTYPE *Release)(
14962 IItemNameLimits *This);
14963
14964 /*** IItemNameLimits methods ***/
14965 HRESULT (STDMETHODCALLTYPE *GetValidCharacters)(
14966 IItemNameLimits *This,
14967 LPWSTR *ppwszValidChars,
14968 LPWSTR *ppwszInvalidChars);
14969
14970 HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
14971 IItemNameLimits *This,
14972 LPCWSTR pszName,
14973 int *piMaxNameLen);
14974
14975 END_INTERFACE
14976} IItemNameLimitsVtbl;
14977
14978interface IItemNameLimits {
14979 CONST_VTBL IItemNameLimitsVtbl* lpVtbl;
14980};
14981
14982#ifdef COBJMACROS
14983#ifndef WIDL_C_INLINE_WRAPPERS
14984/*** IUnknown methods ***/
14985#define IItemNameLimits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14986#define IItemNameLimits_AddRef(This) (This)->lpVtbl->AddRef(This)
14987#define IItemNameLimits_Release(This) (This)->lpVtbl->Release(This)
14988/*** IItemNameLimits methods ***/
14989#define IItemNameLimits_GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) (This)->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars)
14990#define IItemNameLimits_GetMaxLength(This,pszName,piMaxNameLen) (This)->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen)
14991#else
14992/*** IUnknown methods ***/
14993static inline HRESULT IItemNameLimits_QueryInterface(IItemNameLimits* This,REFIID riid,void **ppvObject) {
14994 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14995}
14996static inline ULONG IItemNameLimits_AddRef(IItemNameLimits* This) {
14997 return This->lpVtbl->AddRef(This);
14998}
14999static inline ULONG IItemNameLimits_Release(IItemNameLimits* This) {
15000 return This->lpVtbl->Release(This);
15001}
15002/*** IItemNameLimits methods ***/
15003static inline HRESULT IItemNameLimits_GetValidCharacters(IItemNameLimits* This,LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars) {
15004 return This->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars);
15005}
15006static inline HRESULT IItemNameLimits_GetMaxLength(IItemNameLimits* This,LPCWSTR pszName,int *piMaxNameLen) {
15007 return This->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen);
15008}
15009#endif
15010#endif
15011
15012#endif
15013
15014
15015#endif /* __IItemNameLimits_INTERFACE_DEFINED__ */
15016
15017
15018#if NTDDI_VERSION >= NTDDI_VISTA
15019#ifndef __ICondition_FWD_DEFINED__
15020#define __ICondition_FWD_DEFINED__
15021typedef interface ICondition ICondition;
15022#ifdef __cplusplus
15023interface ICondition;
15024#endif /* __cplusplus */
15025#endif
15026
15027
15028/*****************************************************************************
15029 * ISearchFolderItemFactory interface
15030 */
15031#ifndef __ISearchFolderItemFactory_INTERFACE_DEFINED__
15032#define __ISearchFolderItemFactory_INTERFACE_DEFINED__
15033
15034DEFINE_GUID(IID_ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2);
15035#if defined(__cplusplus) && !defined(CINTERFACE)
15036MIDL_INTERFACE("a0ffbc28-5482-4366-be27-3e81e78e06c2")
15037ISearchFolderItemFactory : public IUnknown
15038{
15039 virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
15040 LPCWSTR pszDisplayName) = 0;
15041
15042 virtual HRESULT STDMETHODCALLTYPE SetFolderTypeID(
15043 FOLDERTYPEID ftid) = 0;
15044
15045 virtual HRESULT STDMETHODCALLTYPE SetFolderLogicalViewMode(
15046 FOLDERLOGICALVIEWMODE flvm) = 0;
15047
15048 virtual HRESULT STDMETHODCALLTYPE SetIconSize(
15049 int iIconSize) = 0;
15050
15051 virtual HRESULT STDMETHODCALLTYPE SetVisibleColumns(
15052 UINT cVisibleColumns,
15053 PROPERTYKEY *rgKey) = 0;
15054
15055 virtual HRESULT STDMETHODCALLTYPE SetSortColumns(
15056 UINT cSortColumns,
15057 SORTCOLUMN *rgSortColumns) = 0;
15058
15059 virtual HRESULT STDMETHODCALLTYPE SetGroupColumn(
15060 REFPROPERTYKEY keyGroup) = 0;
15061
15062 virtual HRESULT STDMETHODCALLTYPE SetStacks(
15063 UINT cStackKeys,
15064 PROPERTYKEY *rgStackKeys) = 0;
15065
15066 virtual HRESULT STDMETHODCALLTYPE SetScope(
15067 IShellItemArray *psiaScope) = 0;
15068
15069 virtual HRESULT STDMETHODCALLTYPE SetCondition(
15070 ICondition *pCondition) = 0;
15071
15072 virtual HRESULT STDMETHODCALLTYPE GetShellItem(
15073 REFIID riid,
15074 void **ppv) = 0;
15075
15076 virtual HRESULT STDMETHODCALLTYPE GetIDList(
15077 PIDLIST_ABSOLUTE *ppidl) = 0;
15078
15079};
15080#ifdef __CRT_UUID_DECL
15081__CRT_UUID_DECL(ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2)
15082#endif
15083#else
15084typedef struct ISearchFolderItemFactoryVtbl {
15085 BEGIN_INTERFACE
15086
15087 /*** IUnknown methods ***/
15088 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15089 ISearchFolderItemFactory *This,
15090 REFIID riid,
15091 void **ppvObject);
15092
15093 ULONG (STDMETHODCALLTYPE *AddRef)(
15094 ISearchFolderItemFactory *This);
15095
15096 ULONG (STDMETHODCALLTYPE *Release)(
15097 ISearchFolderItemFactory *This);
15098
15099 /*** ISearchFolderItemFactory methods ***/
15100 HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
15101 ISearchFolderItemFactory *This,
15102 LPCWSTR pszDisplayName);
15103
15104 HRESULT (STDMETHODCALLTYPE *SetFolderTypeID)(
15105 ISearchFolderItemFactory *This,
15106 FOLDERTYPEID ftid);
15107
15108 HRESULT (STDMETHODCALLTYPE *SetFolderLogicalViewMode)(
15109 ISearchFolderItemFactory *This,
15110 FOLDERLOGICALVIEWMODE flvm);
15111
15112 HRESULT (STDMETHODCALLTYPE *SetIconSize)(
15113 ISearchFolderItemFactory *This,
15114 int iIconSize);
15115
15116 HRESULT (STDMETHODCALLTYPE *SetVisibleColumns)(
15117 ISearchFolderItemFactory *This,
15118 UINT cVisibleColumns,
15119 PROPERTYKEY *rgKey);
15120
15121 HRESULT (STDMETHODCALLTYPE *SetSortColumns)(
15122 ISearchFolderItemFactory *This,
15123 UINT cSortColumns,
15124 SORTCOLUMN *rgSortColumns);
15125
15126 HRESULT (STDMETHODCALLTYPE *SetGroupColumn)(
15127 ISearchFolderItemFactory *This,
15128 REFPROPERTYKEY keyGroup);
15129
15130 HRESULT (STDMETHODCALLTYPE *SetStacks)(
15131 ISearchFolderItemFactory *This,
15132 UINT cStackKeys,
15133 PROPERTYKEY *rgStackKeys);
15134
15135 HRESULT (STDMETHODCALLTYPE *SetScope)(
15136 ISearchFolderItemFactory *This,
15137 IShellItemArray *psiaScope);
15138
15139 HRESULT (STDMETHODCALLTYPE *SetCondition)(
15140 ISearchFolderItemFactory *This,
15141 ICondition *pCondition);
15142
15143 HRESULT (STDMETHODCALLTYPE *GetShellItem)(
15144 ISearchFolderItemFactory *This,
15145 REFIID riid,
15146 void **ppv);
15147
15148 HRESULT (STDMETHODCALLTYPE *GetIDList)(
15149 ISearchFolderItemFactory *This,
15150 PIDLIST_ABSOLUTE *ppidl);
15151
15152 END_INTERFACE
15153} ISearchFolderItemFactoryVtbl;
15154
15155interface ISearchFolderItemFactory {
15156 CONST_VTBL ISearchFolderItemFactoryVtbl* lpVtbl;
15157};
15158
15159#ifdef COBJMACROS
15160#ifndef WIDL_C_INLINE_WRAPPERS
15161/*** IUnknown methods ***/
15162#define ISearchFolderItemFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15163#define ISearchFolderItemFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
15164#define ISearchFolderItemFactory_Release(This) (This)->lpVtbl->Release(This)
15165/*** ISearchFolderItemFactory methods ***/
15166#define ISearchFolderItemFactory_SetDisplayName(This,pszDisplayName) (This)->lpVtbl->SetDisplayName(This,pszDisplayName)
15167#define ISearchFolderItemFactory_SetFolderTypeID(This,ftid) (This)->lpVtbl->SetFolderTypeID(This,ftid)
15168#define ISearchFolderItemFactory_SetFolderLogicalViewMode(This,flvm) (This)->lpVtbl->SetFolderLogicalViewMode(This,flvm)
15169#define ISearchFolderItemFactory_SetIconSize(This,iIconSize) (This)->lpVtbl->SetIconSize(This,iIconSize)
15170#define ISearchFolderItemFactory_SetVisibleColumns(This,cVisibleColumns,rgKey) (This)->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey)
15171#define ISearchFolderItemFactory_SetSortColumns(This,cSortColumns,rgSortColumns) (This)->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns)
15172#define ISearchFolderItemFactory_SetGroupColumn(This,keyGroup) (This)->lpVtbl->SetGroupColumn(This,keyGroup)
15173#define ISearchFolderItemFactory_SetStacks(This,cStackKeys,rgStackKeys) (This)->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys)
15174#define ISearchFolderItemFactory_SetScope(This,psiaScope) (This)->lpVtbl->SetScope(This,psiaScope)
15175#define ISearchFolderItemFactory_SetCondition(This,pCondition) (This)->lpVtbl->SetCondition(This,pCondition)
15176#define ISearchFolderItemFactory_GetShellItem(This,riid,ppv) (This)->lpVtbl->GetShellItem(This,riid,ppv)
15177#define ISearchFolderItemFactory_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
15178#else
15179/*** IUnknown methods ***/
15180static inline HRESULT ISearchFolderItemFactory_QueryInterface(ISearchFolderItemFactory* This,REFIID riid,void **ppvObject) {
15181 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15182}
15183static inline ULONG ISearchFolderItemFactory_AddRef(ISearchFolderItemFactory* This) {
15184 return This->lpVtbl->AddRef(This);
15185}
15186static inline ULONG ISearchFolderItemFactory_Release(ISearchFolderItemFactory* This) {
15187 return This->lpVtbl->Release(This);
15188}
15189/*** ISearchFolderItemFactory methods ***/
15190static inline HRESULT ISearchFolderItemFactory_SetDisplayName(ISearchFolderItemFactory* This,LPCWSTR pszDisplayName) {
15191 return This->lpVtbl->SetDisplayName(This,pszDisplayName);
15192}
15193static inline HRESULT ISearchFolderItemFactory_SetFolderTypeID(ISearchFolderItemFactory* This,FOLDERTYPEID ftid) {
15194 return This->lpVtbl->SetFolderTypeID(This,ftid);
15195}
15196static inline HRESULT ISearchFolderItemFactory_SetFolderLogicalViewMode(ISearchFolderItemFactory* This,FOLDERLOGICALVIEWMODE flvm) {
15197 return This->lpVtbl->SetFolderLogicalViewMode(This,flvm);
15198}
15199static inline HRESULT ISearchFolderItemFactory_SetIconSize(ISearchFolderItemFactory* This,int iIconSize) {
15200 return This->lpVtbl->SetIconSize(This,iIconSize);
15201}
15202static inline HRESULT ISearchFolderItemFactory_SetVisibleColumns(ISearchFolderItemFactory* This,UINT cVisibleColumns,PROPERTYKEY *rgKey) {
15203 return This->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey);
15204}
15205static inline HRESULT ISearchFolderItemFactory_SetSortColumns(ISearchFolderItemFactory* This,UINT cSortColumns,SORTCOLUMN *rgSortColumns) {
15206 return This->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns);
15207}
15208static inline HRESULT ISearchFolderItemFactory_SetGroupColumn(ISearchFolderItemFactory* This,REFPROPERTYKEY keyGroup) {
15209 return This->lpVtbl->SetGroupColumn(This,keyGroup);
15210}
15211static inline HRESULT ISearchFolderItemFactory_SetStacks(ISearchFolderItemFactory* This,UINT cStackKeys,PROPERTYKEY *rgStackKeys) {
15212 return This->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys);
15213}
15214static inline HRESULT ISearchFolderItemFactory_SetScope(ISearchFolderItemFactory* This,IShellItemArray *psiaScope) {
15215 return This->lpVtbl->SetScope(This,psiaScope);
15216}
15217static inline HRESULT ISearchFolderItemFactory_SetCondition(ISearchFolderItemFactory* This,ICondition *pCondition) {
15218 return This->lpVtbl->SetCondition(This,pCondition);
15219}
15220static inline HRESULT ISearchFolderItemFactory_GetShellItem(ISearchFolderItemFactory* This,REFIID riid,void **ppv) {
15221 return This->lpVtbl->GetShellItem(This,riid,ppv);
15222}
15223static inline HRESULT ISearchFolderItemFactory_GetIDList(ISearchFolderItemFactory* This,PIDLIST_ABSOLUTE *ppidl) {
15224 return This->lpVtbl->GetIDList(This,ppidl);
15225}
15226#endif
15227#endif
15228
15229#endif
15230
15231
15232#endif /* __ISearchFolderItemFactory_INTERFACE_DEFINED__ */
15233
15234#endif
15235
15236#define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY
15237#define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY
15238#define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY
15239
15240#define IEIFLAG_ASYNC 0x0001
15241#define IEIFLAG_CACHE 0x0002
15242#define IEIFLAG_ASPECT 0x0004
15243#define IEIFLAG_OFFLINE 0x0008
15244#define IEIFLAG_GLEAM 0x0010
15245#define IEIFLAG_SCREEN 0x0020
15246#define IEIFLAG_ORIGSIZE 0x0040
15247#define IEIFLAG_NOSTAMP 0x0080
15248#define IEIFLAG_NOBORDER 0x0100
15249#define IEIFLAG_QUALITY 0x0200
15250#define IEIFLAG_REFRESH 0x0400
15251
15252/*****************************************************************************
15253 * IExtractImage interface
15254 */
15255#ifndef __IExtractImage_INTERFACE_DEFINED__
15256#define __IExtractImage_INTERFACE_DEFINED__
15257
15258DEFINE_GUID(IID_IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1);
15259#if defined(__cplusplus) && !defined(CINTERFACE)
15260MIDL_INTERFACE("bb2e617c-0920-11d1-9a0b-00c04fc2d6c1")
15261IExtractImage : public IUnknown
15262{
15263 virtual HRESULT STDMETHODCALLTYPE GetLocation(
15264 LPWSTR pszPathBuffer,
15265 DWORD cch,
15266 DWORD *pdwPriority,
15267 const SIZE *prgSize,
15268 DWORD dwRecClrDepth,
15269 DWORD *pdwFlags) = 0;
15270
15271 virtual HRESULT STDMETHODCALLTYPE Extract(
15272 HBITMAP *phBmpThumbnail) = 0;
15273
15274};
15275#ifdef __CRT_UUID_DECL
15276__CRT_UUID_DECL(IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1)
15277#endif
15278#else
15279typedef struct IExtractImageVtbl {
15280 BEGIN_INTERFACE
15281
15282 /*** IUnknown methods ***/
15283 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15284 IExtractImage *This,
15285 REFIID riid,
15286 void **ppvObject);
15287
15288 ULONG (STDMETHODCALLTYPE *AddRef)(
15289 IExtractImage *This);
15290
15291 ULONG (STDMETHODCALLTYPE *Release)(
15292 IExtractImage *This);
15293
15294 /*** IExtractImage methods ***/
15295 HRESULT (STDMETHODCALLTYPE *GetLocation)(
15296 IExtractImage *This,
15297 LPWSTR pszPathBuffer,
15298 DWORD cch,
15299 DWORD *pdwPriority,
15300 const SIZE *prgSize,
15301 DWORD dwRecClrDepth,
15302 DWORD *pdwFlags);
15303
15304 HRESULT (STDMETHODCALLTYPE *Extract)(
15305 IExtractImage *This,
15306 HBITMAP *phBmpThumbnail);
15307
15308 END_INTERFACE
15309} IExtractImageVtbl;
15310
15311interface IExtractImage {
15312 CONST_VTBL IExtractImageVtbl* lpVtbl;
15313};
15314
15315#ifdef COBJMACROS
15316#ifndef WIDL_C_INLINE_WRAPPERS
15317/*** IUnknown methods ***/
15318#define IExtractImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15319#define IExtractImage_AddRef(This) (This)->lpVtbl->AddRef(This)
15320#define IExtractImage_Release(This) (This)->lpVtbl->Release(This)
15321/*** IExtractImage methods ***/
15322#define IExtractImage_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
15323#define IExtractImage_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
15324#else
15325/*** IUnknown methods ***/
15326static inline HRESULT IExtractImage_QueryInterface(IExtractImage* This,REFIID riid,void **ppvObject) {
15327 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15328}
15329static inline ULONG IExtractImage_AddRef(IExtractImage* This) {
15330 return This->lpVtbl->AddRef(This);
15331}
15332static inline ULONG IExtractImage_Release(IExtractImage* This) {
15333 return This->lpVtbl->Release(This);
15334}
15335/*** IExtractImage methods ***/
15336static inline HRESULT IExtractImage_GetLocation(IExtractImage* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) {
15337 return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags);
15338}
15339static inline HRESULT IExtractImage_Extract(IExtractImage* This,HBITMAP *phBmpThumbnail) {
15340 return This->lpVtbl->Extract(This,phBmpThumbnail);
15341}
15342#endif
15343#endif
15344
15345#endif
15346
15347
15348#endif /* __IExtractImage_INTERFACE_DEFINED__ */
15349
15350typedef IExtractImage *LPEXTRACTIMAGE;
15351
15352/*****************************************************************************
15353 * IExtractImage2 interface
15354 */
15355#ifndef __IExtractImage2_INTERFACE_DEFINED__
15356#define __IExtractImage2_INTERFACE_DEFINED__
15357
15358DEFINE_GUID(IID_IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda);
15359#if defined(__cplusplus) && !defined(CINTERFACE)
15360MIDL_INTERFACE("953bb1ee-93b4-11d1-98a3-00c04fb687da")
15361IExtractImage2 : public IExtractImage
15362{
15363 virtual HRESULT STDMETHODCALLTYPE GetDateStamp(
15364 FILETIME *pDateStamp) = 0;
15365
15366};
15367#ifdef __CRT_UUID_DECL
15368__CRT_UUID_DECL(IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda)
15369#endif
15370#else
15371typedef struct IExtractImage2Vtbl {
15372 BEGIN_INTERFACE
15373
15374 /*** IUnknown methods ***/
15375 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15376 IExtractImage2 *This,
15377 REFIID riid,
15378 void **ppvObject);
15379
15380 ULONG (STDMETHODCALLTYPE *AddRef)(
15381 IExtractImage2 *This);
15382
15383 ULONG (STDMETHODCALLTYPE *Release)(
15384 IExtractImage2 *This);
15385
15386 /*** IExtractImage methods ***/
15387 HRESULT (STDMETHODCALLTYPE *GetLocation)(
15388 IExtractImage2 *This,
15389 LPWSTR pszPathBuffer,
15390 DWORD cch,
15391 DWORD *pdwPriority,
15392 const SIZE *prgSize,
15393 DWORD dwRecClrDepth,
15394 DWORD *pdwFlags);
15395
15396 HRESULT (STDMETHODCALLTYPE *Extract)(
15397 IExtractImage2 *This,
15398 HBITMAP *phBmpThumbnail);
15399
15400 /*** IExtractImage2 methods ***/
15401 HRESULT (STDMETHODCALLTYPE *GetDateStamp)(
15402 IExtractImage2 *This,
15403 FILETIME *pDateStamp);
15404
15405 END_INTERFACE
15406} IExtractImage2Vtbl;
15407
15408interface IExtractImage2 {
15409 CONST_VTBL IExtractImage2Vtbl* lpVtbl;
15410};
15411
15412#ifdef COBJMACROS
15413#ifndef WIDL_C_INLINE_WRAPPERS
15414/*** IUnknown methods ***/
15415#define IExtractImage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15416#define IExtractImage2_AddRef(This) (This)->lpVtbl->AddRef(This)
15417#define IExtractImage2_Release(This) (This)->lpVtbl->Release(This)
15418/*** IExtractImage methods ***/
15419#define IExtractImage2_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
15420#define IExtractImage2_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
15421/*** IExtractImage2 methods ***/
15422#define IExtractImage2_GetDateStamp(This,pDateStamp) (This)->lpVtbl->GetDateStamp(This,pDateStamp)
15423#else
15424/*** IUnknown methods ***/
15425static inline HRESULT IExtractImage2_QueryInterface(IExtractImage2* This,REFIID riid,void **ppvObject) {
15426 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15427}
15428static inline ULONG IExtractImage2_AddRef(IExtractImage2* This) {
15429 return This->lpVtbl->AddRef(This);
15430}
15431static inline ULONG IExtractImage2_Release(IExtractImage2* This) {
15432 return This->lpVtbl->Release(This);
15433}
15434/*** IExtractImage methods ***/
15435static inline HRESULT IExtractImage2_GetLocation(IExtractImage2* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) {
15436 return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags);
15437}
15438static inline HRESULT IExtractImage2_Extract(IExtractImage2* This,HBITMAP *phBmpThumbnail) {
15439 return This->lpVtbl->Extract(This,phBmpThumbnail);
15440}
15441/*** IExtractImage2 methods ***/
15442static inline HRESULT IExtractImage2_GetDateStamp(IExtractImage2* This,FILETIME *pDateStamp) {
15443 return This->lpVtbl->GetDateStamp(This,pDateStamp);
15444}
15445#endif
15446#endif
15447
15448#endif
15449
15450
15451#endif /* __IExtractImage2_INTERFACE_DEFINED__ */
15452
15453typedef IExtractImage2 *LPEXTRACTIMAGE2;
15454
15455/*****************************************************************************
15456 * IThumbnailHandlerFactory interface
15457 */
15458#ifndef __IThumbnailHandlerFactory_INTERFACE_DEFINED__
15459#define __IThumbnailHandlerFactory_INTERFACE_DEFINED__
15460
15461DEFINE_GUID(IID_IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17);
15462#if defined(__cplusplus) && !defined(CINTERFACE)
15463MIDL_INTERFACE("e35b4b2e-00da-4bc1-9f13-38bc11f5d417")
15464IThumbnailHandlerFactory : public IUnknown
15465{
15466 virtual HRESULT STDMETHODCALLTYPE GetThumbnailHandler(
15467 PCUITEMID_CHILD pidlChild,
15468 IBindCtx *pbc,
15469 REFIID riid,
15470 void **ppv) = 0;
15471
15472};
15473#ifdef __CRT_UUID_DECL
15474__CRT_UUID_DECL(IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17)
15475#endif
15476#else
15477typedef struct IThumbnailHandlerFactoryVtbl {
15478 BEGIN_INTERFACE
15479
15480 /*** IUnknown methods ***/
15481 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15482 IThumbnailHandlerFactory *This,
15483 REFIID riid,
15484 void **ppvObject);
15485
15486 ULONG (STDMETHODCALLTYPE *AddRef)(
15487 IThumbnailHandlerFactory *This);
15488
15489 ULONG (STDMETHODCALLTYPE *Release)(
15490 IThumbnailHandlerFactory *This);
15491
15492 /*** IThumbnailHandlerFactory methods ***/
15493 HRESULT (STDMETHODCALLTYPE *GetThumbnailHandler)(
15494 IThumbnailHandlerFactory *This,
15495 PCUITEMID_CHILD pidlChild,
15496 IBindCtx *pbc,
15497 REFIID riid,
15498 void **ppv);
15499
15500 END_INTERFACE
15501} IThumbnailHandlerFactoryVtbl;
15502
15503interface IThumbnailHandlerFactory {
15504 CONST_VTBL IThumbnailHandlerFactoryVtbl* lpVtbl;
15505};
15506
15507#ifdef COBJMACROS
15508#ifndef WIDL_C_INLINE_WRAPPERS
15509/*** IUnknown methods ***/
15510#define IThumbnailHandlerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15511#define IThumbnailHandlerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
15512#define IThumbnailHandlerFactory_Release(This) (This)->lpVtbl->Release(This)
15513/*** IThumbnailHandlerFactory methods ***/
15514#define IThumbnailHandlerFactory_GetThumbnailHandler(This,pidlChild,pbc,riid,ppv) (This)->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv)
15515#else
15516/*** IUnknown methods ***/
15517static inline HRESULT IThumbnailHandlerFactory_QueryInterface(IThumbnailHandlerFactory* This,REFIID riid,void **ppvObject) {
15518 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15519}
15520static inline ULONG IThumbnailHandlerFactory_AddRef(IThumbnailHandlerFactory* This) {
15521 return This->lpVtbl->AddRef(This);
15522}
15523static inline ULONG IThumbnailHandlerFactory_Release(IThumbnailHandlerFactory* This) {
15524 return This->lpVtbl->Release(This);
15525}
15526/*** IThumbnailHandlerFactory methods ***/
15527static inline HRESULT IThumbnailHandlerFactory_GetThumbnailHandler(IThumbnailHandlerFactory* This,PCUITEMID_CHILD pidlChild,IBindCtx *pbc,REFIID riid,void **ppv) {
15528 return This->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv);
15529}
15530#endif
15531#endif
15532
15533#endif
15534
15535
15536#endif /* __IThumbnailHandlerFactory_INTERFACE_DEFINED__ */
15537
15538
15539/*****************************************************************************
15540 * IParentAndItem interface
15541 */
15542#ifndef __IParentAndItem_INTERFACE_DEFINED__
15543#define __IParentAndItem_INTERFACE_DEFINED__
15544
15545DEFINE_GUID(IID_IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36);
15546#if defined(__cplusplus) && !defined(CINTERFACE)
15547MIDL_INTERFACE("b3a4b685-b685-4805-99d9-5dead2873236")
15548IParentAndItem : public IUnknown
15549{
15550 virtual HRESULT STDMETHODCALLTYPE SetParentAndItem(
15551 PCIDLIST_ABSOLUTE pidlParent,
15552 IShellFolder *psf,
15553 PCUITEMID_CHILD pidlChild) = 0;
15554
15555 virtual HRESULT STDMETHODCALLTYPE GetParentAndItem(
15556 PIDLIST_ABSOLUTE *ppidlParent,
15557 IShellFolder **ppsf,
15558 PITEMID_CHILD *ppidlChild) = 0;
15559
15560};
15561#ifdef __CRT_UUID_DECL
15562__CRT_UUID_DECL(IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36)
15563#endif
15564#else
15565typedef struct IParentAndItemVtbl {
15566 BEGIN_INTERFACE
15567
15568 /*** IUnknown methods ***/
15569 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15570 IParentAndItem *This,
15571 REFIID riid,
15572 void **ppvObject);
15573
15574 ULONG (STDMETHODCALLTYPE *AddRef)(
15575 IParentAndItem *This);
15576
15577 ULONG (STDMETHODCALLTYPE *Release)(
15578 IParentAndItem *This);
15579
15580 /*** IParentAndItem methods ***/
15581 HRESULT (STDMETHODCALLTYPE *SetParentAndItem)(
15582 IParentAndItem *This,
15583 PCIDLIST_ABSOLUTE pidlParent,
15584 IShellFolder *psf,
15585 PCUITEMID_CHILD pidlChild);
15586
15587 HRESULT (STDMETHODCALLTYPE *GetParentAndItem)(
15588 IParentAndItem *This,
15589 PIDLIST_ABSOLUTE *ppidlParent,
15590 IShellFolder **ppsf,
15591 PITEMID_CHILD *ppidlChild);
15592
15593 END_INTERFACE
15594} IParentAndItemVtbl;
15595
15596interface IParentAndItem {
15597 CONST_VTBL IParentAndItemVtbl* lpVtbl;
15598};
15599
15600#ifdef COBJMACROS
15601#ifndef WIDL_C_INLINE_WRAPPERS
15602/*** IUnknown methods ***/
15603#define IParentAndItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15604#define IParentAndItem_AddRef(This) (This)->lpVtbl->AddRef(This)
15605#define IParentAndItem_Release(This) (This)->lpVtbl->Release(This)
15606/*** IParentAndItem methods ***/
15607#define IParentAndItem_SetParentAndItem(This,pidlParent,psf,pidlChild) (This)->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild)
15608#define IParentAndItem_GetParentAndItem(This,ppidlParent,ppsf,ppidlChild) (This)->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild)
15609#else
15610/*** IUnknown methods ***/
15611static inline HRESULT IParentAndItem_QueryInterface(IParentAndItem* This,REFIID riid,void **ppvObject) {
15612 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15613}
15614static inline ULONG IParentAndItem_AddRef(IParentAndItem* This) {
15615 return This->lpVtbl->AddRef(This);
15616}
15617static inline ULONG IParentAndItem_Release(IParentAndItem* This) {
15618 return This->lpVtbl->Release(This);
15619}
15620/*** IParentAndItem methods ***/
15621static inline HRESULT IParentAndItem_SetParentAndItem(IParentAndItem* This,PCIDLIST_ABSOLUTE pidlParent,IShellFolder *psf,PCUITEMID_CHILD pidlChild) {
15622 return This->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild);
15623}
15624static inline HRESULT IParentAndItem_GetParentAndItem(IParentAndItem* This,PIDLIST_ABSOLUTE *ppidlParent,IShellFolder **ppsf,PITEMID_CHILD *ppidlChild) {
15625 return This->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild);
15626}
15627#endif
15628#endif
15629
15630#endif
15631
15632HRESULT STDMETHODCALLTYPE IParentAndItem_RemoteGetParentAndItem_Proxy(
15633 IParentAndItem* This,
15634 PIDLIST_ABSOLUTE *ppidlParent,
15635 IShellFolder **ppsf,
15636 PITEMID_CHILD *ppidlChild);
15637void __RPC_STUB IParentAndItem_RemoteGetParentAndItem_Stub(
15638 IRpcStubBuffer* This,
15639 IRpcChannelBuffer* pRpcChannelBuffer,
15640 PRPC_MESSAGE pRpcMessage,
15641 DWORD* pdwStubPhase);
15642HRESULT CALLBACK IParentAndItem_GetParentAndItem_Proxy(
15643 IParentAndItem* This,
15644 PIDLIST_ABSOLUTE *ppidlParent,
15645 IShellFolder **ppsf,
15646 PITEMID_CHILD *ppidlChild);
15647HRESULT __RPC_STUB IParentAndItem_GetParentAndItem_Stub(
15648 IParentAndItem* This,
15649 PIDLIST_ABSOLUTE *ppidlParent,
15650 IShellFolder **ppsf,
15651 PITEMID_CHILD *ppidlChild);
15652
15653#endif /* __IParentAndItem_INTERFACE_DEFINED__ */
15654
15655
15656/*****************************************************************************
15657 * IDockingWindow interface
15658 */
15659#ifndef __IDockingWindow_INTERFACE_DEFINED__
15660#define __IDockingWindow_INTERFACE_DEFINED__
15661
15662DEFINE_GUID(IID_IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
15663#if defined(__cplusplus) && !defined(CINTERFACE)
15664MIDL_INTERFACE("012dd920-7b26-11d0-8ca9-00a0c92dbfe8")
15665IDockingWindow : public IOleWindow
15666{
15667 virtual HRESULT STDMETHODCALLTYPE ShowDW(
15668 WINBOOL fShow) = 0;
15669
15670 virtual HRESULT STDMETHODCALLTYPE CloseDW(
15671 DWORD dwReserved) = 0;
15672
15673 virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(
15674 LPCRECT prcBorder,
15675 IUnknown *punkToolbarSite,
15676 WINBOOL fReserved) = 0;
15677
15678};
15679#ifdef __CRT_UUID_DECL
15680__CRT_UUID_DECL(IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
15681#endif
15682#else
15683typedef struct IDockingWindowVtbl {
15684 BEGIN_INTERFACE
15685
15686 /*** IUnknown methods ***/
15687 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15688 IDockingWindow *This,
15689 REFIID riid,
15690 void **ppvObject);
15691
15692 ULONG (STDMETHODCALLTYPE *AddRef)(
15693 IDockingWindow *This);
15694
15695 ULONG (STDMETHODCALLTYPE *Release)(
15696 IDockingWindow *This);
15697
15698 /*** IOleWindow methods ***/
15699 HRESULT (STDMETHODCALLTYPE *GetWindow)(
15700 IDockingWindow *This,
15701 HWND *phwnd);
15702
15703 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
15704 IDockingWindow *This,
15705 WINBOOL fEnterMode);
15706
15707 /*** IDockingWindow methods ***/
15708 HRESULT (STDMETHODCALLTYPE *ShowDW)(
15709 IDockingWindow *This,
15710 WINBOOL fShow);
15711
15712 HRESULT (STDMETHODCALLTYPE *CloseDW)(
15713 IDockingWindow *This,
15714 DWORD dwReserved);
15715
15716 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
15717 IDockingWindow *This,
15718 LPCRECT prcBorder,
15719 IUnknown *punkToolbarSite,
15720 WINBOOL fReserved);
15721
15722 END_INTERFACE
15723} IDockingWindowVtbl;
15724
15725interface IDockingWindow {
15726 CONST_VTBL IDockingWindowVtbl* lpVtbl;
15727};
15728
15729#ifdef COBJMACROS
15730#ifndef WIDL_C_INLINE_WRAPPERS
15731/*** IUnknown methods ***/
15732#define IDockingWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15733#define IDockingWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
15734#define IDockingWindow_Release(This) (This)->lpVtbl->Release(This)
15735/*** IOleWindow methods ***/
15736#define IDockingWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
15737#define IDockingWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
15738/*** IDockingWindow methods ***/
15739#define IDockingWindow_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
15740#define IDockingWindow_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
15741#define IDockingWindow_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
15742#else
15743/*** IUnknown methods ***/
15744static inline HRESULT IDockingWindow_QueryInterface(IDockingWindow* This,REFIID riid,void **ppvObject) {
15745 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15746}
15747static inline ULONG IDockingWindow_AddRef(IDockingWindow* This) {
15748 return This->lpVtbl->AddRef(This);
15749}
15750static inline ULONG IDockingWindow_Release(IDockingWindow* This) {
15751 return This->lpVtbl->Release(This);
15752}
15753/*** IOleWindow methods ***/
15754static inline HRESULT IDockingWindow_GetWindow(IDockingWindow* This,HWND *phwnd) {
15755 return This->lpVtbl->GetWindow(This,phwnd);
15756}
15757static inline HRESULT IDockingWindow_ContextSensitiveHelp(IDockingWindow* This,WINBOOL fEnterMode) {
15758 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
15759}
15760/*** IDockingWindow methods ***/
15761static inline HRESULT IDockingWindow_ShowDW(IDockingWindow* This,WINBOOL fShow) {
15762 return This->lpVtbl->ShowDW(This,fShow);
15763}
15764static inline HRESULT IDockingWindow_CloseDW(IDockingWindow* This,DWORD dwReserved) {
15765 return This->lpVtbl->CloseDW(This,dwReserved);
15766}
15767static inline HRESULT IDockingWindow_ResizeBorderDW(IDockingWindow* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
15768 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
15769}
15770#endif
15771#endif
15772
15773#endif
15774
15775
15776#endif /* __IDockingWindow_INTERFACE_DEFINED__ */
15777
15778
15779#define DBIM_MINSIZE 0x0001
15780#define DBIM_MAXSIZE 0x0002
15781#define DBIM_INTEGRAL 0x0004
15782#define DBIM_ACTUAL 0x0008
15783#define DBIM_TITLE 0x0010
15784#define DBIM_MODEFLAGS 0x0020
15785#define DBIM_BKCOLOR 0x0040
15786
15787#include <pshpack8.h>
15788typedef struct DESKBANDINFO {
15789 DWORD dwMask;
15790 POINTL ptMinSize;
15791 POINTL ptMaxSize;
15792 POINTL ptIntegral;
15793 POINTL ptActual;
15794 WCHAR wszTitle[256];
15795 DWORD dwModeFlags;
15796 COLORREF crBkgnd;
15797} DESKBANDINFO;
15798#include <poppack.h>
15799
15800#define DBIMF_NORMAL 0x0000
15801#define DBIMF_FIXED 0x0001
15802#define DBIMF_FIXEDBMP 0x0004
15803#define DBIMF_VARIABLEHEIGHT 0x0008
15804#define DBIMF_UNDELETEABLE 0x0010
15805#define DBIMF_DEBOSSED 0x0020
15806#define DBIMF_BKCOLOR 0x0040
15807#define DBIMF_USECHEVRON 0x0080
15808#define DBIMF_BREAK 0x0100
15809#define DBIMF_ADDTOFRONT 0x0200
15810#define DBIMF_TOPALIGN 0x0400
15811#if NTDDI_VERSION >= NTDDI_VISTA
15812#define DBIMF_NOGRIPPER 0x0800
15813#define DBIMF_ALWAYSGRIPPER 0x1000
15814#define DBIMF_NOMARGINS 0x2000
15815#endif
15816
15817#define DBIF_VIEWMODE_NORMAL 0x0000
15818#define DBIF_VIEWMODE_VERTICAL 0x0001
15819#define DBIF_VIEWMODE_FLOATING 0x0002
15820#define DBIF_VIEWMODE_TRANSPARENT 0x0004
15821
15822enum tagDESKBANDCID {
15823 DBID_BANDINFOCHANGED = 0,
15824 DBID_SHOWONLY = 1,
15825 DBID_MAXIMIZEBAND = 2,
15826 DBID_PUSHCHEVRON = 3,
15827 DBID_DELAYINIT = 4,
15828 DBID_FINISHINIT = 5,
15829 DBID_SETWINDOWTHEME = 6,
15830 DBID_PERMITAUTOHIDE = 7
15831};
15832
15833#define DBPC_SELECTFIRST (DWORD)-1
15834#define DBPC_SELECTLAST (DWORD)-2
15835
15836#define CGID_DeskBand IID_IDeskBand
15837
15838/*****************************************************************************
15839 * IDeskBand interface
15840 */
15841#ifndef __IDeskBand_INTERFACE_DEFINED__
15842#define __IDeskBand_INTERFACE_DEFINED__
15843
15844DEFINE_GUID(IID_IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac);
15845#if defined(__cplusplus) && !defined(CINTERFACE)
15846MIDL_INTERFACE("eb0fe172-1a3a-11d0-89b3-00a0c90a90ac")
15847IDeskBand : public IDockingWindow
15848{
15849 virtual HRESULT STDMETHODCALLTYPE GetBandInfo(
15850 DWORD dwBandID,
15851 DWORD dwViewMode,
15852 DESKBANDINFO *pdbi) = 0;
15853
15854};
15855#ifdef __CRT_UUID_DECL
15856__CRT_UUID_DECL(IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac)
15857#endif
15858#else
15859typedef struct IDeskBandVtbl {
15860 BEGIN_INTERFACE
15861
15862 /*** IUnknown methods ***/
15863 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15864 IDeskBand *This,
15865 REFIID riid,
15866 void **ppvObject);
15867
15868 ULONG (STDMETHODCALLTYPE *AddRef)(
15869 IDeskBand *This);
15870
15871 ULONG (STDMETHODCALLTYPE *Release)(
15872 IDeskBand *This);
15873
15874 /*** IOleWindow methods ***/
15875 HRESULT (STDMETHODCALLTYPE *GetWindow)(
15876 IDeskBand *This,
15877 HWND *phwnd);
15878
15879 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
15880 IDeskBand *This,
15881 WINBOOL fEnterMode);
15882
15883 /*** IDockingWindow methods ***/
15884 HRESULT (STDMETHODCALLTYPE *ShowDW)(
15885 IDeskBand *This,
15886 WINBOOL fShow);
15887
15888 HRESULT (STDMETHODCALLTYPE *CloseDW)(
15889 IDeskBand *This,
15890 DWORD dwReserved);
15891
15892 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
15893 IDeskBand *This,
15894 LPCRECT prcBorder,
15895 IUnknown *punkToolbarSite,
15896 WINBOOL fReserved);
15897
15898 /*** IDeskBand methods ***/
15899 HRESULT (STDMETHODCALLTYPE *GetBandInfo)(
15900 IDeskBand *This,
15901 DWORD dwBandID,
15902 DWORD dwViewMode,
15903 DESKBANDINFO *pdbi);
15904
15905 END_INTERFACE
15906} IDeskBandVtbl;
15907
15908interface IDeskBand {
15909 CONST_VTBL IDeskBandVtbl* lpVtbl;
15910};
15911
15912#ifdef COBJMACROS
15913#ifndef WIDL_C_INLINE_WRAPPERS
15914/*** IUnknown methods ***/
15915#define IDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15916#define IDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This)
15917#define IDeskBand_Release(This) (This)->lpVtbl->Release(This)
15918/*** IOleWindow methods ***/
15919#define IDeskBand_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
15920#define IDeskBand_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
15921/*** IDockingWindow methods ***/
15922#define IDeskBand_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
15923#define IDeskBand_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
15924#define IDeskBand_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
15925/*** IDeskBand methods ***/
15926#define IDeskBand_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi)
15927#else
15928/*** IUnknown methods ***/
15929static inline HRESULT IDeskBand_QueryInterface(IDeskBand* This,REFIID riid,void **ppvObject) {
15930 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15931}
15932static inline ULONG IDeskBand_AddRef(IDeskBand* This) {
15933 return This->lpVtbl->AddRef(This);
15934}
15935static inline ULONG IDeskBand_Release(IDeskBand* This) {
15936 return This->lpVtbl->Release(This);
15937}
15938/*** IOleWindow methods ***/
15939static inline HRESULT IDeskBand_GetWindow(IDeskBand* This,HWND *phwnd) {
15940 return This->lpVtbl->GetWindow(This,phwnd);
15941}
15942static inline HRESULT IDeskBand_ContextSensitiveHelp(IDeskBand* This,WINBOOL fEnterMode) {
15943 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
15944}
15945/*** IDockingWindow methods ***/
15946static inline HRESULT IDeskBand_ShowDW(IDeskBand* This,WINBOOL fShow) {
15947 return This->lpVtbl->ShowDW(This,fShow);
15948}
15949static inline HRESULT IDeskBand_CloseDW(IDeskBand* This,DWORD dwReserved) {
15950 return This->lpVtbl->CloseDW(This,dwReserved);
15951}
15952static inline HRESULT IDeskBand_ResizeBorderDW(IDeskBand* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
15953 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
15954}
15955/*** IDeskBand methods ***/
15956static inline HRESULT IDeskBand_GetBandInfo(IDeskBand* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) {
15957 return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi);
15958}
15959#endif
15960#endif
15961
15962#endif
15963
15964
15965#endif /* __IDeskBand_INTERFACE_DEFINED__ */
15966
15967
15968#if NTDDI_VERSION >= NTDDI_VISTA
15969/*****************************************************************************
15970 * IDeskBandInfo interface
15971 */
15972#ifndef __IDeskBandInfo_INTERFACE_DEFINED__
15973#define __IDeskBandInfo_INTERFACE_DEFINED__
15974
15975DEFINE_GUID(IID_IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61);
15976#if defined(__cplusplus) && !defined(CINTERFACE)
15977MIDL_INTERFACE("77e425fc-cbf9-4307-ba6a-bb5727745661")
15978IDeskBandInfo : public IUnknown
15979{
15980 virtual HRESULT STDMETHODCALLTYPE GetDefaultBandWidth(
15981 DWORD dwBandID,
15982 DWORD dwViewMode,
15983 int *pnWidth) = 0;
15984
15985};
15986#ifdef __CRT_UUID_DECL
15987__CRT_UUID_DECL(IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61)
15988#endif
15989#else
15990typedef struct IDeskBandInfoVtbl {
15991 BEGIN_INTERFACE
15992
15993 /*** IUnknown methods ***/
15994 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15995 IDeskBandInfo *This,
15996 REFIID riid,
15997 void **ppvObject);
15998
15999 ULONG (STDMETHODCALLTYPE *AddRef)(
16000 IDeskBandInfo *This);
16001
16002 ULONG (STDMETHODCALLTYPE *Release)(
16003 IDeskBandInfo *This);
16004
16005 /*** IDeskBandInfo methods ***/
16006 HRESULT (STDMETHODCALLTYPE *GetDefaultBandWidth)(
16007 IDeskBandInfo *This,
16008 DWORD dwBandID,
16009 DWORD dwViewMode,
16010 int *pnWidth);
16011
16012 END_INTERFACE
16013} IDeskBandInfoVtbl;
16014
16015interface IDeskBandInfo {
16016 CONST_VTBL IDeskBandInfoVtbl* lpVtbl;
16017};
16018
16019#ifdef COBJMACROS
16020#ifndef WIDL_C_INLINE_WRAPPERS
16021/*** IUnknown methods ***/
16022#define IDeskBandInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16023#define IDeskBandInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
16024#define IDeskBandInfo_Release(This) (This)->lpVtbl->Release(This)
16025/*** IDeskBandInfo methods ***/
16026#define IDeskBandInfo_GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth) (This)->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth)
16027#else
16028/*** IUnknown methods ***/
16029static inline HRESULT IDeskBandInfo_QueryInterface(IDeskBandInfo* This,REFIID riid,void **ppvObject) {
16030 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16031}
16032static inline ULONG IDeskBandInfo_AddRef(IDeskBandInfo* This) {
16033 return This->lpVtbl->AddRef(This);
16034}
16035static inline ULONG IDeskBandInfo_Release(IDeskBandInfo* This) {
16036 return This->lpVtbl->Release(This);
16037}
16038/*** IDeskBandInfo methods ***/
16039static inline HRESULT IDeskBandInfo_GetDefaultBandWidth(IDeskBandInfo* This,DWORD dwBandID,DWORD dwViewMode,int *pnWidth) {
16040 return This->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth);
16041}
16042#endif
16043#endif
16044
16045#endif
16046
16047
16048#endif /* __IDeskBandInfo_INTERFACE_DEFINED__ */
16049
16050
16051/*****************************************************************************
16052 * IDeskBand2 interface
16053 */
16054#ifndef __IDeskBand2_INTERFACE_DEFINED__
16055#define __IDeskBand2_INTERFACE_DEFINED__
16056
16057DEFINE_GUID(IID_IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57);
16058#if defined(__cplusplus) && !defined(CINTERFACE)
16059MIDL_INTERFACE("79d16de4-abee-4021-8d9d-9169b261d657")
16060IDeskBand2 : public IDeskBand
16061{
16062 virtual HRESULT STDMETHODCALLTYPE CanRenderComposited(
16063 WINBOOL *pfCanRenderComposited) = 0;
16064
16065 virtual HRESULT STDMETHODCALLTYPE SetCompositionState(
16066 WINBOOL fCompositionEnabled) = 0;
16067
16068 virtual HRESULT STDMETHODCALLTYPE GetCompositionState(
16069 WINBOOL *pfCompositionEnabled) = 0;
16070
16071};
16072#ifdef __CRT_UUID_DECL
16073__CRT_UUID_DECL(IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57)
16074#endif
16075#else
16076typedef struct IDeskBand2Vtbl {
16077 BEGIN_INTERFACE
16078
16079 /*** IUnknown methods ***/
16080 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16081 IDeskBand2 *This,
16082 REFIID riid,
16083 void **ppvObject);
16084
16085 ULONG (STDMETHODCALLTYPE *AddRef)(
16086 IDeskBand2 *This);
16087
16088 ULONG (STDMETHODCALLTYPE *Release)(
16089 IDeskBand2 *This);
16090
16091 /*** IOleWindow methods ***/
16092 HRESULT (STDMETHODCALLTYPE *GetWindow)(
16093 IDeskBand2 *This,
16094 HWND *phwnd);
16095
16096 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
16097 IDeskBand2 *This,
16098 WINBOOL fEnterMode);
16099
16100 /*** IDockingWindow methods ***/
16101 HRESULT (STDMETHODCALLTYPE *ShowDW)(
16102 IDeskBand2 *This,
16103 WINBOOL fShow);
16104
16105 HRESULT (STDMETHODCALLTYPE *CloseDW)(
16106 IDeskBand2 *This,
16107 DWORD dwReserved);
16108
16109 HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
16110 IDeskBand2 *This,
16111 LPCRECT prcBorder,
16112 IUnknown *punkToolbarSite,
16113 WINBOOL fReserved);
16114
16115 /*** IDeskBand methods ***/
16116 HRESULT (STDMETHODCALLTYPE *GetBandInfo)(
16117 IDeskBand2 *This,
16118 DWORD dwBandID,
16119 DWORD dwViewMode,
16120 DESKBANDINFO *pdbi);
16121
16122 /*** IDeskBand2 methods ***/
16123 HRESULT (STDMETHODCALLTYPE *CanRenderComposited)(
16124 IDeskBand2 *This,
16125 WINBOOL *pfCanRenderComposited);
16126
16127 HRESULT (STDMETHODCALLTYPE *SetCompositionState)(
16128 IDeskBand2 *This,
16129 WINBOOL fCompositionEnabled);
16130
16131 HRESULT (STDMETHODCALLTYPE *GetCompositionState)(
16132 IDeskBand2 *This,
16133 WINBOOL *pfCompositionEnabled);
16134
16135 END_INTERFACE
16136} IDeskBand2Vtbl;
16137
16138interface IDeskBand2 {
16139 CONST_VTBL IDeskBand2Vtbl* lpVtbl;
16140};
16141
16142#ifdef COBJMACROS
16143#ifndef WIDL_C_INLINE_WRAPPERS
16144/*** IUnknown methods ***/
16145#define IDeskBand2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16146#define IDeskBand2_AddRef(This) (This)->lpVtbl->AddRef(This)
16147#define IDeskBand2_Release(This) (This)->lpVtbl->Release(This)
16148/*** IOleWindow methods ***/
16149#define IDeskBand2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
16150#define IDeskBand2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
16151/*** IDockingWindow methods ***/
16152#define IDeskBand2_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
16153#define IDeskBand2_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
16154#define IDeskBand2_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
16155/*** IDeskBand methods ***/
16156#define IDeskBand2_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi)
16157/*** IDeskBand2 methods ***/
16158#define IDeskBand2_CanRenderComposited(This,pfCanRenderComposited) (This)->lpVtbl->CanRenderComposited(This,pfCanRenderComposited)
16159#define IDeskBand2_SetCompositionState(This,fCompositionEnabled) (This)->lpVtbl->SetCompositionState(This,fCompositionEnabled)
16160#define IDeskBand2_GetCompositionState(This,pfCompositionEnabled) (This)->lpVtbl->GetCompositionState(This,pfCompositionEnabled)
16161#else
16162/*** IUnknown methods ***/
16163static inline HRESULT IDeskBand2_QueryInterface(IDeskBand2* This,REFIID riid,void **ppvObject) {
16164 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16165}
16166static inline ULONG IDeskBand2_AddRef(IDeskBand2* This) {
16167 return This->lpVtbl->AddRef(This);
16168}
16169static inline ULONG IDeskBand2_Release(IDeskBand2* This) {
16170 return This->lpVtbl->Release(This);
16171}
16172/*** IOleWindow methods ***/
16173static inline HRESULT IDeskBand2_GetWindow(IDeskBand2* This,HWND *phwnd) {
16174 return This->lpVtbl->GetWindow(This,phwnd);
16175}
16176static inline HRESULT IDeskBand2_ContextSensitiveHelp(IDeskBand2* This,WINBOOL fEnterMode) {
16177 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
16178}
16179/*** IDockingWindow methods ***/
16180static inline HRESULT IDeskBand2_ShowDW(IDeskBand2* This,WINBOOL fShow) {
16181 return This->lpVtbl->ShowDW(This,fShow);
16182}
16183static inline HRESULT IDeskBand2_CloseDW(IDeskBand2* This,DWORD dwReserved) {
16184 return This->lpVtbl->CloseDW(This,dwReserved);
16185}
16186static inline HRESULT IDeskBand2_ResizeBorderDW(IDeskBand2* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
16187 return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
16188}
16189/*** IDeskBand methods ***/
16190static inline HRESULT IDeskBand2_GetBandInfo(IDeskBand2* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) {
16191 return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi);
16192}
16193/*** IDeskBand2 methods ***/
16194static inline HRESULT IDeskBand2_CanRenderComposited(IDeskBand2* This,WINBOOL *pfCanRenderComposited) {
16195 return This->lpVtbl->CanRenderComposited(This,pfCanRenderComposited);
16196}
16197static inline HRESULT IDeskBand2_SetCompositionState(IDeskBand2* This,WINBOOL fCompositionEnabled) {
16198 return This->lpVtbl->SetCompositionState(This,fCompositionEnabled);
16199}
16200static inline HRESULT IDeskBand2_GetCompositionState(IDeskBand2* This,WINBOOL *pfCompositionEnabled) {
16201 return This->lpVtbl->GetCompositionState(This,pfCompositionEnabled);
16202}
16203#endif
16204#endif
16205
16206#endif
16207
16208
16209#endif /* __IDeskBand2_INTERFACE_DEFINED__ */
16210
16211#endif
16212
16213/*****************************************************************************
16214 * ITaskbarList interface
16215 */
16216#ifndef __ITaskbarList_INTERFACE_DEFINED__
16217#define __ITaskbarList_INTERFACE_DEFINED__
16218
16219DEFINE_GUID(IID_ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
16220#if defined(__cplusplus) && !defined(CINTERFACE)
16221MIDL_INTERFACE("56fdf342-fd6d-11d0-958a-006097c9a090")
16222ITaskbarList : public IUnknown
16223{
16224 virtual HRESULT STDMETHODCALLTYPE HrInit(
16225 ) = 0;
16226
16227 virtual HRESULT STDMETHODCALLTYPE AddTab(
16228 HWND hwnd) = 0;
16229
16230 virtual HRESULT STDMETHODCALLTYPE DeleteTab(
16231 HWND hwnd) = 0;
16232
16233 virtual HRESULT STDMETHODCALLTYPE ActivateTab(
16234 HWND hwnd) = 0;
16235
16236 virtual HRESULT STDMETHODCALLTYPE SetActiveAlt(
16237 HWND hwnd) = 0;
16238
16239};
16240#ifdef __CRT_UUID_DECL
16241__CRT_UUID_DECL(ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90)
16242#endif
16243#else
16244typedef struct ITaskbarListVtbl {
16245 BEGIN_INTERFACE
16246
16247 /*** IUnknown methods ***/
16248 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16249 ITaskbarList *This,
16250 REFIID riid,
16251 void **ppvObject);
16252
16253 ULONG (STDMETHODCALLTYPE *AddRef)(
16254 ITaskbarList *This);
16255
16256 ULONG (STDMETHODCALLTYPE *Release)(
16257 ITaskbarList *This);
16258
16259 /*** ITaskbarList methods ***/
16260 HRESULT (STDMETHODCALLTYPE *HrInit)(
16261 ITaskbarList *This);
16262
16263 HRESULT (STDMETHODCALLTYPE *AddTab)(
16264 ITaskbarList *This,
16265 HWND hwnd);
16266
16267 HRESULT (STDMETHODCALLTYPE *DeleteTab)(
16268 ITaskbarList *This,
16269 HWND hwnd);
16270
16271 HRESULT (STDMETHODCALLTYPE *ActivateTab)(
16272 ITaskbarList *This,
16273 HWND hwnd);
16274
16275 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
16276 ITaskbarList *This,
16277 HWND hwnd);
16278
16279 END_INTERFACE
16280} ITaskbarListVtbl;
16281
16282interface ITaskbarList {
16283 CONST_VTBL ITaskbarListVtbl* lpVtbl;
16284};
16285
16286#ifdef COBJMACROS
16287#ifndef WIDL_C_INLINE_WRAPPERS
16288/*** IUnknown methods ***/
16289#define ITaskbarList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16290#define ITaskbarList_AddRef(This) (This)->lpVtbl->AddRef(This)
16291#define ITaskbarList_Release(This) (This)->lpVtbl->Release(This)
16292/*** ITaskbarList methods ***/
16293#define ITaskbarList_HrInit(This) (This)->lpVtbl->HrInit(This)
16294#define ITaskbarList_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
16295#define ITaskbarList_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
16296#define ITaskbarList_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
16297#define ITaskbarList_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
16298#else
16299/*** IUnknown methods ***/
16300static inline HRESULT ITaskbarList_QueryInterface(ITaskbarList* This,REFIID riid,void **ppvObject) {
16301 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16302}
16303static inline ULONG ITaskbarList_AddRef(ITaskbarList* This) {
16304 return This->lpVtbl->AddRef(This);
16305}
16306static inline ULONG ITaskbarList_Release(ITaskbarList* This) {
16307 return This->lpVtbl->Release(This);
16308}
16309/*** ITaskbarList methods ***/
16310static inline HRESULT ITaskbarList_HrInit(ITaskbarList* This) {
16311 return This->lpVtbl->HrInit(This);
16312}
16313static inline HRESULT ITaskbarList_AddTab(ITaskbarList* This,HWND hwnd) {
16314 return This->lpVtbl->AddTab(This,hwnd);
16315}
16316static inline HRESULT ITaskbarList_DeleteTab(ITaskbarList* This,HWND hwnd) {
16317 return This->lpVtbl->DeleteTab(This,hwnd);
16318}
16319static inline HRESULT ITaskbarList_ActivateTab(ITaskbarList* This,HWND hwnd) {
16320 return This->lpVtbl->ActivateTab(This,hwnd);
16321}
16322static inline HRESULT ITaskbarList_SetActiveAlt(ITaskbarList* This,HWND hwnd) {
16323 return This->lpVtbl->SetActiveAlt(This,hwnd);
16324}
16325#endif
16326#endif
16327
16328#endif
16329
16330
16331#endif /* __ITaskbarList_INTERFACE_DEFINED__ */
16332
16333
16334/*****************************************************************************
16335 * ITaskbarList2 interface
16336 */
16337#ifndef __ITaskbarList2_INTERFACE_DEFINED__
16338#define __ITaskbarList2_INTERFACE_DEFINED__
16339
16340DEFINE_GUID(IID_ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17);
16341#if defined(__cplusplus) && !defined(CINTERFACE)
16342MIDL_INTERFACE("602d4995-b13a-429b-a66e-1935e44f4317")
16343ITaskbarList2 : public ITaskbarList
16344{
16345 virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(
16346 HWND hwnd,
16347 WINBOOL fFullscreen) = 0;
16348
16349};
16350#ifdef __CRT_UUID_DECL
16351__CRT_UUID_DECL(ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17)
16352#endif
16353#else
16354typedef struct ITaskbarList2Vtbl {
16355 BEGIN_INTERFACE
16356
16357 /*** IUnknown methods ***/
16358 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16359 ITaskbarList2 *This,
16360 REFIID riid,
16361 void **ppvObject);
16362
16363 ULONG (STDMETHODCALLTYPE *AddRef)(
16364 ITaskbarList2 *This);
16365
16366 ULONG (STDMETHODCALLTYPE *Release)(
16367 ITaskbarList2 *This);
16368
16369 /*** ITaskbarList methods ***/
16370 HRESULT (STDMETHODCALLTYPE *HrInit)(
16371 ITaskbarList2 *This);
16372
16373 HRESULT (STDMETHODCALLTYPE *AddTab)(
16374 ITaskbarList2 *This,
16375 HWND hwnd);
16376
16377 HRESULT (STDMETHODCALLTYPE *DeleteTab)(
16378 ITaskbarList2 *This,
16379 HWND hwnd);
16380
16381 HRESULT (STDMETHODCALLTYPE *ActivateTab)(
16382 ITaskbarList2 *This,
16383 HWND hwnd);
16384
16385 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
16386 ITaskbarList2 *This,
16387 HWND hwnd);
16388
16389 /*** ITaskbarList2 methods ***/
16390 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
16391 ITaskbarList2 *This,
16392 HWND hwnd,
16393 WINBOOL fFullscreen);
16394
16395 END_INTERFACE
16396} ITaskbarList2Vtbl;
16397
16398interface ITaskbarList2 {
16399 CONST_VTBL ITaskbarList2Vtbl* lpVtbl;
16400};
16401
16402#ifdef COBJMACROS
16403#ifndef WIDL_C_INLINE_WRAPPERS
16404/*** IUnknown methods ***/
16405#define ITaskbarList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16406#define ITaskbarList2_AddRef(This) (This)->lpVtbl->AddRef(This)
16407#define ITaskbarList2_Release(This) (This)->lpVtbl->Release(This)
16408/*** ITaskbarList methods ***/
16409#define ITaskbarList2_HrInit(This) (This)->lpVtbl->HrInit(This)
16410#define ITaskbarList2_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
16411#define ITaskbarList2_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
16412#define ITaskbarList2_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
16413#define ITaskbarList2_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
16414/*** ITaskbarList2 methods ***/
16415#define ITaskbarList2_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
16416#else
16417/*** IUnknown methods ***/
16418static inline HRESULT ITaskbarList2_QueryInterface(ITaskbarList2* This,REFIID riid,void **ppvObject) {
16419 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16420}
16421static inline ULONG ITaskbarList2_AddRef(ITaskbarList2* This) {
16422 return This->lpVtbl->AddRef(This);
16423}
16424static inline ULONG ITaskbarList2_Release(ITaskbarList2* This) {
16425 return This->lpVtbl->Release(This);
16426}
16427/*** ITaskbarList methods ***/
16428static inline HRESULT ITaskbarList2_HrInit(ITaskbarList2* This) {
16429 return This->lpVtbl->HrInit(This);
16430}
16431static inline HRESULT ITaskbarList2_AddTab(ITaskbarList2* This,HWND hwnd) {
16432 return This->lpVtbl->AddTab(This,hwnd);
16433}
16434static inline HRESULT ITaskbarList2_DeleteTab(ITaskbarList2* This,HWND hwnd) {
16435 return This->lpVtbl->DeleteTab(This,hwnd);
16436}
16437static inline HRESULT ITaskbarList2_ActivateTab(ITaskbarList2* This,HWND hwnd) {
16438 return This->lpVtbl->ActivateTab(This,hwnd);
16439}
16440static inline HRESULT ITaskbarList2_SetActiveAlt(ITaskbarList2* This,HWND hwnd) {
16441 return This->lpVtbl->SetActiveAlt(This,hwnd);
16442}
16443/*** ITaskbarList2 methods ***/
16444static inline HRESULT ITaskbarList2_MarkFullscreenWindow(ITaskbarList2* This,HWND hwnd,WINBOOL fFullscreen) {
16445 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
16446}
16447#endif
16448#endif
16449
16450#endif
16451
16452
16453#endif /* __ITaskbarList2_INTERFACE_DEFINED__ */
16454
16455
16456#if 0
16457typedef IUnknown *HIMAGELIST;
16458#endif
16459
16460typedef enum THUMBBUTTONFLAGS {
16461 THBF_ENABLED = 0x0,
16462 THBF_DISABLED = 0x1,
16463 THBF_DISMISSONCLICK = 0x2,
16464 THBF_NOBACKGROUND = 0x4,
16465 THBF_HIDDEN = 0x8,
16466 THBF_NONINTERACTIVE = 0x10
16467} THUMBBUTTONFLAGS;
16468
16469DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)
16470
16471
16472typedef enum THUMBBUTTONMASK {
16473 THB_BITMAP = 0x1,
16474 THB_ICON = 0x2,
16475 THB_TOOLTIP = 0x4,
16476 THB_FLAGS = 0x8
16477} THUMBBUTTONMASK;
16478
16479DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)
16480
16481#include <pshpack8.h>
16482typedef struct THUMBBUTTON {
16483 THUMBBUTTONMASK dwMask;
16484 UINT iId;
16485 UINT iBitmap;
16486 HICON hIcon;
16487 WCHAR szTip[260];
16488 THUMBBUTTONFLAGS dwFlags;
16489} THUMBBUTTON;
16490typedef struct THUMBBUTTON *LPTHUMBBUTTON;
16491#include <poppack.h>
16492
16493#define THBN_CLICKED 0x1800
16494
16495/*****************************************************************************
16496 * ITaskbarList3 interface
16497 */
16498#ifndef __ITaskbarList3_INTERFACE_DEFINED__
16499#define __ITaskbarList3_INTERFACE_DEFINED__
16500
16501typedef enum TBPFLAG {
16502 TBPF_NOPROGRESS = 0x0,
16503 TBPF_INDETERMINATE = 0x1,
16504 TBPF_NORMAL = 0x2,
16505 TBPF_ERROR = 0x4,
16506 TBPF_PAUSED = 0x8
16507} TBPFLAG;
16508
16509DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)
16510
16511DEFINE_GUID(IID_ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf);
16512#if defined(__cplusplus) && !defined(CINTERFACE)
16513MIDL_INTERFACE("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")
16514ITaskbarList3 : public ITaskbarList2
16515{
16516 virtual HRESULT STDMETHODCALLTYPE SetProgressValue(
16517 HWND hwnd,
16518 ULONGLONG ullCompleted,
16519 ULONGLONG ullTotal) = 0;
16520
16521 virtual HRESULT STDMETHODCALLTYPE SetProgressState(
16522 HWND hwnd,
16523 TBPFLAG tbpFlags) = 0;
16524
16525 virtual HRESULT STDMETHODCALLTYPE RegisterTab(
16526 HWND hwndTab,
16527 HWND hwndMDI) = 0;
16528
16529 virtual HRESULT STDMETHODCALLTYPE UnregisterTab(
16530 HWND hwndTab) = 0;
16531
16532 virtual HRESULT STDMETHODCALLTYPE SetTabOrder(
16533 HWND hwndTab,
16534 HWND hwndInsertBefore) = 0;
16535
16536 virtual HRESULT STDMETHODCALLTYPE SetTabActive(
16537 HWND hwndTab,
16538 HWND hwndMDI,
16539 DWORD dwReserved) = 0;
16540
16541 virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(
16542 HWND hwnd,
16543 UINT cButtons,
16544 LPTHUMBBUTTON pButton) = 0;
16545
16546 virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(
16547 HWND hwnd,
16548 UINT cButtons,
16549 LPTHUMBBUTTON pButton) = 0;
16550
16551 virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(
16552 HWND hwnd,
16553 HIMAGELIST himl) = 0;
16554
16555 virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(
16556 HWND hwnd,
16557 HICON hIcon,
16558 LPCWSTR pszDescription) = 0;
16559
16560 virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(
16561 HWND hwnd,
16562 LPCWSTR pszTip) = 0;
16563
16564 virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(
16565 HWND hwnd,
16566 RECT *prcClip) = 0;
16567
16568};
16569#ifdef __CRT_UUID_DECL
16570__CRT_UUID_DECL(ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf)
16571#endif
16572#else
16573typedef struct ITaskbarList3Vtbl {
16574 BEGIN_INTERFACE
16575
16576 /*** IUnknown methods ***/
16577 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16578 ITaskbarList3 *This,
16579 REFIID riid,
16580 void **ppvObject);
16581
16582 ULONG (STDMETHODCALLTYPE *AddRef)(
16583 ITaskbarList3 *This);
16584
16585 ULONG (STDMETHODCALLTYPE *Release)(
16586 ITaskbarList3 *This);
16587
16588 /*** ITaskbarList methods ***/
16589 HRESULT (STDMETHODCALLTYPE *HrInit)(
16590 ITaskbarList3 *This);
16591
16592 HRESULT (STDMETHODCALLTYPE *AddTab)(
16593 ITaskbarList3 *This,
16594 HWND hwnd);
16595
16596 HRESULT (STDMETHODCALLTYPE *DeleteTab)(
16597 ITaskbarList3 *This,
16598 HWND hwnd);
16599
16600 HRESULT (STDMETHODCALLTYPE *ActivateTab)(
16601 ITaskbarList3 *This,
16602 HWND hwnd);
16603
16604 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
16605 ITaskbarList3 *This,
16606 HWND hwnd);
16607
16608 /*** ITaskbarList2 methods ***/
16609 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
16610 ITaskbarList3 *This,
16611 HWND hwnd,
16612 WINBOOL fFullscreen);
16613
16614 /*** ITaskbarList3 methods ***/
16615 HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
16616 ITaskbarList3 *This,
16617 HWND hwnd,
16618 ULONGLONG ullCompleted,
16619 ULONGLONG ullTotal);
16620
16621 HRESULT (STDMETHODCALLTYPE *SetProgressState)(
16622 ITaskbarList3 *This,
16623 HWND hwnd,
16624 TBPFLAG tbpFlags);
16625
16626 HRESULT (STDMETHODCALLTYPE *RegisterTab)(
16627 ITaskbarList3 *This,
16628 HWND hwndTab,
16629 HWND hwndMDI);
16630
16631 HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
16632 ITaskbarList3 *This,
16633 HWND hwndTab);
16634
16635 HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
16636 ITaskbarList3 *This,
16637 HWND hwndTab,
16638 HWND hwndInsertBefore);
16639
16640 HRESULT (STDMETHODCALLTYPE *SetTabActive)(
16641 ITaskbarList3 *This,
16642 HWND hwndTab,
16643 HWND hwndMDI,
16644 DWORD dwReserved);
16645
16646 HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
16647 ITaskbarList3 *This,
16648 HWND hwnd,
16649 UINT cButtons,
16650 LPTHUMBBUTTON pButton);
16651
16652 HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
16653 ITaskbarList3 *This,
16654 HWND hwnd,
16655 UINT cButtons,
16656 LPTHUMBBUTTON pButton);
16657
16658 HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
16659 ITaskbarList3 *This,
16660 HWND hwnd,
16661 HIMAGELIST himl);
16662
16663 HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
16664 ITaskbarList3 *This,
16665 HWND hwnd,
16666 HICON hIcon,
16667 LPCWSTR pszDescription);
16668
16669 HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
16670 ITaskbarList3 *This,
16671 HWND hwnd,
16672 LPCWSTR pszTip);
16673
16674 HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
16675 ITaskbarList3 *This,
16676 HWND hwnd,
16677 RECT *prcClip);
16678
16679 END_INTERFACE
16680} ITaskbarList3Vtbl;
16681
16682interface ITaskbarList3 {
16683 CONST_VTBL ITaskbarList3Vtbl* lpVtbl;
16684};
16685
16686#ifdef COBJMACROS
16687#ifndef WIDL_C_INLINE_WRAPPERS
16688/*** IUnknown methods ***/
16689#define ITaskbarList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16690#define ITaskbarList3_AddRef(This) (This)->lpVtbl->AddRef(This)
16691#define ITaskbarList3_Release(This) (This)->lpVtbl->Release(This)
16692/*** ITaskbarList methods ***/
16693#define ITaskbarList3_HrInit(This) (This)->lpVtbl->HrInit(This)
16694#define ITaskbarList3_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
16695#define ITaskbarList3_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
16696#define ITaskbarList3_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
16697#define ITaskbarList3_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
16698/*** ITaskbarList2 methods ***/
16699#define ITaskbarList3_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
16700/*** ITaskbarList3 methods ***/
16701#define ITaskbarList3_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
16702#define ITaskbarList3_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
16703#define ITaskbarList3_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
16704#define ITaskbarList3_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
16705#define ITaskbarList3_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
16706#define ITaskbarList3_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
16707#define ITaskbarList3_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
16708#define ITaskbarList3_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
16709#define ITaskbarList3_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
16710#define ITaskbarList3_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
16711#define ITaskbarList3_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
16712#define ITaskbarList3_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
16713#else
16714/*** IUnknown methods ***/
16715static inline HRESULT ITaskbarList3_QueryInterface(ITaskbarList3* This,REFIID riid,void **ppvObject) {
16716 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16717}
16718static inline ULONG ITaskbarList3_AddRef(ITaskbarList3* This) {
16719 return This->lpVtbl->AddRef(This);
16720}
16721static inline ULONG ITaskbarList3_Release(ITaskbarList3* This) {
16722 return This->lpVtbl->Release(This);
16723}
16724/*** ITaskbarList methods ***/
16725static inline HRESULT ITaskbarList3_HrInit(ITaskbarList3* This) {
16726 return This->lpVtbl->HrInit(This);
16727}
16728static inline HRESULT ITaskbarList3_AddTab(ITaskbarList3* This,HWND hwnd) {
16729 return This->lpVtbl->AddTab(This,hwnd);
16730}
16731static inline HRESULT ITaskbarList3_DeleteTab(ITaskbarList3* This,HWND hwnd) {
16732 return This->lpVtbl->DeleteTab(This,hwnd);
16733}
16734static inline HRESULT ITaskbarList3_ActivateTab(ITaskbarList3* This,HWND hwnd) {
16735 return This->lpVtbl->ActivateTab(This,hwnd);
16736}
16737static inline HRESULT ITaskbarList3_SetActiveAlt(ITaskbarList3* This,HWND hwnd) {
16738 return This->lpVtbl->SetActiveAlt(This,hwnd);
16739}
16740/*** ITaskbarList2 methods ***/
16741static inline HRESULT ITaskbarList3_MarkFullscreenWindow(ITaskbarList3* This,HWND hwnd,WINBOOL fFullscreen) {
16742 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
16743}
16744/*** ITaskbarList3 methods ***/
16745static inline HRESULT ITaskbarList3_SetProgressValue(ITaskbarList3* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) {
16746 return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal);
16747}
16748static inline HRESULT ITaskbarList3_SetProgressState(ITaskbarList3* This,HWND hwnd,TBPFLAG tbpFlags) {
16749 return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags);
16750}
16751static inline HRESULT ITaskbarList3_RegisterTab(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI) {
16752 return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI);
16753}
16754static inline HRESULT ITaskbarList3_UnregisterTab(ITaskbarList3* This,HWND hwndTab) {
16755 return This->lpVtbl->UnregisterTab(This,hwndTab);
16756}
16757static inline HRESULT ITaskbarList3_SetTabOrder(ITaskbarList3* This,HWND hwndTab,HWND hwndInsertBefore) {
16758 return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore);
16759}
16760static inline HRESULT ITaskbarList3_SetTabActive(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) {
16761 return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved);
16762}
16763static inline HRESULT ITaskbarList3_ThumbBarAddButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
16764 return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton);
16765}
16766static inline HRESULT ITaskbarList3_ThumbBarUpdateButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
16767 return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton);
16768}
16769static inline HRESULT ITaskbarList3_ThumbBarSetImageList(ITaskbarList3* This,HWND hwnd,HIMAGELIST himl) {
16770 return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl);
16771}
16772static inline HRESULT ITaskbarList3_SetOverlayIcon(ITaskbarList3* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) {
16773 return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription);
16774}
16775static inline HRESULT ITaskbarList3_SetThumbnailTooltip(ITaskbarList3* This,HWND hwnd,LPCWSTR pszTip) {
16776 return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip);
16777}
16778static inline HRESULT ITaskbarList3_SetThumbnailClip(ITaskbarList3* This,HWND hwnd,RECT *prcClip) {
16779 return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip);
16780}
16781#endif
16782#endif
16783
16784#endif
16785
16786
16787#endif /* __ITaskbarList3_INTERFACE_DEFINED__ */
16788
16789
16790/*****************************************************************************
16791 * ITaskbarList4 interface
16792 */
16793#ifndef __ITaskbarList4_INTERFACE_DEFINED__
16794#define __ITaskbarList4_INTERFACE_DEFINED__
16795
16796typedef enum STPFLAG {
16797 STPF_NONE = 0x0,
16798 STPF_USEAPPTHUMBNAILALWAYS = 0x1,
16799 STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2,
16800 STPF_USEAPPPEEKALWAYS = 0x4,
16801 STPF_USEAPPPEEKWHENACTIVE = 0x8
16802} STPFLAG;
16803
16804DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)
16805
16806DEFINE_GUID(IID_ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a);
16807#if defined(__cplusplus) && !defined(CINTERFACE)
16808MIDL_INTERFACE("c43dc798-95d1-4bea-9030-bb99e2983a1a")
16809ITaskbarList4 : public ITaskbarList3
16810{
16811 virtual HRESULT STDMETHODCALLTYPE SetTabProperties(
16812 HWND hwndTab,
16813 STPFLAG stpFlags) = 0;
16814
16815};
16816#ifdef __CRT_UUID_DECL
16817__CRT_UUID_DECL(ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a)
16818#endif
16819#else
16820typedef struct ITaskbarList4Vtbl {
16821 BEGIN_INTERFACE
16822
16823 /*** IUnknown methods ***/
16824 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16825 ITaskbarList4 *This,
16826 REFIID riid,
16827 void **ppvObject);
16828
16829 ULONG (STDMETHODCALLTYPE *AddRef)(
16830 ITaskbarList4 *This);
16831
16832 ULONG (STDMETHODCALLTYPE *Release)(
16833 ITaskbarList4 *This);
16834
16835 /*** ITaskbarList methods ***/
16836 HRESULT (STDMETHODCALLTYPE *HrInit)(
16837 ITaskbarList4 *This);
16838
16839 HRESULT (STDMETHODCALLTYPE *AddTab)(
16840 ITaskbarList4 *This,
16841 HWND hwnd);
16842
16843 HRESULT (STDMETHODCALLTYPE *DeleteTab)(
16844 ITaskbarList4 *This,
16845 HWND hwnd);
16846
16847 HRESULT (STDMETHODCALLTYPE *ActivateTab)(
16848 ITaskbarList4 *This,
16849 HWND hwnd);
16850
16851 HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
16852 ITaskbarList4 *This,
16853 HWND hwnd);
16854
16855 /*** ITaskbarList2 methods ***/
16856 HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
16857 ITaskbarList4 *This,
16858 HWND hwnd,
16859 WINBOOL fFullscreen);
16860
16861 /*** ITaskbarList3 methods ***/
16862 HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
16863 ITaskbarList4 *This,
16864 HWND hwnd,
16865 ULONGLONG ullCompleted,
16866 ULONGLONG ullTotal);
16867
16868 HRESULT (STDMETHODCALLTYPE *SetProgressState)(
16869 ITaskbarList4 *This,
16870 HWND hwnd,
16871 TBPFLAG tbpFlags);
16872
16873 HRESULT (STDMETHODCALLTYPE *RegisterTab)(
16874 ITaskbarList4 *This,
16875 HWND hwndTab,
16876 HWND hwndMDI);
16877
16878 HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
16879 ITaskbarList4 *This,
16880 HWND hwndTab);
16881
16882 HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
16883 ITaskbarList4 *This,
16884 HWND hwndTab,
16885 HWND hwndInsertBefore);
16886
16887 HRESULT (STDMETHODCALLTYPE *SetTabActive)(
16888 ITaskbarList4 *This,
16889 HWND hwndTab,
16890 HWND hwndMDI,
16891 DWORD dwReserved);
16892
16893 HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
16894 ITaskbarList4 *This,
16895 HWND hwnd,
16896 UINT cButtons,
16897 LPTHUMBBUTTON pButton);
16898
16899 HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
16900 ITaskbarList4 *This,
16901 HWND hwnd,
16902 UINT cButtons,
16903 LPTHUMBBUTTON pButton);
16904
16905 HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
16906 ITaskbarList4 *This,
16907 HWND hwnd,
16908 HIMAGELIST himl);
16909
16910 HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
16911 ITaskbarList4 *This,
16912 HWND hwnd,
16913 HICON hIcon,
16914 LPCWSTR pszDescription);
16915
16916 HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
16917 ITaskbarList4 *This,
16918 HWND hwnd,
16919 LPCWSTR pszTip);
16920
16921 HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
16922 ITaskbarList4 *This,
16923 HWND hwnd,
16924 RECT *prcClip);
16925
16926 /*** ITaskbarList4 methods ***/
16927 HRESULT (STDMETHODCALLTYPE *SetTabProperties)(
16928 ITaskbarList4 *This,
16929 HWND hwndTab,
16930 STPFLAG stpFlags);
16931
16932 END_INTERFACE
16933} ITaskbarList4Vtbl;
16934
16935interface ITaskbarList4 {
16936 CONST_VTBL ITaskbarList4Vtbl* lpVtbl;
16937};
16938
16939#ifdef COBJMACROS
16940#ifndef WIDL_C_INLINE_WRAPPERS
16941/*** IUnknown methods ***/
16942#define ITaskbarList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16943#define ITaskbarList4_AddRef(This) (This)->lpVtbl->AddRef(This)
16944#define ITaskbarList4_Release(This) (This)->lpVtbl->Release(This)
16945/*** ITaskbarList methods ***/
16946#define ITaskbarList4_HrInit(This) (This)->lpVtbl->HrInit(This)
16947#define ITaskbarList4_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
16948#define ITaskbarList4_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
16949#define ITaskbarList4_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
16950#define ITaskbarList4_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
16951/*** ITaskbarList2 methods ***/
16952#define ITaskbarList4_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
16953/*** ITaskbarList3 methods ***/
16954#define ITaskbarList4_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
16955#define ITaskbarList4_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
16956#define ITaskbarList4_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
16957#define ITaskbarList4_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
16958#define ITaskbarList4_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
16959#define ITaskbarList4_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
16960#define ITaskbarList4_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
16961#define ITaskbarList4_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
16962#define ITaskbarList4_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
16963#define ITaskbarList4_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
16964#define ITaskbarList4_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
16965#define ITaskbarList4_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
16966/*** ITaskbarList4 methods ***/
16967#define ITaskbarList4_SetTabProperties(This,hwndTab,stpFlags) (This)->lpVtbl->SetTabProperties(This,hwndTab,stpFlags)
16968#else
16969/*** IUnknown methods ***/
16970static inline HRESULT ITaskbarList4_QueryInterface(ITaskbarList4* This,REFIID riid,void **ppvObject) {
16971 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16972}
16973static inline ULONG ITaskbarList4_AddRef(ITaskbarList4* This) {
16974 return This->lpVtbl->AddRef(This);
16975}
16976static inline ULONG ITaskbarList4_Release(ITaskbarList4* This) {
16977 return This->lpVtbl->Release(This);
16978}
16979/*** ITaskbarList methods ***/
16980static inline HRESULT ITaskbarList4_HrInit(ITaskbarList4* This) {
16981 return This->lpVtbl->HrInit(This);
16982}
16983static inline HRESULT ITaskbarList4_AddTab(ITaskbarList4* This,HWND hwnd) {
16984 return This->lpVtbl->AddTab(This,hwnd);
16985}
16986static inline HRESULT ITaskbarList4_DeleteTab(ITaskbarList4* This,HWND hwnd) {
16987 return This->lpVtbl->DeleteTab(This,hwnd);
16988}
16989static inline HRESULT ITaskbarList4_ActivateTab(ITaskbarList4* This,HWND hwnd) {
16990 return This->lpVtbl->ActivateTab(This,hwnd);
16991}
16992static inline HRESULT ITaskbarList4_SetActiveAlt(ITaskbarList4* This,HWND hwnd) {
16993 return This->lpVtbl->SetActiveAlt(This,hwnd);
16994}
16995/*** ITaskbarList2 methods ***/
16996static inline HRESULT ITaskbarList4_MarkFullscreenWindow(ITaskbarList4* This,HWND hwnd,WINBOOL fFullscreen) {
16997 return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
16998}
16999/*** ITaskbarList3 methods ***/
17000static inline HRESULT ITaskbarList4_SetProgressValue(ITaskbarList4* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) {
17001 return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal);
17002}
17003static inline HRESULT ITaskbarList4_SetProgressState(ITaskbarList4* This,HWND hwnd,TBPFLAG tbpFlags) {
17004 return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags);
17005}
17006static inline HRESULT ITaskbarList4_RegisterTab(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI) {
17007 return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI);
17008}
17009static inline HRESULT ITaskbarList4_UnregisterTab(ITaskbarList4* This,HWND hwndTab) {
17010 return This->lpVtbl->UnregisterTab(This,hwndTab);
17011}
17012static inline HRESULT ITaskbarList4_SetTabOrder(ITaskbarList4* This,HWND hwndTab,HWND hwndInsertBefore) {
17013 return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore);
17014}
17015static inline HRESULT ITaskbarList4_SetTabActive(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) {
17016 return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved);
17017}
17018static inline HRESULT ITaskbarList4_ThumbBarAddButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
17019 return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton);
17020}
17021static inline HRESULT ITaskbarList4_ThumbBarUpdateButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
17022 return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton);
17023}
17024static inline HRESULT ITaskbarList4_ThumbBarSetImageList(ITaskbarList4* This,HWND hwnd,HIMAGELIST himl) {
17025 return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl);
17026}
17027static inline HRESULT ITaskbarList4_SetOverlayIcon(ITaskbarList4* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) {
17028 return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription);
17029}
17030static inline HRESULT ITaskbarList4_SetThumbnailTooltip(ITaskbarList4* This,HWND hwnd,LPCWSTR pszTip) {
17031 return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip);
17032}
17033static inline HRESULT ITaskbarList4_SetThumbnailClip(ITaskbarList4* This,HWND hwnd,RECT *prcClip) {
17034 return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip);
17035}
17036/*** ITaskbarList4 methods ***/
17037static inline HRESULT ITaskbarList4_SetTabProperties(ITaskbarList4* This,HWND hwndTab,STPFLAG stpFlags) {
17038 return This->lpVtbl->SetTabProperties(This,hwndTab,stpFlags);
17039}
17040#endif
17041#endif
17042
17043#endif
17044
17045
17046#endif /* __ITaskbarList4_INTERFACE_DEFINED__ */
17047
17048
17049/*****************************************************************************
17050 * IStartMenuPinnedList interface
17051 */
17052#ifndef __IStartMenuPinnedList_INTERFACE_DEFINED__
17053#define __IStartMenuPinnedList_INTERFACE_DEFINED__
17054
17055DEFINE_GUID(IID_IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b);
17056#if defined(__cplusplus) && !defined(CINTERFACE)
17057MIDL_INTERFACE("4cd19ada-25a5-4a32-b3b7-347bee5be36b")
17058IStartMenuPinnedList : public IUnknown
17059{
17060 virtual HRESULT STDMETHODCALLTYPE RemoveFromList(
17061 IShellItem *pitem) = 0;
17062
17063};
17064#ifdef __CRT_UUID_DECL
17065__CRT_UUID_DECL(IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b)
17066#endif
17067#else
17068typedef struct IStartMenuPinnedListVtbl {
17069 BEGIN_INTERFACE
17070
17071 /*** IUnknown methods ***/
17072 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17073 IStartMenuPinnedList *This,
17074 REFIID riid,
17075 void **ppvObject);
17076
17077 ULONG (STDMETHODCALLTYPE *AddRef)(
17078 IStartMenuPinnedList *This);
17079
17080 ULONG (STDMETHODCALLTYPE *Release)(
17081 IStartMenuPinnedList *This);
17082
17083 /*** IStartMenuPinnedList methods ***/
17084 HRESULT (STDMETHODCALLTYPE *RemoveFromList)(
17085 IStartMenuPinnedList *This,
17086 IShellItem *pitem);
17087
17088 END_INTERFACE
17089} IStartMenuPinnedListVtbl;
17090
17091interface IStartMenuPinnedList {
17092 CONST_VTBL IStartMenuPinnedListVtbl* lpVtbl;
17093};
17094
17095#ifdef COBJMACROS
17096#ifndef WIDL_C_INLINE_WRAPPERS
17097/*** IUnknown methods ***/
17098#define IStartMenuPinnedList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17099#define IStartMenuPinnedList_AddRef(This) (This)->lpVtbl->AddRef(This)
17100#define IStartMenuPinnedList_Release(This) (This)->lpVtbl->Release(This)
17101/*** IStartMenuPinnedList methods ***/
17102#define IStartMenuPinnedList_RemoveFromList(This,pitem) (This)->lpVtbl->RemoveFromList(This,pitem)
17103#else
17104/*** IUnknown methods ***/
17105static inline HRESULT IStartMenuPinnedList_QueryInterface(IStartMenuPinnedList* This,REFIID riid,void **ppvObject) {
17106 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17107}
17108static inline ULONG IStartMenuPinnedList_AddRef(IStartMenuPinnedList* This) {
17109 return This->lpVtbl->AddRef(This);
17110}
17111static inline ULONG IStartMenuPinnedList_Release(IStartMenuPinnedList* This) {
17112 return This->lpVtbl->Release(This);
17113}
17114/*** IStartMenuPinnedList methods ***/
17115static inline HRESULT IStartMenuPinnedList_RemoveFromList(IStartMenuPinnedList* This,IShellItem *pitem) {
17116 return This->lpVtbl->RemoveFromList(This,pitem);
17117}
17118#endif
17119#endif
17120
17121#endif
17122
17123
17124#endif /* __IStartMenuPinnedList_INTERFACE_DEFINED__ */
17125
17126
17127/*****************************************************************************
17128 * ICDBurn interface
17129 */
17130#ifndef __ICDBurn_INTERFACE_DEFINED__
17131#define __ICDBurn_INTERFACE_DEFINED__
17132
17133DEFINE_GUID(IID_ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d);
17134#if defined(__cplusplus) && !defined(CINTERFACE)
17135MIDL_INTERFACE("3d73a659-e5d0-4d42-afc0-5121ba425c8d")
17136ICDBurn : public IUnknown
17137{
17138 virtual HRESULT STDMETHODCALLTYPE GetRecorderDriveLetter(
17139 LPWSTR pszDrive,
17140 UINT cch) = 0;
17141
17142 virtual HRESULT STDMETHODCALLTYPE Burn(
17143 HWND hwnd) = 0;
17144
17145 virtual HRESULT STDMETHODCALLTYPE HasRecordableDrive(
17146 WINBOOL *pfHasRecorder) = 0;
17147
17148};
17149#ifdef __CRT_UUID_DECL
17150__CRT_UUID_DECL(ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d)
17151#endif
17152#else
17153typedef struct ICDBurnVtbl {
17154 BEGIN_INTERFACE
17155
17156 /*** IUnknown methods ***/
17157 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17158 ICDBurn *This,
17159 REFIID riid,
17160 void **ppvObject);
17161
17162 ULONG (STDMETHODCALLTYPE *AddRef)(
17163 ICDBurn *This);
17164
17165 ULONG (STDMETHODCALLTYPE *Release)(
17166 ICDBurn *This);
17167
17168 /*** ICDBurn methods ***/
17169 HRESULT (STDMETHODCALLTYPE *GetRecorderDriveLetter)(
17170 ICDBurn *This,
17171 LPWSTR pszDrive,
17172 UINT cch);
17173
17174 HRESULT (STDMETHODCALLTYPE *Burn)(
17175 ICDBurn *This,
17176 HWND hwnd);
17177
17178 HRESULT (STDMETHODCALLTYPE *HasRecordableDrive)(
17179 ICDBurn *This,
17180 WINBOOL *pfHasRecorder);
17181
17182 END_INTERFACE
17183} ICDBurnVtbl;
17184
17185interface ICDBurn {
17186 CONST_VTBL ICDBurnVtbl* lpVtbl;
17187};
17188
17189#ifdef COBJMACROS
17190#ifndef WIDL_C_INLINE_WRAPPERS
17191/*** IUnknown methods ***/
17192#define ICDBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17193#define ICDBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
17194#define ICDBurn_Release(This) (This)->lpVtbl->Release(This)
17195/*** ICDBurn methods ***/
17196#define ICDBurn_GetRecorderDriveLetter(This,pszDrive,cch) (This)->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch)
17197#define ICDBurn_Burn(This,hwnd) (This)->lpVtbl->Burn(This,hwnd)
17198#define ICDBurn_HasRecordableDrive(This,pfHasRecorder) (This)->lpVtbl->HasRecordableDrive(This,pfHasRecorder)
17199#else
17200/*** IUnknown methods ***/
17201static inline HRESULT ICDBurn_QueryInterface(ICDBurn* This,REFIID riid,void **ppvObject) {
17202 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17203}
17204static inline ULONG ICDBurn_AddRef(ICDBurn* This) {
17205 return This->lpVtbl->AddRef(This);
17206}
17207static inline ULONG ICDBurn_Release(ICDBurn* This) {
17208 return This->lpVtbl->Release(This);
17209}
17210/*** ICDBurn methods ***/
17211static inline HRESULT ICDBurn_GetRecorderDriveLetter(ICDBurn* This,LPWSTR pszDrive,UINT cch) {
17212 return This->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch);
17213}
17214static inline HRESULT ICDBurn_Burn(ICDBurn* This,HWND hwnd) {
17215 return This->lpVtbl->Burn(This,hwnd);
17216}
17217static inline HRESULT ICDBurn_HasRecordableDrive(ICDBurn* This,WINBOOL *pfHasRecorder) {
17218 return This->lpVtbl->HasRecordableDrive(This,pfHasRecorder);
17219}
17220#endif
17221#endif
17222
17223#endif
17224
17225
17226#endif /* __ICDBurn_INTERFACE_DEFINED__ */
17227
17228
17229#define IDD_WIZEXTN_FIRST 0x5000
17230#define IDD_WIZEXTN_LAST 0x5100
17231
17232/*****************************************************************************
17233 * IWizardSite interface
17234 */
17235#ifndef __IWizardSite_INTERFACE_DEFINED__
17236#define __IWizardSite_INTERFACE_DEFINED__
17237
17238DEFINE_GUID(IID_IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3);
17239#if defined(__cplusplus) && !defined(CINTERFACE)
17240MIDL_INTERFACE("88960f5b-422f-4e7b-8013-73415381c3c3")
17241IWizardSite : public IUnknown
17242{
17243 virtual HRESULT STDMETHODCALLTYPE GetPreviousPage(
17244 HPROPSHEETPAGE *phpage) = 0;
17245
17246 virtual HRESULT STDMETHODCALLTYPE GetNextPage(
17247 HPROPSHEETPAGE *phpage) = 0;
17248
17249 virtual HRESULT STDMETHODCALLTYPE GetCancelledPage(
17250 HPROPSHEETPAGE *phpage) = 0;
17251
17252};
17253#ifdef __CRT_UUID_DECL
17254__CRT_UUID_DECL(IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3)
17255#endif
17256#else
17257typedef struct IWizardSiteVtbl {
17258 BEGIN_INTERFACE
17259
17260 /*** IUnknown methods ***/
17261 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17262 IWizardSite *This,
17263 REFIID riid,
17264 void **ppvObject);
17265
17266 ULONG (STDMETHODCALLTYPE *AddRef)(
17267 IWizardSite *This);
17268
17269 ULONG (STDMETHODCALLTYPE *Release)(
17270 IWizardSite *This);
17271
17272 /*** IWizardSite methods ***/
17273 HRESULT (STDMETHODCALLTYPE *GetPreviousPage)(
17274 IWizardSite *This,
17275 HPROPSHEETPAGE *phpage);
17276
17277 HRESULT (STDMETHODCALLTYPE *GetNextPage)(
17278 IWizardSite *This,
17279 HPROPSHEETPAGE *phpage);
17280
17281 HRESULT (STDMETHODCALLTYPE *GetCancelledPage)(
17282 IWizardSite *This,
17283 HPROPSHEETPAGE *phpage);
17284
17285 END_INTERFACE
17286} IWizardSiteVtbl;
17287
17288interface IWizardSite {
17289 CONST_VTBL IWizardSiteVtbl* lpVtbl;
17290};
17291
17292#ifdef COBJMACROS
17293#ifndef WIDL_C_INLINE_WRAPPERS
17294/*** IUnknown methods ***/
17295#define IWizardSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17296#define IWizardSite_AddRef(This) (This)->lpVtbl->AddRef(This)
17297#define IWizardSite_Release(This) (This)->lpVtbl->Release(This)
17298/*** IWizardSite methods ***/
17299#define IWizardSite_GetPreviousPage(This,phpage) (This)->lpVtbl->GetPreviousPage(This,phpage)
17300#define IWizardSite_GetNextPage(This,phpage) (This)->lpVtbl->GetNextPage(This,phpage)
17301#define IWizardSite_GetCancelledPage(This,phpage) (This)->lpVtbl->GetCancelledPage(This,phpage)
17302#else
17303/*** IUnknown methods ***/
17304static inline HRESULT IWizardSite_QueryInterface(IWizardSite* This,REFIID riid,void **ppvObject) {
17305 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17306}
17307static inline ULONG IWizardSite_AddRef(IWizardSite* This) {
17308 return This->lpVtbl->AddRef(This);
17309}
17310static inline ULONG IWizardSite_Release(IWizardSite* This) {
17311 return This->lpVtbl->Release(This);
17312}
17313/*** IWizardSite methods ***/
17314static inline HRESULT IWizardSite_GetPreviousPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
17315 return This->lpVtbl->GetPreviousPage(This,phpage);
17316}
17317static inline HRESULT IWizardSite_GetNextPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
17318 return This->lpVtbl->GetNextPage(This,phpage);
17319}
17320static inline HRESULT IWizardSite_GetCancelledPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
17321 return This->lpVtbl->GetCancelledPage(This,phpage);
17322}
17323#endif
17324#endif
17325
17326#endif
17327
17328
17329#endif /* __IWizardSite_INTERFACE_DEFINED__ */
17330
17331
17332#define SID_WizardSite IID_IWizardSite
17333
17334/*****************************************************************************
17335 * IWizardExtension interface
17336 */
17337#ifndef __IWizardExtension_INTERFACE_DEFINED__
17338#define __IWizardExtension_INTERFACE_DEFINED__
17339
17340DEFINE_GUID(IID_IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8);
17341#if defined(__cplusplus) && !defined(CINTERFACE)
17342MIDL_INTERFACE("c02ea696-86cc-491e-9b23-74394a0444a8")
17343IWizardExtension : public IUnknown
17344{
17345 virtual HRESULT STDMETHODCALLTYPE AddPages(
17346 HPROPSHEETPAGE *aPages,
17347 UINT cPages,
17348 UINT *pnPagesAdded) = 0;
17349
17350 virtual HRESULT STDMETHODCALLTYPE GetFirstPage(
17351 HPROPSHEETPAGE *phpage) = 0;
17352
17353 virtual HRESULT STDMETHODCALLTYPE GetLastPage(
17354 HPROPSHEETPAGE *phpage) = 0;
17355
17356};
17357#ifdef __CRT_UUID_DECL
17358__CRT_UUID_DECL(IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8)
17359#endif
17360#else
17361typedef struct IWizardExtensionVtbl {
17362 BEGIN_INTERFACE
17363
17364 /*** IUnknown methods ***/
17365 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17366 IWizardExtension *This,
17367 REFIID riid,
17368 void **ppvObject);
17369
17370 ULONG (STDMETHODCALLTYPE *AddRef)(
17371 IWizardExtension *This);
17372
17373 ULONG (STDMETHODCALLTYPE *Release)(
17374 IWizardExtension *This);
17375
17376 /*** IWizardExtension methods ***/
17377 HRESULT (STDMETHODCALLTYPE *AddPages)(
17378 IWizardExtension *This,
17379 HPROPSHEETPAGE *aPages,
17380 UINT cPages,
17381 UINT *pnPagesAdded);
17382
17383 HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
17384 IWizardExtension *This,
17385 HPROPSHEETPAGE *phpage);
17386
17387 HRESULT (STDMETHODCALLTYPE *GetLastPage)(
17388 IWizardExtension *This,
17389 HPROPSHEETPAGE *phpage);
17390
17391 END_INTERFACE
17392} IWizardExtensionVtbl;
17393
17394interface IWizardExtension {
17395 CONST_VTBL IWizardExtensionVtbl* lpVtbl;
17396};
17397
17398#ifdef COBJMACROS
17399#ifndef WIDL_C_INLINE_WRAPPERS
17400/*** IUnknown methods ***/
17401#define IWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17402#define IWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
17403#define IWizardExtension_Release(This) (This)->lpVtbl->Release(This)
17404/*** IWizardExtension methods ***/
17405#define IWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
17406#define IWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
17407#define IWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
17408#else
17409/*** IUnknown methods ***/
17410static inline HRESULT IWizardExtension_QueryInterface(IWizardExtension* This,REFIID riid,void **ppvObject) {
17411 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17412}
17413static inline ULONG IWizardExtension_AddRef(IWizardExtension* This) {
17414 return This->lpVtbl->AddRef(This);
17415}
17416static inline ULONG IWizardExtension_Release(IWizardExtension* This) {
17417 return This->lpVtbl->Release(This);
17418}
17419/*** IWizardExtension methods ***/
17420static inline HRESULT IWizardExtension_AddPages(IWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
17421 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
17422}
17423static inline HRESULT IWizardExtension_GetFirstPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) {
17424 return This->lpVtbl->GetFirstPage(This,phpage);
17425}
17426static inline HRESULT IWizardExtension_GetLastPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) {
17427 return This->lpVtbl->GetLastPage(This,phpage);
17428}
17429#endif
17430#endif
17431
17432#endif
17433
17434
17435#endif /* __IWizardExtension_INTERFACE_DEFINED__ */
17436
17437
17438/*****************************************************************************
17439 * IWebWizardExtension interface
17440 */
17441#ifndef __IWebWizardExtension_INTERFACE_DEFINED__
17442#define __IWebWizardExtension_INTERFACE_DEFINED__
17443
17444DEFINE_GUID(IID_IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5);
17445#if defined(__cplusplus) && !defined(CINTERFACE)
17446MIDL_INTERFACE("0e6b3f66-98d1-48c0-a222-fbde74e2fbc5")
17447IWebWizardExtension : public IWizardExtension
17448{
17449 virtual HRESULT STDMETHODCALLTYPE SetInitialURL(
17450 LPCWSTR pszURL) = 0;
17451
17452 virtual HRESULT STDMETHODCALLTYPE SetErrorURL(
17453 LPCWSTR pszErrorURL) = 0;
17454
17455};
17456#ifdef __CRT_UUID_DECL
17457__CRT_UUID_DECL(IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5)
17458#endif
17459#else
17460typedef struct IWebWizardExtensionVtbl {
17461 BEGIN_INTERFACE
17462
17463 /*** IUnknown methods ***/
17464 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17465 IWebWizardExtension *This,
17466 REFIID riid,
17467 void **ppvObject);
17468
17469 ULONG (STDMETHODCALLTYPE *AddRef)(
17470 IWebWizardExtension *This);
17471
17472 ULONG (STDMETHODCALLTYPE *Release)(
17473 IWebWizardExtension *This);
17474
17475 /*** IWizardExtension methods ***/
17476 HRESULT (STDMETHODCALLTYPE *AddPages)(
17477 IWebWizardExtension *This,
17478 HPROPSHEETPAGE *aPages,
17479 UINT cPages,
17480 UINT *pnPagesAdded);
17481
17482 HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
17483 IWebWizardExtension *This,
17484 HPROPSHEETPAGE *phpage);
17485
17486 HRESULT (STDMETHODCALLTYPE *GetLastPage)(
17487 IWebWizardExtension *This,
17488 HPROPSHEETPAGE *phpage);
17489
17490 /*** IWebWizardExtension methods ***/
17491 HRESULT (STDMETHODCALLTYPE *SetInitialURL)(
17492 IWebWizardExtension *This,
17493 LPCWSTR pszURL);
17494
17495 HRESULT (STDMETHODCALLTYPE *SetErrorURL)(
17496 IWebWizardExtension *This,
17497 LPCWSTR pszErrorURL);
17498
17499 END_INTERFACE
17500} IWebWizardExtensionVtbl;
17501
17502interface IWebWizardExtension {
17503 CONST_VTBL IWebWizardExtensionVtbl* lpVtbl;
17504};
17505
17506#ifdef COBJMACROS
17507#ifndef WIDL_C_INLINE_WRAPPERS
17508/*** IUnknown methods ***/
17509#define IWebWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17510#define IWebWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
17511#define IWebWizardExtension_Release(This) (This)->lpVtbl->Release(This)
17512/*** IWizardExtension methods ***/
17513#define IWebWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
17514#define IWebWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
17515#define IWebWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
17516/*** IWebWizardExtension methods ***/
17517#define IWebWizardExtension_SetInitialURL(This,pszURL) (This)->lpVtbl->SetInitialURL(This,pszURL)
17518#define IWebWizardExtension_SetErrorURL(This,pszErrorURL) (This)->lpVtbl->SetErrorURL(This,pszErrorURL)
17519#else
17520/*** IUnknown methods ***/
17521static inline HRESULT IWebWizardExtension_QueryInterface(IWebWizardExtension* This,REFIID riid,void **ppvObject) {
17522 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17523}
17524static inline ULONG IWebWizardExtension_AddRef(IWebWizardExtension* This) {
17525 return This->lpVtbl->AddRef(This);
17526}
17527static inline ULONG IWebWizardExtension_Release(IWebWizardExtension* This) {
17528 return This->lpVtbl->Release(This);
17529}
17530/*** IWizardExtension methods ***/
17531static inline HRESULT IWebWizardExtension_AddPages(IWebWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
17532 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
17533}
17534static inline HRESULT IWebWizardExtension_GetFirstPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) {
17535 return This->lpVtbl->GetFirstPage(This,phpage);
17536}
17537static inline HRESULT IWebWizardExtension_GetLastPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) {
17538 return This->lpVtbl->GetLastPage(This,phpage);
17539}
17540/*** IWebWizardExtension methods ***/
17541static inline HRESULT IWebWizardExtension_SetInitialURL(IWebWizardExtension* This,LPCWSTR pszURL) {
17542 return This->lpVtbl->SetInitialURL(This,pszURL);
17543}
17544static inline HRESULT IWebWizardExtension_SetErrorURL(IWebWizardExtension* This,LPCWSTR pszErrorURL) {
17545 return This->lpVtbl->SetErrorURL(This,pszErrorURL);
17546}
17547#endif
17548#endif
17549
17550#endif
17551
17552
17553#endif /* __IWebWizardExtension_INTERFACE_DEFINED__ */
17554
17555
17556#define SID_WebWizardHost IID_IWebWizardExtension
17557
17558#define SHPWHF_NORECOMPRESS 0x00000001
17559#define SHPWHF_NONETPLACECREATE 0x00000002
17560#define SHPWHF_NOFILESELECTOR 0x00000004
17561#define SHPWHF_USEMRU 0x00000008
17562#if NTDDI_VERSION >= NTDDI_VISTA
17563#define SHPWHF_ANYLOCATION 0x00000100
17564#endif
17565#define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000
17566
17567#ifndef __IXMLDOMDocument_FWD_DEFINED__
17568#define __IXMLDOMDocument_FWD_DEFINED__
17569typedef interface IXMLDOMDocument IXMLDOMDocument;
17570#ifdef __cplusplus
17571interface IXMLDOMDocument;
17572#endif /* __cplusplus */
17573#endif
17574
17575
17576/*****************************************************************************
17577 * IPublishingWizard interface
17578 */
17579#ifndef __IPublishingWizard_INTERFACE_DEFINED__
17580#define __IPublishingWizard_INTERFACE_DEFINED__
17581
17582DEFINE_GUID(IID_IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a);
17583#if defined(__cplusplus) && !defined(CINTERFACE)
17584MIDL_INTERFACE("aa9198bb-ccec-472d-beed-19a4f6733f7a")
17585IPublishingWizard : public IWizardExtension
17586{
17587 virtual HRESULT STDMETHODCALLTYPE Initialize(
17588 IDataObject *pdo,
17589 DWORD dwOptions,
17590 LPCWSTR pszServiceScope) = 0;
17591
17592 virtual HRESULT STDMETHODCALLTYPE GetTransferManifest(
17593 HRESULT *phrFromTransfer,
17594 IXMLDOMDocument **pdocManifest) = 0;
17595
17596};
17597#ifdef __CRT_UUID_DECL
17598__CRT_UUID_DECL(IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a)
17599#endif
17600#else
17601typedef struct IPublishingWizardVtbl {
17602 BEGIN_INTERFACE
17603
17604 /*** IUnknown methods ***/
17605 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17606 IPublishingWizard *This,
17607 REFIID riid,
17608 void **ppvObject);
17609
17610 ULONG (STDMETHODCALLTYPE *AddRef)(
17611 IPublishingWizard *This);
17612
17613 ULONG (STDMETHODCALLTYPE *Release)(
17614 IPublishingWizard *This);
17615
17616 /*** IWizardExtension methods ***/
17617 HRESULT (STDMETHODCALLTYPE *AddPages)(
17618 IPublishingWizard *This,
17619 HPROPSHEETPAGE *aPages,
17620 UINT cPages,
17621 UINT *pnPagesAdded);
17622
17623 HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
17624 IPublishingWizard *This,
17625 HPROPSHEETPAGE *phpage);
17626
17627 HRESULT (STDMETHODCALLTYPE *GetLastPage)(
17628 IPublishingWizard *This,
17629 HPROPSHEETPAGE *phpage);
17630
17631 /*** IPublishingWizard methods ***/
17632 HRESULT (STDMETHODCALLTYPE *Initialize)(
17633 IPublishingWizard *This,
17634 IDataObject *pdo,
17635 DWORD dwOptions,
17636 LPCWSTR pszServiceScope);
17637
17638 HRESULT (STDMETHODCALLTYPE *GetTransferManifest)(
17639 IPublishingWizard *This,
17640 HRESULT *phrFromTransfer,
17641 IXMLDOMDocument **pdocManifest);
17642
17643 END_INTERFACE
17644} IPublishingWizardVtbl;
17645
17646interface IPublishingWizard {
17647 CONST_VTBL IPublishingWizardVtbl* lpVtbl;
17648};
17649
17650#ifdef COBJMACROS
17651#ifndef WIDL_C_INLINE_WRAPPERS
17652/*** IUnknown methods ***/
17653#define IPublishingWizard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17654#define IPublishingWizard_AddRef(This) (This)->lpVtbl->AddRef(This)
17655#define IPublishingWizard_Release(This) (This)->lpVtbl->Release(This)
17656/*** IWizardExtension methods ***/
17657#define IPublishingWizard_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
17658#define IPublishingWizard_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
17659#define IPublishingWizard_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
17660/*** IPublishingWizard methods ***/
17661#define IPublishingWizard_Initialize(This,pdo,dwOptions,pszServiceScope) (This)->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope)
17662#define IPublishingWizard_GetTransferManifest(This,phrFromTransfer,pdocManifest) (This)->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest)
17663#else
17664/*** IUnknown methods ***/
17665static inline HRESULT IPublishingWizard_QueryInterface(IPublishingWizard* This,REFIID riid,void **ppvObject) {
17666 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17667}
17668static inline ULONG IPublishingWizard_AddRef(IPublishingWizard* This) {
17669 return This->lpVtbl->AddRef(This);
17670}
17671static inline ULONG IPublishingWizard_Release(IPublishingWizard* This) {
17672 return This->lpVtbl->Release(This);
17673}
17674/*** IWizardExtension methods ***/
17675static inline HRESULT IPublishingWizard_AddPages(IPublishingWizard* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
17676 return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
17677}
17678static inline HRESULT IPublishingWizard_GetFirstPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) {
17679 return This->lpVtbl->GetFirstPage(This,phpage);
17680}
17681static inline HRESULT IPublishingWizard_GetLastPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) {
17682 return This->lpVtbl->GetLastPage(This,phpage);
17683}
17684/*** IPublishingWizard methods ***/
17685static inline HRESULT IPublishingWizard_Initialize(IPublishingWizard* This,IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceScope) {
17686 return This->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope);
17687}
17688static inline HRESULT IPublishingWizard_GetTransferManifest(IPublishingWizard* This,HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest) {
17689 return This->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest);
17690}
17691#endif
17692#endif
17693
17694#endif
17695
17696
17697#endif /* __IPublishingWizard_INTERFACE_DEFINED__ */
17698
17699
17700/*****************************************************************************
17701 * IFolderViewHost interface
17702 */
17703#ifndef __IFolderViewHost_INTERFACE_DEFINED__
17704#define __IFolderViewHost_INTERFACE_DEFINED__
17705
17706DEFINE_GUID(IID_IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b);
17707#if defined(__cplusplus) && !defined(CINTERFACE)
17708MIDL_INTERFACE("1ea58f02-d55a-411d-b09e-9e65ac21605b")
17709IFolderViewHost : public IUnknown
17710{
17711 virtual HRESULT STDMETHODCALLTYPE Initialize(
17712 HWND hwndParent,
17713 IDataObject *pdo,
17714 RECT *prc) = 0;
17715
17716};
17717#ifdef __CRT_UUID_DECL
17718__CRT_UUID_DECL(IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b)
17719#endif
17720#else
17721typedef struct IFolderViewHostVtbl {
17722 BEGIN_INTERFACE
17723
17724 /*** IUnknown methods ***/
17725 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17726 IFolderViewHost *This,
17727 REFIID riid,
17728 void **ppvObject);
17729
17730 ULONG (STDMETHODCALLTYPE *AddRef)(
17731 IFolderViewHost *This);
17732
17733 ULONG (STDMETHODCALLTYPE *Release)(
17734 IFolderViewHost *This);
17735
17736 /*** IFolderViewHost methods ***/
17737 HRESULT (STDMETHODCALLTYPE *Initialize)(
17738 IFolderViewHost *This,
17739 HWND hwndParent,
17740 IDataObject *pdo,
17741 RECT *prc);
17742
17743 END_INTERFACE
17744} IFolderViewHostVtbl;
17745
17746interface IFolderViewHost {
17747 CONST_VTBL IFolderViewHostVtbl* lpVtbl;
17748};
17749
17750#ifdef COBJMACROS
17751#ifndef WIDL_C_INLINE_WRAPPERS
17752/*** IUnknown methods ***/
17753#define IFolderViewHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17754#define IFolderViewHost_AddRef(This) (This)->lpVtbl->AddRef(This)
17755#define IFolderViewHost_Release(This) (This)->lpVtbl->Release(This)
17756/*** IFolderViewHost methods ***/
17757#define IFolderViewHost_Initialize(This,hwndParent,pdo,prc) (This)->lpVtbl->Initialize(This,hwndParent,pdo,prc)
17758#else
17759/*** IUnknown methods ***/
17760static inline HRESULT IFolderViewHost_QueryInterface(IFolderViewHost* This,REFIID riid,void **ppvObject) {
17761 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17762}
17763static inline ULONG IFolderViewHost_AddRef(IFolderViewHost* This) {
17764 return This->lpVtbl->AddRef(This);
17765}
17766static inline ULONG IFolderViewHost_Release(IFolderViewHost* This) {
17767 return This->lpVtbl->Release(This);
17768}
17769/*** IFolderViewHost methods ***/
17770static inline HRESULT IFolderViewHost_Initialize(IFolderViewHost* This,HWND hwndParent,IDataObject *pdo,RECT *prc) {
17771 return This->lpVtbl->Initialize(This,hwndParent,pdo,prc);
17772}
17773#endif
17774#endif
17775
17776#endif
17777
17778
17779#endif /* __IFolderViewHost_INTERFACE_DEFINED__ */
17780
17781
17782#if _WIN32_IE >= _WIN32_IE_IE70
17783/*****************************************************************************
17784 * IExplorerBrowserEvents interface
17785 */
17786#ifndef __IExplorerBrowserEvents_INTERFACE_DEFINED__
17787#define __IExplorerBrowserEvents_INTERFACE_DEFINED__
17788
17789DEFINE_GUID(IID_IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f);
17790#if defined(__cplusplus) && !defined(CINTERFACE)
17791MIDL_INTERFACE("361bbdc7-e6ee-4e13-be58-58e2240c810f")
17792IExplorerBrowserEvents : public IUnknown
17793{
17794 virtual HRESULT STDMETHODCALLTYPE OnNavigationPending(
17795 PCIDLIST_ABSOLUTE pidlFolder) = 0;
17796
17797 virtual HRESULT STDMETHODCALLTYPE OnViewCreated(
17798 IShellView *psv) = 0;
17799
17800 virtual HRESULT STDMETHODCALLTYPE OnNavigationComplete(
17801 PCIDLIST_ABSOLUTE pidlFolder) = 0;
17802
17803 virtual HRESULT STDMETHODCALLTYPE OnNavigationFailed(
17804 PCIDLIST_ABSOLUTE pidlFolder) = 0;
17805
17806};
17807#ifdef __CRT_UUID_DECL
17808__CRT_UUID_DECL(IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f)
17809#endif
17810#else
17811typedef struct IExplorerBrowserEventsVtbl {
17812 BEGIN_INTERFACE
17813
17814 /*** IUnknown methods ***/
17815 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17816 IExplorerBrowserEvents *This,
17817 REFIID riid,
17818 void **ppvObject);
17819
17820 ULONG (STDMETHODCALLTYPE *AddRef)(
17821 IExplorerBrowserEvents *This);
17822
17823 ULONG (STDMETHODCALLTYPE *Release)(
17824 IExplorerBrowserEvents *This);
17825
17826 /*** IExplorerBrowserEvents methods ***/
17827 HRESULT (STDMETHODCALLTYPE *OnNavigationPending)(
17828 IExplorerBrowserEvents *This,
17829 PCIDLIST_ABSOLUTE pidlFolder);
17830
17831 HRESULT (STDMETHODCALLTYPE *OnViewCreated)(
17832 IExplorerBrowserEvents *This,
17833 IShellView *psv);
17834
17835 HRESULT (STDMETHODCALLTYPE *OnNavigationComplete)(
17836 IExplorerBrowserEvents *This,
17837 PCIDLIST_ABSOLUTE pidlFolder);
17838
17839 HRESULT (STDMETHODCALLTYPE *OnNavigationFailed)(
17840 IExplorerBrowserEvents *This,
17841 PCIDLIST_ABSOLUTE pidlFolder);
17842
17843 END_INTERFACE
17844} IExplorerBrowserEventsVtbl;
17845
17846interface IExplorerBrowserEvents {
17847 CONST_VTBL IExplorerBrowserEventsVtbl* lpVtbl;
17848};
17849
17850#ifdef COBJMACROS
17851#ifndef WIDL_C_INLINE_WRAPPERS
17852/*** IUnknown methods ***/
17853#define IExplorerBrowserEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17854#define IExplorerBrowserEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
17855#define IExplorerBrowserEvents_Release(This) (This)->lpVtbl->Release(This)
17856/*** IExplorerBrowserEvents methods ***/
17857#define IExplorerBrowserEvents_OnNavigationPending(This,pidlFolder) (This)->lpVtbl->OnNavigationPending(This,pidlFolder)
17858#define IExplorerBrowserEvents_OnViewCreated(This,psv) (This)->lpVtbl->OnViewCreated(This,psv)
17859#define IExplorerBrowserEvents_OnNavigationComplete(This,pidlFolder) (This)->lpVtbl->OnNavigationComplete(This,pidlFolder)
17860#define IExplorerBrowserEvents_OnNavigationFailed(This,pidlFolder) (This)->lpVtbl->OnNavigationFailed(This,pidlFolder)
17861#else
17862/*** IUnknown methods ***/
17863static inline HRESULT IExplorerBrowserEvents_QueryInterface(IExplorerBrowserEvents* This,REFIID riid,void **ppvObject) {
17864 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17865}
17866static inline ULONG IExplorerBrowserEvents_AddRef(IExplorerBrowserEvents* This) {
17867 return This->lpVtbl->AddRef(This);
17868}
17869static inline ULONG IExplorerBrowserEvents_Release(IExplorerBrowserEvents* This) {
17870 return This->lpVtbl->Release(This);
17871}
17872/*** IExplorerBrowserEvents methods ***/
17873static inline HRESULT IExplorerBrowserEvents_OnNavigationPending(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
17874 return This->lpVtbl->OnNavigationPending(This,pidlFolder);
17875}
17876static inline HRESULT IExplorerBrowserEvents_OnViewCreated(IExplorerBrowserEvents* This,IShellView *psv) {
17877 return This->lpVtbl->OnViewCreated(This,psv);
17878}
17879static inline HRESULT IExplorerBrowserEvents_OnNavigationComplete(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
17880 return This->lpVtbl->OnNavigationComplete(This,pidlFolder);
17881}
17882static inline HRESULT IExplorerBrowserEvents_OnNavigationFailed(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
17883 return This->lpVtbl->OnNavigationFailed(This,pidlFolder);
17884}
17885#endif
17886#endif
17887
17888#endif
17889
17890
17891#endif /* __IExplorerBrowserEvents_INTERFACE_DEFINED__ */
17892
17893
17894typedef enum EXPLORER_BROWSER_OPTIONS {
17895 EBO_NONE = 0x0,
17896 EBO_NAVIGATEONCE = 0x1,
17897 EBO_SHOWFRAMES = 0x2,
17898 EBO_ALWAYSNAVIGATE = 0x4,
17899 EBO_NOTRAVELLOG = 0x8,
17900 EBO_NOWRAPPERWINDOW = 0x10,
17901 EBO_HTMLSHAREPOINTVIEW = 0x20,
17902 EBO_NOBORDER = 0x40,
17903 EBO_NOPERSISTVIEWSTATE = 0x80
17904} EXPLORER_BROWSER_OPTIONS;
17905
17906DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_OPTIONS)
17907
17908typedef enum EXPLORER_BROWSER_FILL_FLAGS {
17909 EBF_NONE = 0x0,
17910 EBF_SELECTFROMDATAOBJECT = 0x100,
17911 EBF_NODROPTARGET = 0x200
17912} EXPLORER_BROWSER_FILL_FLAGS;
17913
17914DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_FILL_FLAGS)
17915
17916/*****************************************************************************
17917 * IExplorerBrowser interface
17918 */
17919#ifndef __IExplorerBrowser_INTERFACE_DEFINED__
17920#define __IExplorerBrowser_INTERFACE_DEFINED__
17921
17922DEFINE_GUID(IID_IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6);
17923#if defined(__cplusplus) && !defined(CINTERFACE)
17924MIDL_INTERFACE("dfd3b6b5-c10c-4be9-85f6-a66969f402f6")
17925IExplorerBrowser : public IUnknown
17926{
17927 virtual HRESULT STDMETHODCALLTYPE Initialize(
17928 HWND hwndParent,
17929 const RECT *prc,
17930 const FOLDERSETTINGS *pfs) = 0;
17931
17932 virtual HRESULT STDMETHODCALLTYPE Destroy(
17933 ) = 0;
17934
17935 virtual HRESULT STDMETHODCALLTYPE SetRect(
17936 HDWP *phdwp,
17937 RECT rcBrowser) = 0;
17938
17939 virtual HRESULT STDMETHODCALLTYPE SetPropertyBag(
17940 LPCWSTR pszPropertyBag) = 0;
17941
17942 virtual HRESULT STDMETHODCALLTYPE SetEmptyText(
17943 LPCWSTR pszEmptyText) = 0;
17944
17945 virtual HRESULT STDMETHODCALLTYPE SetFolderSettings(
17946 const FOLDERSETTINGS *pfs) = 0;
17947
17948 virtual HRESULT STDMETHODCALLTYPE Advise(
17949 IExplorerBrowserEvents *psbe,
17950 DWORD *pdwCookie) = 0;
17951
17952 virtual HRESULT STDMETHODCALLTYPE Unadvise(
17953 DWORD dwCookie) = 0;
17954
17955 virtual HRESULT STDMETHODCALLTYPE SetOptions(
17956 EXPLORER_BROWSER_OPTIONS dwFlag) = 0;
17957
17958 virtual HRESULT STDMETHODCALLTYPE GetOptions(
17959 EXPLORER_BROWSER_OPTIONS *pdwFlag) = 0;
17960
17961 virtual HRESULT STDMETHODCALLTYPE BrowseToIDList(
17962 PCUIDLIST_RELATIVE pidl,
17963 UINT uFlags) = 0;
17964
17965 virtual HRESULT STDMETHODCALLTYPE BrowseToObject(
17966 IUnknown *punk,
17967 UINT uFlags) = 0;
17968
17969 virtual HRESULT STDMETHODCALLTYPE FillFromObject(
17970 IUnknown *punk,
17971 EXPLORER_BROWSER_FILL_FLAGS dwFlags) = 0;
17972
17973 virtual HRESULT STDMETHODCALLTYPE RemoveAll(
17974 ) = 0;
17975
17976 virtual HRESULT STDMETHODCALLTYPE GetCurrentView(
17977 REFIID riid,
17978 void **ppv) = 0;
17979
17980};
17981#ifdef __CRT_UUID_DECL
17982__CRT_UUID_DECL(IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6)
17983#endif
17984#else
17985typedef struct IExplorerBrowserVtbl {
17986 BEGIN_INTERFACE
17987
17988 /*** IUnknown methods ***/
17989 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17990 IExplorerBrowser *This,
17991 REFIID riid,
17992 void **ppvObject);
17993
17994 ULONG (STDMETHODCALLTYPE *AddRef)(
17995 IExplorerBrowser *This);
17996
17997 ULONG (STDMETHODCALLTYPE *Release)(
17998 IExplorerBrowser *This);
17999
18000 /*** IExplorerBrowser methods ***/
18001 HRESULT (STDMETHODCALLTYPE *Initialize)(
18002 IExplorerBrowser *This,
18003 HWND hwndParent,
18004 const RECT *prc,
18005 const FOLDERSETTINGS *pfs);
18006
18007 HRESULT (STDMETHODCALLTYPE *Destroy)(
18008 IExplorerBrowser *This);
18009
18010 HRESULT (STDMETHODCALLTYPE *SetRect)(
18011 IExplorerBrowser *This,
18012 HDWP *phdwp,
18013 RECT rcBrowser);
18014
18015 HRESULT (STDMETHODCALLTYPE *SetPropertyBag)(
18016 IExplorerBrowser *This,
18017 LPCWSTR pszPropertyBag);
18018
18019 HRESULT (STDMETHODCALLTYPE *SetEmptyText)(
18020 IExplorerBrowser *This,
18021 LPCWSTR pszEmptyText);
18022
18023 HRESULT (STDMETHODCALLTYPE *SetFolderSettings)(
18024 IExplorerBrowser *This,
18025 const FOLDERSETTINGS *pfs);
18026
18027 HRESULT (STDMETHODCALLTYPE *Advise)(
18028 IExplorerBrowser *This,
18029 IExplorerBrowserEvents *psbe,
18030 DWORD *pdwCookie);
18031
18032 HRESULT (STDMETHODCALLTYPE *Unadvise)(
18033 IExplorerBrowser *This,
18034 DWORD dwCookie);
18035
18036 HRESULT (STDMETHODCALLTYPE *SetOptions)(
18037 IExplorerBrowser *This,
18038 EXPLORER_BROWSER_OPTIONS dwFlag);
18039
18040 HRESULT (STDMETHODCALLTYPE *GetOptions)(
18041 IExplorerBrowser *This,
18042 EXPLORER_BROWSER_OPTIONS *pdwFlag);
18043
18044 HRESULT (STDMETHODCALLTYPE *BrowseToIDList)(
18045 IExplorerBrowser *This,
18046 PCUIDLIST_RELATIVE pidl,
18047 UINT uFlags);
18048
18049 HRESULT (STDMETHODCALLTYPE *BrowseToObject)(
18050 IExplorerBrowser *This,
18051 IUnknown *punk,
18052 UINT uFlags);
18053
18054 HRESULT (STDMETHODCALLTYPE *FillFromObject)(
18055 IExplorerBrowser *This,
18056 IUnknown *punk,
18057 EXPLORER_BROWSER_FILL_FLAGS dwFlags);
18058
18059 HRESULT (STDMETHODCALLTYPE *RemoveAll)(
18060 IExplorerBrowser *This);
18061
18062 HRESULT (STDMETHODCALLTYPE *GetCurrentView)(
18063 IExplorerBrowser *This,
18064 REFIID riid,
18065 void **ppv);
18066
18067 END_INTERFACE
18068} IExplorerBrowserVtbl;
18069
18070interface IExplorerBrowser {
18071 CONST_VTBL IExplorerBrowserVtbl* lpVtbl;
18072};
18073
18074#ifdef COBJMACROS
18075#ifndef WIDL_C_INLINE_WRAPPERS
18076/*** IUnknown methods ***/
18077#define IExplorerBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18078#define IExplorerBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
18079#define IExplorerBrowser_Release(This) (This)->lpVtbl->Release(This)
18080/*** IExplorerBrowser methods ***/
18081#define IExplorerBrowser_Initialize(This,hwndParent,prc,pfs) (This)->lpVtbl->Initialize(This,hwndParent,prc,pfs)
18082#define IExplorerBrowser_Destroy(This) (This)->lpVtbl->Destroy(This)
18083#define IExplorerBrowser_SetRect(This,phdwp,rcBrowser) (This)->lpVtbl->SetRect(This,phdwp,rcBrowser)
18084#define IExplorerBrowser_SetPropertyBag(This,pszPropertyBag) (This)->lpVtbl->SetPropertyBag(This,pszPropertyBag)
18085#define IExplorerBrowser_SetEmptyText(This,pszEmptyText) (This)->lpVtbl->SetEmptyText(This,pszEmptyText)
18086#define IExplorerBrowser_SetFolderSettings(This,pfs) (This)->lpVtbl->SetFolderSettings(This,pfs)
18087#define IExplorerBrowser_Advise(This,psbe,pdwCookie) (This)->lpVtbl->Advise(This,psbe,pdwCookie)
18088#define IExplorerBrowser_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
18089#define IExplorerBrowser_SetOptions(This,dwFlag) (This)->lpVtbl->SetOptions(This,dwFlag)
18090#define IExplorerBrowser_GetOptions(This,pdwFlag) (This)->lpVtbl->GetOptions(This,pdwFlag)
18091#define IExplorerBrowser_BrowseToIDList(This,pidl,uFlags) (This)->lpVtbl->BrowseToIDList(This,pidl,uFlags)
18092#define IExplorerBrowser_BrowseToObject(This,punk,uFlags) (This)->lpVtbl->BrowseToObject(This,punk,uFlags)
18093#define IExplorerBrowser_FillFromObject(This,punk,dwFlags) (This)->lpVtbl->FillFromObject(This,punk,dwFlags)
18094#define IExplorerBrowser_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
18095#define IExplorerBrowser_GetCurrentView(This,riid,ppv) (This)->lpVtbl->GetCurrentView(This,riid,ppv)
18096#else
18097/*** IUnknown methods ***/
18098static inline HRESULT IExplorerBrowser_QueryInterface(IExplorerBrowser* This,REFIID riid,void **ppvObject) {
18099 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18100}
18101static inline ULONG IExplorerBrowser_AddRef(IExplorerBrowser* This) {
18102 return This->lpVtbl->AddRef(This);
18103}
18104static inline ULONG IExplorerBrowser_Release(IExplorerBrowser* This) {
18105 return This->lpVtbl->Release(This);
18106}
18107/*** IExplorerBrowser methods ***/
18108static inline HRESULT IExplorerBrowser_Initialize(IExplorerBrowser* This,HWND hwndParent,const RECT *prc,const FOLDERSETTINGS *pfs) {
18109 return This->lpVtbl->Initialize(This,hwndParent,prc,pfs);
18110}
18111static inline HRESULT IExplorerBrowser_Destroy(IExplorerBrowser* This) {
18112 return This->lpVtbl->Destroy(This);
18113}
18114static inline HRESULT IExplorerBrowser_SetRect(IExplorerBrowser* This,HDWP *phdwp,RECT rcBrowser) {
18115 return This->lpVtbl->SetRect(This,phdwp,rcBrowser);
18116}
18117static inline HRESULT IExplorerBrowser_SetPropertyBag(IExplorerBrowser* This,LPCWSTR pszPropertyBag) {
18118 return This->lpVtbl->SetPropertyBag(This,pszPropertyBag);
18119}
18120static inline HRESULT IExplorerBrowser_SetEmptyText(IExplorerBrowser* This,LPCWSTR pszEmptyText) {
18121 return This->lpVtbl->SetEmptyText(This,pszEmptyText);
18122}
18123static inline HRESULT IExplorerBrowser_SetFolderSettings(IExplorerBrowser* This,const FOLDERSETTINGS *pfs) {
18124 return This->lpVtbl->SetFolderSettings(This,pfs);
18125}
18126static inline HRESULT IExplorerBrowser_Advise(IExplorerBrowser* This,IExplorerBrowserEvents *psbe,DWORD *pdwCookie) {
18127 return This->lpVtbl->Advise(This,psbe,pdwCookie);
18128}
18129static inline HRESULT IExplorerBrowser_Unadvise(IExplorerBrowser* This,DWORD dwCookie) {
18130 return This->lpVtbl->Unadvise(This,dwCookie);
18131}
18132static inline HRESULT IExplorerBrowser_SetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS dwFlag) {
18133 return This->lpVtbl->SetOptions(This,dwFlag);
18134}
18135static inline HRESULT IExplorerBrowser_GetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS *pdwFlag) {
18136 return This->lpVtbl->GetOptions(This,pdwFlag);
18137}
18138static inline HRESULT IExplorerBrowser_BrowseToIDList(IExplorerBrowser* This,PCUIDLIST_RELATIVE pidl,UINT uFlags) {
18139 return This->lpVtbl->BrowseToIDList(This,pidl,uFlags);
18140}
18141static inline HRESULT IExplorerBrowser_BrowseToObject(IExplorerBrowser* This,IUnknown *punk,UINT uFlags) {
18142 return This->lpVtbl->BrowseToObject(This,punk,uFlags);
18143}
18144static inline HRESULT IExplorerBrowser_FillFromObject(IExplorerBrowser* This,IUnknown *punk,EXPLORER_BROWSER_FILL_FLAGS dwFlags) {
18145 return This->lpVtbl->FillFromObject(This,punk,dwFlags);
18146}
18147static inline HRESULT IExplorerBrowser_RemoveAll(IExplorerBrowser* This) {
18148 return This->lpVtbl->RemoveAll(This);
18149}
18150static inline HRESULT IExplorerBrowser_GetCurrentView(IExplorerBrowser* This,REFIID riid,void **ppv) {
18151 return This->lpVtbl->GetCurrentView(This,riid,ppv);
18152}
18153#endif
18154#endif
18155
18156#endif
18157
18158
18159#endif /* __IExplorerBrowser_INTERFACE_DEFINED__ */
18160
18161
18162/*****************************************************************************
18163 * IAccessibleObject interface
18164 */
18165#ifndef __IAccessibleObject_INTERFACE_DEFINED__
18166#define __IAccessibleObject_INTERFACE_DEFINED__
18167
18168DEFINE_GUID(IID_IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11);
18169#if defined(__cplusplus) && !defined(CINTERFACE)
18170MIDL_INTERFACE("95a391c5-9ed4-4c28-8401-ab9e06719e11")
18171IAccessibleObject : public IUnknown
18172{
18173 virtual HRESULT STDMETHODCALLTYPE SetAccessibleName(
18174 LPCWSTR pszName) = 0;
18175
18176};
18177#ifdef __CRT_UUID_DECL
18178__CRT_UUID_DECL(IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11)
18179#endif
18180#else
18181typedef struct IAccessibleObjectVtbl {
18182 BEGIN_INTERFACE
18183
18184 /*** IUnknown methods ***/
18185 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18186 IAccessibleObject *This,
18187 REFIID riid,
18188 void **ppvObject);
18189
18190 ULONG (STDMETHODCALLTYPE *AddRef)(
18191 IAccessibleObject *This);
18192
18193 ULONG (STDMETHODCALLTYPE *Release)(
18194 IAccessibleObject *This);
18195
18196 /*** IAccessibleObject methods ***/
18197 HRESULT (STDMETHODCALLTYPE *SetAccessibleName)(
18198 IAccessibleObject *This,
18199 LPCWSTR pszName);
18200
18201 END_INTERFACE
18202} IAccessibleObjectVtbl;
18203
18204interface IAccessibleObject {
18205 CONST_VTBL IAccessibleObjectVtbl* lpVtbl;
18206};
18207
18208#ifdef COBJMACROS
18209#ifndef WIDL_C_INLINE_WRAPPERS
18210/*** IUnknown methods ***/
18211#define IAccessibleObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18212#define IAccessibleObject_AddRef(This) (This)->lpVtbl->AddRef(This)
18213#define IAccessibleObject_Release(This) (This)->lpVtbl->Release(This)
18214/*** IAccessibleObject methods ***/
18215#define IAccessibleObject_SetAccessibleName(This,pszName) (This)->lpVtbl->SetAccessibleName(This,pszName)
18216#else
18217/*** IUnknown methods ***/
18218static inline HRESULT IAccessibleObject_QueryInterface(IAccessibleObject* This,REFIID riid,void **ppvObject) {
18219 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18220}
18221static inline ULONG IAccessibleObject_AddRef(IAccessibleObject* This) {
18222 return This->lpVtbl->AddRef(This);
18223}
18224static inline ULONG IAccessibleObject_Release(IAccessibleObject* This) {
18225 return This->lpVtbl->Release(This);
18226}
18227/*** IAccessibleObject methods ***/
18228static inline HRESULT IAccessibleObject_SetAccessibleName(IAccessibleObject* This,LPCWSTR pszName) {
18229 return This->lpVtbl->SetAccessibleName(This,pszName);
18230}
18231#endif
18232#endif
18233
18234#endif
18235
18236
18237#endif /* __IAccessibleObject_INTERFACE_DEFINED__ */
18238
18239#endif
18240
18241/*****************************************************************************
18242 * IResultsFolder interface
18243 */
18244#ifndef __IResultsFolder_INTERFACE_DEFINED__
18245#define __IResultsFolder_INTERFACE_DEFINED__
18246
18247DEFINE_GUID(IID_IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28);
18248#if defined(__cplusplus) && !defined(CINTERFACE)
18249MIDL_INTERFACE("96e5ae6d-6ae1-4b1c-900c-c6480eaa8828")
18250IResultsFolder : public IUnknown
18251{
18252 virtual HRESULT STDMETHODCALLTYPE AddItem(
18253 IShellItem *psi) = 0;
18254
18255 virtual HRESULT STDMETHODCALLTYPE AddIDList(
18256 PCIDLIST_ABSOLUTE pidl,
18257 PITEMID_CHILD *ppidlAdded) = 0;
18258
18259 virtual HRESULT STDMETHODCALLTYPE RemoveItem(
18260 IShellItem *psi) = 0;
18261
18262 virtual HRESULT STDMETHODCALLTYPE RemoveIDList(
18263 PCIDLIST_ABSOLUTE pidl) = 0;
18264
18265 virtual HRESULT STDMETHODCALLTYPE RemoveAll(
18266 ) = 0;
18267
18268};
18269#ifdef __CRT_UUID_DECL
18270__CRT_UUID_DECL(IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28)
18271#endif
18272#else
18273typedef struct IResultsFolderVtbl {
18274 BEGIN_INTERFACE
18275
18276 /*** IUnknown methods ***/
18277 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18278 IResultsFolder *This,
18279 REFIID riid,
18280 void **ppvObject);
18281
18282 ULONG (STDMETHODCALLTYPE *AddRef)(
18283 IResultsFolder *This);
18284
18285 ULONG (STDMETHODCALLTYPE *Release)(
18286 IResultsFolder *This);
18287
18288 /*** IResultsFolder methods ***/
18289 HRESULT (STDMETHODCALLTYPE *AddItem)(
18290 IResultsFolder *This,
18291 IShellItem *psi);
18292
18293 HRESULT (STDMETHODCALLTYPE *AddIDList)(
18294 IResultsFolder *This,
18295 PCIDLIST_ABSOLUTE pidl,
18296 PITEMID_CHILD *ppidlAdded);
18297
18298 HRESULT (STDMETHODCALLTYPE *RemoveItem)(
18299 IResultsFolder *This,
18300 IShellItem *psi);
18301
18302 HRESULT (STDMETHODCALLTYPE *RemoveIDList)(
18303 IResultsFolder *This,
18304 PCIDLIST_ABSOLUTE pidl);
18305
18306 HRESULT (STDMETHODCALLTYPE *RemoveAll)(
18307 IResultsFolder *This);
18308
18309 END_INTERFACE
18310} IResultsFolderVtbl;
18311
18312interface IResultsFolder {
18313 CONST_VTBL IResultsFolderVtbl* lpVtbl;
18314};
18315
18316#ifdef COBJMACROS
18317#ifndef WIDL_C_INLINE_WRAPPERS
18318/*** IUnknown methods ***/
18319#define IResultsFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18320#define IResultsFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
18321#define IResultsFolder_Release(This) (This)->lpVtbl->Release(This)
18322/*** IResultsFolder methods ***/
18323#define IResultsFolder_AddItem(This,psi) (This)->lpVtbl->AddItem(This,psi)
18324#define IResultsFolder_AddIDList(This,pidl,ppidlAdded) (This)->lpVtbl->AddIDList(This,pidl,ppidlAdded)
18325#define IResultsFolder_RemoveItem(This,psi) (This)->lpVtbl->RemoveItem(This,psi)
18326#define IResultsFolder_RemoveIDList(This,pidl) (This)->lpVtbl->RemoveIDList(This,pidl)
18327#define IResultsFolder_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
18328#else
18329/*** IUnknown methods ***/
18330static inline HRESULT IResultsFolder_QueryInterface(IResultsFolder* This,REFIID riid,void **ppvObject) {
18331 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18332}
18333static inline ULONG IResultsFolder_AddRef(IResultsFolder* This) {
18334 return This->lpVtbl->AddRef(This);
18335}
18336static inline ULONG IResultsFolder_Release(IResultsFolder* This) {
18337 return This->lpVtbl->Release(This);
18338}
18339/*** IResultsFolder methods ***/
18340static inline HRESULT IResultsFolder_AddItem(IResultsFolder* This,IShellItem *psi) {
18341 return This->lpVtbl->AddItem(This,psi);
18342}
18343static inline HRESULT IResultsFolder_AddIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl,PITEMID_CHILD *ppidlAdded) {
18344 return This->lpVtbl->AddIDList(This,pidl,ppidlAdded);
18345}
18346static inline HRESULT IResultsFolder_RemoveItem(IResultsFolder* This,IShellItem *psi) {
18347 return This->lpVtbl->RemoveItem(This,psi);
18348}
18349static inline HRESULT IResultsFolder_RemoveIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl) {
18350 return This->lpVtbl->RemoveIDList(This,pidl);
18351}
18352static inline HRESULT IResultsFolder_RemoveAll(IResultsFolder* This) {
18353 return This->lpVtbl->RemoveAll(This);
18354}
18355#endif
18356#endif
18357
18358#endif
18359
18360HRESULT STDMETHODCALLTYPE IResultsFolder_RemoteAddIDList_Proxy(
18361 IResultsFolder* This,
18362 PCIDLIST_ABSOLUTE pidl,
18363 PITEMID_CHILD *ppidlAdded);
18364void __RPC_STUB IResultsFolder_RemoteAddIDList_Stub(
18365 IRpcStubBuffer* This,
18366 IRpcChannelBuffer* pRpcChannelBuffer,
18367 PRPC_MESSAGE pRpcMessage,
18368 DWORD* pdwStubPhase);
18369HRESULT CALLBACK IResultsFolder_AddIDList_Proxy(
18370 IResultsFolder* This,
18371 PCIDLIST_ABSOLUTE pidl,
18372 PITEMID_CHILD *ppidlAdded);
18373HRESULT __RPC_STUB IResultsFolder_AddIDList_Stub(
18374 IResultsFolder* This,
18375 PCIDLIST_ABSOLUTE pidl,
18376 PITEMID_CHILD *ppidlAdded);
18377
18378#endif /* __IResultsFolder_INTERFACE_DEFINED__ */
18379
18380#if _WIN32_IE >= _WIN32_IE_IE70
18381/*****************************************************************************
18382 * IEnumObjects interface
18383 */
18384#ifndef __IEnumObjects_INTERFACE_DEFINED__
18385#define __IEnumObjects_INTERFACE_DEFINED__
18386
18387DEFINE_GUID(IID_IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e);
18388#if defined(__cplusplus) && !defined(CINTERFACE)
18389MIDL_INTERFACE("2c1c7e2e-2d0e-4059-831e-1e6f82335c2e")
18390IEnumObjects : public IUnknown
18391{
18392 virtual HRESULT STDMETHODCALLTYPE Next(
18393 ULONG celt,
18394 REFIID riid,
18395 void **rgelt,
18396 ULONG *pceltFetched) = 0;
18397
18398 virtual HRESULT STDMETHODCALLTYPE Skip(
18399 ULONG celt) = 0;
18400
18401 virtual HRESULT STDMETHODCALLTYPE Reset(
18402 ) = 0;
18403
18404 virtual HRESULT STDMETHODCALLTYPE Clone(
18405 IEnumObjects **ppenum) = 0;
18406
18407};
18408#ifdef __CRT_UUID_DECL
18409__CRT_UUID_DECL(IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e)
18410#endif
18411#else
18412typedef struct IEnumObjectsVtbl {
18413 BEGIN_INTERFACE
18414
18415 /*** IUnknown methods ***/
18416 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18417 IEnumObjects *This,
18418 REFIID riid,
18419 void **ppvObject);
18420
18421 ULONG (STDMETHODCALLTYPE *AddRef)(
18422 IEnumObjects *This);
18423
18424 ULONG (STDMETHODCALLTYPE *Release)(
18425 IEnumObjects *This);
18426
18427 /*** IEnumObjects methods ***/
18428 HRESULT (STDMETHODCALLTYPE *Next)(
18429 IEnumObjects *This,
18430 ULONG celt,
18431 REFIID riid,
18432 void **rgelt,
18433 ULONG *pceltFetched);
18434
18435 HRESULT (STDMETHODCALLTYPE *Skip)(
18436 IEnumObjects *This,
18437 ULONG celt);
18438
18439 HRESULT (STDMETHODCALLTYPE *Reset)(
18440 IEnumObjects *This);
18441
18442 HRESULT (STDMETHODCALLTYPE *Clone)(
18443 IEnumObjects *This,
18444 IEnumObjects **ppenum);
18445
18446 END_INTERFACE
18447} IEnumObjectsVtbl;
18448
18449interface IEnumObjects {
18450 CONST_VTBL IEnumObjectsVtbl* lpVtbl;
18451};
18452
18453#ifdef COBJMACROS
18454#ifndef WIDL_C_INLINE_WRAPPERS
18455/*** IUnknown methods ***/
18456#define IEnumObjects_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18457#define IEnumObjects_AddRef(This) (This)->lpVtbl->AddRef(This)
18458#define IEnumObjects_Release(This) (This)->lpVtbl->Release(This)
18459/*** IEnumObjects methods ***/
18460#define IEnumObjects_Next(This,celt,riid,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched)
18461#define IEnumObjects_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
18462#define IEnumObjects_Reset(This) (This)->lpVtbl->Reset(This)
18463#define IEnumObjects_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
18464#else
18465/*** IUnknown methods ***/
18466static inline HRESULT IEnumObjects_QueryInterface(IEnumObjects* This,REFIID riid,void **ppvObject) {
18467 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18468}
18469static inline ULONG IEnumObjects_AddRef(IEnumObjects* This) {
18470 return This->lpVtbl->AddRef(This);
18471}
18472static inline ULONG IEnumObjects_Release(IEnumObjects* This) {
18473 return This->lpVtbl->Release(This);
18474}
18475/*** IEnumObjects methods ***/
18476static inline HRESULT IEnumObjects_Next(IEnumObjects* This,ULONG celt,REFIID riid,void **rgelt,ULONG *pceltFetched) {
18477 return This->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched);
18478}
18479static inline HRESULT IEnumObjects_Skip(IEnumObjects* This,ULONG celt) {
18480 return This->lpVtbl->Skip(This,celt);
18481}
18482static inline HRESULT IEnumObjects_Reset(IEnumObjects* This) {
18483 return This->lpVtbl->Reset(This);
18484}
18485static inline HRESULT IEnumObjects_Clone(IEnumObjects* This,IEnumObjects **ppenum) {
18486 return This->lpVtbl->Clone(This,ppenum);
18487}
18488#endif
18489#endif
18490
18491#endif
18492
18493HRESULT STDMETHODCALLTYPE IEnumObjects_RemoteNext_Proxy(
18494 IEnumObjects* This,
18495 ULONG celt,
18496 REFIID riid,
18497 void **rgelt,
18498 ULONG *pceltFetched);
18499void __RPC_STUB IEnumObjects_RemoteNext_Stub(
18500 IRpcStubBuffer* This,
18501 IRpcChannelBuffer* pRpcChannelBuffer,
18502 PRPC_MESSAGE pRpcMessage,
18503 DWORD* pdwStubPhase);
18504HRESULT CALLBACK IEnumObjects_Next_Proxy(
18505 IEnumObjects* This,
18506 ULONG celt,
18507 REFIID riid,
18508 void **rgelt,
18509 ULONG *pceltFetched);
18510HRESULT __RPC_STUB IEnumObjects_Next_Stub(
18511 IEnumObjects* This,
18512 ULONG celt,
18513 REFIID riid,
18514 void **rgelt,
18515 ULONG *pceltFetched);
18516
18517#endif /* __IEnumObjects_INTERFACE_DEFINED__ */
18518
18519
18520enum _OPPROGDLGF {
18521 OPPROGDLG_DEFAULT = 0x0,
18522 OPPROGDLG_ENABLEPAUSE = 0x80,
18523 OPPROGDLG_ALLOWUNDO = 0x100,
18524 OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x200,
18525 OPPROGDLG_DONTDISPLAYDESTPATH = 0x400,
18526 OPPROGDLG_NOMULTIDAYESTIMATES = 0x800,
18527 OPPROGDLG_DONTDISPLAYLOCATIONS = 0x1000
18528};
18529
18530typedef DWORD OPPROGDLGF;
18531
18532/*****************************************************************************
18533 * IOperationsProgressDialog interface
18534 */
18535#ifndef __IOperationsProgressDialog_INTERFACE_DEFINED__
18536#define __IOperationsProgressDialog_INTERFACE_DEFINED__
18537
18538enum _PDMODE {
18539 PDM_DEFAULT = 0x0,
18540 PDM_RUN = 0x1,
18541 PDM_PREFLIGHT = 0x2,
18542 PDM_UNDOING = 0x4,
18543 PDM_ERRORSBLOCKING = 0x8,
18544 PDM_INDETERMINATE = 0x10
18545};
18546
18547typedef DWORD PDMODE;
18548
18549typedef enum PDOPSTATUS {
18550 PDOPS_RUNNING = 1,
18551 PDOPS_PAUSED = 2,
18552 PDOPS_CANCELLED = 3,
18553 PDOPS_STOPPED = 4,
18554 PDOPS_ERRORS = 5
18555} PDOPSTATUS;
18556
18557DEFINE_GUID(IID_IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c);
18558#if defined(__cplusplus) && !defined(CINTERFACE)
18559MIDL_INTERFACE("0c9fb851-e5c9-43eb-a370-f0677b13874c")
18560IOperationsProgressDialog : public IUnknown
18561{
18562 virtual HRESULT STDMETHODCALLTYPE StartProgressDialog(
18563 HWND hwndOwner,
18564 OPPROGDLGF flags) = 0;
18565
18566 virtual HRESULT STDMETHODCALLTYPE StopProgressDialog(
18567 ) = 0;
18568
18569 virtual HRESULT STDMETHODCALLTYPE SetOperation(
18570 SPACTION action) = 0;
18571
18572 virtual HRESULT STDMETHODCALLTYPE SetMode(
18573 PDMODE mode) = 0;
18574
18575 virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
18576 ULONGLONG ullPointsCurrent,
18577 ULONGLONG ullPointsTotal,
18578 ULONGLONG ullSizeCurrent,
18579 ULONGLONG ullSizeTotal,
18580 ULONGLONG ullItemsCurrent,
18581 ULONGLONG ullItemsTotal) = 0;
18582
18583 virtual HRESULT STDMETHODCALLTYPE UpdateLocations(
18584 IShellItem *psiSource,
18585 IShellItem *psiTarget,
18586 IShellItem *psiItem) = 0;
18587
18588 virtual HRESULT STDMETHODCALLTYPE ResetTimer(
18589 ) = 0;
18590
18591 virtual HRESULT STDMETHODCALLTYPE PauseTimer(
18592 ) = 0;
18593
18594 virtual HRESULT STDMETHODCALLTYPE ResumeTimer(
18595 ) = 0;
18596
18597 virtual HRESULT STDMETHODCALLTYPE GetMilliseconds(
18598 ULONGLONG *pullElapsed,
18599 ULONGLONG *pullRemaining) = 0;
18600
18601 virtual HRESULT STDMETHODCALLTYPE GetOperationStatus(
18602 PDOPSTATUS *popstatus) = 0;
18603
18604};
18605#ifdef __CRT_UUID_DECL
18606__CRT_UUID_DECL(IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c)
18607#endif
18608#else
18609typedef struct IOperationsProgressDialogVtbl {
18610 BEGIN_INTERFACE
18611
18612 /*** IUnknown methods ***/
18613 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18614 IOperationsProgressDialog *This,
18615 REFIID riid,
18616 void **ppvObject);
18617
18618 ULONG (STDMETHODCALLTYPE *AddRef)(
18619 IOperationsProgressDialog *This);
18620
18621 ULONG (STDMETHODCALLTYPE *Release)(
18622 IOperationsProgressDialog *This);
18623
18624 /*** IOperationsProgressDialog methods ***/
18625 HRESULT (STDMETHODCALLTYPE *StartProgressDialog)(
18626 IOperationsProgressDialog *This,
18627 HWND hwndOwner,
18628 OPPROGDLGF flags);
18629
18630 HRESULT (STDMETHODCALLTYPE *StopProgressDialog)(
18631 IOperationsProgressDialog *This);
18632
18633 HRESULT (STDMETHODCALLTYPE *SetOperation)(
18634 IOperationsProgressDialog *This,
18635 SPACTION action);
18636
18637 HRESULT (STDMETHODCALLTYPE *SetMode)(
18638 IOperationsProgressDialog *This,
18639 PDMODE mode);
18640
18641 HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
18642 IOperationsProgressDialog *This,
18643 ULONGLONG ullPointsCurrent,
18644 ULONGLONG ullPointsTotal,
18645 ULONGLONG ullSizeCurrent,
18646 ULONGLONG ullSizeTotal,
18647 ULONGLONG ullItemsCurrent,
18648 ULONGLONG ullItemsTotal);
18649
18650 HRESULT (STDMETHODCALLTYPE *UpdateLocations)(
18651 IOperationsProgressDialog *This,
18652 IShellItem *psiSource,
18653 IShellItem *psiTarget,
18654 IShellItem *psiItem);
18655
18656 HRESULT (STDMETHODCALLTYPE *ResetTimer)(
18657 IOperationsProgressDialog *This);
18658
18659 HRESULT (STDMETHODCALLTYPE *PauseTimer)(
18660 IOperationsProgressDialog *This);
18661
18662 HRESULT (STDMETHODCALLTYPE *ResumeTimer)(
18663 IOperationsProgressDialog *This);
18664
18665 HRESULT (STDMETHODCALLTYPE *GetMilliseconds)(
18666 IOperationsProgressDialog *This,
18667 ULONGLONG *pullElapsed,
18668 ULONGLONG *pullRemaining);
18669
18670 HRESULT (STDMETHODCALLTYPE *GetOperationStatus)(
18671 IOperationsProgressDialog *This,
18672 PDOPSTATUS *popstatus);
18673
18674 END_INTERFACE
18675} IOperationsProgressDialogVtbl;
18676
18677interface IOperationsProgressDialog {
18678 CONST_VTBL IOperationsProgressDialogVtbl* lpVtbl;
18679};
18680
18681#ifdef COBJMACROS
18682#ifndef WIDL_C_INLINE_WRAPPERS
18683/*** IUnknown methods ***/
18684#define IOperationsProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18685#define IOperationsProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
18686#define IOperationsProgressDialog_Release(This) (This)->lpVtbl->Release(This)
18687/*** IOperationsProgressDialog methods ***/
18688#define IOperationsProgressDialog_StartProgressDialog(This,hwndOwner,flags) (This)->lpVtbl->StartProgressDialog(This,hwndOwner,flags)
18689#define IOperationsProgressDialog_StopProgressDialog(This) (This)->lpVtbl->StopProgressDialog(This)
18690#define IOperationsProgressDialog_SetOperation(This,action) (This)->lpVtbl->SetOperation(This,action)
18691#define IOperationsProgressDialog_SetMode(This,mode) (This)->lpVtbl->SetMode(This,mode)
18692#define IOperationsProgressDialog_UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal) (This)->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal)
18693#define IOperationsProgressDialog_UpdateLocations(This,psiSource,psiTarget,psiItem) (This)->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem)
18694#define IOperationsProgressDialog_ResetTimer(This) (This)->lpVtbl->ResetTimer(This)
18695#define IOperationsProgressDialog_PauseTimer(This) (This)->lpVtbl->PauseTimer(This)
18696#define IOperationsProgressDialog_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This)
18697#define IOperationsProgressDialog_GetMilliseconds(This,pullElapsed,pullRemaining) (This)->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining)
18698#define IOperationsProgressDialog_GetOperationStatus(This,popstatus) (This)->lpVtbl->GetOperationStatus(This,popstatus)
18699#else
18700/*** IUnknown methods ***/
18701static inline HRESULT IOperationsProgressDialog_QueryInterface(IOperationsProgressDialog* This,REFIID riid,void **ppvObject) {
18702 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18703}
18704static inline ULONG IOperationsProgressDialog_AddRef(IOperationsProgressDialog* This) {
18705 return This->lpVtbl->AddRef(This);
18706}
18707static inline ULONG IOperationsProgressDialog_Release(IOperationsProgressDialog* This) {
18708 return This->lpVtbl->Release(This);
18709}
18710/*** IOperationsProgressDialog methods ***/
18711static inline HRESULT IOperationsProgressDialog_StartProgressDialog(IOperationsProgressDialog* This,HWND hwndOwner,OPPROGDLGF flags) {
18712 return This->lpVtbl->StartProgressDialog(This,hwndOwner,flags);
18713}
18714static inline HRESULT IOperationsProgressDialog_StopProgressDialog(IOperationsProgressDialog* This) {
18715 return This->lpVtbl->StopProgressDialog(This);
18716}
18717static inline HRESULT IOperationsProgressDialog_SetOperation(IOperationsProgressDialog* This,SPACTION action) {
18718 return This->lpVtbl->SetOperation(This,action);
18719}
18720static inline HRESULT IOperationsProgressDialog_SetMode(IOperationsProgressDialog* This,PDMODE mode) {
18721 return This->lpVtbl->SetMode(This,mode);
18722}
18723static inline HRESULT IOperationsProgressDialog_UpdateProgress(IOperationsProgressDialog* This,ULONGLONG ullPointsCurrent,ULONGLONG ullPointsTotal,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,ULONGLONG ullItemsCurrent,ULONGLONG ullItemsTotal) {
18724 return This->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal);
18725}
18726static inline HRESULT IOperationsProgressDialog_UpdateLocations(IOperationsProgressDialog* This,IShellItem *psiSource,IShellItem *psiTarget,IShellItem *psiItem) {
18727 return This->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem);
18728}
18729static inline HRESULT IOperationsProgressDialog_ResetTimer(IOperationsProgressDialog* This) {
18730 return This->lpVtbl->ResetTimer(This);
18731}
18732static inline HRESULT IOperationsProgressDialog_PauseTimer(IOperationsProgressDialog* This) {
18733 return This->lpVtbl->PauseTimer(This);
18734}
18735static inline HRESULT IOperationsProgressDialog_ResumeTimer(IOperationsProgressDialog* This) {
18736 return This->lpVtbl->ResumeTimer(This);
18737}
18738static inline HRESULT IOperationsProgressDialog_GetMilliseconds(IOperationsProgressDialog* This,ULONGLONG *pullElapsed,ULONGLONG *pullRemaining) {
18739 return This->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining);
18740}
18741static inline HRESULT IOperationsProgressDialog_GetOperationStatus(IOperationsProgressDialog* This,PDOPSTATUS *popstatus) {
18742 return This->lpVtbl->GetOperationStatus(This,popstatus);
18743}
18744#endif
18745#endif
18746
18747#endif
18748
18749
18750#endif /* __IOperationsProgressDialog_INTERFACE_DEFINED__ */
18751
18752
18753/*****************************************************************************
18754 * IIOCancelInformation interface
18755 */
18756#ifndef __IIOCancelInformation_INTERFACE_DEFINED__
18757#define __IIOCancelInformation_INTERFACE_DEFINED__
18758
18759DEFINE_GUID(IID_IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c);
18760#if defined(__cplusplus) && !defined(CINTERFACE)
18761MIDL_INTERFACE("f5b0bf81-8cb5-4b1b-9449-1a159e0c733c")
18762IIOCancelInformation : public IUnknown
18763{
18764 virtual HRESULT STDMETHODCALLTYPE SetCancelInformation(
18765 DWORD dwThreadID,
18766 UINT uMsgCancel) = 0;
18767
18768 virtual HRESULT STDMETHODCALLTYPE GetCancelInformation(
18769 DWORD *pdwThreadID,
18770 UINT *puMsgCancel) = 0;
18771
18772};
18773#ifdef __CRT_UUID_DECL
18774__CRT_UUID_DECL(IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c)
18775#endif
18776#else
18777typedef struct IIOCancelInformationVtbl {
18778 BEGIN_INTERFACE
18779
18780 /*** IUnknown methods ***/
18781 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18782 IIOCancelInformation *This,
18783 REFIID riid,
18784 void **ppvObject);
18785
18786 ULONG (STDMETHODCALLTYPE *AddRef)(
18787 IIOCancelInformation *This);
18788
18789 ULONG (STDMETHODCALLTYPE *Release)(
18790 IIOCancelInformation *This);
18791
18792 /*** IIOCancelInformation methods ***/
18793 HRESULT (STDMETHODCALLTYPE *SetCancelInformation)(
18794 IIOCancelInformation *This,
18795 DWORD dwThreadID,
18796 UINT uMsgCancel);
18797
18798 HRESULT (STDMETHODCALLTYPE *GetCancelInformation)(
18799 IIOCancelInformation *This,
18800 DWORD *pdwThreadID,
18801 UINT *puMsgCancel);
18802
18803 END_INTERFACE
18804} IIOCancelInformationVtbl;
18805
18806interface IIOCancelInformation {
18807 CONST_VTBL IIOCancelInformationVtbl* lpVtbl;
18808};
18809
18810#ifdef COBJMACROS
18811#ifndef WIDL_C_INLINE_WRAPPERS
18812/*** IUnknown methods ***/
18813#define IIOCancelInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18814#define IIOCancelInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
18815#define IIOCancelInformation_Release(This) (This)->lpVtbl->Release(This)
18816/*** IIOCancelInformation methods ***/
18817#define IIOCancelInformation_SetCancelInformation(This,dwThreadID,uMsgCancel) (This)->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel)
18818#define IIOCancelInformation_GetCancelInformation(This,pdwThreadID,puMsgCancel) (This)->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel)
18819#else
18820/*** IUnknown methods ***/
18821static inline HRESULT IIOCancelInformation_QueryInterface(IIOCancelInformation* This,REFIID riid,void **ppvObject) {
18822 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18823}
18824static inline ULONG IIOCancelInformation_AddRef(IIOCancelInformation* This) {
18825 return This->lpVtbl->AddRef(This);
18826}
18827static inline ULONG IIOCancelInformation_Release(IIOCancelInformation* This) {
18828 return This->lpVtbl->Release(This);
18829}
18830/*** IIOCancelInformation methods ***/
18831static inline HRESULT IIOCancelInformation_SetCancelInformation(IIOCancelInformation* This,DWORD dwThreadID,UINT uMsgCancel) {
18832 return This->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel);
18833}
18834static inline HRESULT IIOCancelInformation_GetCancelInformation(IIOCancelInformation* This,DWORD *pdwThreadID,UINT *puMsgCancel) {
18835 return This->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel);
18836}
18837#endif
18838#endif
18839
18840#endif
18841
18842
18843#endif /* __IIOCancelInformation_INTERFACE_DEFINED__ */
18844
18845
18846#define FOFX_NOSKIPJUNCTIONS 0x00010000
18847#define FOFX_PREFERHARDLINK 0x00020000
18848#define FOFX_SHOWELEVATIONPROMPT 0x00040000
18849#define FOFX_RECYCLEONDELETE 0x00080000
18850#define FOFX_EARLYFAILURE 0x00100000
18851#define FOFX_PRESERVEFILEEXTENSIONS 0x00200000
18852#define FOFX_KEEPNEWERFILE 0x00400000
18853#define FOFX_NOCOPYHOOKS 0x00800000
18854#define FOFX_NOMINIMIZEBOX 0x01000000
18855#define FOFX_MOVEACLSACROSSVOLUMES 0x02000000
18856#define FOFX_DONTDISPLAYSOURCEPATH 0x04000000
18857#define FOFX_DONTDISPLAYDESTPATH 0x08000000
18858#define FOFX_REQUIREELEVATION 0x10000000
18859#define FOFX_ADDUNDORECORD 0x20000000
18860#define FOFX_COPYASDOWNLOAD 0x40000000
18861#define FOFX_DONTDISPLAYLOCATIONS 0x80000000
18862
18863/*****************************************************************************
18864 * IFileOperation interface
18865 */
18866#ifndef __IFileOperation_INTERFACE_DEFINED__
18867#define __IFileOperation_INTERFACE_DEFINED__
18868
18869DEFINE_GUID(IID_IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8);
18870#if defined(__cplusplus) && !defined(CINTERFACE)
18871MIDL_INTERFACE("947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8")
18872IFileOperation : public IUnknown
18873{
18874 virtual HRESULT STDMETHODCALLTYPE Advise(
18875 IFileOperationProgressSink *pfops,
18876 DWORD *pdwCookie) = 0;
18877
18878 virtual HRESULT STDMETHODCALLTYPE Unadvise(
18879 DWORD dwCookie) = 0;
18880
18881 virtual HRESULT STDMETHODCALLTYPE SetOperationFlags(
18882 DWORD dwOperationFlags) = 0;
18883
18884 virtual HRESULT STDMETHODCALLTYPE SetProgressMessage(
18885 LPCWSTR pszMessage) = 0;
18886
18887 virtual HRESULT STDMETHODCALLTYPE SetProgressDialog(
18888 IOperationsProgressDialog *popd) = 0;
18889
18890 virtual HRESULT STDMETHODCALLTYPE SetProperties(
18891 IPropertyChangeArray *pproparray) = 0;
18892
18893 virtual HRESULT STDMETHODCALLTYPE SetOwnerWindow(
18894 HWND hwndOwner) = 0;
18895
18896 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem(
18897 IShellItem *psiItem) = 0;
18898
18899 virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItems(
18900 IUnknown *punkItems) = 0;
18901
18902 virtual HRESULT STDMETHODCALLTYPE RenameItem(
18903 IShellItem *psiItem,
18904 LPCWSTR pszNewName,
18905 IFileOperationProgressSink *pfopsItem) = 0;
18906
18907 virtual HRESULT STDMETHODCALLTYPE RenameItems(
18908 IUnknown *pUnkItems,
18909 LPCWSTR pszNewName) = 0;
18910
18911 virtual HRESULT STDMETHODCALLTYPE MoveItem(
18912 IShellItem *psiItem,
18913 IShellItem *psiDestinationFolder,
18914 LPCWSTR pszNewName,
18915 IFileOperationProgressSink *pfopsItem) = 0;
18916
18917 virtual HRESULT STDMETHODCALLTYPE MoveItems(
18918 IUnknown *punkItems,
18919 IShellItem *psiDestinationFolder) = 0;
18920
18921 virtual HRESULT STDMETHODCALLTYPE CopyItem(
18922 IShellItem *psiItem,
18923 IShellItem *psiDestinationFolder,
18924 LPCWSTR pszCopyName,
18925 IFileOperationProgressSink *pfopsItem) = 0;
18926
18927 virtual HRESULT STDMETHODCALLTYPE CopyItems(
18928 IUnknown *punkItems,
18929 IShellItem *psiDestinationFolder) = 0;
18930
18931 virtual HRESULT STDMETHODCALLTYPE DeleteItem(
18932 IShellItem *psiItem,
18933 IFileOperationProgressSink *pfopsItem) = 0;
18934
18935 virtual HRESULT STDMETHODCALLTYPE DeleteItems(
18936 IUnknown *punkItems) = 0;
18937
18938 virtual HRESULT STDMETHODCALLTYPE NewItem(
18939 IShellItem *psiDestinationFolder,
18940 DWORD dwFileAttributes,
18941 LPCWSTR pszName,
18942 LPCWSTR pszTemplateName,
18943 IFileOperationProgressSink *pfopsItem) = 0;
18944
18945 virtual HRESULT STDMETHODCALLTYPE PerformOperations(
18946 ) = 0;
18947
18948 virtual HRESULT STDMETHODCALLTYPE GetAnyOperationsAborted(
18949 WINBOOL *pfAnyOperationsAborted) = 0;
18950
18951};
18952#ifdef __CRT_UUID_DECL
18953__CRT_UUID_DECL(IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8)
18954#endif
18955#else
18956typedef struct IFileOperationVtbl {
18957 BEGIN_INTERFACE
18958
18959 /*** IUnknown methods ***/
18960 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18961 IFileOperation *This,
18962 REFIID riid,
18963 void **ppvObject);
18964
18965 ULONG (STDMETHODCALLTYPE *AddRef)(
18966 IFileOperation *This);
18967
18968 ULONG (STDMETHODCALLTYPE *Release)(
18969 IFileOperation *This);
18970
18971 /*** IFileOperation methods ***/
18972 HRESULT (STDMETHODCALLTYPE *Advise)(
18973 IFileOperation *This,
18974 IFileOperationProgressSink *pfops,
18975 DWORD *pdwCookie);
18976
18977 HRESULT (STDMETHODCALLTYPE *Unadvise)(
18978 IFileOperation *This,
18979 DWORD dwCookie);
18980
18981 HRESULT (STDMETHODCALLTYPE *SetOperationFlags)(
18982 IFileOperation *This,
18983 DWORD dwOperationFlags);
18984
18985 HRESULT (STDMETHODCALLTYPE *SetProgressMessage)(
18986 IFileOperation *This,
18987 LPCWSTR pszMessage);
18988
18989 HRESULT (STDMETHODCALLTYPE *SetProgressDialog)(
18990 IFileOperation *This,
18991 IOperationsProgressDialog *popd);
18992
18993 HRESULT (STDMETHODCALLTYPE *SetProperties)(
18994 IFileOperation *This,
18995 IPropertyChangeArray *pproparray);
18996
18997 HRESULT (STDMETHODCALLTYPE *SetOwnerWindow)(
18998 IFileOperation *This,
18999 HWND hwndOwner);
19000
19001 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)(
19002 IFileOperation *This,
19003 IShellItem *psiItem);
19004
19005 HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItems)(
19006 IFileOperation *This,
19007 IUnknown *punkItems);
19008
19009 HRESULT (STDMETHODCALLTYPE *RenameItem)(
19010 IFileOperation *This,
19011 IShellItem *psiItem,
19012 LPCWSTR pszNewName,
19013 IFileOperationProgressSink *pfopsItem);
19014
19015 HRESULT (STDMETHODCALLTYPE *RenameItems)(
19016 IFileOperation *This,
19017 IUnknown *pUnkItems,
19018 LPCWSTR pszNewName);
19019
19020 HRESULT (STDMETHODCALLTYPE *MoveItem)(
19021 IFileOperation *This,
19022 IShellItem *psiItem,
19023 IShellItem *psiDestinationFolder,
19024 LPCWSTR pszNewName,
19025 IFileOperationProgressSink *pfopsItem);
19026
19027 HRESULT (STDMETHODCALLTYPE *MoveItems)(
19028 IFileOperation *This,
19029 IUnknown *punkItems,
19030 IShellItem *psiDestinationFolder);
19031
19032 HRESULT (STDMETHODCALLTYPE *CopyItem)(
19033 IFileOperation *This,
19034 IShellItem *psiItem,
19035 IShellItem *psiDestinationFolder,
19036 LPCWSTR pszCopyName,
19037 IFileOperationProgressSink *pfopsItem);
19038
19039 HRESULT (STDMETHODCALLTYPE *CopyItems)(
19040 IFileOperation *This,
19041 IUnknown *punkItems,
19042 IShellItem *psiDestinationFolder);
19043
19044 HRESULT (STDMETHODCALLTYPE *DeleteItem)(
19045 IFileOperation *This,
19046 IShellItem *psiItem,
19047 IFileOperationProgressSink *pfopsItem);
19048
19049 HRESULT (STDMETHODCALLTYPE *DeleteItems)(
19050 IFileOperation *This,
19051 IUnknown *punkItems);
19052
19053 HRESULT (STDMETHODCALLTYPE *NewItem)(
19054 IFileOperation *This,
19055 IShellItem *psiDestinationFolder,
19056 DWORD dwFileAttributes,
19057 LPCWSTR pszName,
19058 LPCWSTR pszTemplateName,
19059 IFileOperationProgressSink *pfopsItem);
19060
19061 HRESULT (STDMETHODCALLTYPE *PerformOperations)(
19062 IFileOperation *This);
19063
19064 HRESULT (STDMETHODCALLTYPE *GetAnyOperationsAborted)(
19065 IFileOperation *This,
19066 WINBOOL *pfAnyOperationsAborted);
19067
19068 END_INTERFACE
19069} IFileOperationVtbl;
19070
19071interface IFileOperation {
19072 CONST_VTBL IFileOperationVtbl* lpVtbl;
19073};
19074
19075#ifdef COBJMACROS
19076#ifndef WIDL_C_INLINE_WRAPPERS
19077/*** IUnknown methods ***/
19078#define IFileOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19079#define IFileOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
19080#define IFileOperation_Release(This) (This)->lpVtbl->Release(This)
19081/*** IFileOperation methods ***/
19082#define IFileOperation_Advise(This,pfops,pdwCookie) (This)->lpVtbl->Advise(This,pfops,pdwCookie)
19083#define IFileOperation_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
19084#define IFileOperation_SetOperationFlags(This,dwOperationFlags) (This)->lpVtbl->SetOperationFlags(This,dwOperationFlags)
19085#define IFileOperation_SetProgressMessage(This,pszMessage) (This)->lpVtbl->SetProgressMessage(This,pszMessage)
19086#define IFileOperation_SetProgressDialog(This,popd) (This)->lpVtbl->SetProgressDialog(This,popd)
19087#define IFileOperation_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray)
19088#define IFileOperation_SetOwnerWindow(This,hwndOwner) (This)->lpVtbl->SetOwnerWindow(This,hwndOwner)
19089#define IFileOperation_ApplyPropertiesToItem(This,psiItem) (This)->lpVtbl->ApplyPropertiesToItem(This,psiItem)
19090#define IFileOperation_ApplyPropertiesToItems(This,punkItems) (This)->lpVtbl->ApplyPropertiesToItems(This,punkItems)
19091#define IFileOperation_RenameItem(This,psiItem,pszNewName,pfopsItem) (This)->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem)
19092#define IFileOperation_RenameItems(This,pUnkItems,pszNewName) (This)->lpVtbl->RenameItems(This,pUnkItems,pszNewName)
19093#define IFileOperation_MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem) (This)->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem)
19094#define IFileOperation_MoveItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder)
19095#define IFileOperation_CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem) (This)->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem)
19096#define IFileOperation_CopyItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder)
19097#define IFileOperation_DeleteItem(This,psiItem,pfopsItem) (This)->lpVtbl->DeleteItem(This,psiItem,pfopsItem)
19098#define IFileOperation_DeleteItems(This,punkItems) (This)->lpVtbl->DeleteItems(This,punkItems)
19099#define IFileOperation_NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem) (This)->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem)
19100#define IFileOperation_PerformOperations(This) (This)->lpVtbl->PerformOperations(This)
19101#define IFileOperation_GetAnyOperationsAborted(This,pfAnyOperationsAborted) (This)->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted)
19102#else
19103/*** IUnknown methods ***/
19104static inline HRESULT IFileOperation_QueryInterface(IFileOperation* This,REFIID riid,void **ppvObject) {
19105 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19106}
19107static inline ULONG IFileOperation_AddRef(IFileOperation* This) {
19108 return This->lpVtbl->AddRef(This);
19109}
19110static inline ULONG IFileOperation_Release(IFileOperation* This) {
19111 return This->lpVtbl->Release(This);
19112}
19113/*** IFileOperation methods ***/
19114static inline HRESULT IFileOperation_Advise(IFileOperation* This,IFileOperationProgressSink *pfops,DWORD *pdwCookie) {
19115 return This->lpVtbl->Advise(This,pfops,pdwCookie);
19116}
19117static inline HRESULT IFileOperation_Unadvise(IFileOperation* This,DWORD dwCookie) {
19118 return This->lpVtbl->Unadvise(This,dwCookie);
19119}
19120static inline HRESULT IFileOperation_SetOperationFlags(IFileOperation* This,DWORD dwOperationFlags) {
19121 return This->lpVtbl->SetOperationFlags(This,dwOperationFlags);
19122}
19123static inline HRESULT IFileOperation_SetProgressMessage(IFileOperation* This,LPCWSTR pszMessage) {
19124 return This->lpVtbl->SetProgressMessage(This,pszMessage);
19125}
19126static inline HRESULT IFileOperation_SetProgressDialog(IFileOperation* This,IOperationsProgressDialog *popd) {
19127 return This->lpVtbl->SetProgressDialog(This,popd);
19128}
19129static inline HRESULT IFileOperation_SetProperties(IFileOperation* This,IPropertyChangeArray *pproparray) {
19130 return This->lpVtbl->SetProperties(This,pproparray);
19131}
19132static inline HRESULT IFileOperation_SetOwnerWindow(IFileOperation* This,HWND hwndOwner) {
19133 return This->lpVtbl->SetOwnerWindow(This,hwndOwner);
19134}
19135static inline HRESULT IFileOperation_ApplyPropertiesToItem(IFileOperation* This,IShellItem *psiItem) {
19136 return This->lpVtbl->ApplyPropertiesToItem(This,psiItem);
19137}
19138static inline HRESULT IFileOperation_ApplyPropertiesToItems(IFileOperation* This,IUnknown *punkItems) {
19139 return This->lpVtbl->ApplyPropertiesToItems(This,punkItems);
19140}
19141static inline HRESULT IFileOperation_RenameItem(IFileOperation* This,IShellItem *psiItem,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) {
19142 return This->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem);
19143}
19144static inline HRESULT IFileOperation_RenameItems(IFileOperation* This,IUnknown *pUnkItems,LPCWSTR pszNewName) {
19145 return This->lpVtbl->RenameItems(This,pUnkItems,pszNewName);
19146}
19147static inline HRESULT IFileOperation_MoveItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) {
19148 return This->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem);
19149}
19150static inline HRESULT IFileOperation_MoveItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) {
19151 return This->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder);
19152}
19153static inline HRESULT IFileOperation_CopyItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszCopyName,IFileOperationProgressSink *pfopsItem) {
19154 return This->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem);
19155}
19156static inline HRESULT IFileOperation_CopyItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) {
19157 return This->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder);
19158}
19159static inline HRESULT IFileOperation_DeleteItem(IFileOperation* This,IShellItem *psiItem,IFileOperationProgressSink *pfopsItem) {
19160 return This->lpVtbl->DeleteItem(This,psiItem,pfopsItem);
19161}
19162static inline HRESULT IFileOperation_DeleteItems(IFileOperation* This,IUnknown *punkItems) {
19163 return This->lpVtbl->DeleteItems(This,punkItems);
19164}
19165static inline HRESULT IFileOperation_NewItem(IFileOperation* This,IShellItem *psiDestinationFolder,DWORD dwFileAttributes,LPCWSTR pszName,LPCWSTR pszTemplateName,IFileOperationProgressSink *pfopsItem) {
19166 return This->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem);
19167}
19168static inline HRESULT IFileOperation_PerformOperations(IFileOperation* This) {
19169 return This->lpVtbl->PerformOperations(This);
19170}
19171static inline HRESULT IFileOperation_GetAnyOperationsAborted(IFileOperation* This,WINBOOL *pfAnyOperationsAborted) {
19172 return This->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted);
19173}
19174#endif
19175#endif
19176
19177#endif
19178
19179
19180#endif /* __IFileOperation_INTERFACE_DEFINED__ */
19181
19182
19183/*****************************************************************************
19184 * IObjectProvider interface
19185 */
19186#ifndef __IObjectProvider_INTERFACE_DEFINED__
19187#define __IObjectProvider_INTERFACE_DEFINED__
19188
19189DEFINE_GUID(IID_IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a);
19190#if defined(__cplusplus) && !defined(CINTERFACE)
19191MIDL_INTERFACE("a6087428-3be3-4d73-b308-7c04a540bf1a")
19192IObjectProvider : public IUnknown
19193{
19194 virtual HRESULT STDMETHODCALLTYPE QueryObject(
19195 REFGUID guidObject,
19196 REFIID riid,
19197 void **ppvOut) = 0;
19198
19199};
19200#ifdef __CRT_UUID_DECL
19201__CRT_UUID_DECL(IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a)
19202#endif
19203#else
19204typedef struct IObjectProviderVtbl {
19205 BEGIN_INTERFACE
19206
19207 /*** IUnknown methods ***/
19208 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19209 IObjectProvider *This,
19210 REFIID riid,
19211 void **ppvObject);
19212
19213 ULONG (STDMETHODCALLTYPE *AddRef)(
19214 IObjectProvider *This);
19215
19216 ULONG (STDMETHODCALLTYPE *Release)(
19217 IObjectProvider *This);
19218
19219 /*** IObjectProvider methods ***/
19220 HRESULT (STDMETHODCALLTYPE *QueryObject)(
19221 IObjectProvider *This,
19222 REFGUID guidObject,
19223 REFIID riid,
19224 void **ppvOut);
19225
19226 END_INTERFACE
19227} IObjectProviderVtbl;
19228
19229interface IObjectProvider {
19230 CONST_VTBL IObjectProviderVtbl* lpVtbl;
19231};
19232
19233#ifdef COBJMACROS
19234#ifndef WIDL_C_INLINE_WRAPPERS
19235/*** IUnknown methods ***/
19236#define IObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19237#define IObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
19238#define IObjectProvider_Release(This) (This)->lpVtbl->Release(This)
19239/*** IObjectProvider methods ***/
19240#define IObjectProvider_QueryObject(This,guidObject,riid,ppvOut) (This)->lpVtbl->QueryObject(This,guidObject,riid,ppvOut)
19241#else
19242/*** IUnknown methods ***/
19243static inline HRESULT IObjectProvider_QueryInterface(IObjectProvider* This,REFIID riid,void **ppvObject) {
19244 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19245}
19246static inline ULONG IObjectProvider_AddRef(IObjectProvider* This) {
19247 return This->lpVtbl->AddRef(This);
19248}
19249static inline ULONG IObjectProvider_Release(IObjectProvider* This) {
19250 return This->lpVtbl->Release(This);
19251}
19252/*** IObjectProvider methods ***/
19253static inline HRESULT IObjectProvider_QueryObject(IObjectProvider* This,REFGUID guidObject,REFIID riid,void **ppvOut) {
19254 return This->lpVtbl->QueryObject(This,guidObject,riid,ppvOut);
19255}
19256#endif
19257#endif
19258
19259#endif
19260
19261
19262#endif /* __IObjectProvider_INTERFACE_DEFINED__ */
19263
19264#endif
19265
19266/*****************************************************************************
19267 * INamespaceWalkCB interface
19268 */
19269#ifndef __INamespaceWalkCB_INTERFACE_DEFINED__
19270#define __INamespaceWalkCB_INTERFACE_DEFINED__
19271
19272DEFINE_GUID(IID_INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e);
19273#if defined(__cplusplus) && !defined(CINTERFACE)
19274MIDL_INTERFACE("d92995f8-cf5e-4a76-bf59-ead39ea2b97e")
19275INamespaceWalkCB : public IUnknown
19276{
19277 virtual HRESULT STDMETHODCALLTYPE FoundItem(
19278 IShellFolder *psf,
19279 PCUITEMID_CHILD pidl) = 0;
19280
19281 virtual HRESULT STDMETHODCALLTYPE EnterFolder(
19282 IShellFolder *psf,
19283 PCUITEMID_CHILD pidl) = 0;
19284
19285 virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
19286 IShellFolder *psf,
19287 PCUITEMID_CHILD pidl) = 0;
19288
19289 virtual HRESULT STDMETHODCALLTYPE InitializeProgressDialog(
19290 LPWSTR *ppszTitle,
19291 LPWSTR *ppszCancel) = 0;
19292
19293};
19294#ifdef __CRT_UUID_DECL
19295__CRT_UUID_DECL(INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e)
19296#endif
19297#else
19298typedef struct INamespaceWalkCBVtbl {
19299 BEGIN_INTERFACE
19300
19301 /*** IUnknown methods ***/
19302 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19303 INamespaceWalkCB *This,
19304 REFIID riid,
19305 void **ppvObject);
19306
19307 ULONG (STDMETHODCALLTYPE *AddRef)(
19308 INamespaceWalkCB *This);
19309
19310 ULONG (STDMETHODCALLTYPE *Release)(
19311 INamespaceWalkCB *This);
19312
19313 /*** INamespaceWalkCB methods ***/
19314 HRESULT (STDMETHODCALLTYPE *FoundItem)(
19315 INamespaceWalkCB *This,
19316 IShellFolder *psf,
19317 PCUITEMID_CHILD pidl);
19318
19319 HRESULT (STDMETHODCALLTYPE *EnterFolder)(
19320 INamespaceWalkCB *This,
19321 IShellFolder *psf,
19322 PCUITEMID_CHILD pidl);
19323
19324 HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
19325 INamespaceWalkCB *This,
19326 IShellFolder *psf,
19327 PCUITEMID_CHILD pidl);
19328
19329 HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)(
19330 INamespaceWalkCB *This,
19331 LPWSTR *ppszTitle,
19332 LPWSTR *ppszCancel);
19333
19334 END_INTERFACE
19335} INamespaceWalkCBVtbl;
19336
19337interface INamespaceWalkCB {
19338 CONST_VTBL INamespaceWalkCBVtbl* lpVtbl;
19339};
19340
19341#ifdef COBJMACROS
19342#ifndef WIDL_C_INLINE_WRAPPERS
19343/*** IUnknown methods ***/
19344#define INamespaceWalkCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19345#define INamespaceWalkCB_AddRef(This) (This)->lpVtbl->AddRef(This)
19346#define INamespaceWalkCB_Release(This) (This)->lpVtbl->Release(This)
19347/*** INamespaceWalkCB methods ***/
19348#define INamespaceWalkCB_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl)
19349#define INamespaceWalkCB_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl)
19350#define INamespaceWalkCB_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl)
19351#define INamespaceWalkCB_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel)
19352#else
19353/*** IUnknown methods ***/
19354static inline HRESULT INamespaceWalkCB_QueryInterface(INamespaceWalkCB* This,REFIID riid,void **ppvObject) {
19355 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19356}
19357static inline ULONG INamespaceWalkCB_AddRef(INamespaceWalkCB* This) {
19358 return This->lpVtbl->AddRef(This);
19359}
19360static inline ULONG INamespaceWalkCB_Release(INamespaceWalkCB* This) {
19361 return This->lpVtbl->Release(This);
19362}
19363/*** INamespaceWalkCB methods ***/
19364static inline HRESULT INamespaceWalkCB_FoundItem(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19365 return This->lpVtbl->FoundItem(This,psf,pidl);
19366}
19367static inline HRESULT INamespaceWalkCB_EnterFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19368 return This->lpVtbl->EnterFolder(This,psf,pidl);
19369}
19370static inline HRESULT INamespaceWalkCB_LeaveFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19371 return This->lpVtbl->LeaveFolder(This,psf,pidl);
19372}
19373static inline HRESULT INamespaceWalkCB_InitializeProgressDialog(INamespaceWalkCB* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) {
19374 return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel);
19375}
19376#endif
19377#endif
19378
19379#endif
19380
19381
19382#endif /* __INamespaceWalkCB_INTERFACE_DEFINED__ */
19383
19384
19385#if _WIN32_IE >= _WIN32_IE_IE70
19386/*****************************************************************************
19387 * INamespaceWalkCB2 interface
19388 */
19389#ifndef __INamespaceWalkCB2_INTERFACE_DEFINED__
19390#define __INamespaceWalkCB2_INTERFACE_DEFINED__
19391
19392DEFINE_GUID(IID_INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70);
19393#if defined(__cplusplus) && !defined(CINTERFACE)
19394MIDL_INTERFACE("7ac7492b-c38e-438a-87db-68737844ff70")
19395INamespaceWalkCB2 : public INamespaceWalkCB
19396{
19397 virtual HRESULT STDMETHODCALLTYPE WalkComplete(
19398 HRESULT hr) = 0;
19399
19400};
19401#ifdef __CRT_UUID_DECL
19402__CRT_UUID_DECL(INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70)
19403#endif
19404#else
19405typedef struct INamespaceWalkCB2Vtbl {
19406 BEGIN_INTERFACE
19407
19408 /*** IUnknown methods ***/
19409 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19410 INamespaceWalkCB2 *This,
19411 REFIID riid,
19412 void **ppvObject);
19413
19414 ULONG (STDMETHODCALLTYPE *AddRef)(
19415 INamespaceWalkCB2 *This);
19416
19417 ULONG (STDMETHODCALLTYPE *Release)(
19418 INamespaceWalkCB2 *This);
19419
19420 /*** INamespaceWalkCB methods ***/
19421 HRESULT (STDMETHODCALLTYPE *FoundItem)(
19422 INamespaceWalkCB2 *This,
19423 IShellFolder *psf,
19424 PCUITEMID_CHILD pidl);
19425
19426 HRESULT (STDMETHODCALLTYPE *EnterFolder)(
19427 INamespaceWalkCB2 *This,
19428 IShellFolder *psf,
19429 PCUITEMID_CHILD pidl);
19430
19431 HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
19432 INamespaceWalkCB2 *This,
19433 IShellFolder *psf,
19434 PCUITEMID_CHILD pidl);
19435
19436 HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)(
19437 INamespaceWalkCB2 *This,
19438 LPWSTR *ppszTitle,
19439 LPWSTR *ppszCancel);
19440
19441 /*** INamespaceWalkCB2 methods ***/
19442 HRESULT (STDMETHODCALLTYPE *WalkComplete)(
19443 INamespaceWalkCB2 *This,
19444 HRESULT hr);
19445
19446 END_INTERFACE
19447} INamespaceWalkCB2Vtbl;
19448
19449interface INamespaceWalkCB2 {
19450 CONST_VTBL INamespaceWalkCB2Vtbl* lpVtbl;
19451};
19452
19453#ifdef COBJMACROS
19454#ifndef WIDL_C_INLINE_WRAPPERS
19455/*** IUnknown methods ***/
19456#define INamespaceWalkCB2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19457#define INamespaceWalkCB2_AddRef(This) (This)->lpVtbl->AddRef(This)
19458#define INamespaceWalkCB2_Release(This) (This)->lpVtbl->Release(This)
19459/*** INamespaceWalkCB methods ***/
19460#define INamespaceWalkCB2_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl)
19461#define INamespaceWalkCB2_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl)
19462#define INamespaceWalkCB2_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl)
19463#define INamespaceWalkCB2_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel)
19464/*** INamespaceWalkCB2 methods ***/
19465#define INamespaceWalkCB2_WalkComplete(This,hr) (This)->lpVtbl->WalkComplete(This,hr)
19466#else
19467/*** IUnknown methods ***/
19468static inline HRESULT INamespaceWalkCB2_QueryInterface(INamespaceWalkCB2* This,REFIID riid,void **ppvObject) {
19469 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19470}
19471static inline ULONG INamespaceWalkCB2_AddRef(INamespaceWalkCB2* This) {
19472 return This->lpVtbl->AddRef(This);
19473}
19474static inline ULONG INamespaceWalkCB2_Release(INamespaceWalkCB2* This) {
19475 return This->lpVtbl->Release(This);
19476}
19477/*** INamespaceWalkCB methods ***/
19478static inline HRESULT INamespaceWalkCB2_FoundItem(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19479 return This->lpVtbl->FoundItem(This,psf,pidl);
19480}
19481static inline HRESULT INamespaceWalkCB2_EnterFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19482 return This->lpVtbl->EnterFolder(This,psf,pidl);
19483}
19484static inline HRESULT INamespaceWalkCB2_LeaveFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
19485 return This->lpVtbl->LeaveFolder(This,psf,pidl);
19486}
19487static inline HRESULT INamespaceWalkCB2_InitializeProgressDialog(INamespaceWalkCB2* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) {
19488 return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel);
19489}
19490/*** INamespaceWalkCB2 methods ***/
19491static inline HRESULT INamespaceWalkCB2_WalkComplete(INamespaceWalkCB2* This,HRESULT hr) {
19492 return This->lpVtbl->WalkComplete(This,hr);
19493}
19494#endif
19495#endif
19496
19497#endif
19498
19499
19500#endif /* __INamespaceWalkCB2_INTERFACE_DEFINED__ */
19501
19502#endif
19503
19504/*****************************************************************************
19505 * INamespaceWalk interface
19506 */
19507#ifndef __INamespaceWalk_INTERFACE_DEFINED__
19508#define __INamespaceWalk_INTERFACE_DEFINED__
19509
19510typedef enum NAMESPACEWALKFLAG {
19511 NSWF_DEFAULT = 0x0,
19512 NSWF_NONE_IMPLIES_ALL = 0x1,
19513 NSWF_ONE_IMPLIES_ALL = 0x2,
19514 NSWF_DONT_TRAVERSE_LINKS = 0x4,
19515 NSWF_DONT_ACCUMULATE_RESULT = 0x8,
19516 NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x10,
19517 NSWF_FILESYSTEM_ONLY = 0x20,
19518 NSWF_SHOW_PROGRESS = 0x40,
19519 NSWF_FLAG_VIEWORDER = 0x80,
19520 NSWF_IGNORE_AUTOPLAY_HIDA = 0x100,
19521 NSWF_ASYNC = 0x200,
19522 NSWF_DONT_RESOLVE_LINKS = 0x400,
19523 NSWF_ACCUMULATE_FOLDERS = 0x800,
19524 NSWF_DONT_SORT = 0x1000,
19525 NSWF_USE_TRANSFER_MEDIUM = 0x2000,
19526 NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS = 0x4000,
19527 NSWF_ANY_IMPLIES_ALL = 0x8000
19528} NAMESPACEWALKFLAG;
19529
19530#define NSWF_ENUMERATE_BEST_EFFORT 0x00010000
19531#define NSWF_TRAVERSE_ONLY_STORAGE 0x00020000
19532
19533DEFINE_ENUM_FLAG_OPERATORS(NAMESPACEWALKFLAG)
19534
19535DEFINE_GUID(IID_INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f);
19536#if defined(__cplusplus) && !defined(CINTERFACE)
19537MIDL_INTERFACE("57ced8a7-3f4a-432c-9350-30f24483f74f")
19538INamespaceWalk : public IUnknown
19539{
19540 virtual HRESULT STDMETHODCALLTYPE Walk(
19541 IUnknown *punkToWalk,
19542 DWORD dwFlags,
19543 int cDepth,
19544 INamespaceWalkCB *pnswcb) = 0;
19545
19546 virtual HRESULT STDMETHODCALLTYPE GetIDArrayResult(
19547 UINT *pcItems,
19548 PIDLIST_ABSOLUTE **prgpidl) = 0;
19549
19550};
19551#ifdef __CRT_UUID_DECL
19552__CRT_UUID_DECL(INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f)
19553#endif
19554#else
19555typedef struct INamespaceWalkVtbl {
19556 BEGIN_INTERFACE
19557
19558 /*** IUnknown methods ***/
19559 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19560 INamespaceWalk *This,
19561 REFIID riid,
19562 void **ppvObject);
19563
19564 ULONG (STDMETHODCALLTYPE *AddRef)(
19565 INamespaceWalk *This);
19566
19567 ULONG (STDMETHODCALLTYPE *Release)(
19568 INamespaceWalk *This);
19569
19570 /*** INamespaceWalk methods ***/
19571 HRESULT (STDMETHODCALLTYPE *Walk)(
19572 INamespaceWalk *This,
19573 IUnknown *punkToWalk,
19574 DWORD dwFlags,
19575 int cDepth,
19576 INamespaceWalkCB *pnswcb);
19577
19578 HRESULT (STDMETHODCALLTYPE *GetIDArrayResult)(
19579 INamespaceWalk *This,
19580 UINT *pcItems,
19581 PIDLIST_ABSOLUTE **prgpidl);
19582
19583 END_INTERFACE
19584} INamespaceWalkVtbl;
19585
19586interface INamespaceWalk {
19587 CONST_VTBL INamespaceWalkVtbl* lpVtbl;
19588};
19589
19590#ifdef COBJMACROS
19591#ifndef WIDL_C_INLINE_WRAPPERS
19592/*** IUnknown methods ***/
19593#define INamespaceWalk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19594#define INamespaceWalk_AddRef(This) (This)->lpVtbl->AddRef(This)
19595#define INamespaceWalk_Release(This) (This)->lpVtbl->Release(This)
19596/*** INamespaceWalk methods ***/
19597#define INamespaceWalk_Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) (This)->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb)
19598#define INamespaceWalk_GetIDArrayResult(This,pcItems,prgpidl) (This)->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl)
19599#else
19600/*** IUnknown methods ***/
19601static inline HRESULT INamespaceWalk_QueryInterface(INamespaceWalk* This,REFIID riid,void **ppvObject) {
19602 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19603}
19604static inline ULONG INamespaceWalk_AddRef(INamespaceWalk* This) {
19605 return This->lpVtbl->AddRef(This);
19606}
19607static inline ULONG INamespaceWalk_Release(INamespaceWalk* This) {
19608 return This->lpVtbl->Release(This);
19609}
19610/*** INamespaceWalk methods ***/
19611static inline HRESULT INamespaceWalk_Walk(INamespaceWalk* This,IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb) {
19612 return This->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb);
19613}
19614static inline HRESULT INamespaceWalk_GetIDArrayResult(INamespaceWalk* This,UINT *pcItems,PIDLIST_ABSOLUTE **prgpidl) {
19615 return This->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl);
19616}
19617#endif
19618#endif
19619
19620#endif
19621
19622
19623#endif /* __INamespaceWalk_INTERFACE_DEFINED__ */
19624
19625
19626 __forceinline void FreeIDListArray(PIDLIST_RELATIVE *ppidls, UINT cItems) {
19627 UINT i;
19628 for (i = 0; i < cItems; i++) {
19629 CoTaskMemFree(ppidls[i]);
19630 }
19631 CoTaskMemFree(ppidls);
19632 }
19633#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
19634 __forceinline void FreeIDListArrayFull(PIDLIST_ABSOLUTE *ppidls, UINT cItems) {
19635 UINT i;
19636 for (i = 0; i < cItems; i++)
19637 CoTaskMemFree(ppidls[i]);
19638 CoTaskMemFree(ppidls);
19639 }
19640 __forceinline void FreeIDListArrayChild(PITEMID_CHILD *ppidls, UINT cItems) {
19641 UINT i;
19642 for (i = 0; i < cItems; i++)
19643 CoTaskMemFree(ppidls[i]);
19644 CoTaskMemFree(ppidls);
19645 }
19646#else
19647#define FreeIDListArrayFull FreeIDListArray
19648#define FreeIDListArrayChild FreeIDListArray
19649#endif
19650
19651#define ACDD_VISIBLE 0x1
19652
19653/*****************************************************************************
19654 * IAutoCompleteDropDown interface
19655 */
19656#ifndef __IAutoCompleteDropDown_INTERFACE_DEFINED__
19657#define __IAutoCompleteDropDown_INTERFACE_DEFINED__
19658
19659DEFINE_GUID(IID_IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb);
19660#if defined(__cplusplus) && !defined(CINTERFACE)
19661MIDL_INTERFACE("3cd141f4-3c6a-11d2-bcaa-00c04fd929db")
19662IAutoCompleteDropDown : public IUnknown
19663{
19664 virtual HRESULT STDMETHODCALLTYPE GetDropDownStatus(
19665 DWORD *pdwFlags,
19666 LPWSTR *ppwszString) = 0;
19667
19668 virtual HRESULT STDMETHODCALLTYPE ResetEnumerator(
19669 ) = 0;
19670
19671};
19672#ifdef __CRT_UUID_DECL
19673__CRT_UUID_DECL(IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb)
19674#endif
19675#else
19676typedef struct IAutoCompleteDropDownVtbl {
19677 BEGIN_INTERFACE
19678
19679 /*** IUnknown methods ***/
19680 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19681 IAutoCompleteDropDown *This,
19682 REFIID riid,
19683 void **ppvObject);
19684
19685 ULONG (STDMETHODCALLTYPE *AddRef)(
19686 IAutoCompleteDropDown *This);
19687
19688 ULONG (STDMETHODCALLTYPE *Release)(
19689 IAutoCompleteDropDown *This);
19690
19691 /*** IAutoCompleteDropDown methods ***/
19692 HRESULT (STDMETHODCALLTYPE *GetDropDownStatus)(
19693 IAutoCompleteDropDown *This,
19694 DWORD *pdwFlags,
19695 LPWSTR *ppwszString);
19696
19697 HRESULT (STDMETHODCALLTYPE *ResetEnumerator)(
19698 IAutoCompleteDropDown *This);
19699
19700 END_INTERFACE
19701} IAutoCompleteDropDownVtbl;
19702
19703interface IAutoCompleteDropDown {
19704 CONST_VTBL IAutoCompleteDropDownVtbl* lpVtbl;
19705};
19706
19707#ifdef COBJMACROS
19708#ifndef WIDL_C_INLINE_WRAPPERS
19709/*** IUnknown methods ***/
19710#define IAutoCompleteDropDown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19711#define IAutoCompleteDropDown_AddRef(This) (This)->lpVtbl->AddRef(This)
19712#define IAutoCompleteDropDown_Release(This) (This)->lpVtbl->Release(This)
19713/*** IAutoCompleteDropDown methods ***/
19714#define IAutoCompleteDropDown_GetDropDownStatus(This,pdwFlags,ppwszString) (This)->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString)
19715#define IAutoCompleteDropDown_ResetEnumerator(This) (This)->lpVtbl->ResetEnumerator(This)
19716#else
19717/*** IUnknown methods ***/
19718static inline HRESULT IAutoCompleteDropDown_QueryInterface(IAutoCompleteDropDown* This,REFIID riid,void **ppvObject) {
19719 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19720}
19721static inline ULONG IAutoCompleteDropDown_AddRef(IAutoCompleteDropDown* This) {
19722 return This->lpVtbl->AddRef(This);
19723}
19724static inline ULONG IAutoCompleteDropDown_Release(IAutoCompleteDropDown* This) {
19725 return This->lpVtbl->Release(This);
19726}
19727/*** IAutoCompleteDropDown methods ***/
19728static inline HRESULT IAutoCompleteDropDown_GetDropDownStatus(IAutoCompleteDropDown* This,DWORD *pdwFlags,LPWSTR *ppwszString) {
19729 return This->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString);
19730}
19731static inline HRESULT IAutoCompleteDropDown_ResetEnumerator(IAutoCompleteDropDown* This) {
19732 return This->lpVtbl->ResetEnumerator(This);
19733}
19734#endif
19735#endif
19736
19737#endif
19738
19739
19740#endif /* __IAutoCompleteDropDown_INTERFACE_DEFINED__ */
19741
19742
19743#include <pshpack8.h>
19744typedef struct tagBANDSITEINFO {
19745 DWORD dwMask;
19746 DWORD dwState;
19747 DWORD dwStyle;
19748} BANDSITEINFO;
19749#include <poppack.h>
19750enum tagBANDSITECID {
19751 BSID_BANDADDED = 0,
19752 BSID_BANDREMOVED = 1
19753};
19754
19755#define BSIM_STATE 0x00000001
19756#define BSIM_STYLE 0x00000002
19757
19758#define BSSF_VISIBLE 0x00000001
19759#define BSSF_NOTITLE 0x00000002
19760#define BSSF_UNDELETEABLE 0x00001000
19761
19762#define BSIS_AUTOGRIPPER 0x00000000
19763#define BSIS_NOGRIPPER 0x00000001
19764#define BSIS_ALWAYSGRIPPER 0x00000002
19765#define BSIS_LEFTALIGN 0x00000004
19766#define BSIS_SINGLECLICK 0x00000008
19767#define BSIS_NOCONTEXTMENU 0x00000010
19768#define BSIS_NODROPTARGET 0x00000020
19769#define BSIS_NOCAPTION 0x00000040
19770#define BSIS_PREFERNOLINEBREAK 0x00000080
19771#define BSIS_LOCKED 0x00000100
19772#if _WIN32_IE >= _WIN32_IE_IE70
19773#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200
19774#define BSIS_FIXEDORDER 0x00000400
19775#endif
19776
19777#define SID_SBandSite IID_IBandSite
19778#define CGID_BandSite IID_IBandSite
19779
19780/*****************************************************************************
19781 * IBandSite interface
19782 */
19783#ifndef __IBandSite_INTERFACE_DEFINED__
19784#define __IBandSite_INTERFACE_DEFINED__
19785
19786DEFINE_GUID(IID_IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5);
19787#if defined(__cplusplus) && !defined(CINTERFACE)
19788MIDL_INTERFACE("4cf504b0-de96-11d0-8b3f-00a0c911e8e5")
19789IBandSite : public IUnknown
19790{
19791 virtual HRESULT STDMETHODCALLTYPE AddBand(
19792 IUnknown *punk) = 0;
19793
19794 virtual HRESULT STDMETHODCALLTYPE EnumBands(
19795 UINT uBand,
19796 DWORD *pdwBandID) = 0;
19797
19798 virtual HRESULT STDMETHODCALLTYPE QueryBand(
19799 DWORD dwBandID,
19800 IDeskBand **ppstb,
19801 DWORD *pdwState,
19802 LPWSTR pszName,
19803 int cchName) = 0;
19804
19805 virtual HRESULT STDMETHODCALLTYPE SetBandState(
19806 DWORD dwBandID,
19807 DWORD dwMask,
19808 DWORD dwState) = 0;
19809
19810 virtual HRESULT STDMETHODCALLTYPE RemoveBand(
19811 DWORD dwBandID) = 0;
19812
19813 virtual HRESULT STDMETHODCALLTYPE GetBandObject(
19814 DWORD dwBandID,
19815 REFIID riid,
19816 void **ppv) = 0;
19817
19818 virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(
19819 const BANDSITEINFO *pbsinfo) = 0;
19820
19821 virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(
19822 BANDSITEINFO *pbsinfo) = 0;
19823
19824};
19825#ifdef __CRT_UUID_DECL
19826__CRT_UUID_DECL(IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5)
19827#endif
19828#else
19829typedef struct IBandSiteVtbl {
19830 BEGIN_INTERFACE
19831
19832 /*** IUnknown methods ***/
19833 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19834 IBandSite *This,
19835 REFIID riid,
19836 void **ppvObject);
19837
19838 ULONG (STDMETHODCALLTYPE *AddRef)(
19839 IBandSite *This);
19840
19841 ULONG (STDMETHODCALLTYPE *Release)(
19842 IBandSite *This);
19843
19844 /*** IBandSite methods ***/
19845 HRESULT (STDMETHODCALLTYPE *AddBand)(
19846 IBandSite *This,
19847 IUnknown *punk);
19848
19849 HRESULT (STDMETHODCALLTYPE *EnumBands)(
19850 IBandSite *This,
19851 UINT uBand,
19852 DWORD *pdwBandID);
19853
19854 HRESULT (STDMETHODCALLTYPE *QueryBand)(
19855 IBandSite *This,
19856 DWORD dwBandID,
19857 IDeskBand **ppstb,
19858 DWORD *pdwState,
19859 LPWSTR pszName,
19860 int cchName);
19861
19862 HRESULT (STDMETHODCALLTYPE *SetBandState)(
19863 IBandSite *This,
19864 DWORD dwBandID,
19865 DWORD dwMask,
19866 DWORD dwState);
19867
19868 HRESULT (STDMETHODCALLTYPE *RemoveBand)(
19869 IBandSite *This,
19870 DWORD dwBandID);
19871
19872 HRESULT (STDMETHODCALLTYPE *GetBandObject)(
19873 IBandSite *This,
19874 DWORD dwBandID,
19875 REFIID riid,
19876 void **ppv);
19877
19878 HRESULT (STDMETHODCALLTYPE *SetBandSiteInfo)(
19879 IBandSite *This,
19880 const BANDSITEINFO *pbsinfo);
19881
19882 HRESULT (STDMETHODCALLTYPE *GetBandSiteInfo)(
19883 IBandSite *This,
19884 BANDSITEINFO *pbsinfo);
19885
19886 END_INTERFACE
19887} IBandSiteVtbl;
19888
19889interface IBandSite {
19890 CONST_VTBL IBandSiteVtbl* lpVtbl;
19891};
19892
19893#ifdef COBJMACROS
19894#ifndef WIDL_C_INLINE_WRAPPERS
19895/*** IUnknown methods ***/
19896#define IBandSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19897#define IBandSite_AddRef(This) (This)->lpVtbl->AddRef(This)
19898#define IBandSite_Release(This) (This)->lpVtbl->Release(This)
19899/*** IBandSite methods ***/
19900#define IBandSite_AddBand(This,punk) (This)->lpVtbl->AddBand(This,punk)
19901#define IBandSite_EnumBands(This,uBand,pdwBandID) (This)->lpVtbl->EnumBands(This,uBand,pdwBandID)
19902#define IBandSite_QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) (This)->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName)
19903#define IBandSite_SetBandState(This,dwBandID,dwMask,dwState) (This)->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState)
19904#define IBandSite_RemoveBand(This,dwBandID) (This)->lpVtbl->RemoveBand(This,dwBandID)
19905#define IBandSite_GetBandObject(This,dwBandID,riid,ppv) (This)->lpVtbl->GetBandObject(This,dwBandID,riid,ppv)
19906#define IBandSite_SetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->SetBandSiteInfo(This,pbsinfo)
19907#define IBandSite_GetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->GetBandSiteInfo(This,pbsinfo)
19908#else
19909/*** IUnknown methods ***/
19910static inline HRESULT IBandSite_QueryInterface(IBandSite* This,REFIID riid,void **ppvObject) {
19911 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19912}
19913static inline ULONG IBandSite_AddRef(IBandSite* This) {
19914 return This->lpVtbl->AddRef(This);
19915}
19916static inline ULONG IBandSite_Release(IBandSite* This) {
19917 return This->lpVtbl->Release(This);
19918}
19919/*** IBandSite methods ***/
19920static inline HRESULT IBandSite_AddBand(IBandSite* This,IUnknown *punk) {
19921 return This->lpVtbl->AddBand(This,punk);
19922}
19923static inline HRESULT IBandSite_EnumBands(IBandSite* This,UINT uBand,DWORD *pdwBandID) {
19924 return This->lpVtbl->EnumBands(This,uBand,pdwBandID);
19925}
19926static inline HRESULT IBandSite_QueryBand(IBandSite* This,DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName) {
19927 return This->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName);
19928}
19929static inline HRESULT IBandSite_SetBandState(IBandSite* This,DWORD dwBandID,DWORD dwMask,DWORD dwState) {
19930 return This->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState);
19931}
19932static inline HRESULT IBandSite_RemoveBand(IBandSite* This,DWORD dwBandID) {
19933 return This->lpVtbl->RemoveBand(This,dwBandID);
19934}
19935static inline HRESULT IBandSite_GetBandObject(IBandSite* This,DWORD dwBandID,REFIID riid,void **ppv) {
19936 return This->lpVtbl->GetBandObject(This,dwBandID,riid,ppv);
19937}
19938static inline HRESULT IBandSite_SetBandSiteInfo(IBandSite* This,const BANDSITEINFO *pbsinfo) {
19939 return This->lpVtbl->SetBandSiteInfo(This,pbsinfo);
19940}
19941static inline HRESULT IBandSite_GetBandSiteInfo(IBandSite* This,BANDSITEINFO *pbsinfo) {
19942 return This->lpVtbl->GetBandSiteInfo(This,pbsinfo);
19943}
19944#endif
19945#endif
19946
19947#endif
19948
19949HRESULT STDMETHODCALLTYPE IBandSite_RemoteQueryBand_Proxy(
19950 IBandSite* This,
19951 DWORD dwBandID,
19952 IDeskBand **ppstb,
19953 DWORD *pdwState,
19954 LPWSTR pszName,
19955 int cchName);
19956void __RPC_STUB IBandSite_RemoteQueryBand_Stub(
19957 IRpcStubBuffer* This,
19958 IRpcChannelBuffer* pRpcChannelBuffer,
19959 PRPC_MESSAGE pRpcMessage,
19960 DWORD* pdwStubPhase);
19961HRESULT CALLBACK IBandSite_QueryBand_Proxy(
19962 IBandSite* This,
19963 DWORD dwBandID,
19964 IDeskBand **ppstb,
19965 DWORD *pdwState,
19966 LPWSTR pszName,
19967 int cchName);
19968HRESULT __RPC_STUB IBandSite_QueryBand_Stub(
19969 IBandSite* This,
19970 DWORD dwBandID,
19971 IDeskBand **ppstb,
19972 DWORD *pdwState,
19973 LPWSTR pszName,
19974 int cchName);
19975
19976#endif /* __IBandSite_INTERFACE_DEFINED__ */
19977
19978
19979/*****************************************************************************
19980 * IModalWindow interface
19981 */
19982#ifndef __IModalWindow_INTERFACE_DEFINED__
19983#define __IModalWindow_INTERFACE_DEFINED__
19984
19985DEFINE_GUID(IID_IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02);
19986#if defined(__cplusplus) && !defined(CINTERFACE)
19987MIDL_INTERFACE("b4db1657-70d7-485e-8e3e-6fcb5a5c1802")
19988IModalWindow : public IUnknown
19989{
19990 virtual HRESULT STDMETHODCALLTYPE Show(
19991 HWND hwndOwner) = 0;
19992
19993};
19994#ifdef __CRT_UUID_DECL
19995__CRT_UUID_DECL(IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02)
19996#endif
19997#else
19998typedef struct IModalWindowVtbl {
19999 BEGIN_INTERFACE
20000
20001 /*** IUnknown methods ***/
20002 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20003 IModalWindow *This,
20004 REFIID riid,
20005 void **ppvObject);
20006
20007 ULONG (STDMETHODCALLTYPE *AddRef)(
20008 IModalWindow *This);
20009
20010 ULONG (STDMETHODCALLTYPE *Release)(
20011 IModalWindow *This);
20012
20013 /*** IModalWindow methods ***/
20014 HRESULT (STDMETHODCALLTYPE *Show)(
20015 IModalWindow *This,
20016 HWND hwndOwner);
20017
20018 END_INTERFACE
20019} IModalWindowVtbl;
20020
20021interface IModalWindow {
20022 CONST_VTBL IModalWindowVtbl* lpVtbl;
20023};
20024
20025#ifdef COBJMACROS
20026#ifndef WIDL_C_INLINE_WRAPPERS
20027/*** IUnknown methods ***/
20028#define IModalWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20029#define IModalWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
20030#define IModalWindow_Release(This) (This)->lpVtbl->Release(This)
20031/*** IModalWindow methods ***/
20032#define IModalWindow_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
20033#else
20034/*** IUnknown methods ***/
20035static inline HRESULT IModalWindow_QueryInterface(IModalWindow* This,REFIID riid,void **ppvObject) {
20036 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20037}
20038static inline ULONG IModalWindow_AddRef(IModalWindow* This) {
20039 return This->lpVtbl->AddRef(This);
20040}
20041static inline ULONG IModalWindow_Release(IModalWindow* This) {
20042 return This->lpVtbl->Release(This);
20043}
20044/*** IModalWindow methods ***/
20045static inline HRESULT IModalWindow_Show(IModalWindow* This,HWND hwndOwner) {
20046 return This->lpVtbl->Show(This,hwndOwner);
20047}
20048#endif
20049#endif
20050
20051#endif
20052
20053HRESULT STDMETHODCALLTYPE IModalWindow_RemoteShow_Proxy(
20054 IModalWindow* This,
20055 HWND hwndOwner);
20056void __RPC_STUB IModalWindow_RemoteShow_Stub(
20057 IRpcStubBuffer* This,
20058 IRpcChannelBuffer* pRpcChannelBuffer,
20059 PRPC_MESSAGE pRpcMessage,
20060 DWORD* pdwStubPhase);
20061HRESULT CALLBACK IModalWindow_Show_Proxy(
20062 IModalWindow* This,
20063 HWND hwndOwner);
20064HRESULT __RPC_STUB IModalWindow_Show_Stub(
20065 IModalWindow* This,
20066 HWND hwndOwner);
20067
20068#endif /* __IModalWindow_INTERFACE_DEFINED__ */
20069
20070
20071#define PROPSTR_EXTENSIONCOMPLETIONSTATE L"ExtensionCompletionState"
20072
20073enum tagCDBURNINGEXTENSIONRET {
20074 CDBE_RET_DEFAULT = 0x0,
20075 CDBE_RET_DONTRUNOTHEREXTS = 0x1,
20076 CDBE_RET_STOPWIZARD = 0x2
20077};
20078
20079#define SID_CDWizardHost IID_ICDBurnExt
20080
20081enum _CDBE_ACTIONS {
20082 CDBE_TYPE_MUSIC = 0x1,
20083 CDBE_TYPE_DATA = 0x2,
20084 CDBE_TYPE_ALL = (int)0xffffffff
20085};
20086
20087typedef DWORD CDBE_ACTIONS;
20088
20089/*****************************************************************************
20090 * ICDBurnExt interface
20091 */
20092#ifndef __ICDBurnExt_INTERFACE_DEFINED__
20093#define __ICDBurnExt_INTERFACE_DEFINED__
20094
20095DEFINE_GUID(IID_ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7);
20096#if defined(__cplusplus) && !defined(CINTERFACE)
20097MIDL_INTERFACE("2271dcca-74fc-4414-8fb7-c56b05ace2d7")
20098ICDBurnExt : public IUnknown
20099{
20100 virtual HRESULT STDMETHODCALLTYPE GetSupportedActionTypes(
20101 CDBE_ACTIONS *pdwActions) = 0;
20102
20103};
20104#ifdef __CRT_UUID_DECL
20105__CRT_UUID_DECL(ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7)
20106#endif
20107#else
20108typedef struct ICDBurnExtVtbl {
20109 BEGIN_INTERFACE
20110
20111 /*** IUnknown methods ***/
20112 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20113 ICDBurnExt *This,
20114 REFIID riid,
20115 void **ppvObject);
20116
20117 ULONG (STDMETHODCALLTYPE *AddRef)(
20118 ICDBurnExt *This);
20119
20120 ULONG (STDMETHODCALLTYPE *Release)(
20121 ICDBurnExt *This);
20122
20123 /*** ICDBurnExt methods ***/
20124 HRESULT (STDMETHODCALLTYPE *GetSupportedActionTypes)(
20125 ICDBurnExt *This,
20126 CDBE_ACTIONS *pdwActions);
20127
20128 END_INTERFACE
20129} ICDBurnExtVtbl;
20130
20131interface ICDBurnExt {
20132 CONST_VTBL ICDBurnExtVtbl* lpVtbl;
20133};
20134
20135#ifdef COBJMACROS
20136#ifndef WIDL_C_INLINE_WRAPPERS
20137/*** IUnknown methods ***/
20138#define ICDBurnExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20139#define ICDBurnExt_AddRef(This) (This)->lpVtbl->AddRef(This)
20140#define ICDBurnExt_Release(This) (This)->lpVtbl->Release(This)
20141/*** ICDBurnExt methods ***/
20142#define ICDBurnExt_GetSupportedActionTypes(This,pdwActions) (This)->lpVtbl->GetSupportedActionTypes(This,pdwActions)
20143#else
20144/*** IUnknown methods ***/
20145static inline HRESULT ICDBurnExt_QueryInterface(ICDBurnExt* This,REFIID riid,void **ppvObject) {
20146 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20147}
20148static inline ULONG ICDBurnExt_AddRef(ICDBurnExt* This) {
20149 return This->lpVtbl->AddRef(This);
20150}
20151static inline ULONG ICDBurnExt_Release(ICDBurnExt* This) {
20152 return This->lpVtbl->Release(This);
20153}
20154/*** ICDBurnExt methods ***/
20155static inline HRESULT ICDBurnExt_GetSupportedActionTypes(ICDBurnExt* This,CDBE_ACTIONS *pdwActions) {
20156 return This->lpVtbl->GetSupportedActionTypes(This,pdwActions);
20157}
20158#endif
20159#endif
20160
20161#endif
20162
20163
20164#endif /* __ICDBurnExt_INTERFACE_DEFINED__ */
20165
20166
20167/*****************************************************************************
20168 * IContextMenuSite interface
20169 */
20170#ifndef __IContextMenuSite_INTERFACE_DEFINED__
20171#define __IContextMenuSite_INTERFACE_DEFINED__
20172
20173DEFINE_GUID(IID_IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b);
20174#if defined(__cplusplus) && !defined(CINTERFACE)
20175MIDL_INTERFACE("0811aebe-0b87-4c54-9e72-548cf649016b")
20176IContextMenuSite : public IUnknown
20177{
20178 virtual HRESULT STDMETHODCALLTYPE DoContextMenuPopup(
20179 IUnknown *punkContextMenu,
20180 UINT fFlags,
20181 POINT pt) = 0;
20182
20183};
20184#ifdef __CRT_UUID_DECL
20185__CRT_UUID_DECL(IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b)
20186#endif
20187#else
20188typedef struct IContextMenuSiteVtbl {
20189 BEGIN_INTERFACE
20190
20191 /*** IUnknown methods ***/
20192 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20193 IContextMenuSite *This,
20194 REFIID riid,
20195 void **ppvObject);
20196
20197 ULONG (STDMETHODCALLTYPE *AddRef)(
20198 IContextMenuSite *This);
20199
20200 ULONG (STDMETHODCALLTYPE *Release)(
20201 IContextMenuSite *This);
20202
20203 /*** IContextMenuSite methods ***/
20204 HRESULT (STDMETHODCALLTYPE *DoContextMenuPopup)(
20205 IContextMenuSite *This,
20206 IUnknown *punkContextMenu,
20207 UINT fFlags,
20208 POINT pt);
20209
20210 END_INTERFACE
20211} IContextMenuSiteVtbl;
20212
20213interface IContextMenuSite {
20214 CONST_VTBL IContextMenuSiteVtbl* lpVtbl;
20215};
20216
20217#ifdef COBJMACROS
20218#ifndef WIDL_C_INLINE_WRAPPERS
20219/*** IUnknown methods ***/
20220#define IContextMenuSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20221#define IContextMenuSite_AddRef(This) (This)->lpVtbl->AddRef(This)
20222#define IContextMenuSite_Release(This) (This)->lpVtbl->Release(This)
20223/*** IContextMenuSite methods ***/
20224#define IContextMenuSite_DoContextMenuPopup(This,punkContextMenu,fFlags,pt) (This)->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt)
20225#else
20226/*** IUnknown methods ***/
20227static inline HRESULT IContextMenuSite_QueryInterface(IContextMenuSite* This,REFIID riid,void **ppvObject) {
20228 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20229}
20230static inline ULONG IContextMenuSite_AddRef(IContextMenuSite* This) {
20231 return This->lpVtbl->AddRef(This);
20232}
20233static inline ULONG IContextMenuSite_Release(IContextMenuSite* This) {
20234 return This->lpVtbl->Release(This);
20235}
20236/*** IContextMenuSite methods ***/
20237static inline HRESULT IContextMenuSite_DoContextMenuPopup(IContextMenuSite* This,IUnknown *punkContextMenu,UINT fFlags,POINT pt) {
20238 return This->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt);
20239}
20240#endif
20241#endif
20242
20243#endif
20244
20245
20246#endif /* __IContextMenuSite_INTERFACE_DEFINED__ */
20247
20248
20249/*****************************************************************************
20250 * IEnumReadyCallback interface
20251 */
20252#ifndef __IEnumReadyCallback_INTERFACE_DEFINED__
20253#define __IEnumReadyCallback_INTERFACE_DEFINED__
20254
20255DEFINE_GUID(IID_IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd);
20256#if defined(__cplusplus) && !defined(CINTERFACE)
20257MIDL_INTERFACE("61e00d45-8fff-4e60-924e-6537b61612dd")
20258IEnumReadyCallback : public IUnknown
20259{
20260 virtual HRESULT STDMETHODCALLTYPE EnumReady(
20261 ) = 0;
20262
20263};
20264#ifdef __CRT_UUID_DECL
20265__CRT_UUID_DECL(IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd)
20266#endif
20267#else
20268typedef struct IEnumReadyCallbackVtbl {
20269 BEGIN_INTERFACE
20270
20271 /*** IUnknown methods ***/
20272 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20273 IEnumReadyCallback *This,
20274 REFIID riid,
20275 void **ppvObject);
20276
20277 ULONG (STDMETHODCALLTYPE *AddRef)(
20278 IEnumReadyCallback *This);
20279
20280 ULONG (STDMETHODCALLTYPE *Release)(
20281 IEnumReadyCallback *This);
20282
20283 /*** IEnumReadyCallback methods ***/
20284 HRESULT (STDMETHODCALLTYPE *EnumReady)(
20285 IEnumReadyCallback *This);
20286
20287 END_INTERFACE
20288} IEnumReadyCallbackVtbl;
20289
20290interface IEnumReadyCallback {
20291 CONST_VTBL IEnumReadyCallbackVtbl* lpVtbl;
20292};
20293
20294#ifdef COBJMACROS
20295#ifndef WIDL_C_INLINE_WRAPPERS
20296/*** IUnknown methods ***/
20297#define IEnumReadyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20298#define IEnumReadyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
20299#define IEnumReadyCallback_Release(This) (This)->lpVtbl->Release(This)
20300/*** IEnumReadyCallback methods ***/
20301#define IEnumReadyCallback_EnumReady(This) (This)->lpVtbl->EnumReady(This)
20302#else
20303/*** IUnknown methods ***/
20304static inline HRESULT IEnumReadyCallback_QueryInterface(IEnumReadyCallback* This,REFIID riid,void **ppvObject) {
20305 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20306}
20307static inline ULONG IEnumReadyCallback_AddRef(IEnumReadyCallback* This) {
20308 return This->lpVtbl->AddRef(This);
20309}
20310static inline ULONG IEnumReadyCallback_Release(IEnumReadyCallback* This) {
20311 return This->lpVtbl->Release(This);
20312}
20313/*** IEnumReadyCallback methods ***/
20314static inline HRESULT IEnumReadyCallback_EnumReady(IEnumReadyCallback* This) {
20315 return This->lpVtbl->EnumReady(This);
20316}
20317#endif
20318#endif
20319
20320#endif
20321
20322
20323#endif /* __IEnumReadyCallback_INTERFACE_DEFINED__ */
20324
20325
20326/*****************************************************************************
20327 * IEnumerableView interface
20328 */
20329#ifndef __IEnumerableView_INTERFACE_DEFINED__
20330#define __IEnumerableView_INTERFACE_DEFINED__
20331
20332DEFINE_GUID(IID_IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f);
20333#if defined(__cplusplus) && !defined(CINTERFACE)
20334MIDL_INTERFACE("8c8bf236-1aec-495f-9894-91d57c3c686f")
20335IEnumerableView : public IUnknown
20336{
20337 virtual HRESULT STDMETHODCALLTYPE SetEnumReadyCallback(
20338 IEnumReadyCallback *percb) = 0;
20339
20340 virtual HRESULT STDMETHODCALLTYPE CreateEnumIDListFromContents(
20341 PCIDLIST_ABSOLUTE pidlFolder,
20342 DWORD dwEnumFlags,
20343 IEnumIDList **ppEnumIDList) = 0;
20344
20345};
20346#ifdef __CRT_UUID_DECL
20347__CRT_UUID_DECL(IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f)
20348#endif
20349#else
20350typedef struct IEnumerableViewVtbl {
20351 BEGIN_INTERFACE
20352
20353 /*** IUnknown methods ***/
20354 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20355 IEnumerableView *This,
20356 REFIID riid,
20357 void **ppvObject);
20358
20359 ULONG (STDMETHODCALLTYPE *AddRef)(
20360 IEnumerableView *This);
20361
20362 ULONG (STDMETHODCALLTYPE *Release)(
20363 IEnumerableView *This);
20364
20365 /*** IEnumerableView methods ***/
20366 HRESULT (STDMETHODCALLTYPE *SetEnumReadyCallback)(
20367 IEnumerableView *This,
20368 IEnumReadyCallback *percb);
20369
20370 HRESULT (STDMETHODCALLTYPE *CreateEnumIDListFromContents)(
20371 IEnumerableView *This,
20372 PCIDLIST_ABSOLUTE pidlFolder,
20373 DWORD dwEnumFlags,
20374 IEnumIDList **ppEnumIDList);
20375
20376 END_INTERFACE
20377} IEnumerableViewVtbl;
20378
20379interface IEnumerableView {
20380 CONST_VTBL IEnumerableViewVtbl* lpVtbl;
20381};
20382
20383#ifdef COBJMACROS
20384#ifndef WIDL_C_INLINE_WRAPPERS
20385/*** IUnknown methods ***/
20386#define IEnumerableView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20387#define IEnumerableView_AddRef(This) (This)->lpVtbl->AddRef(This)
20388#define IEnumerableView_Release(This) (This)->lpVtbl->Release(This)
20389/*** IEnumerableView methods ***/
20390#define IEnumerableView_SetEnumReadyCallback(This,percb) (This)->lpVtbl->SetEnumReadyCallback(This,percb)
20391#define IEnumerableView_CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) (This)->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList)
20392#else
20393/*** IUnknown methods ***/
20394static inline HRESULT IEnumerableView_QueryInterface(IEnumerableView* This,REFIID riid,void **ppvObject) {
20395 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20396}
20397static inline ULONG IEnumerableView_AddRef(IEnumerableView* This) {
20398 return This->lpVtbl->AddRef(This);
20399}
20400static inline ULONG IEnumerableView_Release(IEnumerableView* This) {
20401 return This->lpVtbl->Release(This);
20402}
20403/*** IEnumerableView methods ***/
20404static inline HRESULT IEnumerableView_SetEnumReadyCallback(IEnumerableView* This,IEnumReadyCallback *percb) {
20405 return This->lpVtbl->SetEnumReadyCallback(This,percb);
20406}
20407static inline HRESULT IEnumerableView_CreateEnumIDListFromContents(IEnumerableView* This,PCIDLIST_ABSOLUTE pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList) {
20408 return This->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList);
20409}
20410#endif
20411#endif
20412
20413#endif
20414
20415
20416#endif /* __IEnumerableView_INTERFACE_DEFINED__ */
20417
20418
20419#define SID_EnumerableView IID_IEnumerableView
20420
20421/*****************************************************************************
20422 * IInsertItem interface
20423 */
20424#ifndef __IInsertItem_INTERFACE_DEFINED__
20425#define __IInsertItem_INTERFACE_DEFINED__
20426
20427DEFINE_GUID(IID_IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56);
20428#if defined(__cplusplus) && !defined(CINTERFACE)
20429MIDL_INTERFACE("d2b57227-3d23-4b95-93c0-492bd454c356")
20430IInsertItem : public IUnknown
20431{
20432 virtual HRESULT STDMETHODCALLTYPE InsertItem(
20433 PCUIDLIST_RELATIVE pidl) = 0;
20434
20435};
20436#ifdef __CRT_UUID_DECL
20437__CRT_UUID_DECL(IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56)
20438#endif
20439#else
20440typedef struct IInsertItemVtbl {
20441 BEGIN_INTERFACE
20442
20443 /*** IUnknown methods ***/
20444 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20445 IInsertItem *This,
20446 REFIID riid,
20447 void **ppvObject);
20448
20449 ULONG (STDMETHODCALLTYPE *AddRef)(
20450 IInsertItem *This);
20451
20452 ULONG (STDMETHODCALLTYPE *Release)(
20453 IInsertItem *This);
20454
20455 /*** IInsertItem methods ***/
20456 HRESULT (STDMETHODCALLTYPE *InsertItem)(
20457 IInsertItem *This,
20458 PCUIDLIST_RELATIVE pidl);
20459
20460 END_INTERFACE
20461} IInsertItemVtbl;
20462
20463interface IInsertItem {
20464 CONST_VTBL IInsertItemVtbl* lpVtbl;
20465};
20466
20467#ifdef COBJMACROS
20468#ifndef WIDL_C_INLINE_WRAPPERS
20469/*** IUnknown methods ***/
20470#define IInsertItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20471#define IInsertItem_AddRef(This) (This)->lpVtbl->AddRef(This)
20472#define IInsertItem_Release(This) (This)->lpVtbl->Release(This)
20473/*** IInsertItem methods ***/
20474#define IInsertItem_InsertItem(This,pidl) (This)->lpVtbl->InsertItem(This,pidl)
20475#else
20476/*** IUnknown methods ***/
20477static inline HRESULT IInsertItem_QueryInterface(IInsertItem* This,REFIID riid,void **ppvObject) {
20478 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20479}
20480static inline ULONG IInsertItem_AddRef(IInsertItem* This) {
20481 return This->lpVtbl->AddRef(This);
20482}
20483static inline ULONG IInsertItem_Release(IInsertItem* This) {
20484 return This->lpVtbl->Release(This);
20485}
20486/*** IInsertItem methods ***/
20487static inline HRESULT IInsertItem_InsertItem(IInsertItem* This,PCUIDLIST_RELATIVE pidl) {
20488 return This->lpVtbl->InsertItem(This,pidl);
20489}
20490#endif
20491#endif
20492
20493#endif
20494
20495
20496#endif /* __IInsertItem_INTERFACE_DEFINED__ */
20497
20498
20499/*****************************************************************************
20500 * IMenuBand interface
20501 */
20502#ifndef __IMenuBand_INTERFACE_DEFINED__
20503#define __IMenuBand_INTERFACE_DEFINED__
20504
20505enum tagMENUBANDHANDLERCID {
20506 MBHANDCID_PIDLSELECT = 0
20507};
20508
20509DEFINE_GUID(IID_IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72);
20510#if defined(__cplusplus) && !defined(CINTERFACE)
20511MIDL_INTERFACE("568804cd-cbd7-11d0-9816-00c04fd91972")
20512IMenuBand : public IUnknown
20513{
20514 virtual HRESULT STDMETHODCALLTYPE IsMenuMessage(
20515 MSG *pmsg) = 0;
20516
20517 virtual HRESULT STDMETHODCALLTYPE TranslateMenuMessage(
20518 MSG *pmsg,
20519 LRESULT *plRet) = 0;
20520
20521};
20522#ifdef __CRT_UUID_DECL
20523__CRT_UUID_DECL(IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72)
20524#endif
20525#else
20526typedef struct IMenuBandVtbl {
20527 BEGIN_INTERFACE
20528
20529 /*** IUnknown methods ***/
20530 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20531 IMenuBand *This,
20532 REFIID riid,
20533 void **ppvObject);
20534
20535 ULONG (STDMETHODCALLTYPE *AddRef)(
20536 IMenuBand *This);
20537
20538 ULONG (STDMETHODCALLTYPE *Release)(
20539 IMenuBand *This);
20540
20541 /*** IMenuBand methods ***/
20542 HRESULT (STDMETHODCALLTYPE *IsMenuMessage)(
20543 IMenuBand *This,
20544 MSG *pmsg);
20545
20546 HRESULT (STDMETHODCALLTYPE *TranslateMenuMessage)(
20547 IMenuBand *This,
20548 MSG *pmsg,
20549 LRESULT *plRet);
20550
20551 END_INTERFACE
20552} IMenuBandVtbl;
20553
20554interface IMenuBand {
20555 CONST_VTBL IMenuBandVtbl* lpVtbl;
20556};
20557
20558#ifdef COBJMACROS
20559#ifndef WIDL_C_INLINE_WRAPPERS
20560/*** IUnknown methods ***/
20561#define IMenuBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20562#define IMenuBand_AddRef(This) (This)->lpVtbl->AddRef(This)
20563#define IMenuBand_Release(This) (This)->lpVtbl->Release(This)
20564/*** IMenuBand methods ***/
20565#define IMenuBand_IsMenuMessage(This,pmsg) (This)->lpVtbl->IsMenuMessage(This,pmsg)
20566#define IMenuBand_TranslateMenuMessage(This,pmsg,plRet) (This)->lpVtbl->TranslateMenuMessage(This,pmsg,plRet)
20567#else
20568/*** IUnknown methods ***/
20569static inline HRESULT IMenuBand_QueryInterface(IMenuBand* This,REFIID riid,void **ppvObject) {
20570 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20571}
20572static inline ULONG IMenuBand_AddRef(IMenuBand* This) {
20573 return This->lpVtbl->AddRef(This);
20574}
20575static inline ULONG IMenuBand_Release(IMenuBand* This) {
20576 return This->lpVtbl->Release(This);
20577}
20578/*** IMenuBand methods ***/
20579static inline HRESULT IMenuBand_IsMenuMessage(IMenuBand* This,MSG *pmsg) {
20580 return This->lpVtbl->IsMenuMessage(This,pmsg);
20581}
20582static inline HRESULT IMenuBand_TranslateMenuMessage(IMenuBand* This,MSG *pmsg,LRESULT *plRet) {
20583 return This->lpVtbl->TranslateMenuMessage(This,pmsg,plRet);
20584}
20585#endif
20586#endif
20587
20588#endif
20589
20590
20591#endif /* __IMenuBand_INTERFACE_DEFINED__ */
20592
20593
20594/*****************************************************************************
20595 * IFolderBandPriv interface
20596 */
20597#ifndef __IFolderBandPriv_INTERFACE_DEFINED__
20598#define __IFolderBandPriv_INTERFACE_DEFINED__
20599
20600DEFINE_GUID(IID_IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea);
20601#if defined(__cplusplus) && !defined(CINTERFACE)
20602MIDL_INTERFACE("47c01f95-e185-412c-b5c5-4f27df965aea")
20603IFolderBandPriv : public IUnknown
20604{
20605 virtual HRESULT STDMETHODCALLTYPE SetCascade(
20606 WINBOOL fCascade) = 0;
20607
20608 virtual HRESULT STDMETHODCALLTYPE SetAccelerators(
20609 WINBOOL fAccelerators) = 0;
20610
20611 virtual HRESULT STDMETHODCALLTYPE SetNoIcons(
20612 WINBOOL fNoIcons) = 0;
20613
20614 virtual HRESULT STDMETHODCALLTYPE SetNoText(
20615 WINBOOL fNoText) = 0;
20616
20617};
20618#ifdef __CRT_UUID_DECL
20619__CRT_UUID_DECL(IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea)
20620#endif
20621#else
20622typedef struct IFolderBandPrivVtbl {
20623 BEGIN_INTERFACE
20624
20625 /*** IUnknown methods ***/
20626 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20627 IFolderBandPriv *This,
20628 REFIID riid,
20629 void **ppvObject);
20630
20631 ULONG (STDMETHODCALLTYPE *AddRef)(
20632 IFolderBandPriv *This);
20633
20634 ULONG (STDMETHODCALLTYPE *Release)(
20635 IFolderBandPriv *This);
20636
20637 /*** IFolderBandPriv methods ***/
20638 HRESULT (STDMETHODCALLTYPE *SetCascade)(
20639 IFolderBandPriv *This,
20640 WINBOOL fCascade);
20641
20642 HRESULT (STDMETHODCALLTYPE *SetAccelerators)(
20643 IFolderBandPriv *This,
20644 WINBOOL fAccelerators);
20645
20646 HRESULT (STDMETHODCALLTYPE *SetNoIcons)(
20647 IFolderBandPriv *This,
20648 WINBOOL fNoIcons);
20649
20650 HRESULT (STDMETHODCALLTYPE *SetNoText)(
20651 IFolderBandPriv *This,
20652 WINBOOL fNoText);
20653
20654 END_INTERFACE
20655} IFolderBandPrivVtbl;
20656
20657interface IFolderBandPriv {
20658 CONST_VTBL IFolderBandPrivVtbl* lpVtbl;
20659};
20660
20661#ifdef COBJMACROS
20662#ifndef WIDL_C_INLINE_WRAPPERS
20663/*** IUnknown methods ***/
20664#define IFolderBandPriv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20665#define IFolderBandPriv_AddRef(This) (This)->lpVtbl->AddRef(This)
20666#define IFolderBandPriv_Release(This) (This)->lpVtbl->Release(This)
20667/*** IFolderBandPriv methods ***/
20668#define IFolderBandPriv_SetCascade(This,fCascade) (This)->lpVtbl->SetCascade(This,fCascade)
20669#define IFolderBandPriv_SetAccelerators(This,fAccelerators) (This)->lpVtbl->SetAccelerators(This,fAccelerators)
20670#define IFolderBandPriv_SetNoIcons(This,fNoIcons) (This)->lpVtbl->SetNoIcons(This,fNoIcons)
20671#define IFolderBandPriv_SetNoText(This,fNoText) (This)->lpVtbl->SetNoText(This,fNoText)
20672#else
20673/*** IUnknown methods ***/
20674static inline HRESULT IFolderBandPriv_QueryInterface(IFolderBandPriv* This,REFIID riid,void **ppvObject) {
20675 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20676}
20677static inline ULONG IFolderBandPriv_AddRef(IFolderBandPriv* This) {
20678 return This->lpVtbl->AddRef(This);
20679}
20680static inline ULONG IFolderBandPriv_Release(IFolderBandPriv* This) {
20681 return This->lpVtbl->Release(This);
20682}
20683/*** IFolderBandPriv methods ***/
20684static inline HRESULT IFolderBandPriv_SetCascade(IFolderBandPriv* This,WINBOOL fCascade) {
20685 return This->lpVtbl->SetCascade(This,fCascade);
20686}
20687static inline HRESULT IFolderBandPriv_SetAccelerators(IFolderBandPriv* This,WINBOOL fAccelerators) {
20688 return This->lpVtbl->SetAccelerators(This,fAccelerators);
20689}
20690static inline HRESULT IFolderBandPriv_SetNoIcons(IFolderBandPriv* This,WINBOOL fNoIcons) {
20691 return This->lpVtbl->SetNoIcons(This,fNoIcons);
20692}
20693static inline HRESULT IFolderBandPriv_SetNoText(IFolderBandPriv* This,WINBOOL fNoText) {
20694 return This->lpVtbl->SetNoText(This,fNoText);
20695}
20696#endif
20697#endif
20698
20699#endif
20700
20701
20702#endif /* __IFolderBandPriv_INTERFACE_DEFINED__ */
20703
20704
20705/*****************************************************************************
20706 * IRegTreeItem interface
20707 */
20708#ifndef __IRegTreeItem_INTERFACE_DEFINED__
20709#define __IRegTreeItem_INTERFACE_DEFINED__
20710
20711DEFINE_GUID(IID_IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d);
20712#if defined(__cplusplus) && !defined(CINTERFACE)
20713MIDL_INTERFACE("a9521922-0812-4d44-9ec3-7fd38c726f3d")
20714IRegTreeItem : public IUnknown
20715{
20716 virtual HRESULT STDMETHODCALLTYPE GetCheckState(
20717 WINBOOL *pbCheck) = 0;
20718
20719 virtual HRESULT STDMETHODCALLTYPE SetCheckState(
20720 WINBOOL bCheck) = 0;
20721
20722};
20723#ifdef __CRT_UUID_DECL
20724__CRT_UUID_DECL(IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d)
20725#endif
20726#else
20727typedef struct IRegTreeItemVtbl {
20728 BEGIN_INTERFACE
20729
20730 /*** IUnknown methods ***/
20731 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20732 IRegTreeItem *This,
20733 REFIID riid,
20734 void **ppvObject);
20735
20736 ULONG (STDMETHODCALLTYPE *AddRef)(
20737 IRegTreeItem *This);
20738
20739 ULONG (STDMETHODCALLTYPE *Release)(
20740 IRegTreeItem *This);
20741
20742 /*** IRegTreeItem methods ***/
20743 HRESULT (STDMETHODCALLTYPE *GetCheckState)(
20744 IRegTreeItem *This,
20745 WINBOOL *pbCheck);
20746
20747 HRESULT (STDMETHODCALLTYPE *SetCheckState)(
20748 IRegTreeItem *This,
20749 WINBOOL bCheck);
20750
20751 END_INTERFACE
20752} IRegTreeItemVtbl;
20753
20754interface IRegTreeItem {
20755 CONST_VTBL IRegTreeItemVtbl* lpVtbl;
20756};
20757
20758#ifdef COBJMACROS
20759#ifndef WIDL_C_INLINE_WRAPPERS
20760/*** IUnknown methods ***/
20761#define IRegTreeItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20762#define IRegTreeItem_AddRef(This) (This)->lpVtbl->AddRef(This)
20763#define IRegTreeItem_Release(This) (This)->lpVtbl->Release(This)
20764/*** IRegTreeItem methods ***/
20765#define IRegTreeItem_GetCheckState(This,pbCheck) (This)->lpVtbl->GetCheckState(This,pbCheck)
20766#define IRegTreeItem_SetCheckState(This,bCheck) (This)->lpVtbl->SetCheckState(This,bCheck)
20767#else
20768/*** IUnknown methods ***/
20769static inline HRESULT IRegTreeItem_QueryInterface(IRegTreeItem* This,REFIID riid,void **ppvObject) {
20770 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20771}
20772static inline ULONG IRegTreeItem_AddRef(IRegTreeItem* This) {
20773 return This->lpVtbl->AddRef(This);
20774}
20775static inline ULONG IRegTreeItem_Release(IRegTreeItem* This) {
20776 return This->lpVtbl->Release(This);
20777}
20778/*** IRegTreeItem methods ***/
20779static inline HRESULT IRegTreeItem_GetCheckState(IRegTreeItem* This,WINBOOL *pbCheck) {
20780 return This->lpVtbl->GetCheckState(This,pbCheck);
20781}
20782static inline HRESULT IRegTreeItem_SetCheckState(IRegTreeItem* This,WINBOOL bCheck) {
20783 return This->lpVtbl->SetCheckState(This,bCheck);
20784}
20785#endif
20786#endif
20787
20788#endif
20789
20790
20791#endif /* __IRegTreeItem_INTERFACE_DEFINED__ */
20792
20793
20794/*****************************************************************************
20795 * IImageRecompress interface
20796 */
20797#ifndef __IImageRecompress_INTERFACE_DEFINED__
20798#define __IImageRecompress_INTERFACE_DEFINED__
20799
20800DEFINE_GUID(IID_IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e);
20801#if defined(__cplusplus) && !defined(CINTERFACE)
20802MIDL_INTERFACE("505f1513-6b3e-4892-a272-59f8889a4d3e")
20803IImageRecompress : public IUnknown
20804{
20805 virtual HRESULT STDMETHODCALLTYPE RecompressImage(
20806 IShellItem *psi,
20807 int cx,
20808 int cy,
20809 int iQuality,
20810 IStorage *pstg,
20811 IStream **ppstrmOut) = 0;
20812
20813};
20814#ifdef __CRT_UUID_DECL
20815__CRT_UUID_DECL(IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e)
20816#endif
20817#else
20818typedef struct IImageRecompressVtbl {
20819 BEGIN_INTERFACE
20820
20821 /*** IUnknown methods ***/
20822 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20823 IImageRecompress *This,
20824 REFIID riid,
20825 void **ppvObject);
20826
20827 ULONG (STDMETHODCALLTYPE *AddRef)(
20828 IImageRecompress *This);
20829
20830 ULONG (STDMETHODCALLTYPE *Release)(
20831 IImageRecompress *This);
20832
20833 /*** IImageRecompress methods ***/
20834 HRESULT (STDMETHODCALLTYPE *RecompressImage)(
20835 IImageRecompress *This,
20836 IShellItem *psi,
20837 int cx,
20838 int cy,
20839 int iQuality,
20840 IStorage *pstg,
20841 IStream **ppstrmOut);
20842
20843 END_INTERFACE
20844} IImageRecompressVtbl;
20845
20846interface IImageRecompress {
20847 CONST_VTBL IImageRecompressVtbl* lpVtbl;
20848};
20849
20850#ifdef COBJMACROS
20851#ifndef WIDL_C_INLINE_WRAPPERS
20852/*** IUnknown methods ***/
20853#define IImageRecompress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20854#define IImageRecompress_AddRef(This) (This)->lpVtbl->AddRef(This)
20855#define IImageRecompress_Release(This) (This)->lpVtbl->Release(This)
20856/*** IImageRecompress methods ***/
20857#define IImageRecompress_RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) (This)->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut)
20858#else
20859/*** IUnknown methods ***/
20860static inline HRESULT IImageRecompress_QueryInterface(IImageRecompress* This,REFIID riid,void **ppvObject) {
20861 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20862}
20863static inline ULONG IImageRecompress_AddRef(IImageRecompress* This) {
20864 return This->lpVtbl->AddRef(This);
20865}
20866static inline ULONG IImageRecompress_Release(IImageRecompress* This) {
20867 return This->lpVtbl->Release(This);
20868}
20869/*** IImageRecompress methods ***/
20870static inline HRESULT IImageRecompress_RecompressImage(IImageRecompress* This,IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut) {
20871 return This->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut);
20872}
20873#endif
20874#endif
20875
20876#endif
20877
20878
20879#endif /* __IImageRecompress_INTERFACE_DEFINED__ */
20880
20881
20882#if _WIN32_IE >= _WIN32_IE_IE60
20883/*****************************************************************************
20884 * IDeskBar interface
20885 */
20886#ifndef __IDeskBar_INTERFACE_DEFINED__
20887#define __IDeskBar_INTERFACE_DEFINED__
20888
20889DEFINE_GUID(IID_IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac);
20890#if defined(__cplusplus) && !defined(CINTERFACE)
20891MIDL_INTERFACE("eb0fe173-1a3a-11d0-89b3-00a0c90a90ac")
20892IDeskBar : public IOleWindow
20893{
20894 virtual HRESULT STDMETHODCALLTYPE SetClient(
20895 IUnknown *punkClient) = 0;
20896
20897 virtual HRESULT STDMETHODCALLTYPE GetClient(
20898 IUnknown **ppunkClient) = 0;
20899
20900 virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(
20901 RECT *prc) = 0;
20902
20903};
20904#ifdef __CRT_UUID_DECL
20905__CRT_UUID_DECL(IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac)
20906#endif
20907#else
20908typedef struct IDeskBarVtbl {
20909 BEGIN_INTERFACE
20910
20911 /*** IUnknown methods ***/
20912 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20913 IDeskBar *This,
20914 REFIID riid,
20915 void **ppvObject);
20916
20917 ULONG (STDMETHODCALLTYPE *AddRef)(
20918 IDeskBar *This);
20919
20920 ULONG (STDMETHODCALLTYPE *Release)(
20921 IDeskBar *This);
20922
20923 /*** IOleWindow methods ***/
20924 HRESULT (STDMETHODCALLTYPE *GetWindow)(
20925 IDeskBar *This,
20926 HWND *phwnd);
20927
20928 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
20929 IDeskBar *This,
20930 WINBOOL fEnterMode);
20931
20932 /*** IDeskBar methods ***/
20933 HRESULT (STDMETHODCALLTYPE *SetClient)(
20934 IDeskBar *This,
20935 IUnknown *punkClient);
20936
20937 HRESULT (STDMETHODCALLTYPE *GetClient)(
20938 IDeskBar *This,
20939 IUnknown **ppunkClient);
20940
20941 HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)(
20942 IDeskBar *This,
20943 RECT *prc);
20944
20945 END_INTERFACE
20946} IDeskBarVtbl;
20947
20948interface IDeskBar {
20949 CONST_VTBL IDeskBarVtbl* lpVtbl;
20950};
20951
20952#ifdef COBJMACROS
20953#ifndef WIDL_C_INLINE_WRAPPERS
20954/*** IUnknown methods ***/
20955#define IDeskBar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20956#define IDeskBar_AddRef(This) (This)->lpVtbl->AddRef(This)
20957#define IDeskBar_Release(This) (This)->lpVtbl->Release(This)
20958/*** IOleWindow methods ***/
20959#define IDeskBar_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
20960#define IDeskBar_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
20961/*** IDeskBar methods ***/
20962#define IDeskBar_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
20963#define IDeskBar_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
20964#define IDeskBar_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
20965#else
20966/*** IUnknown methods ***/
20967static inline HRESULT IDeskBar_QueryInterface(IDeskBar* This,REFIID riid,void **ppvObject) {
20968 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20969}
20970static inline ULONG IDeskBar_AddRef(IDeskBar* This) {
20971 return This->lpVtbl->AddRef(This);
20972}
20973static inline ULONG IDeskBar_Release(IDeskBar* This) {
20974 return This->lpVtbl->Release(This);
20975}
20976/*** IOleWindow methods ***/
20977static inline HRESULT IDeskBar_GetWindow(IDeskBar* This,HWND *phwnd) {
20978 return This->lpVtbl->GetWindow(This,phwnd);
20979}
20980static inline HRESULT IDeskBar_ContextSensitiveHelp(IDeskBar* This,WINBOOL fEnterMode) {
20981 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
20982}
20983/*** IDeskBar methods ***/
20984static inline HRESULT IDeskBar_SetClient(IDeskBar* This,IUnknown *punkClient) {
20985 return This->lpVtbl->SetClient(This,punkClient);
20986}
20987static inline HRESULT IDeskBar_GetClient(IDeskBar* This,IUnknown **ppunkClient) {
20988 return This->lpVtbl->GetClient(This,ppunkClient);
20989}
20990static inline HRESULT IDeskBar_OnPosRectChangeDB(IDeskBar* This,RECT *prc) {
20991 return This->lpVtbl->OnPosRectChangeDB(This,prc);
20992}
20993#endif
20994#endif
20995
20996#endif
20997
20998
20999#endif /* __IDeskBar_INTERFACE_DEFINED__ */
21000
21001
21002/*****************************************************************************
21003 * IMenuPopup interface
21004 */
21005#ifndef __IMenuPopup_INTERFACE_DEFINED__
21006#define __IMenuPopup_INTERFACE_DEFINED__
21007
21008enum tagMENUPOPUPSELECT {
21009 MPOS_EXECUTE = 0,
21010 MPOS_FULLCANCEL = 1,
21011 MPOS_CANCELLEVEL = 2,
21012 MPOS_SELECTLEFT = 3,
21013 MPOS_SELECTRIGHT = 4,
21014 MPOS_CHILDTRACKING = 5
21015};
21016
21017enum tagMENUPOPUPPOPUPFLAGS {
21018 MPPF_SETFOCUS = 0x1,
21019 MPPF_INITIALSELECT = 0x2,
21020 MPPF_NOANIMATE = 0x4,
21021 MPPF_KEYBOARD = 0x10,
21022 MPPF_REPOSITION = 0x20,
21023 MPPF_FORCEZORDER = 0x40,
21024 MPPF_FINALSELECT = 0x80,
21025 MPPF_TOP = 0x20000000,
21026 MPPF_LEFT = 0x40000000,
21027 MPPF_RIGHT = 0x60000000,
21028 MPPF_BOTTOM = (int)0x80000000,
21029 MPPF_POS_MASK = (int)0xe0000000,
21030 MPPF_ALIGN_LEFT = 0x2000000,
21031 MPPF_ALIGN_RIGHT = 0x4000000
21032};
21033
21034typedef int MP_POPUPFLAGS;
21035
21036DEFINE_GUID(IID_IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4);
21037#if defined(__cplusplus) && !defined(CINTERFACE)
21038MIDL_INTERFACE("d1e7afeb-6a2e-11d0-8c78-00c04fd918b4")
21039IMenuPopup : public IDeskBar
21040{
21041 virtual HRESULT STDMETHODCALLTYPE Popup(
21042 POINTL *ppt,
21043 RECTL *prcExclude,
21044 MP_POPUPFLAGS dwFlags) = 0;
21045
21046 virtual HRESULT STDMETHODCALLTYPE OnSelect(
21047 DWORD dwSelectType) = 0;
21048
21049 virtual HRESULT STDMETHODCALLTYPE SetSubMenu(
21050 IMenuPopup *pmp,
21051 WINBOOL fSet) = 0;
21052
21053};
21054#ifdef __CRT_UUID_DECL
21055__CRT_UUID_DECL(IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4)
21056#endif
21057#else
21058typedef struct IMenuPopupVtbl {
21059 BEGIN_INTERFACE
21060
21061 /*** IUnknown methods ***/
21062 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21063 IMenuPopup *This,
21064 REFIID riid,
21065 void **ppvObject);
21066
21067 ULONG (STDMETHODCALLTYPE *AddRef)(
21068 IMenuPopup *This);
21069
21070 ULONG (STDMETHODCALLTYPE *Release)(
21071 IMenuPopup *This);
21072
21073 /*** IOleWindow methods ***/
21074 HRESULT (STDMETHODCALLTYPE *GetWindow)(
21075 IMenuPopup *This,
21076 HWND *phwnd);
21077
21078 HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
21079 IMenuPopup *This,
21080 WINBOOL fEnterMode);
21081
21082 /*** IDeskBar methods ***/
21083 HRESULT (STDMETHODCALLTYPE *SetClient)(
21084 IMenuPopup *This,
21085 IUnknown *punkClient);
21086
21087 HRESULT (STDMETHODCALLTYPE *GetClient)(
21088 IMenuPopup *This,
21089 IUnknown **ppunkClient);
21090
21091 HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)(
21092 IMenuPopup *This,
21093 RECT *prc);
21094
21095 /*** IMenuPopup methods ***/
21096 HRESULT (STDMETHODCALLTYPE *Popup)(
21097 IMenuPopup *This,
21098 POINTL *ppt,
21099 RECTL *prcExclude,
21100 MP_POPUPFLAGS dwFlags);
21101
21102 HRESULT (STDMETHODCALLTYPE *OnSelect)(
21103 IMenuPopup *This,
21104 DWORD dwSelectType);
21105
21106 HRESULT (STDMETHODCALLTYPE *SetSubMenu)(
21107 IMenuPopup *This,
21108 IMenuPopup *pmp,
21109 WINBOOL fSet);
21110
21111 END_INTERFACE
21112} IMenuPopupVtbl;
21113
21114interface IMenuPopup {
21115 CONST_VTBL IMenuPopupVtbl* lpVtbl;
21116};
21117
21118#ifdef COBJMACROS
21119#ifndef WIDL_C_INLINE_WRAPPERS
21120/*** IUnknown methods ***/
21121#define IMenuPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21122#define IMenuPopup_AddRef(This) (This)->lpVtbl->AddRef(This)
21123#define IMenuPopup_Release(This) (This)->lpVtbl->Release(This)
21124/*** IOleWindow methods ***/
21125#define IMenuPopup_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
21126#define IMenuPopup_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
21127/*** IDeskBar methods ***/
21128#define IMenuPopup_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
21129#define IMenuPopup_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
21130#define IMenuPopup_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
21131/*** IMenuPopup methods ***/
21132#define IMenuPopup_Popup(This,ppt,prcExclude,dwFlags) (This)->lpVtbl->Popup(This,ppt,prcExclude,dwFlags)
21133#define IMenuPopup_OnSelect(This,dwSelectType) (This)->lpVtbl->OnSelect(This,dwSelectType)
21134#define IMenuPopup_SetSubMenu(This,pmp,fSet) (This)->lpVtbl->SetSubMenu(This,pmp,fSet)
21135#else
21136/*** IUnknown methods ***/
21137static inline HRESULT IMenuPopup_QueryInterface(IMenuPopup* This,REFIID riid,void **ppvObject) {
21138 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21139}
21140static inline ULONG IMenuPopup_AddRef(IMenuPopup* This) {
21141 return This->lpVtbl->AddRef(This);
21142}
21143static inline ULONG IMenuPopup_Release(IMenuPopup* This) {
21144 return This->lpVtbl->Release(This);
21145}
21146/*** IOleWindow methods ***/
21147static inline HRESULT IMenuPopup_GetWindow(IMenuPopup* This,HWND *phwnd) {
21148 return This->lpVtbl->GetWindow(This,phwnd);
21149}
21150static inline HRESULT IMenuPopup_ContextSensitiveHelp(IMenuPopup* This,WINBOOL fEnterMode) {
21151 return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
21152}
21153/*** IDeskBar methods ***/
21154static inline HRESULT IMenuPopup_SetClient(IMenuPopup* This,IUnknown *punkClient) {
21155 return This->lpVtbl->SetClient(This,punkClient);
21156}
21157static inline HRESULT IMenuPopup_GetClient(IMenuPopup* This,IUnknown **ppunkClient) {
21158 return This->lpVtbl->GetClient(This,ppunkClient);
21159}
21160static inline HRESULT IMenuPopup_OnPosRectChangeDB(IMenuPopup* This,RECT *prc) {
21161 return This->lpVtbl->OnPosRectChangeDB(This,prc);
21162}
21163/*** IMenuPopup methods ***/
21164static inline HRESULT IMenuPopup_Popup(IMenuPopup* This,POINTL *ppt,RECTL *prcExclude,MP_POPUPFLAGS dwFlags) {
21165 return This->lpVtbl->Popup(This,ppt,prcExclude,dwFlags);
21166}
21167static inline HRESULT IMenuPopup_OnSelect(IMenuPopup* This,DWORD dwSelectType) {
21168 return This->lpVtbl->OnSelect(This,dwSelectType);
21169}
21170static inline HRESULT IMenuPopup_SetSubMenu(IMenuPopup* This,IMenuPopup *pmp,WINBOOL fSet) {
21171 return This->lpVtbl->SetSubMenu(This,pmp,fSet);
21172}
21173#endif
21174#endif
21175
21176#endif
21177
21178
21179#endif /* __IMenuPopup_INTERFACE_DEFINED__ */
21180
21181#endif
21182
21183#if NTDDI_VERSION >= NTDDI_VISTA
21184typedef enum FILE_USAGE_TYPE {
21185 FUT_PLAYING = 0,
21186 FUT_EDITING = 1,
21187 FUT_GENERIC = 2
21188} FILE_USAGE_TYPE;
21189
21190#define OF_CAP_CANSWITCHTO 0x0001
21191#define OF_CAP_CANCLOSE 0x0002
21192
21193/*****************************************************************************
21194 * IFileIsInUse interface
21195 */
21196#ifndef __IFileIsInUse_INTERFACE_DEFINED__
21197#define __IFileIsInUse_INTERFACE_DEFINED__
21198
21199DEFINE_GUID(IID_IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50);
21200#if defined(__cplusplus) && !defined(CINTERFACE)
21201MIDL_INTERFACE("64a1cbf0-3a1a-4461-9158-376969693950")
21202IFileIsInUse : public IUnknown
21203{
21204 virtual HRESULT STDMETHODCALLTYPE GetAppName(
21205 LPWSTR *ppszName) = 0;
21206
21207 virtual HRESULT STDMETHODCALLTYPE GetUsage(
21208 FILE_USAGE_TYPE *pfut) = 0;
21209
21210 virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
21211 DWORD *pdwCapFlags) = 0;
21212
21213 virtual HRESULT STDMETHODCALLTYPE GetSwitchToHWND(
21214 HWND *phwnd) = 0;
21215
21216 virtual HRESULT STDMETHODCALLTYPE CloseFile(
21217 ) = 0;
21218
21219};
21220#ifdef __CRT_UUID_DECL
21221__CRT_UUID_DECL(IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50)
21222#endif
21223#else
21224typedef struct IFileIsInUseVtbl {
21225 BEGIN_INTERFACE
21226
21227 /*** IUnknown methods ***/
21228 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21229 IFileIsInUse *This,
21230 REFIID riid,
21231 void **ppvObject);
21232
21233 ULONG (STDMETHODCALLTYPE *AddRef)(
21234 IFileIsInUse *This);
21235
21236 ULONG (STDMETHODCALLTYPE *Release)(
21237 IFileIsInUse *This);
21238
21239 /*** IFileIsInUse methods ***/
21240 HRESULT (STDMETHODCALLTYPE *GetAppName)(
21241 IFileIsInUse *This,
21242 LPWSTR *ppszName);
21243
21244 HRESULT (STDMETHODCALLTYPE *GetUsage)(
21245 IFileIsInUse *This,
21246 FILE_USAGE_TYPE *pfut);
21247
21248 HRESULT (STDMETHODCALLTYPE *GetCapabilities)(
21249 IFileIsInUse *This,
21250 DWORD *pdwCapFlags);
21251
21252 HRESULT (STDMETHODCALLTYPE *GetSwitchToHWND)(
21253 IFileIsInUse *This,
21254 HWND *phwnd);
21255
21256 HRESULT (STDMETHODCALLTYPE *CloseFile)(
21257 IFileIsInUse *This);
21258
21259 END_INTERFACE
21260} IFileIsInUseVtbl;
21261
21262interface IFileIsInUse {
21263 CONST_VTBL IFileIsInUseVtbl* lpVtbl;
21264};
21265
21266#ifdef COBJMACROS
21267#ifndef WIDL_C_INLINE_WRAPPERS
21268/*** IUnknown methods ***/
21269#define IFileIsInUse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21270#define IFileIsInUse_AddRef(This) (This)->lpVtbl->AddRef(This)
21271#define IFileIsInUse_Release(This) (This)->lpVtbl->Release(This)
21272/*** IFileIsInUse methods ***/
21273#define IFileIsInUse_GetAppName(This,ppszName) (This)->lpVtbl->GetAppName(This,ppszName)
21274#define IFileIsInUse_GetUsage(This,pfut) (This)->lpVtbl->GetUsage(This,pfut)
21275#define IFileIsInUse_GetCapabilities(This,pdwCapFlags) (This)->lpVtbl->GetCapabilities(This,pdwCapFlags)
21276#define IFileIsInUse_GetSwitchToHWND(This,phwnd) (This)->lpVtbl->GetSwitchToHWND(This,phwnd)
21277#define IFileIsInUse_CloseFile(This) (This)->lpVtbl->CloseFile(This)
21278#else
21279/*** IUnknown methods ***/
21280static inline HRESULT IFileIsInUse_QueryInterface(IFileIsInUse* This,REFIID riid,void **ppvObject) {
21281 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21282}
21283static inline ULONG IFileIsInUse_AddRef(IFileIsInUse* This) {
21284 return This->lpVtbl->AddRef(This);
21285}
21286static inline ULONG IFileIsInUse_Release(IFileIsInUse* This) {
21287 return This->lpVtbl->Release(This);
21288}
21289/*** IFileIsInUse methods ***/
21290static inline HRESULT IFileIsInUse_GetAppName(IFileIsInUse* This,LPWSTR *ppszName) {
21291 return This->lpVtbl->GetAppName(This,ppszName);
21292}
21293static inline HRESULT IFileIsInUse_GetUsage(IFileIsInUse* This,FILE_USAGE_TYPE *pfut) {
21294 return This->lpVtbl->GetUsage(This,pfut);
21295}
21296static inline HRESULT IFileIsInUse_GetCapabilities(IFileIsInUse* This,DWORD *pdwCapFlags) {
21297 return This->lpVtbl->GetCapabilities(This,pdwCapFlags);
21298}
21299static inline HRESULT IFileIsInUse_GetSwitchToHWND(IFileIsInUse* This,HWND *phwnd) {
21300 return This->lpVtbl->GetSwitchToHWND(This,phwnd);
21301}
21302static inline HRESULT IFileIsInUse_CloseFile(IFileIsInUse* This) {
21303 return This->lpVtbl->CloseFile(This);
21304}
21305#endif
21306#endif
21307
21308#endif
21309
21310
21311#endif /* __IFileIsInUse_INTERFACE_DEFINED__ */
21312
21313
21314#ifndef __IFileDialog_FWD_DEFINED__
21315#define __IFileDialog_FWD_DEFINED__
21316typedef interface IFileDialog IFileDialog;
21317#ifdef __cplusplus
21318interface IFileDialog;
21319#endif /* __cplusplus */
21320#endif
21321
21322
21323typedef enum FDE_OVERWRITE_RESPONSE {
21324 FDEOR_DEFAULT = 0,
21325 FDEOR_ACCEPT = 1,
21326 FDEOR_REFUSE = 2
21327} FDE_OVERWRITE_RESPONSE;
21328
21329typedef enum FDE_SHAREVIOLATION_RESPONSE {
21330 FDESVR_DEFAULT = 0,
21331 FDESVR_ACCEPT = 1,
21332 FDESVR_REFUSE = 2
21333} FDE_SHAREVIOLATION_RESPONSE;
21334
21335typedef enum FDAP {
21336 FDAP_BOTTOM = 0,
21337 FDAP_TOP = 1
21338} FDAP;
21339
21340/*****************************************************************************
21341 * IFileDialogEvents interface
21342 */
21343#ifndef __IFileDialogEvents_INTERFACE_DEFINED__
21344#define __IFileDialogEvents_INTERFACE_DEFINED__
21345
21346DEFINE_GUID(IID_IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54);
21347#if defined(__cplusplus) && !defined(CINTERFACE)
21348MIDL_INTERFACE("973510db-7d7f-452b-8975-74a85828d354")
21349IFileDialogEvents : public IUnknown
21350{
21351 virtual HRESULT STDMETHODCALLTYPE OnFileOk(
21352 IFileDialog *pfd) = 0;
21353
21354 virtual HRESULT STDMETHODCALLTYPE OnFolderChanging(
21355 IFileDialog *pfd,
21356 IShellItem *psiFolder) = 0;
21357
21358 virtual HRESULT STDMETHODCALLTYPE OnFolderChange(
21359 IFileDialog *pfd) = 0;
21360
21361 virtual HRESULT STDMETHODCALLTYPE OnSelectionChange(
21362 IFileDialog *pfd) = 0;
21363
21364 virtual HRESULT STDMETHODCALLTYPE OnShareViolation(
21365 IFileDialog *pfd,
21366 IShellItem *psi,
21367 FDE_SHAREVIOLATION_RESPONSE *pResponse) = 0;
21368
21369 virtual HRESULT STDMETHODCALLTYPE OnTypeChange(
21370 IFileDialog *pfd) = 0;
21371
21372 virtual HRESULT STDMETHODCALLTYPE OnOverwrite(
21373 IFileDialog *pfd,
21374 IShellItem *psi,
21375 FDE_OVERWRITE_RESPONSE *pResponse) = 0;
21376
21377};
21378#ifdef __CRT_UUID_DECL
21379__CRT_UUID_DECL(IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54)
21380#endif
21381#else
21382typedef struct IFileDialogEventsVtbl {
21383 BEGIN_INTERFACE
21384
21385 /*** IUnknown methods ***/
21386 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21387 IFileDialogEvents *This,
21388 REFIID riid,
21389 void **ppvObject);
21390
21391 ULONG (STDMETHODCALLTYPE *AddRef)(
21392 IFileDialogEvents *This);
21393
21394 ULONG (STDMETHODCALLTYPE *Release)(
21395 IFileDialogEvents *This);
21396
21397 /*** IFileDialogEvents methods ***/
21398 HRESULT (STDMETHODCALLTYPE *OnFileOk)(
21399 IFileDialogEvents *This,
21400 IFileDialog *pfd);
21401
21402 HRESULT (STDMETHODCALLTYPE *OnFolderChanging)(
21403 IFileDialogEvents *This,
21404 IFileDialog *pfd,
21405 IShellItem *psiFolder);
21406
21407 HRESULT (STDMETHODCALLTYPE *OnFolderChange)(
21408 IFileDialogEvents *This,
21409 IFileDialog *pfd);
21410
21411 HRESULT (STDMETHODCALLTYPE *OnSelectionChange)(
21412 IFileDialogEvents *This,
21413 IFileDialog *pfd);
21414
21415 HRESULT (STDMETHODCALLTYPE *OnShareViolation)(
21416 IFileDialogEvents *This,
21417 IFileDialog *pfd,
21418 IShellItem *psi,
21419 FDE_SHAREVIOLATION_RESPONSE *pResponse);
21420
21421 HRESULT (STDMETHODCALLTYPE *OnTypeChange)(
21422 IFileDialogEvents *This,
21423 IFileDialog *pfd);
21424
21425 HRESULT (STDMETHODCALLTYPE *OnOverwrite)(
21426 IFileDialogEvents *This,
21427 IFileDialog *pfd,
21428 IShellItem *psi,
21429 FDE_OVERWRITE_RESPONSE *pResponse);
21430
21431 END_INTERFACE
21432} IFileDialogEventsVtbl;
21433
21434interface IFileDialogEvents {
21435 CONST_VTBL IFileDialogEventsVtbl* lpVtbl;
21436};
21437
21438#ifdef COBJMACROS
21439#ifndef WIDL_C_INLINE_WRAPPERS
21440/*** IUnknown methods ***/
21441#define IFileDialogEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21442#define IFileDialogEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
21443#define IFileDialogEvents_Release(This) (This)->lpVtbl->Release(This)
21444/*** IFileDialogEvents methods ***/
21445#define IFileDialogEvents_OnFileOk(This,pfd) (This)->lpVtbl->OnFileOk(This,pfd)
21446#define IFileDialogEvents_OnFolderChanging(This,pfd,psiFolder) (This)->lpVtbl->OnFolderChanging(This,pfd,psiFolder)
21447#define IFileDialogEvents_OnFolderChange(This,pfd) (This)->lpVtbl->OnFolderChange(This,pfd)
21448#define IFileDialogEvents_OnSelectionChange(This,pfd) (This)->lpVtbl->OnSelectionChange(This,pfd)
21449#define IFileDialogEvents_OnShareViolation(This,pfd,psi,pResponse) (This)->lpVtbl->OnShareViolation(This,pfd,psi,pResponse)
21450#define IFileDialogEvents_OnTypeChange(This,pfd) (This)->lpVtbl->OnTypeChange(This,pfd)
21451#define IFileDialogEvents_OnOverwrite(This,pfd,psi,pResponse) (This)->lpVtbl->OnOverwrite(This,pfd,psi,pResponse)
21452#else
21453/*** IUnknown methods ***/
21454static inline HRESULT IFileDialogEvents_QueryInterface(IFileDialogEvents* This,REFIID riid,void **ppvObject) {
21455 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21456}
21457static inline ULONG IFileDialogEvents_AddRef(IFileDialogEvents* This) {
21458 return This->lpVtbl->AddRef(This);
21459}
21460static inline ULONG IFileDialogEvents_Release(IFileDialogEvents* This) {
21461 return This->lpVtbl->Release(This);
21462}
21463/*** IFileDialogEvents methods ***/
21464static inline HRESULT IFileDialogEvents_OnFileOk(IFileDialogEvents* This,IFileDialog *pfd) {
21465 return This->lpVtbl->OnFileOk(This,pfd);
21466}
21467static inline HRESULT IFileDialogEvents_OnFolderChanging(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psiFolder) {
21468 return This->lpVtbl->OnFolderChanging(This,pfd,psiFolder);
21469}
21470static inline HRESULT IFileDialogEvents_OnFolderChange(IFileDialogEvents* This,IFileDialog *pfd) {
21471 return This->lpVtbl->OnFolderChange(This,pfd);
21472}
21473static inline HRESULT IFileDialogEvents_OnSelectionChange(IFileDialogEvents* This,IFileDialog *pfd) {
21474 return This->lpVtbl->OnSelectionChange(This,pfd);
21475}
21476static inline HRESULT IFileDialogEvents_OnShareViolation(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_SHAREVIOLATION_RESPONSE *pResponse) {
21477 return This->lpVtbl->OnShareViolation(This,pfd,psi,pResponse);
21478}
21479static inline HRESULT IFileDialogEvents_OnTypeChange(IFileDialogEvents* This,IFileDialog *pfd) {
21480 return This->lpVtbl->OnTypeChange(This,pfd);
21481}
21482static inline HRESULT IFileDialogEvents_OnOverwrite(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_OVERWRITE_RESPONSE *pResponse) {
21483 return This->lpVtbl->OnOverwrite(This,pfd,psi,pResponse);
21484}
21485#endif
21486#endif
21487
21488#endif
21489
21490
21491#endif /* __IFileDialogEvents_INTERFACE_DEFINED__ */
21492
21493
21494#ifndef __IShellItemFilter_FWD_DEFINED__
21495#define __IShellItemFilter_FWD_DEFINED__
21496typedef interface IShellItemFilter IShellItemFilter;
21497#ifdef __cplusplus
21498interface IShellItemFilter;
21499#endif /* __cplusplus */
21500#endif
21501
21502
21503/*****************************************************************************
21504 * IFileDialog interface
21505 */
21506#ifndef __IFileDialog_INTERFACE_DEFINED__
21507#define __IFileDialog_INTERFACE_DEFINED__
21508
21509enum _FILEOPENDIALOGOPTIONS {
21510 FOS_OVERWRITEPROMPT = 0x2,
21511 FOS_STRICTFILETYPES = 0x4,
21512 FOS_NOCHANGEDIR = 0x8,
21513 FOS_PICKFOLDERS = 0x20,
21514 FOS_FORCEFILESYSTEM = 0x40,
21515 FOS_ALLNONSTORAGEITEMS = 0x80,
21516 FOS_NOVALIDATE = 0x100,
21517 FOS_ALLOWMULTISELECT = 0x200,
21518 FOS_PATHMUSTEXIST = 0x800,
21519 FOS_FILEMUSTEXIST = 0x1000,
21520 FOS_CREATEPROMPT = 0x2000,
21521 FOS_SHAREAWARE = 0x4000,
21522 FOS_NOREADONLYRETURN = 0x8000,
21523 FOS_NOTESTFILECREATE = 0x10000,
21524 FOS_HIDEMRUPLACES = 0x20000,
21525 FOS_HIDEPINNEDPLACES = 0x40000,
21526 FOS_NODEREFERENCELINKS = 0x100000,
21527 FOS_DONTADDTORECENT = 0x2000000,
21528 FOS_FORCESHOWHIDDEN = 0x10000000,
21529 FOS_DEFAULTNOMINIMODE = 0x20000000,
21530 FOS_FORCEPREVIEWPANEON = 0x40000000,
21531 FOS_SUPPORTSTREAMABLEITEMS = 0x80000000
21532};
21533
21534typedef DWORD FILEOPENDIALOGOPTIONS;
21535
21536DEFINE_GUID(IID_IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8);
21537#if defined(__cplusplus) && !defined(CINTERFACE)
21538MIDL_INTERFACE("42f85136-db7e-439c-85f1-e4075d135fc8")
21539IFileDialog : public IModalWindow
21540{
21541 virtual HRESULT STDMETHODCALLTYPE SetFileTypes(
21542 UINT cFileTypes,
21543 const COMDLG_FILTERSPEC *rgFilterSpec) = 0;
21544
21545 virtual HRESULT STDMETHODCALLTYPE SetFileTypeIndex(
21546 UINT iFileType) = 0;
21547
21548 virtual HRESULT STDMETHODCALLTYPE GetFileTypeIndex(
21549 UINT *piFileType) = 0;
21550
21551 virtual HRESULT STDMETHODCALLTYPE Advise(
21552 IFileDialogEvents *pfde,
21553 DWORD *pdwCookie) = 0;
21554
21555 virtual HRESULT STDMETHODCALLTYPE Unadvise(
21556 DWORD dwCookie) = 0;
21557
21558 virtual HRESULT STDMETHODCALLTYPE SetOptions(
21559 FILEOPENDIALOGOPTIONS fos) = 0;
21560
21561 virtual HRESULT STDMETHODCALLTYPE GetOptions(
21562 FILEOPENDIALOGOPTIONS *pfos) = 0;
21563
21564 virtual HRESULT STDMETHODCALLTYPE SetDefaultFolder(
21565 IShellItem *psi) = 0;
21566
21567 virtual HRESULT STDMETHODCALLTYPE SetFolder(
21568 IShellItem *psi) = 0;
21569
21570 virtual HRESULT STDMETHODCALLTYPE GetFolder(
21571 IShellItem **ppsi) = 0;
21572
21573 virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection(
21574 IShellItem **ppsi) = 0;
21575
21576 virtual HRESULT STDMETHODCALLTYPE SetFileName(
21577 LPCWSTR pszName) = 0;
21578
21579 virtual HRESULT STDMETHODCALLTYPE GetFileName(
21580 LPWSTR *pszName) = 0;
21581
21582 virtual HRESULT STDMETHODCALLTYPE SetTitle(
21583 LPCWSTR pszTitle) = 0;
21584
21585 virtual HRESULT STDMETHODCALLTYPE SetOkButtonLabel(
21586 LPCWSTR pszText) = 0;
21587
21588 virtual HRESULT STDMETHODCALLTYPE SetFileNameLabel(
21589 LPCWSTR pszLabel) = 0;
21590
21591 virtual HRESULT STDMETHODCALLTYPE GetResult(
21592 IShellItem **ppsi) = 0;
21593
21594 virtual HRESULT STDMETHODCALLTYPE AddPlace(
21595 IShellItem *psi,
21596 FDAP fdap) = 0;
21597
21598 virtual HRESULT STDMETHODCALLTYPE SetDefaultExtension(
21599 LPCWSTR pszDefaultExtension) = 0;
21600
21601 virtual HRESULT STDMETHODCALLTYPE Close(
21602 HRESULT hr) = 0;
21603
21604 virtual HRESULT STDMETHODCALLTYPE SetClientGuid(
21605 REFGUID guid) = 0;
21606
21607 virtual HRESULT STDMETHODCALLTYPE ClearClientData(
21608 ) = 0;
21609
21610 virtual HRESULT STDMETHODCALLTYPE SetFilter(
21611 IShellItemFilter *pFilter) = 0;
21612
21613};
21614#ifdef __CRT_UUID_DECL
21615__CRT_UUID_DECL(IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8)
21616#endif
21617#else
21618typedef struct IFileDialogVtbl {
21619 BEGIN_INTERFACE
21620
21621 /*** IUnknown methods ***/
21622 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21623 IFileDialog *This,
21624 REFIID riid,
21625 void **ppvObject);
21626
21627 ULONG (STDMETHODCALLTYPE *AddRef)(
21628 IFileDialog *This);
21629
21630 ULONG (STDMETHODCALLTYPE *Release)(
21631 IFileDialog *This);
21632
21633 /*** IModalWindow methods ***/
21634 HRESULT (STDMETHODCALLTYPE *Show)(
21635 IFileDialog *This,
21636 HWND hwndOwner);
21637
21638 /*** IFileDialog methods ***/
21639 HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
21640 IFileDialog *This,
21641 UINT cFileTypes,
21642 const COMDLG_FILTERSPEC *rgFilterSpec);
21643
21644 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
21645 IFileDialog *This,
21646 UINT iFileType);
21647
21648 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
21649 IFileDialog *This,
21650 UINT *piFileType);
21651
21652 HRESULT (STDMETHODCALLTYPE *Advise)(
21653 IFileDialog *This,
21654 IFileDialogEvents *pfde,
21655 DWORD *pdwCookie);
21656
21657 HRESULT (STDMETHODCALLTYPE *Unadvise)(
21658 IFileDialog *This,
21659 DWORD dwCookie);
21660
21661 HRESULT (STDMETHODCALLTYPE *SetOptions)(
21662 IFileDialog *This,
21663 FILEOPENDIALOGOPTIONS fos);
21664
21665 HRESULT (STDMETHODCALLTYPE *GetOptions)(
21666 IFileDialog *This,
21667 FILEOPENDIALOGOPTIONS *pfos);
21668
21669 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
21670 IFileDialog *This,
21671 IShellItem *psi);
21672
21673 HRESULT (STDMETHODCALLTYPE *SetFolder)(
21674 IFileDialog *This,
21675 IShellItem *psi);
21676
21677 HRESULT (STDMETHODCALLTYPE *GetFolder)(
21678 IFileDialog *This,
21679 IShellItem **ppsi);
21680
21681 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
21682 IFileDialog *This,
21683 IShellItem **ppsi);
21684
21685 HRESULT (STDMETHODCALLTYPE *SetFileName)(
21686 IFileDialog *This,
21687 LPCWSTR pszName);
21688
21689 HRESULT (STDMETHODCALLTYPE *GetFileName)(
21690 IFileDialog *This,
21691 LPWSTR *pszName);
21692
21693 HRESULT (STDMETHODCALLTYPE *SetTitle)(
21694 IFileDialog *This,
21695 LPCWSTR pszTitle);
21696
21697 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
21698 IFileDialog *This,
21699 LPCWSTR pszText);
21700
21701 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
21702 IFileDialog *This,
21703 LPCWSTR pszLabel);
21704
21705 HRESULT (STDMETHODCALLTYPE *GetResult)(
21706 IFileDialog *This,
21707 IShellItem **ppsi);
21708
21709 HRESULT (STDMETHODCALLTYPE *AddPlace)(
21710 IFileDialog *This,
21711 IShellItem *psi,
21712 FDAP fdap);
21713
21714 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
21715 IFileDialog *This,
21716 LPCWSTR pszDefaultExtension);
21717
21718 HRESULT (STDMETHODCALLTYPE *Close)(
21719 IFileDialog *This,
21720 HRESULT hr);
21721
21722 HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
21723 IFileDialog *This,
21724 REFGUID guid);
21725
21726 HRESULT (STDMETHODCALLTYPE *ClearClientData)(
21727 IFileDialog *This);
21728
21729 HRESULT (STDMETHODCALLTYPE *SetFilter)(
21730 IFileDialog *This,
21731 IShellItemFilter *pFilter);
21732
21733 END_INTERFACE
21734} IFileDialogVtbl;
21735
21736interface IFileDialog {
21737 CONST_VTBL IFileDialogVtbl* lpVtbl;
21738};
21739
21740#ifdef COBJMACROS
21741#ifndef WIDL_C_INLINE_WRAPPERS
21742/*** IUnknown methods ***/
21743#define IFileDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21744#define IFileDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
21745#define IFileDialog_Release(This) (This)->lpVtbl->Release(This)
21746/*** IModalWindow methods ***/
21747#define IFileDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
21748/*** IFileDialog methods ***/
21749#define IFileDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
21750#define IFileDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
21751#define IFileDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
21752#define IFileDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
21753#define IFileDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
21754#define IFileDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
21755#define IFileDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
21756#define IFileDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
21757#define IFileDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
21758#define IFileDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
21759#define IFileDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
21760#define IFileDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
21761#define IFileDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
21762#define IFileDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
21763#define IFileDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
21764#define IFileDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
21765#define IFileDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
21766#define IFileDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
21767#define IFileDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
21768#define IFileDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
21769#define IFileDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
21770#define IFileDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
21771#define IFileDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
21772#else
21773/*** IUnknown methods ***/
21774static inline HRESULT IFileDialog_QueryInterface(IFileDialog* This,REFIID riid,void **ppvObject) {
21775 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21776}
21777static inline ULONG IFileDialog_AddRef(IFileDialog* This) {
21778 return This->lpVtbl->AddRef(This);
21779}
21780static inline ULONG IFileDialog_Release(IFileDialog* This) {
21781 return This->lpVtbl->Release(This);
21782}
21783/*** IModalWindow methods ***/
21784static inline HRESULT IFileDialog_Show(IFileDialog* This,HWND hwndOwner) {
21785 return This->lpVtbl->Show(This,hwndOwner);
21786}
21787/*** IFileDialog methods ***/
21788static inline HRESULT IFileDialog_SetFileTypes(IFileDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
21789 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
21790}
21791static inline HRESULT IFileDialog_SetFileTypeIndex(IFileDialog* This,UINT iFileType) {
21792 return This->lpVtbl->SetFileTypeIndex(This,iFileType);
21793}
21794static inline HRESULT IFileDialog_GetFileTypeIndex(IFileDialog* This,UINT *piFileType) {
21795 return This->lpVtbl->GetFileTypeIndex(This,piFileType);
21796}
21797static inline HRESULT IFileDialog_Advise(IFileDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
21798 return This->lpVtbl->Advise(This,pfde,pdwCookie);
21799}
21800static inline HRESULT IFileDialog_Unadvise(IFileDialog* This,DWORD dwCookie) {
21801 return This->lpVtbl->Unadvise(This,dwCookie);
21802}
21803static inline HRESULT IFileDialog_SetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS fos) {
21804 return This->lpVtbl->SetOptions(This,fos);
21805}
21806static inline HRESULT IFileDialog_GetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
21807 return This->lpVtbl->GetOptions(This,pfos);
21808}
21809static inline HRESULT IFileDialog_SetDefaultFolder(IFileDialog* This,IShellItem *psi) {
21810 return This->lpVtbl->SetDefaultFolder(This,psi);
21811}
21812static inline HRESULT IFileDialog_SetFolder(IFileDialog* This,IShellItem *psi) {
21813 return This->lpVtbl->SetFolder(This,psi);
21814}
21815static inline HRESULT IFileDialog_GetFolder(IFileDialog* This,IShellItem **ppsi) {
21816 return This->lpVtbl->GetFolder(This,ppsi);
21817}
21818static inline HRESULT IFileDialog_GetCurrentSelection(IFileDialog* This,IShellItem **ppsi) {
21819 return This->lpVtbl->GetCurrentSelection(This,ppsi);
21820}
21821static inline HRESULT IFileDialog_SetFileName(IFileDialog* This,LPCWSTR pszName) {
21822 return This->lpVtbl->SetFileName(This,pszName);
21823}
21824static inline HRESULT IFileDialog_GetFileName(IFileDialog* This,LPWSTR *pszName) {
21825 return This->lpVtbl->GetFileName(This,pszName);
21826}
21827static inline HRESULT IFileDialog_SetTitle(IFileDialog* This,LPCWSTR pszTitle) {
21828 return This->lpVtbl->SetTitle(This,pszTitle);
21829}
21830static inline HRESULT IFileDialog_SetOkButtonLabel(IFileDialog* This,LPCWSTR pszText) {
21831 return This->lpVtbl->SetOkButtonLabel(This,pszText);
21832}
21833static inline HRESULT IFileDialog_SetFileNameLabel(IFileDialog* This,LPCWSTR pszLabel) {
21834 return This->lpVtbl->SetFileNameLabel(This,pszLabel);
21835}
21836static inline HRESULT IFileDialog_GetResult(IFileDialog* This,IShellItem **ppsi) {
21837 return This->lpVtbl->GetResult(This,ppsi);
21838}
21839static inline HRESULT IFileDialog_AddPlace(IFileDialog* This,IShellItem *psi,FDAP fdap) {
21840 return This->lpVtbl->AddPlace(This,psi,fdap);
21841}
21842static inline HRESULT IFileDialog_SetDefaultExtension(IFileDialog* This,LPCWSTR pszDefaultExtension) {
21843 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
21844}
21845static inline HRESULT IFileDialog_Close(IFileDialog* This,HRESULT hr) {
21846 return This->lpVtbl->Close(This,hr);
21847}
21848static inline HRESULT IFileDialog_SetClientGuid(IFileDialog* This,REFGUID guid) {
21849 return This->lpVtbl->SetClientGuid(This,guid);
21850}
21851static inline HRESULT IFileDialog_ClearClientData(IFileDialog* This) {
21852 return This->lpVtbl->ClearClientData(This);
21853}
21854static inline HRESULT IFileDialog_SetFilter(IFileDialog* This,IShellItemFilter *pFilter) {
21855 return This->lpVtbl->SetFilter(This,pFilter);
21856}
21857#endif
21858#endif
21859
21860#endif
21861
21862
21863#endif /* __IFileDialog_INTERFACE_DEFINED__ */
21864
21865
21866/*****************************************************************************
21867 * IFileSaveDialog interface
21868 */
21869#ifndef __IFileSaveDialog_INTERFACE_DEFINED__
21870#define __IFileSaveDialog_INTERFACE_DEFINED__
21871
21872DEFINE_GUID(IID_IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab);
21873#if defined(__cplusplus) && !defined(CINTERFACE)
21874MIDL_INTERFACE("84bccd23-5fde-4cdb-aea4-af64b83d78ab")
21875IFileSaveDialog : public IFileDialog
21876{
21877 virtual HRESULT STDMETHODCALLTYPE SetSaveAsItem(
21878 IShellItem *psi) = 0;
21879
21880 virtual HRESULT STDMETHODCALLTYPE SetProperties(
21881 IPropertyStore *pStore) = 0;
21882
21883 virtual HRESULT STDMETHODCALLTYPE SetCollectedProperties(
21884 IPropertyDescriptionList *pList,
21885 WINBOOL fAppendDefault) = 0;
21886
21887 virtual HRESULT STDMETHODCALLTYPE GetProperties(
21888 IPropertyStore **ppStore) = 0;
21889
21890 virtual HRESULT STDMETHODCALLTYPE ApplyProperties(
21891 IShellItem *psi,
21892 IPropertyStore *pStore,
21893 HWND hwnd,
21894 IFileOperationProgressSink *pSink) = 0;
21895
21896};
21897#ifdef __CRT_UUID_DECL
21898__CRT_UUID_DECL(IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab)
21899#endif
21900#else
21901typedef struct IFileSaveDialogVtbl {
21902 BEGIN_INTERFACE
21903
21904 /*** IUnknown methods ***/
21905 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21906 IFileSaveDialog *This,
21907 REFIID riid,
21908 void **ppvObject);
21909
21910 ULONG (STDMETHODCALLTYPE *AddRef)(
21911 IFileSaveDialog *This);
21912
21913 ULONG (STDMETHODCALLTYPE *Release)(
21914 IFileSaveDialog *This);
21915
21916 /*** IModalWindow methods ***/
21917 HRESULT (STDMETHODCALLTYPE *Show)(
21918 IFileSaveDialog *This,
21919 HWND hwndOwner);
21920
21921 /*** IFileDialog methods ***/
21922 HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
21923 IFileSaveDialog *This,
21924 UINT cFileTypes,
21925 const COMDLG_FILTERSPEC *rgFilterSpec);
21926
21927 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
21928 IFileSaveDialog *This,
21929 UINT iFileType);
21930
21931 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
21932 IFileSaveDialog *This,
21933 UINT *piFileType);
21934
21935 HRESULT (STDMETHODCALLTYPE *Advise)(
21936 IFileSaveDialog *This,
21937 IFileDialogEvents *pfde,
21938 DWORD *pdwCookie);
21939
21940 HRESULT (STDMETHODCALLTYPE *Unadvise)(
21941 IFileSaveDialog *This,
21942 DWORD dwCookie);
21943
21944 HRESULT (STDMETHODCALLTYPE *SetOptions)(
21945 IFileSaveDialog *This,
21946 FILEOPENDIALOGOPTIONS fos);
21947
21948 HRESULT (STDMETHODCALLTYPE *GetOptions)(
21949 IFileSaveDialog *This,
21950 FILEOPENDIALOGOPTIONS *pfos);
21951
21952 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
21953 IFileSaveDialog *This,
21954 IShellItem *psi);
21955
21956 HRESULT (STDMETHODCALLTYPE *SetFolder)(
21957 IFileSaveDialog *This,
21958 IShellItem *psi);
21959
21960 HRESULT (STDMETHODCALLTYPE *GetFolder)(
21961 IFileSaveDialog *This,
21962 IShellItem **ppsi);
21963
21964 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
21965 IFileSaveDialog *This,
21966 IShellItem **ppsi);
21967
21968 HRESULT (STDMETHODCALLTYPE *SetFileName)(
21969 IFileSaveDialog *This,
21970 LPCWSTR pszName);
21971
21972 HRESULT (STDMETHODCALLTYPE *GetFileName)(
21973 IFileSaveDialog *This,
21974 LPWSTR *pszName);
21975
21976 HRESULT (STDMETHODCALLTYPE *SetTitle)(
21977 IFileSaveDialog *This,
21978 LPCWSTR pszTitle);
21979
21980 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
21981 IFileSaveDialog *This,
21982 LPCWSTR pszText);
21983
21984 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
21985 IFileSaveDialog *This,
21986 LPCWSTR pszLabel);
21987
21988 HRESULT (STDMETHODCALLTYPE *GetResult)(
21989 IFileSaveDialog *This,
21990 IShellItem **ppsi);
21991
21992 HRESULT (STDMETHODCALLTYPE *AddPlace)(
21993 IFileSaveDialog *This,
21994 IShellItem *psi,
21995 FDAP fdap);
21996
21997 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
21998 IFileSaveDialog *This,
21999 LPCWSTR pszDefaultExtension);
22000
22001 HRESULT (STDMETHODCALLTYPE *Close)(
22002 IFileSaveDialog *This,
22003 HRESULT hr);
22004
22005 HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
22006 IFileSaveDialog *This,
22007 REFGUID guid);
22008
22009 HRESULT (STDMETHODCALLTYPE *ClearClientData)(
22010 IFileSaveDialog *This);
22011
22012 HRESULT (STDMETHODCALLTYPE *SetFilter)(
22013 IFileSaveDialog *This,
22014 IShellItemFilter *pFilter);
22015
22016 /*** IFileSaveDialog methods ***/
22017 HRESULT (STDMETHODCALLTYPE *SetSaveAsItem)(
22018 IFileSaveDialog *This,
22019 IShellItem *psi);
22020
22021 HRESULT (STDMETHODCALLTYPE *SetProperties)(
22022 IFileSaveDialog *This,
22023 IPropertyStore *pStore);
22024
22025 HRESULT (STDMETHODCALLTYPE *SetCollectedProperties)(
22026 IFileSaveDialog *This,
22027 IPropertyDescriptionList *pList,
22028 WINBOOL fAppendDefault);
22029
22030 HRESULT (STDMETHODCALLTYPE *GetProperties)(
22031 IFileSaveDialog *This,
22032 IPropertyStore **ppStore);
22033
22034 HRESULT (STDMETHODCALLTYPE *ApplyProperties)(
22035 IFileSaveDialog *This,
22036 IShellItem *psi,
22037 IPropertyStore *pStore,
22038 HWND hwnd,
22039 IFileOperationProgressSink *pSink);
22040
22041 END_INTERFACE
22042} IFileSaveDialogVtbl;
22043
22044interface IFileSaveDialog {
22045 CONST_VTBL IFileSaveDialogVtbl* lpVtbl;
22046};
22047
22048#ifdef COBJMACROS
22049#ifndef WIDL_C_INLINE_WRAPPERS
22050/*** IUnknown methods ***/
22051#define IFileSaveDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22052#define IFileSaveDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
22053#define IFileSaveDialog_Release(This) (This)->lpVtbl->Release(This)
22054/*** IModalWindow methods ***/
22055#define IFileSaveDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
22056/*** IFileDialog methods ***/
22057#define IFileSaveDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
22058#define IFileSaveDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
22059#define IFileSaveDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
22060#define IFileSaveDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
22061#define IFileSaveDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
22062#define IFileSaveDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
22063#define IFileSaveDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
22064#define IFileSaveDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
22065#define IFileSaveDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
22066#define IFileSaveDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
22067#define IFileSaveDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
22068#define IFileSaveDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
22069#define IFileSaveDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
22070#define IFileSaveDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
22071#define IFileSaveDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
22072#define IFileSaveDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
22073#define IFileSaveDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
22074#define IFileSaveDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
22075#define IFileSaveDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
22076#define IFileSaveDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
22077#define IFileSaveDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
22078#define IFileSaveDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
22079#define IFileSaveDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
22080/*** IFileSaveDialog methods ***/
22081#define IFileSaveDialog_SetSaveAsItem(This,psi) (This)->lpVtbl->SetSaveAsItem(This,psi)
22082#define IFileSaveDialog_SetProperties(This,pStore) (This)->lpVtbl->SetProperties(This,pStore)
22083#define IFileSaveDialog_SetCollectedProperties(This,pList,fAppendDefault) (This)->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault)
22084#define IFileSaveDialog_GetProperties(This,ppStore) (This)->lpVtbl->GetProperties(This,ppStore)
22085#define IFileSaveDialog_ApplyProperties(This,psi,pStore,hwnd,pSink) (This)->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink)
22086#else
22087/*** IUnknown methods ***/
22088static inline HRESULT IFileSaveDialog_QueryInterface(IFileSaveDialog* This,REFIID riid,void **ppvObject) {
22089 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22090}
22091static inline ULONG IFileSaveDialog_AddRef(IFileSaveDialog* This) {
22092 return This->lpVtbl->AddRef(This);
22093}
22094static inline ULONG IFileSaveDialog_Release(IFileSaveDialog* This) {
22095 return This->lpVtbl->Release(This);
22096}
22097/*** IModalWindow methods ***/
22098static inline HRESULT IFileSaveDialog_Show(IFileSaveDialog* This,HWND hwndOwner) {
22099 return This->lpVtbl->Show(This,hwndOwner);
22100}
22101/*** IFileDialog methods ***/
22102static inline HRESULT IFileSaveDialog_SetFileTypes(IFileSaveDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
22103 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
22104}
22105static inline HRESULT IFileSaveDialog_SetFileTypeIndex(IFileSaveDialog* This,UINT iFileType) {
22106 return This->lpVtbl->SetFileTypeIndex(This,iFileType);
22107}
22108static inline HRESULT IFileSaveDialog_GetFileTypeIndex(IFileSaveDialog* This,UINT *piFileType) {
22109 return This->lpVtbl->GetFileTypeIndex(This,piFileType);
22110}
22111static inline HRESULT IFileSaveDialog_Advise(IFileSaveDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
22112 return This->lpVtbl->Advise(This,pfde,pdwCookie);
22113}
22114static inline HRESULT IFileSaveDialog_Unadvise(IFileSaveDialog* This,DWORD dwCookie) {
22115 return This->lpVtbl->Unadvise(This,dwCookie);
22116}
22117static inline HRESULT IFileSaveDialog_SetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS fos) {
22118 return This->lpVtbl->SetOptions(This,fos);
22119}
22120static inline HRESULT IFileSaveDialog_GetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
22121 return This->lpVtbl->GetOptions(This,pfos);
22122}
22123static inline HRESULT IFileSaveDialog_SetDefaultFolder(IFileSaveDialog* This,IShellItem *psi) {
22124 return This->lpVtbl->SetDefaultFolder(This,psi);
22125}
22126static inline HRESULT IFileSaveDialog_SetFolder(IFileSaveDialog* This,IShellItem *psi) {
22127 return This->lpVtbl->SetFolder(This,psi);
22128}
22129static inline HRESULT IFileSaveDialog_GetFolder(IFileSaveDialog* This,IShellItem **ppsi) {
22130 return This->lpVtbl->GetFolder(This,ppsi);
22131}
22132static inline HRESULT IFileSaveDialog_GetCurrentSelection(IFileSaveDialog* This,IShellItem **ppsi) {
22133 return This->lpVtbl->GetCurrentSelection(This,ppsi);
22134}
22135static inline HRESULT IFileSaveDialog_SetFileName(IFileSaveDialog* This,LPCWSTR pszName) {
22136 return This->lpVtbl->SetFileName(This,pszName);
22137}
22138static inline HRESULT IFileSaveDialog_GetFileName(IFileSaveDialog* This,LPWSTR *pszName) {
22139 return This->lpVtbl->GetFileName(This,pszName);
22140}
22141static inline HRESULT IFileSaveDialog_SetTitle(IFileSaveDialog* This,LPCWSTR pszTitle) {
22142 return This->lpVtbl->SetTitle(This,pszTitle);
22143}
22144static inline HRESULT IFileSaveDialog_SetOkButtonLabel(IFileSaveDialog* This,LPCWSTR pszText) {
22145 return This->lpVtbl->SetOkButtonLabel(This,pszText);
22146}
22147static inline HRESULT IFileSaveDialog_SetFileNameLabel(IFileSaveDialog* This,LPCWSTR pszLabel) {
22148 return This->lpVtbl->SetFileNameLabel(This,pszLabel);
22149}
22150static inline HRESULT IFileSaveDialog_GetResult(IFileSaveDialog* This,IShellItem **ppsi) {
22151 return This->lpVtbl->GetResult(This,ppsi);
22152}
22153static inline HRESULT IFileSaveDialog_AddPlace(IFileSaveDialog* This,IShellItem *psi,FDAP fdap) {
22154 return This->lpVtbl->AddPlace(This,psi,fdap);
22155}
22156static inline HRESULT IFileSaveDialog_SetDefaultExtension(IFileSaveDialog* This,LPCWSTR pszDefaultExtension) {
22157 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
22158}
22159static inline HRESULT IFileSaveDialog_Close(IFileSaveDialog* This,HRESULT hr) {
22160 return This->lpVtbl->Close(This,hr);
22161}
22162static inline HRESULT IFileSaveDialog_SetClientGuid(IFileSaveDialog* This,REFGUID guid) {
22163 return This->lpVtbl->SetClientGuid(This,guid);
22164}
22165static inline HRESULT IFileSaveDialog_ClearClientData(IFileSaveDialog* This) {
22166 return This->lpVtbl->ClearClientData(This);
22167}
22168static inline HRESULT IFileSaveDialog_SetFilter(IFileSaveDialog* This,IShellItemFilter *pFilter) {
22169 return This->lpVtbl->SetFilter(This,pFilter);
22170}
22171/*** IFileSaveDialog methods ***/
22172static inline HRESULT IFileSaveDialog_SetSaveAsItem(IFileSaveDialog* This,IShellItem *psi) {
22173 return This->lpVtbl->SetSaveAsItem(This,psi);
22174}
22175static inline HRESULT IFileSaveDialog_SetProperties(IFileSaveDialog* This,IPropertyStore *pStore) {
22176 return This->lpVtbl->SetProperties(This,pStore);
22177}
22178static inline HRESULT IFileSaveDialog_SetCollectedProperties(IFileSaveDialog* This,IPropertyDescriptionList *pList,WINBOOL fAppendDefault) {
22179 return This->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault);
22180}
22181static inline HRESULT IFileSaveDialog_GetProperties(IFileSaveDialog* This,IPropertyStore **ppStore) {
22182 return This->lpVtbl->GetProperties(This,ppStore);
22183}
22184static inline HRESULT IFileSaveDialog_ApplyProperties(IFileSaveDialog* This,IShellItem *psi,IPropertyStore *pStore,HWND hwnd,IFileOperationProgressSink *pSink) {
22185 return This->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink);
22186}
22187#endif
22188#endif
22189
22190#endif
22191
22192
22193#endif /* __IFileSaveDialog_INTERFACE_DEFINED__ */
22194
22195
22196/*****************************************************************************
22197 * IFileOpenDialog interface
22198 */
22199#ifndef __IFileOpenDialog_INTERFACE_DEFINED__
22200#define __IFileOpenDialog_INTERFACE_DEFINED__
22201
22202DEFINE_GUID(IID_IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60);
22203#if defined(__cplusplus) && !defined(CINTERFACE)
22204MIDL_INTERFACE("d57c7288-d4ad-4768-be02-9d969532d960")
22205IFileOpenDialog : public IFileDialog
22206{
22207 virtual HRESULT STDMETHODCALLTYPE GetResults(
22208 IShellItemArray **ppenum) = 0;
22209
22210 virtual HRESULT STDMETHODCALLTYPE GetSelectedItems(
22211 IShellItemArray **ppsai) = 0;
22212
22213};
22214#ifdef __CRT_UUID_DECL
22215__CRT_UUID_DECL(IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60)
22216#endif
22217#else
22218typedef struct IFileOpenDialogVtbl {
22219 BEGIN_INTERFACE
22220
22221 /*** IUnknown methods ***/
22222 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22223 IFileOpenDialog *This,
22224 REFIID riid,
22225 void **ppvObject);
22226
22227 ULONG (STDMETHODCALLTYPE *AddRef)(
22228 IFileOpenDialog *This);
22229
22230 ULONG (STDMETHODCALLTYPE *Release)(
22231 IFileOpenDialog *This);
22232
22233 /*** IModalWindow methods ***/
22234 HRESULT (STDMETHODCALLTYPE *Show)(
22235 IFileOpenDialog *This,
22236 HWND hwndOwner);
22237
22238 /*** IFileDialog methods ***/
22239 HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
22240 IFileOpenDialog *This,
22241 UINT cFileTypes,
22242 const COMDLG_FILTERSPEC *rgFilterSpec);
22243
22244 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
22245 IFileOpenDialog *This,
22246 UINT iFileType);
22247
22248 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
22249 IFileOpenDialog *This,
22250 UINT *piFileType);
22251
22252 HRESULT (STDMETHODCALLTYPE *Advise)(
22253 IFileOpenDialog *This,
22254 IFileDialogEvents *pfde,
22255 DWORD *pdwCookie);
22256
22257 HRESULT (STDMETHODCALLTYPE *Unadvise)(
22258 IFileOpenDialog *This,
22259 DWORD dwCookie);
22260
22261 HRESULT (STDMETHODCALLTYPE *SetOptions)(
22262 IFileOpenDialog *This,
22263 FILEOPENDIALOGOPTIONS fos);
22264
22265 HRESULT (STDMETHODCALLTYPE *GetOptions)(
22266 IFileOpenDialog *This,
22267 FILEOPENDIALOGOPTIONS *pfos);
22268
22269 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
22270 IFileOpenDialog *This,
22271 IShellItem *psi);
22272
22273 HRESULT (STDMETHODCALLTYPE *SetFolder)(
22274 IFileOpenDialog *This,
22275 IShellItem *psi);
22276
22277 HRESULT (STDMETHODCALLTYPE *GetFolder)(
22278 IFileOpenDialog *This,
22279 IShellItem **ppsi);
22280
22281 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
22282 IFileOpenDialog *This,
22283 IShellItem **ppsi);
22284
22285 HRESULT (STDMETHODCALLTYPE *SetFileName)(
22286 IFileOpenDialog *This,
22287 LPCWSTR pszName);
22288
22289 HRESULT (STDMETHODCALLTYPE *GetFileName)(
22290 IFileOpenDialog *This,
22291 LPWSTR *pszName);
22292
22293 HRESULT (STDMETHODCALLTYPE *SetTitle)(
22294 IFileOpenDialog *This,
22295 LPCWSTR pszTitle);
22296
22297 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
22298 IFileOpenDialog *This,
22299 LPCWSTR pszText);
22300
22301 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
22302 IFileOpenDialog *This,
22303 LPCWSTR pszLabel);
22304
22305 HRESULT (STDMETHODCALLTYPE *GetResult)(
22306 IFileOpenDialog *This,
22307 IShellItem **ppsi);
22308
22309 HRESULT (STDMETHODCALLTYPE *AddPlace)(
22310 IFileOpenDialog *This,
22311 IShellItem *psi,
22312 FDAP fdap);
22313
22314 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
22315 IFileOpenDialog *This,
22316 LPCWSTR pszDefaultExtension);
22317
22318 HRESULT (STDMETHODCALLTYPE *Close)(
22319 IFileOpenDialog *This,
22320 HRESULT hr);
22321
22322 HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
22323 IFileOpenDialog *This,
22324 REFGUID guid);
22325
22326 HRESULT (STDMETHODCALLTYPE *ClearClientData)(
22327 IFileOpenDialog *This);
22328
22329 HRESULT (STDMETHODCALLTYPE *SetFilter)(
22330 IFileOpenDialog *This,
22331 IShellItemFilter *pFilter);
22332
22333 /*** IFileOpenDialog methods ***/
22334 HRESULT (STDMETHODCALLTYPE *GetResults)(
22335 IFileOpenDialog *This,
22336 IShellItemArray **ppenum);
22337
22338 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
22339 IFileOpenDialog *This,
22340 IShellItemArray **ppsai);
22341
22342 END_INTERFACE
22343} IFileOpenDialogVtbl;
22344
22345interface IFileOpenDialog {
22346 CONST_VTBL IFileOpenDialogVtbl* lpVtbl;
22347};
22348
22349#ifdef COBJMACROS
22350#ifndef WIDL_C_INLINE_WRAPPERS
22351/*** IUnknown methods ***/
22352#define IFileOpenDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22353#define IFileOpenDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
22354#define IFileOpenDialog_Release(This) (This)->lpVtbl->Release(This)
22355/*** IModalWindow methods ***/
22356#define IFileOpenDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
22357/*** IFileDialog methods ***/
22358#define IFileOpenDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
22359#define IFileOpenDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
22360#define IFileOpenDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
22361#define IFileOpenDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
22362#define IFileOpenDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
22363#define IFileOpenDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
22364#define IFileOpenDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
22365#define IFileOpenDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
22366#define IFileOpenDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
22367#define IFileOpenDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
22368#define IFileOpenDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
22369#define IFileOpenDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
22370#define IFileOpenDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
22371#define IFileOpenDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
22372#define IFileOpenDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
22373#define IFileOpenDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
22374#define IFileOpenDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
22375#define IFileOpenDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
22376#define IFileOpenDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
22377#define IFileOpenDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
22378#define IFileOpenDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
22379#define IFileOpenDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
22380#define IFileOpenDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
22381/*** IFileOpenDialog methods ***/
22382#define IFileOpenDialog_GetResults(This,ppenum) (This)->lpVtbl->GetResults(This,ppenum)
22383#define IFileOpenDialog_GetSelectedItems(This,ppsai) (This)->lpVtbl->GetSelectedItems(This,ppsai)
22384#else
22385/*** IUnknown methods ***/
22386static inline HRESULT IFileOpenDialog_QueryInterface(IFileOpenDialog* This,REFIID riid,void **ppvObject) {
22387 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22388}
22389static inline ULONG IFileOpenDialog_AddRef(IFileOpenDialog* This) {
22390 return This->lpVtbl->AddRef(This);
22391}
22392static inline ULONG IFileOpenDialog_Release(IFileOpenDialog* This) {
22393 return This->lpVtbl->Release(This);
22394}
22395/*** IModalWindow methods ***/
22396static inline HRESULT IFileOpenDialog_Show(IFileOpenDialog* This,HWND hwndOwner) {
22397 return This->lpVtbl->Show(This,hwndOwner);
22398}
22399/*** IFileDialog methods ***/
22400static inline HRESULT IFileOpenDialog_SetFileTypes(IFileOpenDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
22401 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
22402}
22403static inline HRESULT IFileOpenDialog_SetFileTypeIndex(IFileOpenDialog* This,UINT iFileType) {
22404 return This->lpVtbl->SetFileTypeIndex(This,iFileType);
22405}
22406static inline HRESULT IFileOpenDialog_GetFileTypeIndex(IFileOpenDialog* This,UINT *piFileType) {
22407 return This->lpVtbl->GetFileTypeIndex(This,piFileType);
22408}
22409static inline HRESULT IFileOpenDialog_Advise(IFileOpenDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
22410 return This->lpVtbl->Advise(This,pfde,pdwCookie);
22411}
22412static inline HRESULT IFileOpenDialog_Unadvise(IFileOpenDialog* This,DWORD dwCookie) {
22413 return This->lpVtbl->Unadvise(This,dwCookie);
22414}
22415static inline HRESULT IFileOpenDialog_SetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS fos) {
22416 return This->lpVtbl->SetOptions(This,fos);
22417}
22418static inline HRESULT IFileOpenDialog_GetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
22419 return This->lpVtbl->GetOptions(This,pfos);
22420}
22421static inline HRESULT IFileOpenDialog_SetDefaultFolder(IFileOpenDialog* This,IShellItem *psi) {
22422 return This->lpVtbl->SetDefaultFolder(This,psi);
22423}
22424static inline HRESULT IFileOpenDialog_SetFolder(IFileOpenDialog* This,IShellItem *psi) {
22425 return This->lpVtbl->SetFolder(This,psi);
22426}
22427static inline HRESULT IFileOpenDialog_GetFolder(IFileOpenDialog* This,IShellItem **ppsi) {
22428 return This->lpVtbl->GetFolder(This,ppsi);
22429}
22430static inline HRESULT IFileOpenDialog_GetCurrentSelection(IFileOpenDialog* This,IShellItem **ppsi) {
22431 return This->lpVtbl->GetCurrentSelection(This,ppsi);
22432}
22433static inline HRESULT IFileOpenDialog_SetFileName(IFileOpenDialog* This,LPCWSTR pszName) {
22434 return This->lpVtbl->SetFileName(This,pszName);
22435}
22436static inline HRESULT IFileOpenDialog_GetFileName(IFileOpenDialog* This,LPWSTR *pszName) {
22437 return This->lpVtbl->GetFileName(This,pszName);
22438}
22439static inline HRESULT IFileOpenDialog_SetTitle(IFileOpenDialog* This,LPCWSTR pszTitle) {
22440 return This->lpVtbl->SetTitle(This,pszTitle);
22441}
22442static inline HRESULT IFileOpenDialog_SetOkButtonLabel(IFileOpenDialog* This,LPCWSTR pszText) {
22443 return This->lpVtbl->SetOkButtonLabel(This,pszText);
22444}
22445static inline HRESULT IFileOpenDialog_SetFileNameLabel(IFileOpenDialog* This,LPCWSTR pszLabel) {
22446 return This->lpVtbl->SetFileNameLabel(This,pszLabel);
22447}
22448static inline HRESULT IFileOpenDialog_GetResult(IFileOpenDialog* This,IShellItem **ppsi) {
22449 return This->lpVtbl->GetResult(This,ppsi);
22450}
22451static inline HRESULT IFileOpenDialog_AddPlace(IFileOpenDialog* This,IShellItem *psi,FDAP fdap) {
22452 return This->lpVtbl->AddPlace(This,psi,fdap);
22453}
22454static inline HRESULT IFileOpenDialog_SetDefaultExtension(IFileOpenDialog* This,LPCWSTR pszDefaultExtension) {
22455 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
22456}
22457static inline HRESULT IFileOpenDialog_Close(IFileOpenDialog* This,HRESULT hr) {
22458 return This->lpVtbl->Close(This,hr);
22459}
22460static inline HRESULT IFileOpenDialog_SetClientGuid(IFileOpenDialog* This,REFGUID guid) {
22461 return This->lpVtbl->SetClientGuid(This,guid);
22462}
22463static inline HRESULT IFileOpenDialog_ClearClientData(IFileOpenDialog* This) {
22464 return This->lpVtbl->ClearClientData(This);
22465}
22466static inline HRESULT IFileOpenDialog_SetFilter(IFileOpenDialog* This,IShellItemFilter *pFilter) {
22467 return This->lpVtbl->SetFilter(This,pFilter);
22468}
22469/*** IFileOpenDialog methods ***/
22470static inline HRESULT IFileOpenDialog_GetResults(IFileOpenDialog* This,IShellItemArray **ppenum) {
22471 return This->lpVtbl->GetResults(This,ppenum);
22472}
22473static inline HRESULT IFileOpenDialog_GetSelectedItems(IFileOpenDialog* This,IShellItemArray **ppsai) {
22474 return This->lpVtbl->GetSelectedItems(This,ppsai);
22475}
22476#endif
22477#endif
22478
22479#endif
22480
22481
22482#endif /* __IFileOpenDialog_INTERFACE_DEFINED__ */
22483
22484
22485typedef enum CDCONTROLSTATEF {
22486 CDCS_INACTIVE = 0x0,
22487 CDCS_ENABLED = 0x1,
22488 CDCS_VISIBLE = 0x2,
22489 CDCS_ENABLEDVISIBLE = 0x3
22490} CDCONTROLSTATEF;
22491
22492DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF)
22493
22494/*****************************************************************************
22495 * IFileDialogCustomize interface
22496 */
22497#ifndef __IFileDialogCustomize_INTERFACE_DEFINED__
22498#define __IFileDialogCustomize_INTERFACE_DEFINED__
22499
22500DEFINE_GUID(IID_IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34);
22501#if defined(__cplusplus) && !defined(CINTERFACE)
22502MIDL_INTERFACE("e6fdd21a-163f-4975-9c8c-a69f1ba37034")
22503IFileDialogCustomize : public IUnknown
22504{
22505 virtual HRESULT STDMETHODCALLTYPE EnableOpenDropDown(
22506 DWORD dwIDCtl) = 0;
22507
22508 virtual HRESULT STDMETHODCALLTYPE AddMenu(
22509 DWORD dwIDCtl,
22510 LPCWSTR pszLabel) = 0;
22511
22512 virtual HRESULT STDMETHODCALLTYPE AddPushButton(
22513 DWORD dwIDCtl,
22514 LPCWSTR pszLabel) = 0;
22515
22516 virtual HRESULT STDMETHODCALLTYPE AddComboBox(
22517 DWORD dwIDCtl) = 0;
22518
22519 virtual HRESULT STDMETHODCALLTYPE AddRadioButtonList(
22520 DWORD dwIDCtl) = 0;
22521
22522 virtual HRESULT STDMETHODCALLTYPE AddCheckButton(
22523 DWORD dwIDCtl,
22524 LPCWSTR pszLabel,
22525 WINBOOL bChecked) = 0;
22526
22527 virtual HRESULT STDMETHODCALLTYPE AddEditBox(
22528 DWORD dwIDCtl,
22529 LPCWSTR pszText) = 0;
22530
22531 virtual HRESULT STDMETHODCALLTYPE AddSeparator(
22532 DWORD dwIDCtl) = 0;
22533
22534 virtual HRESULT STDMETHODCALLTYPE AddText(
22535 DWORD dwIDCtl,
22536 LPCWSTR pszText) = 0;
22537
22538 virtual HRESULT STDMETHODCALLTYPE SetControlLabel(
22539 DWORD dwIDCtl,
22540 LPCWSTR pszLabel) = 0;
22541
22542 virtual HRESULT STDMETHODCALLTYPE GetControlState(
22543 DWORD dwIDCtl,
22544 CDCONTROLSTATEF *pdwState) = 0;
22545
22546 virtual HRESULT STDMETHODCALLTYPE SetControlState(
22547 DWORD dwIDCtl,
22548 CDCONTROLSTATEF dwState) = 0;
22549
22550 virtual HRESULT STDMETHODCALLTYPE GetEditBoxText(
22551 DWORD dwIDCtl,
22552 WCHAR **ppszText) = 0;
22553
22554 virtual HRESULT STDMETHODCALLTYPE SetEditBoxText(
22555 DWORD dwIDCtl,
22556 LPCWSTR pszText) = 0;
22557
22558 virtual HRESULT STDMETHODCALLTYPE GetCheckButtonState(
22559 DWORD dwIDCtl,
22560 WINBOOL *pbChecked) = 0;
22561
22562 virtual HRESULT STDMETHODCALLTYPE SetCheckButtonState(
22563 DWORD dwIDCtl,
22564 WINBOOL bChecked) = 0;
22565
22566 virtual HRESULT STDMETHODCALLTYPE AddControlItem(
22567 DWORD dwIDCtl,
22568 DWORD dwIDItem,
22569 LPCWSTR pszLabel) = 0;
22570
22571 virtual HRESULT STDMETHODCALLTYPE RemoveControlItem(
22572 DWORD dwIDCtl,
22573 DWORD dwIDItem) = 0;
22574
22575 virtual HRESULT STDMETHODCALLTYPE RemoveAllControlItems(
22576 DWORD dwIDCtl) = 0;
22577
22578 virtual HRESULT STDMETHODCALLTYPE GetControlItemState(
22579 DWORD dwIDCtl,
22580 DWORD dwIDItem,
22581 CDCONTROLSTATEF *pdwState) = 0;
22582
22583 virtual HRESULT STDMETHODCALLTYPE SetControlItemState(
22584 DWORD dwIDCtl,
22585 DWORD dwIDItem,
22586 CDCONTROLSTATEF dwState) = 0;
22587
22588 virtual HRESULT STDMETHODCALLTYPE GetSelectedControlItem(
22589 DWORD dwIDCtl,
22590 DWORD *pdwIDItem) = 0;
22591
22592 virtual HRESULT STDMETHODCALLTYPE SetSelectedControlItem(
22593 DWORD dwIDCtl,
22594 DWORD dwIDItem) = 0;
22595
22596 virtual HRESULT STDMETHODCALLTYPE StartVisualGroup(
22597 DWORD dwIDCtl,
22598 LPCWSTR pszLabel) = 0;
22599
22600 virtual HRESULT STDMETHODCALLTYPE EndVisualGroup(
22601 ) = 0;
22602
22603 virtual HRESULT STDMETHODCALLTYPE MakeProminent(
22604 DWORD dwIDCtl) = 0;
22605
22606 virtual HRESULT STDMETHODCALLTYPE SetControlItemText(
22607 DWORD dwIDCtl,
22608 DWORD dwIDItem,
22609 LPCWSTR pszLabel) = 0;
22610
22611};
22612#ifdef __CRT_UUID_DECL
22613__CRT_UUID_DECL(IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34)
22614#endif
22615#else
22616typedef struct IFileDialogCustomizeVtbl {
22617 BEGIN_INTERFACE
22618
22619 /*** IUnknown methods ***/
22620 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22621 IFileDialogCustomize *This,
22622 REFIID riid,
22623 void **ppvObject);
22624
22625 ULONG (STDMETHODCALLTYPE *AddRef)(
22626 IFileDialogCustomize *This);
22627
22628 ULONG (STDMETHODCALLTYPE *Release)(
22629 IFileDialogCustomize *This);
22630
22631 /*** IFileDialogCustomize methods ***/
22632 HRESULT (STDMETHODCALLTYPE *EnableOpenDropDown)(
22633 IFileDialogCustomize *This,
22634 DWORD dwIDCtl);
22635
22636 HRESULT (STDMETHODCALLTYPE *AddMenu)(
22637 IFileDialogCustomize *This,
22638 DWORD dwIDCtl,
22639 LPCWSTR pszLabel);
22640
22641 HRESULT (STDMETHODCALLTYPE *AddPushButton)(
22642 IFileDialogCustomize *This,
22643 DWORD dwIDCtl,
22644 LPCWSTR pszLabel);
22645
22646 HRESULT (STDMETHODCALLTYPE *AddComboBox)(
22647 IFileDialogCustomize *This,
22648 DWORD dwIDCtl);
22649
22650 HRESULT (STDMETHODCALLTYPE *AddRadioButtonList)(
22651 IFileDialogCustomize *This,
22652 DWORD dwIDCtl);
22653
22654 HRESULT (STDMETHODCALLTYPE *AddCheckButton)(
22655 IFileDialogCustomize *This,
22656 DWORD dwIDCtl,
22657 LPCWSTR pszLabel,
22658 WINBOOL bChecked);
22659
22660 HRESULT (STDMETHODCALLTYPE *AddEditBox)(
22661 IFileDialogCustomize *This,
22662 DWORD dwIDCtl,
22663 LPCWSTR pszText);
22664
22665 HRESULT (STDMETHODCALLTYPE *AddSeparator)(
22666 IFileDialogCustomize *This,
22667 DWORD dwIDCtl);
22668
22669 HRESULT (STDMETHODCALLTYPE *AddText)(
22670 IFileDialogCustomize *This,
22671 DWORD dwIDCtl,
22672 LPCWSTR pszText);
22673
22674 HRESULT (STDMETHODCALLTYPE *SetControlLabel)(
22675 IFileDialogCustomize *This,
22676 DWORD dwIDCtl,
22677 LPCWSTR pszLabel);
22678
22679 HRESULT (STDMETHODCALLTYPE *GetControlState)(
22680 IFileDialogCustomize *This,
22681 DWORD dwIDCtl,
22682 CDCONTROLSTATEF *pdwState);
22683
22684 HRESULT (STDMETHODCALLTYPE *SetControlState)(
22685 IFileDialogCustomize *This,
22686 DWORD dwIDCtl,
22687 CDCONTROLSTATEF dwState);
22688
22689 HRESULT (STDMETHODCALLTYPE *GetEditBoxText)(
22690 IFileDialogCustomize *This,
22691 DWORD dwIDCtl,
22692 WCHAR **ppszText);
22693
22694 HRESULT (STDMETHODCALLTYPE *SetEditBoxText)(
22695 IFileDialogCustomize *This,
22696 DWORD dwIDCtl,
22697 LPCWSTR pszText);
22698
22699 HRESULT (STDMETHODCALLTYPE *GetCheckButtonState)(
22700 IFileDialogCustomize *This,
22701 DWORD dwIDCtl,
22702 WINBOOL *pbChecked);
22703
22704 HRESULT (STDMETHODCALLTYPE *SetCheckButtonState)(
22705 IFileDialogCustomize *This,
22706 DWORD dwIDCtl,
22707 WINBOOL bChecked);
22708
22709 HRESULT (STDMETHODCALLTYPE *AddControlItem)(
22710 IFileDialogCustomize *This,
22711 DWORD dwIDCtl,
22712 DWORD dwIDItem,
22713 LPCWSTR pszLabel);
22714
22715 HRESULT (STDMETHODCALLTYPE *RemoveControlItem)(
22716 IFileDialogCustomize *This,
22717 DWORD dwIDCtl,
22718 DWORD dwIDItem);
22719
22720 HRESULT (STDMETHODCALLTYPE *RemoveAllControlItems)(
22721 IFileDialogCustomize *This,
22722 DWORD dwIDCtl);
22723
22724 HRESULT (STDMETHODCALLTYPE *GetControlItemState)(
22725 IFileDialogCustomize *This,
22726 DWORD dwIDCtl,
22727 DWORD dwIDItem,
22728 CDCONTROLSTATEF *pdwState);
22729
22730 HRESULT (STDMETHODCALLTYPE *SetControlItemState)(
22731 IFileDialogCustomize *This,
22732 DWORD dwIDCtl,
22733 DWORD dwIDItem,
22734 CDCONTROLSTATEF dwState);
22735
22736 HRESULT (STDMETHODCALLTYPE *GetSelectedControlItem)(
22737 IFileDialogCustomize *This,
22738 DWORD dwIDCtl,
22739 DWORD *pdwIDItem);
22740
22741 HRESULT (STDMETHODCALLTYPE *SetSelectedControlItem)(
22742 IFileDialogCustomize *This,
22743 DWORD dwIDCtl,
22744 DWORD dwIDItem);
22745
22746 HRESULT (STDMETHODCALLTYPE *StartVisualGroup)(
22747 IFileDialogCustomize *This,
22748 DWORD dwIDCtl,
22749 LPCWSTR pszLabel);
22750
22751 HRESULT (STDMETHODCALLTYPE *EndVisualGroup)(
22752 IFileDialogCustomize *This);
22753
22754 HRESULT (STDMETHODCALLTYPE *MakeProminent)(
22755 IFileDialogCustomize *This,
22756 DWORD dwIDCtl);
22757
22758 HRESULT (STDMETHODCALLTYPE *SetControlItemText)(
22759 IFileDialogCustomize *This,
22760 DWORD dwIDCtl,
22761 DWORD dwIDItem,
22762 LPCWSTR pszLabel);
22763
22764 END_INTERFACE
22765} IFileDialogCustomizeVtbl;
22766
22767interface IFileDialogCustomize {
22768 CONST_VTBL IFileDialogCustomizeVtbl* lpVtbl;
22769};
22770
22771#ifdef COBJMACROS
22772#ifndef WIDL_C_INLINE_WRAPPERS
22773/*** IUnknown methods ***/
22774#define IFileDialogCustomize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22775#define IFileDialogCustomize_AddRef(This) (This)->lpVtbl->AddRef(This)
22776#define IFileDialogCustomize_Release(This) (This)->lpVtbl->Release(This)
22777/*** IFileDialogCustomize methods ***/
22778#define IFileDialogCustomize_EnableOpenDropDown(This,dwIDCtl) (This)->lpVtbl->EnableOpenDropDown(This,dwIDCtl)
22779#define IFileDialogCustomize_AddMenu(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddMenu(This,dwIDCtl,pszLabel)
22780#define IFileDialogCustomize_AddPushButton(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel)
22781#define IFileDialogCustomize_AddComboBox(This,dwIDCtl) (This)->lpVtbl->AddComboBox(This,dwIDCtl)
22782#define IFileDialogCustomize_AddRadioButtonList(This,dwIDCtl) (This)->lpVtbl->AddRadioButtonList(This,dwIDCtl)
22783#define IFileDialogCustomize_AddCheckButton(This,dwIDCtl,pszLabel,bChecked) (This)->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked)
22784#define IFileDialogCustomize_AddEditBox(This,dwIDCtl,pszText) (This)->lpVtbl->AddEditBox(This,dwIDCtl,pszText)
22785#define IFileDialogCustomize_AddSeparator(This,dwIDCtl) (This)->lpVtbl->AddSeparator(This,dwIDCtl)
22786#define IFileDialogCustomize_AddText(This,dwIDCtl,pszText) (This)->lpVtbl->AddText(This,dwIDCtl,pszText)
22787#define IFileDialogCustomize_SetControlLabel(This,dwIDCtl,pszLabel) (This)->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel)
22788#define IFileDialogCustomize_GetControlState(This,dwIDCtl,pdwState) (This)->lpVtbl->GetControlState(This,dwIDCtl,pdwState)
22789#define IFileDialogCustomize_SetControlState(This,dwIDCtl,dwState) (This)->lpVtbl->SetControlState(This,dwIDCtl,dwState)
22790#define IFileDialogCustomize_GetEditBoxText(This,dwIDCtl,ppszText) (This)->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText)
22791#define IFileDialogCustomize_SetEditBoxText(This,dwIDCtl,pszText) (This)->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText)
22792#define IFileDialogCustomize_GetCheckButtonState(This,dwIDCtl,pbChecked) (This)->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked)
22793#define IFileDialogCustomize_SetCheckButtonState(This,dwIDCtl,bChecked) (This)->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked)
22794#define IFileDialogCustomize_AddControlItem(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel)
22795#define IFileDialogCustomize_RemoveControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem)
22796#define IFileDialogCustomize_RemoveAllControlItems(This,dwIDCtl) (This)->lpVtbl->RemoveAllControlItems(This,dwIDCtl)
22797#define IFileDialogCustomize_GetControlItemState(This,dwIDCtl,dwIDItem,pdwState) (This)->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState)
22798#define IFileDialogCustomize_SetControlItemState(This,dwIDCtl,dwIDItem,dwState) (This)->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState)
22799#define IFileDialogCustomize_GetSelectedControlItem(This,dwIDCtl,pdwIDItem) (This)->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem)
22800#define IFileDialogCustomize_SetSelectedControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem)
22801#define IFileDialogCustomize_StartVisualGroup(This,dwIDCtl,pszLabel) (This)->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel)
22802#define IFileDialogCustomize_EndVisualGroup(This) (This)->lpVtbl->EndVisualGroup(This)
22803#define IFileDialogCustomize_MakeProminent(This,dwIDCtl) (This)->lpVtbl->MakeProminent(This,dwIDCtl)
22804#define IFileDialogCustomize_SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel)
22805#else
22806/*** IUnknown methods ***/
22807static inline HRESULT IFileDialogCustomize_QueryInterface(IFileDialogCustomize* This,REFIID riid,void **ppvObject) {
22808 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22809}
22810static inline ULONG IFileDialogCustomize_AddRef(IFileDialogCustomize* This) {
22811 return This->lpVtbl->AddRef(This);
22812}
22813static inline ULONG IFileDialogCustomize_Release(IFileDialogCustomize* This) {
22814 return This->lpVtbl->Release(This);
22815}
22816/*** IFileDialogCustomize methods ***/
22817static inline HRESULT IFileDialogCustomize_EnableOpenDropDown(IFileDialogCustomize* This,DWORD dwIDCtl) {
22818 return This->lpVtbl->EnableOpenDropDown(This,dwIDCtl);
22819}
22820static inline HRESULT IFileDialogCustomize_AddMenu(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
22821 return This->lpVtbl->AddMenu(This,dwIDCtl,pszLabel);
22822}
22823static inline HRESULT IFileDialogCustomize_AddPushButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
22824 return This->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel);
22825}
22826static inline HRESULT IFileDialogCustomize_AddComboBox(IFileDialogCustomize* This,DWORD dwIDCtl) {
22827 return This->lpVtbl->AddComboBox(This,dwIDCtl);
22828}
22829static inline HRESULT IFileDialogCustomize_AddRadioButtonList(IFileDialogCustomize* This,DWORD dwIDCtl) {
22830 return This->lpVtbl->AddRadioButtonList(This,dwIDCtl);
22831}
22832static inline HRESULT IFileDialogCustomize_AddCheckButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel,WINBOOL bChecked) {
22833 return This->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked);
22834}
22835static inline HRESULT IFileDialogCustomize_AddEditBox(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
22836 return This->lpVtbl->AddEditBox(This,dwIDCtl,pszText);
22837}
22838static inline HRESULT IFileDialogCustomize_AddSeparator(IFileDialogCustomize* This,DWORD dwIDCtl) {
22839 return This->lpVtbl->AddSeparator(This,dwIDCtl);
22840}
22841static inline HRESULT IFileDialogCustomize_AddText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
22842 return This->lpVtbl->AddText(This,dwIDCtl,pszText);
22843}
22844static inline HRESULT IFileDialogCustomize_SetControlLabel(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
22845 return This->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel);
22846}
22847static inline HRESULT IFileDialogCustomize_GetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF *pdwState) {
22848 return This->lpVtbl->GetControlState(This,dwIDCtl,pdwState);
22849}
22850static inline HRESULT IFileDialogCustomize_SetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF dwState) {
22851 return This->lpVtbl->SetControlState(This,dwIDCtl,dwState);
22852}
22853static inline HRESULT IFileDialogCustomize_GetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,WCHAR **ppszText) {
22854 return This->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText);
22855}
22856static inline HRESULT IFileDialogCustomize_SetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
22857 return This->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText);
22858}
22859static inline HRESULT IFileDialogCustomize_GetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL *pbChecked) {
22860 return This->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked);
22861}
22862static inline HRESULT IFileDialogCustomize_SetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL bChecked) {
22863 return This->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked);
22864}
22865static inline HRESULT IFileDialogCustomize_AddControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) {
22866 return This->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel);
22867}
22868static inline HRESULT IFileDialogCustomize_RemoveControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) {
22869 return This->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem);
22870}
22871static inline HRESULT IFileDialogCustomize_RemoveAllControlItems(IFileDialogCustomize* This,DWORD dwIDCtl) {
22872 return This->lpVtbl->RemoveAllControlItems(This,dwIDCtl);
22873}
22874static inline HRESULT IFileDialogCustomize_GetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF *pdwState) {
22875 return This->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState);
22876}
22877static inline HRESULT IFileDialogCustomize_SetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF dwState) {
22878 return This->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState);
22879}
22880static inline HRESULT IFileDialogCustomize_GetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD *pdwIDItem) {
22881 return This->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem);
22882}
22883static inline HRESULT IFileDialogCustomize_SetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) {
22884 return This->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem);
22885}
22886static inline HRESULT IFileDialogCustomize_StartVisualGroup(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
22887 return This->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel);
22888}
22889static inline HRESULT IFileDialogCustomize_EndVisualGroup(IFileDialogCustomize* This) {
22890 return This->lpVtbl->EndVisualGroup(This);
22891}
22892static inline HRESULT IFileDialogCustomize_MakeProminent(IFileDialogCustomize* This,DWORD dwIDCtl) {
22893 return This->lpVtbl->MakeProminent(This,dwIDCtl);
22894}
22895static inline HRESULT IFileDialogCustomize_SetControlItemText(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) {
22896 return This->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel);
22897}
22898#endif
22899#endif
22900
22901#endif
22902
22903
22904#endif /* __IFileDialogCustomize_INTERFACE_DEFINED__ */
22905
22906
22907/*****************************************************************************
22908 * IFileDialogControlEvents interface
22909 */
22910#ifndef __IFileDialogControlEvents_INTERFACE_DEFINED__
22911#define __IFileDialogControlEvents_INTERFACE_DEFINED__
22912
22913DEFINE_GUID(IID_IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33);
22914#if defined(__cplusplus) && !defined(CINTERFACE)
22915MIDL_INTERFACE("36116642-d713-4b97-9b83-7484a9d00433")
22916IFileDialogControlEvents : public IUnknown
22917{
22918 virtual HRESULT STDMETHODCALLTYPE OnItemSelected(
22919 IFileDialogCustomize *pfdc,
22920 DWORD dwIDCtl,
22921 DWORD dwIDItem) = 0;
22922
22923 virtual HRESULT STDMETHODCALLTYPE OnButtonClicked(
22924 IFileDialogCustomize *pfdc,
22925 DWORD dwIDCtl) = 0;
22926
22927 virtual HRESULT STDMETHODCALLTYPE OnCheckButtonToggled(
22928 IFileDialogCustomize *pfdc,
22929 DWORD dwIDCtl,
22930 WINBOOL bChecked) = 0;
22931
22932 virtual HRESULT STDMETHODCALLTYPE OnControlActivating(
22933 IFileDialogCustomize *pfdc,
22934 DWORD dwIDCtl) = 0;
22935
22936};
22937#ifdef __CRT_UUID_DECL
22938__CRT_UUID_DECL(IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33)
22939#endif
22940#else
22941typedef struct IFileDialogControlEventsVtbl {
22942 BEGIN_INTERFACE
22943
22944 /*** IUnknown methods ***/
22945 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22946 IFileDialogControlEvents *This,
22947 REFIID riid,
22948 void **ppvObject);
22949
22950 ULONG (STDMETHODCALLTYPE *AddRef)(
22951 IFileDialogControlEvents *This);
22952
22953 ULONG (STDMETHODCALLTYPE *Release)(
22954 IFileDialogControlEvents *This);
22955
22956 /*** IFileDialogControlEvents methods ***/
22957 HRESULT (STDMETHODCALLTYPE *OnItemSelected)(
22958 IFileDialogControlEvents *This,
22959 IFileDialogCustomize *pfdc,
22960 DWORD dwIDCtl,
22961 DWORD dwIDItem);
22962
22963 HRESULT (STDMETHODCALLTYPE *OnButtonClicked)(
22964 IFileDialogControlEvents *This,
22965 IFileDialogCustomize *pfdc,
22966 DWORD dwIDCtl);
22967
22968 HRESULT (STDMETHODCALLTYPE *OnCheckButtonToggled)(
22969 IFileDialogControlEvents *This,
22970 IFileDialogCustomize *pfdc,
22971 DWORD dwIDCtl,
22972 WINBOOL bChecked);
22973
22974 HRESULT (STDMETHODCALLTYPE *OnControlActivating)(
22975 IFileDialogControlEvents *This,
22976 IFileDialogCustomize *pfdc,
22977 DWORD dwIDCtl);
22978
22979 END_INTERFACE
22980} IFileDialogControlEventsVtbl;
22981
22982interface IFileDialogControlEvents {
22983 CONST_VTBL IFileDialogControlEventsVtbl* lpVtbl;
22984};
22985
22986#ifdef COBJMACROS
22987#ifndef WIDL_C_INLINE_WRAPPERS
22988/*** IUnknown methods ***/
22989#define IFileDialogControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22990#define IFileDialogControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
22991#define IFileDialogControlEvents_Release(This) (This)->lpVtbl->Release(This)
22992/*** IFileDialogControlEvents methods ***/
22993#define IFileDialogControlEvents_OnItemSelected(This,pfdc,dwIDCtl,dwIDItem) (This)->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem)
22994#define IFileDialogControlEvents_OnButtonClicked(This,pfdc,dwIDCtl) (This)->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl)
22995#define IFileDialogControlEvents_OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked) (This)->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked)
22996#define IFileDialogControlEvents_OnControlActivating(This,pfdc,dwIDCtl) (This)->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl)
22997#else
22998/*** IUnknown methods ***/
22999static inline HRESULT IFileDialogControlEvents_QueryInterface(IFileDialogControlEvents* This,REFIID riid,void **ppvObject) {
23000 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23001}
23002static inline ULONG IFileDialogControlEvents_AddRef(IFileDialogControlEvents* This) {
23003 return This->lpVtbl->AddRef(This);
23004}
23005static inline ULONG IFileDialogControlEvents_Release(IFileDialogControlEvents* This) {
23006 return This->lpVtbl->Release(This);
23007}
23008/*** IFileDialogControlEvents methods ***/
23009static inline HRESULT IFileDialogControlEvents_OnItemSelected(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,DWORD dwIDItem) {
23010 return This->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem);
23011}
23012static inline HRESULT IFileDialogControlEvents_OnButtonClicked(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) {
23013 return This->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl);
23014}
23015static inline HRESULT IFileDialogControlEvents_OnCheckButtonToggled(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,WINBOOL bChecked) {
23016 return This->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked);
23017}
23018static inline HRESULT IFileDialogControlEvents_OnControlActivating(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) {
23019 return This->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl);
23020}
23021#endif
23022#endif
23023
23024#endif
23025
23026
23027#endif /* __IFileDialogControlEvents_INTERFACE_DEFINED__ */
23028
23029
23030/*****************************************************************************
23031 * IFileDialog2 interface
23032 */
23033#ifndef __IFileDialog2_INTERFACE_DEFINED__
23034#define __IFileDialog2_INTERFACE_DEFINED__
23035
23036DEFINE_GUID(IID_IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13);
23037#if defined(__cplusplus) && !defined(CINTERFACE)
23038MIDL_INTERFACE("61744fc7-85b5-4791-a9b0-272276309b13")
23039IFileDialog2 : public IFileDialog
23040{
23041 virtual HRESULT STDMETHODCALLTYPE SetCancelButtonLabel(
23042 LPCWSTR pszLabel) = 0;
23043
23044 virtual HRESULT STDMETHODCALLTYPE SetNavigationRoot(
23045 IShellItem *psi) = 0;
23046
23047};
23048#ifdef __CRT_UUID_DECL
23049__CRT_UUID_DECL(IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13)
23050#endif
23051#else
23052typedef struct IFileDialog2Vtbl {
23053 BEGIN_INTERFACE
23054
23055 /*** IUnknown methods ***/
23056 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23057 IFileDialog2 *This,
23058 REFIID riid,
23059 void **ppvObject);
23060
23061 ULONG (STDMETHODCALLTYPE *AddRef)(
23062 IFileDialog2 *This);
23063
23064 ULONG (STDMETHODCALLTYPE *Release)(
23065 IFileDialog2 *This);
23066
23067 /*** IModalWindow methods ***/
23068 HRESULT (STDMETHODCALLTYPE *Show)(
23069 IFileDialog2 *This,
23070 HWND hwndOwner);
23071
23072 /*** IFileDialog methods ***/
23073 HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
23074 IFileDialog2 *This,
23075 UINT cFileTypes,
23076 const COMDLG_FILTERSPEC *rgFilterSpec);
23077
23078 HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
23079 IFileDialog2 *This,
23080 UINT iFileType);
23081
23082 HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
23083 IFileDialog2 *This,
23084 UINT *piFileType);
23085
23086 HRESULT (STDMETHODCALLTYPE *Advise)(
23087 IFileDialog2 *This,
23088 IFileDialogEvents *pfde,
23089 DWORD *pdwCookie);
23090
23091 HRESULT (STDMETHODCALLTYPE *Unadvise)(
23092 IFileDialog2 *This,
23093 DWORD dwCookie);
23094
23095 HRESULT (STDMETHODCALLTYPE *SetOptions)(
23096 IFileDialog2 *This,
23097 FILEOPENDIALOGOPTIONS fos);
23098
23099 HRESULT (STDMETHODCALLTYPE *GetOptions)(
23100 IFileDialog2 *This,
23101 FILEOPENDIALOGOPTIONS *pfos);
23102
23103 HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
23104 IFileDialog2 *This,
23105 IShellItem *psi);
23106
23107 HRESULT (STDMETHODCALLTYPE *SetFolder)(
23108 IFileDialog2 *This,
23109 IShellItem *psi);
23110
23111 HRESULT (STDMETHODCALLTYPE *GetFolder)(
23112 IFileDialog2 *This,
23113 IShellItem **ppsi);
23114
23115 HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
23116 IFileDialog2 *This,
23117 IShellItem **ppsi);
23118
23119 HRESULT (STDMETHODCALLTYPE *SetFileName)(
23120 IFileDialog2 *This,
23121 LPCWSTR pszName);
23122
23123 HRESULT (STDMETHODCALLTYPE *GetFileName)(
23124 IFileDialog2 *This,
23125 LPWSTR *pszName);
23126
23127 HRESULT (STDMETHODCALLTYPE *SetTitle)(
23128 IFileDialog2 *This,
23129 LPCWSTR pszTitle);
23130
23131 HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
23132 IFileDialog2 *This,
23133 LPCWSTR pszText);
23134
23135 HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
23136 IFileDialog2 *This,
23137 LPCWSTR pszLabel);
23138
23139 HRESULT (STDMETHODCALLTYPE *GetResult)(
23140 IFileDialog2 *This,
23141 IShellItem **ppsi);
23142
23143 HRESULT (STDMETHODCALLTYPE *AddPlace)(
23144 IFileDialog2 *This,
23145 IShellItem *psi,
23146 FDAP fdap);
23147
23148 HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
23149 IFileDialog2 *This,
23150 LPCWSTR pszDefaultExtension);
23151
23152 HRESULT (STDMETHODCALLTYPE *Close)(
23153 IFileDialog2 *This,
23154 HRESULT hr);
23155
23156 HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
23157 IFileDialog2 *This,
23158 REFGUID guid);
23159
23160 HRESULT (STDMETHODCALLTYPE *ClearClientData)(
23161 IFileDialog2 *This);
23162
23163 HRESULT (STDMETHODCALLTYPE *SetFilter)(
23164 IFileDialog2 *This,
23165 IShellItemFilter *pFilter);
23166
23167 /*** IFileDialog2 methods ***/
23168 HRESULT (STDMETHODCALLTYPE *SetCancelButtonLabel)(
23169 IFileDialog2 *This,
23170 LPCWSTR pszLabel);
23171
23172 HRESULT (STDMETHODCALLTYPE *SetNavigationRoot)(
23173 IFileDialog2 *This,
23174 IShellItem *psi);
23175
23176 END_INTERFACE
23177} IFileDialog2Vtbl;
23178
23179interface IFileDialog2 {
23180 CONST_VTBL IFileDialog2Vtbl* lpVtbl;
23181};
23182
23183#ifdef COBJMACROS
23184#ifndef WIDL_C_INLINE_WRAPPERS
23185/*** IUnknown methods ***/
23186#define IFileDialog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23187#define IFileDialog2_AddRef(This) (This)->lpVtbl->AddRef(This)
23188#define IFileDialog2_Release(This) (This)->lpVtbl->Release(This)
23189/*** IModalWindow methods ***/
23190#define IFileDialog2_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
23191/*** IFileDialog methods ***/
23192#define IFileDialog2_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
23193#define IFileDialog2_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
23194#define IFileDialog2_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
23195#define IFileDialog2_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
23196#define IFileDialog2_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
23197#define IFileDialog2_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
23198#define IFileDialog2_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
23199#define IFileDialog2_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
23200#define IFileDialog2_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
23201#define IFileDialog2_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
23202#define IFileDialog2_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
23203#define IFileDialog2_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
23204#define IFileDialog2_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
23205#define IFileDialog2_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
23206#define IFileDialog2_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
23207#define IFileDialog2_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
23208#define IFileDialog2_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
23209#define IFileDialog2_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
23210#define IFileDialog2_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
23211#define IFileDialog2_Close(This,hr) (This)->lpVtbl->Close(This,hr)
23212#define IFileDialog2_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
23213#define IFileDialog2_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
23214#define IFileDialog2_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
23215/*** IFileDialog2 methods ***/
23216#define IFileDialog2_SetCancelButtonLabel(This,pszLabel) (This)->lpVtbl->SetCancelButtonLabel(This,pszLabel)
23217#define IFileDialog2_SetNavigationRoot(This,psi) (This)->lpVtbl->SetNavigationRoot(This,psi)
23218#else
23219/*** IUnknown methods ***/
23220static inline HRESULT IFileDialog2_QueryInterface(IFileDialog2* This,REFIID riid,void **ppvObject) {
23221 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23222}
23223static inline ULONG IFileDialog2_AddRef(IFileDialog2* This) {
23224 return This->lpVtbl->AddRef(This);
23225}
23226static inline ULONG IFileDialog2_Release(IFileDialog2* This) {
23227 return This->lpVtbl->Release(This);
23228}
23229/*** IModalWindow methods ***/
23230static inline HRESULT IFileDialog2_Show(IFileDialog2* This,HWND hwndOwner) {
23231 return This->lpVtbl->Show(This,hwndOwner);
23232}
23233/*** IFileDialog methods ***/
23234static inline HRESULT IFileDialog2_SetFileTypes(IFileDialog2* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
23235 return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
23236}
23237static inline HRESULT IFileDialog2_SetFileTypeIndex(IFileDialog2* This,UINT iFileType) {
23238 return This->lpVtbl->SetFileTypeIndex(This,iFileType);
23239}
23240static inline HRESULT IFileDialog2_GetFileTypeIndex(IFileDialog2* This,UINT *piFileType) {
23241 return This->lpVtbl->GetFileTypeIndex(This,piFileType);
23242}
23243static inline HRESULT IFileDialog2_Advise(IFileDialog2* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
23244 return This->lpVtbl->Advise(This,pfde,pdwCookie);
23245}
23246static inline HRESULT IFileDialog2_Unadvise(IFileDialog2* This,DWORD dwCookie) {
23247 return This->lpVtbl->Unadvise(This,dwCookie);
23248}
23249static inline HRESULT IFileDialog2_SetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS fos) {
23250 return This->lpVtbl->SetOptions(This,fos);
23251}
23252static inline HRESULT IFileDialog2_GetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS *pfos) {
23253 return This->lpVtbl->GetOptions(This,pfos);
23254}
23255static inline HRESULT IFileDialog2_SetDefaultFolder(IFileDialog2* This,IShellItem *psi) {
23256 return This->lpVtbl->SetDefaultFolder(This,psi);
23257}
23258static inline HRESULT IFileDialog2_SetFolder(IFileDialog2* This,IShellItem *psi) {
23259 return This->lpVtbl->SetFolder(This,psi);
23260}
23261static inline HRESULT IFileDialog2_GetFolder(IFileDialog2* This,IShellItem **ppsi) {
23262 return This->lpVtbl->GetFolder(This,ppsi);
23263}
23264static inline HRESULT IFileDialog2_GetCurrentSelection(IFileDialog2* This,IShellItem **ppsi) {
23265 return This->lpVtbl->GetCurrentSelection(This,ppsi);
23266}
23267static inline HRESULT IFileDialog2_SetFileName(IFileDialog2* This,LPCWSTR pszName) {
23268 return This->lpVtbl->SetFileName(This,pszName);
23269}
23270static inline HRESULT IFileDialog2_GetFileName(IFileDialog2* This,LPWSTR *pszName) {
23271 return This->lpVtbl->GetFileName(This,pszName);
23272}
23273static inline HRESULT IFileDialog2_SetTitle(IFileDialog2* This,LPCWSTR pszTitle) {
23274 return This->lpVtbl->SetTitle(This,pszTitle);
23275}
23276static inline HRESULT IFileDialog2_SetOkButtonLabel(IFileDialog2* This,LPCWSTR pszText) {
23277 return This->lpVtbl->SetOkButtonLabel(This,pszText);
23278}
23279static inline HRESULT IFileDialog2_SetFileNameLabel(IFileDialog2* This,LPCWSTR pszLabel) {
23280 return This->lpVtbl->SetFileNameLabel(This,pszLabel);
23281}
23282static inline HRESULT IFileDialog2_GetResult(IFileDialog2* This,IShellItem **ppsi) {
23283 return This->lpVtbl->GetResult(This,ppsi);
23284}
23285static inline HRESULT IFileDialog2_AddPlace(IFileDialog2* This,IShellItem *psi,FDAP fdap) {
23286 return This->lpVtbl->AddPlace(This,psi,fdap);
23287}
23288static inline HRESULT IFileDialog2_SetDefaultExtension(IFileDialog2* This,LPCWSTR pszDefaultExtension) {
23289 return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
23290}
23291static inline HRESULT IFileDialog2_Close(IFileDialog2* This,HRESULT hr) {
23292 return This->lpVtbl->Close(This,hr);
23293}
23294static inline HRESULT IFileDialog2_SetClientGuid(IFileDialog2* This,REFGUID guid) {
23295 return This->lpVtbl->SetClientGuid(This,guid);
23296}
23297static inline HRESULT IFileDialog2_ClearClientData(IFileDialog2* This) {
23298 return This->lpVtbl->ClearClientData(This);
23299}
23300static inline HRESULT IFileDialog2_SetFilter(IFileDialog2* This,IShellItemFilter *pFilter) {
23301 return This->lpVtbl->SetFilter(This,pFilter);
23302}
23303/*** IFileDialog2 methods ***/
23304static inline HRESULT IFileDialog2_SetCancelButtonLabel(IFileDialog2* This,LPCWSTR pszLabel) {
23305 return This->lpVtbl->SetCancelButtonLabel(This,pszLabel);
23306}
23307static inline HRESULT IFileDialog2_SetNavigationRoot(IFileDialog2* This,IShellItem *psi) {
23308 return This->lpVtbl->SetNavigationRoot(This,psi);
23309}
23310#endif
23311#endif
23312
23313#endif
23314
23315
23316#endif /* __IFileDialog2_INTERFACE_DEFINED__ */
23317
23318
23319typedef enum ASSOCIATIONLEVEL {
23320 AL_MACHINE = 0,
23321 AL_EFFECTIVE = 1,
23322 AL_USER = 2
23323} ASSOCIATIONLEVEL;
23324
23325typedef enum ASSOCIATIONTYPE {
23326 AT_FILEEXTENSION = 0,
23327 AT_URLPROTOCOL = 1,
23328 AT_STARTMENUCLIENT = 2,
23329 AT_MIMETYPE = 3
23330} ASSOCIATIONTYPE;
23331
23332/*****************************************************************************
23333 * IApplicationAssociationRegistration interface
23334 */
23335#ifndef __IApplicationAssociationRegistration_INTERFACE_DEFINED__
23336#define __IApplicationAssociationRegistration_INTERFACE_DEFINED__
23337
23338DEFINE_GUID(IID_IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b);
23339#if defined(__cplusplus) && !defined(CINTERFACE)
23340MIDL_INTERFACE("4e530b0a-e611-4c77-a3ac-9031d022281b")
23341IApplicationAssociationRegistration : public IUnknown
23342{
23343 virtual HRESULT STDMETHODCALLTYPE QueryCurrentDefault(
23344 LPCWSTR pszQuery,
23345 ASSOCIATIONTYPE atQueryType,
23346 ASSOCIATIONLEVEL alQueryLevel,
23347 LPWSTR *ppszAssociation) = 0;
23348
23349 virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefault(
23350 LPCWSTR pszQuery,
23351 ASSOCIATIONTYPE atQueryType,
23352 ASSOCIATIONLEVEL alQueryLevel,
23353 LPCWSTR pszAppRegistryName,
23354 WINBOOL *pfDefault) = 0;
23355
23356 virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefaultAll(
23357 ASSOCIATIONLEVEL alQueryLevel,
23358 LPCWSTR pszAppRegistryName,
23359 WINBOOL *pfDefault) = 0;
23360
23361 virtual HRESULT STDMETHODCALLTYPE SetAppAsDefault(
23362 LPCWSTR pszAppRegistryName,
23363 LPCWSTR pszSet,
23364 ASSOCIATIONTYPE atSetType) = 0;
23365
23366 virtual HRESULT STDMETHODCALLTYPE SetAppAsDefaultAll(
23367 LPCWSTR pszAppRegistryName) = 0;
23368
23369 virtual HRESULT STDMETHODCALLTYPE ClearUserAssociations(
23370 ) = 0;
23371
23372};
23373#ifdef __CRT_UUID_DECL
23374__CRT_UUID_DECL(IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b)
23375#endif
23376#else
23377typedef struct IApplicationAssociationRegistrationVtbl {
23378 BEGIN_INTERFACE
23379
23380 /*** IUnknown methods ***/
23381 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23382 IApplicationAssociationRegistration *This,
23383 REFIID riid,
23384 void **ppvObject);
23385
23386 ULONG (STDMETHODCALLTYPE *AddRef)(
23387 IApplicationAssociationRegistration *This);
23388
23389 ULONG (STDMETHODCALLTYPE *Release)(
23390 IApplicationAssociationRegistration *This);
23391
23392 /*** IApplicationAssociationRegistration methods ***/
23393 HRESULT (STDMETHODCALLTYPE *QueryCurrentDefault)(
23394 IApplicationAssociationRegistration *This,
23395 LPCWSTR pszQuery,
23396 ASSOCIATIONTYPE atQueryType,
23397 ASSOCIATIONLEVEL alQueryLevel,
23398 LPWSTR *ppszAssociation);
23399
23400 HRESULT (STDMETHODCALLTYPE *QueryAppIsDefault)(
23401 IApplicationAssociationRegistration *This,
23402 LPCWSTR pszQuery,
23403 ASSOCIATIONTYPE atQueryType,
23404 ASSOCIATIONLEVEL alQueryLevel,
23405 LPCWSTR pszAppRegistryName,
23406 WINBOOL *pfDefault);
23407
23408 HRESULT (STDMETHODCALLTYPE *QueryAppIsDefaultAll)(
23409 IApplicationAssociationRegistration *This,
23410 ASSOCIATIONLEVEL alQueryLevel,
23411 LPCWSTR pszAppRegistryName,
23412 WINBOOL *pfDefault);
23413
23414 HRESULT (STDMETHODCALLTYPE *SetAppAsDefault)(
23415 IApplicationAssociationRegistration *This,
23416 LPCWSTR pszAppRegistryName,
23417 LPCWSTR pszSet,
23418 ASSOCIATIONTYPE atSetType);
23419
23420 HRESULT (STDMETHODCALLTYPE *SetAppAsDefaultAll)(
23421 IApplicationAssociationRegistration *This,
23422 LPCWSTR pszAppRegistryName);
23423
23424 HRESULT (STDMETHODCALLTYPE *ClearUserAssociations)(
23425 IApplicationAssociationRegistration *This);
23426
23427 END_INTERFACE
23428} IApplicationAssociationRegistrationVtbl;
23429
23430interface IApplicationAssociationRegistration {
23431 CONST_VTBL IApplicationAssociationRegistrationVtbl* lpVtbl;
23432};
23433
23434#ifdef COBJMACROS
23435#ifndef WIDL_C_INLINE_WRAPPERS
23436/*** IUnknown methods ***/
23437#define IApplicationAssociationRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23438#define IApplicationAssociationRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
23439#define IApplicationAssociationRegistration_Release(This) (This)->lpVtbl->Release(This)
23440/*** IApplicationAssociationRegistration methods ***/
23441#define IApplicationAssociationRegistration_QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation) (This)->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation)
23442#define IApplicationAssociationRegistration_QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault)
23443#define IApplicationAssociationRegistration_QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault)
23444#define IApplicationAssociationRegistration_SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType) (This)->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType)
23445#define IApplicationAssociationRegistration_SetAppAsDefaultAll(This,pszAppRegistryName) (This)->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName)
23446#define IApplicationAssociationRegistration_ClearUserAssociations(This) (This)->lpVtbl->ClearUserAssociations(This)
23447#else
23448/*** IUnknown methods ***/
23449static inline HRESULT IApplicationAssociationRegistration_QueryInterface(IApplicationAssociationRegistration* This,REFIID riid,void **ppvObject) {
23450 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23451}
23452static inline ULONG IApplicationAssociationRegistration_AddRef(IApplicationAssociationRegistration* This) {
23453 return This->lpVtbl->AddRef(This);
23454}
23455static inline ULONG IApplicationAssociationRegistration_Release(IApplicationAssociationRegistration* This) {
23456 return This->lpVtbl->Release(This);
23457}
23458/*** IApplicationAssociationRegistration methods ***/
23459static inline HRESULT IApplicationAssociationRegistration_QueryCurrentDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPWSTR *ppszAssociation) {
23460 return This->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation);
23461}
23462static inline HRESULT IApplicationAssociationRegistration_QueryAppIsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) {
23463 return This->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault);
23464}
23465static inline HRESULT IApplicationAssociationRegistration_QueryAppIsDefaultAll(IApplicationAssociationRegistration* This,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) {
23466 return This->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault);
23467}
23468static inline HRESULT IApplicationAssociationRegistration_SetAppAsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName,LPCWSTR pszSet,ASSOCIATIONTYPE atSetType) {
23469 return This->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType);
23470}
23471static inline HRESULT IApplicationAssociationRegistration_SetAppAsDefaultAll(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName) {
23472 return This->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName);
23473}
23474static inline HRESULT IApplicationAssociationRegistration_ClearUserAssociations(IApplicationAssociationRegistration* This) {
23475 return This->lpVtbl->ClearUserAssociations(This);
23476}
23477#endif
23478#endif
23479
23480#endif
23481
23482
23483#endif /* __IApplicationAssociationRegistration_INTERFACE_DEFINED__ */
23484
23485
23486SHSTDAPI SHCreateAssociationRegistration(REFIID riid, void **ppv);
23487
23488/*****************************************************************************
23489 * IApplicationAssociationRegistrationUI interface
23490 */
23491#ifndef __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
23492#define __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
23493
23494DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10);
23495#if defined(__cplusplus) && !defined(CINTERFACE)
23496MIDL_INTERFACE("1f76a169-f994-40ac-8fc8-0959e8874710")
23497IApplicationAssociationRegistrationUI : public IUnknown
23498{
23499 virtual HRESULT STDMETHODCALLTYPE LaunchAdvancedAssociationUI(
23500 LPCWSTR pszAppRegistryName) = 0;
23501
23502};
23503#ifdef __CRT_UUID_DECL
23504__CRT_UUID_DECL(IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10)
23505#endif
23506#else
23507typedef struct IApplicationAssociationRegistrationUIVtbl {
23508 BEGIN_INTERFACE
23509
23510 /*** IUnknown methods ***/
23511 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23512 IApplicationAssociationRegistrationUI *This,
23513 REFIID riid,
23514 void **ppvObject);
23515
23516 ULONG (STDMETHODCALLTYPE *AddRef)(
23517 IApplicationAssociationRegistrationUI *This);
23518
23519 ULONG (STDMETHODCALLTYPE *Release)(
23520 IApplicationAssociationRegistrationUI *This);
23521
23522 /*** IApplicationAssociationRegistrationUI methods ***/
23523 HRESULT (STDMETHODCALLTYPE *LaunchAdvancedAssociationUI)(
23524 IApplicationAssociationRegistrationUI *This,
23525 LPCWSTR pszAppRegistryName);
23526
23527 END_INTERFACE
23528} IApplicationAssociationRegistrationUIVtbl;
23529
23530interface IApplicationAssociationRegistrationUI {
23531 CONST_VTBL IApplicationAssociationRegistrationUIVtbl* lpVtbl;
23532};
23533
23534#ifdef COBJMACROS
23535#ifndef WIDL_C_INLINE_WRAPPERS
23536/*** IUnknown methods ***/
23537#define IApplicationAssociationRegistrationUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23538#define IApplicationAssociationRegistrationUI_AddRef(This) (This)->lpVtbl->AddRef(This)
23539#define IApplicationAssociationRegistrationUI_Release(This) (This)->lpVtbl->Release(This)
23540/*** IApplicationAssociationRegistrationUI methods ***/
23541#define IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(This,pszAppRegistryName) (This)->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName)
23542#else
23543/*** IUnknown methods ***/
23544static inline HRESULT IApplicationAssociationRegistrationUI_QueryInterface(IApplicationAssociationRegistrationUI* This,REFIID riid,void **ppvObject) {
23545 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23546}
23547static inline ULONG IApplicationAssociationRegistrationUI_AddRef(IApplicationAssociationRegistrationUI* This) {
23548 return This->lpVtbl->AddRef(This);
23549}
23550static inline ULONG IApplicationAssociationRegistrationUI_Release(IApplicationAssociationRegistrationUI* This) {
23551 return This->lpVtbl->Release(This);
23552}
23553/*** IApplicationAssociationRegistrationUI methods ***/
23554static inline HRESULT IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(IApplicationAssociationRegistrationUI* This,LPCWSTR pszAppRegistryName) {
23555 return This->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName);
23556}
23557#endif
23558#endif
23559
23560#endif
23561
23562
23563#endif /* __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ */
23564
23565#endif
23566
23567#include <pshpack1.h>
23568typedef struct DELEGATEITEMID {
23569 WORD cbSize;
23570 WORD wOuter;
23571 WORD cbInner;
23572 BYTE rgb[1];
23573} DELEGATEITEMID;
23574#include <poppack.h>
23575
23576typedef const UNALIGNED DELEGATEITEMID *PCDELEGATEITEMID;
23577typedef UNALIGNED DELEGATEITEMID *PDELEGATEITEMID;
23578
23579/*****************************************************************************
23580 * IDelegateFolder interface
23581 */
23582#ifndef __IDelegateFolder_INTERFACE_DEFINED__
23583#define __IDelegateFolder_INTERFACE_DEFINED__
23584
23585DEFINE_GUID(IID_IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62);
23586#if defined(__cplusplus) && !defined(CINTERFACE)
23587MIDL_INTERFACE("add8ba80-002b-11d0-8f0f-00c04fd7d062")
23588IDelegateFolder : public IUnknown
23589{
23590 virtual HRESULT STDMETHODCALLTYPE SetItemAlloc(
23591 IMalloc *pmalloc) = 0;
23592
23593};
23594#ifdef __CRT_UUID_DECL
23595__CRT_UUID_DECL(IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62)
23596#endif
23597#else
23598typedef struct IDelegateFolderVtbl {
23599 BEGIN_INTERFACE
23600
23601 /*** IUnknown methods ***/
23602 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23603 IDelegateFolder *This,
23604 REFIID riid,
23605 void **ppvObject);
23606
23607 ULONG (STDMETHODCALLTYPE *AddRef)(
23608 IDelegateFolder *This);
23609
23610 ULONG (STDMETHODCALLTYPE *Release)(
23611 IDelegateFolder *This);
23612
23613 /*** IDelegateFolder methods ***/
23614 HRESULT (STDMETHODCALLTYPE *SetItemAlloc)(
23615 IDelegateFolder *This,
23616 IMalloc *pmalloc);
23617
23618 END_INTERFACE
23619} IDelegateFolderVtbl;
23620
23621interface IDelegateFolder {
23622 CONST_VTBL IDelegateFolderVtbl* lpVtbl;
23623};
23624
23625#ifdef COBJMACROS
23626#ifndef WIDL_C_INLINE_WRAPPERS
23627/*** IUnknown methods ***/
23628#define IDelegateFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23629#define IDelegateFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
23630#define IDelegateFolder_Release(This) (This)->lpVtbl->Release(This)
23631/*** IDelegateFolder methods ***/
23632#define IDelegateFolder_SetItemAlloc(This,pmalloc) (This)->lpVtbl->SetItemAlloc(This,pmalloc)
23633#else
23634/*** IUnknown methods ***/
23635static inline HRESULT IDelegateFolder_QueryInterface(IDelegateFolder* This,REFIID riid,void **ppvObject) {
23636 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23637}
23638static inline ULONG IDelegateFolder_AddRef(IDelegateFolder* This) {
23639 return This->lpVtbl->AddRef(This);
23640}
23641static inline ULONG IDelegateFolder_Release(IDelegateFolder* This) {
23642 return This->lpVtbl->Release(This);
23643}
23644/*** IDelegateFolder methods ***/
23645static inline HRESULT IDelegateFolder_SetItemAlloc(IDelegateFolder* This,IMalloc *pmalloc) {
23646 return This->lpVtbl->SetItemAlloc(This,pmalloc);
23647}
23648#endif
23649#endif
23650
23651#endif
23652
23653
23654#endif /* __IDelegateFolder_INTERFACE_DEFINED__ */
23655
23656
23657#if _WIN32_IE >= _WIN32_IE_IE60
23658/*****************************************************************************
23659 * IBrowserFrameOptions interface
23660 */
23661#ifndef __IBrowserFrameOptions_INTERFACE_DEFINED__
23662#define __IBrowserFrameOptions_INTERFACE_DEFINED__
23663
23664typedef IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS;
23665
23666enum _BROWSERFRAMEOPTIONS {
23667 BFO_NONE = 0x0,
23668 BFO_BROWSER_PERSIST_SETTINGS = 0x1,
23669 BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x2,
23670 BFO_BOTH_OPTIONS = 0x4,
23671 BIF_PREFER_INTERNET_SHORTCUT = 0x8,
23672 BFO_BROWSE_NO_IN_NEW_PROCESS = 0x10,
23673 BFO_ENABLE_HYPERLINK_TRACKING = 0x20,
23674 BFO_USE_IE_OFFLINE_SUPPORT = 0x40,
23675 BFO_SUBSTITUE_INTERNET_START_PAGE = 0x80,
23676 BFO_USE_IE_LOGOBANDING = 0x100,
23677 BFO_ADD_IE_TOCAPTIONBAR = 0x200,
23678 BFO_USE_DIALUP_REF = 0x400,
23679 BFO_USE_IE_TOOLBAR = 0x800,
23680 BFO_NO_PARENT_FOLDER_SUPPORT = 0x1000,
23681 BFO_NO_REOPEN_NEXT_RESTART = 0x2000,
23682 BFO_GO_HOME_PAGE = 0x4000,
23683 BFO_PREFER_IEPROCESS = 0x8000,
23684 BFO_SHOW_NAVIGATION_CANCELLED = 0x10000,
23685 BFO_USE_IE_STATUSBAR = 0x20000,
23686 BFO_QUERY_ALL = (int)0xffffffff
23687};
23688
23689typedef DWORD BROWSERFRAMEOPTIONS;
23690
23691DEFINE_GUID(IID_IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4);
23692#if defined(__cplusplus) && !defined(CINTERFACE)
23693MIDL_INTERFACE("10df43c8-1dbe-11d3-8b34-006097df5bd4")
23694IBrowserFrameOptions : public IUnknown
23695{
23696 virtual HRESULT STDMETHODCALLTYPE GetFrameOptions(
23697 BROWSERFRAMEOPTIONS dwMask,
23698 BROWSERFRAMEOPTIONS *pdwOptions) = 0;
23699
23700};
23701#ifdef __CRT_UUID_DECL
23702__CRT_UUID_DECL(IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4)
23703#endif
23704#else
23705typedef struct IBrowserFrameOptionsVtbl {
23706 BEGIN_INTERFACE
23707
23708 /*** IUnknown methods ***/
23709 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23710 IBrowserFrameOptions *This,
23711 REFIID riid,
23712 void **ppvObject);
23713
23714 ULONG (STDMETHODCALLTYPE *AddRef)(
23715 IBrowserFrameOptions *This);
23716
23717 ULONG (STDMETHODCALLTYPE *Release)(
23718 IBrowserFrameOptions *This);
23719
23720 /*** IBrowserFrameOptions methods ***/
23721 HRESULT (STDMETHODCALLTYPE *GetFrameOptions)(
23722 IBrowserFrameOptions *This,
23723 BROWSERFRAMEOPTIONS dwMask,
23724 BROWSERFRAMEOPTIONS *pdwOptions);
23725
23726 END_INTERFACE
23727} IBrowserFrameOptionsVtbl;
23728
23729interface IBrowserFrameOptions {
23730 CONST_VTBL IBrowserFrameOptionsVtbl* lpVtbl;
23731};
23732
23733#ifdef COBJMACROS
23734#ifndef WIDL_C_INLINE_WRAPPERS
23735/*** IUnknown methods ***/
23736#define IBrowserFrameOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23737#define IBrowserFrameOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
23738#define IBrowserFrameOptions_Release(This) (This)->lpVtbl->Release(This)
23739/*** IBrowserFrameOptions methods ***/
23740#define IBrowserFrameOptions_GetFrameOptions(This,dwMask,pdwOptions) (This)->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions)
23741#else
23742/*** IUnknown methods ***/
23743static inline HRESULT IBrowserFrameOptions_QueryInterface(IBrowserFrameOptions* This,REFIID riid,void **ppvObject) {
23744 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23745}
23746static inline ULONG IBrowserFrameOptions_AddRef(IBrowserFrameOptions* This) {
23747 return This->lpVtbl->AddRef(This);
23748}
23749static inline ULONG IBrowserFrameOptions_Release(IBrowserFrameOptions* This) {
23750 return This->lpVtbl->Release(This);
23751}
23752/*** IBrowserFrameOptions methods ***/
23753static inline HRESULT IBrowserFrameOptions_GetFrameOptions(IBrowserFrameOptions* This,BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions) {
23754 return This->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions);
23755}
23756#endif
23757#endif
23758
23759#endif
23760
23761
23762#endif /* __IBrowserFrameOptions_INTERFACE_DEFINED__ */
23763
23764#endif
23765
23766#if _WIN32_IE >= _WIN32_IE_IE60SP2
23767typedef enum NWMF {
23768 NWMF_UNLOADING = 0x1,
23769 NWMF_USERINITED = 0x2,
23770 NWMF_FIRST = 0x4,
23771 NWMF_OVERRIDEKEY = 0x8,
23772 NWMF_SHOWHELP = 0x10,
23773 NWMF_HTMLDIALOG = 0x20,
23774 NWMF_FROMDIALOGCHILD = 0x40,
23775 NWMF_USERREQUESTED = 0x80,
23776 NWMF_USERALLOWED = 0x100,
23777 NWMF_FORCEWINDOW = 0x10000,
23778 NWMF_FORCETAB = 0x20000,
23779 NWMF_SUGGESTWINDOW = 0x40000,
23780 NWMF_SUGGESTTAB = 0x80000,
23781 NWMF_INACTIVETAB = 0x100000
23782} NWMF;
23783
23784DEFINE_ENUM_FLAG_OPERATORS(NWMF)
23785
23786#define SID_SNewWindowManager IID_INewWindowManager
23787
23788/*****************************************************************************
23789 * INewWindowManager interface
23790 */
23791#ifndef __INewWindowManager_INTERFACE_DEFINED__
23792#define __INewWindowManager_INTERFACE_DEFINED__
23793
23794DEFINE_GUID(IID_INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb);
23795#if defined(__cplusplus) && !defined(CINTERFACE)
23796MIDL_INTERFACE("d2bc4c84-3f72-4a52-a604-7bcbf3982cbb")
23797INewWindowManager : public IUnknown
23798{
23799 virtual HRESULT STDMETHODCALLTYPE EvaluateNewWindow(
23800 LPCWSTR pszUrl,
23801 LPCWSTR pszName,
23802 LPCWSTR pszUrlContext,
23803 LPCWSTR pszFeatures,
23804 WINBOOL fReplace,
23805 DWORD dwFlags,
23806 DWORD dwUserActionTime) = 0;
23807
23808};
23809#ifdef __CRT_UUID_DECL
23810__CRT_UUID_DECL(INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb)
23811#endif
23812#else
23813typedef struct INewWindowManagerVtbl {
23814 BEGIN_INTERFACE
23815
23816 /*** IUnknown methods ***/
23817 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23818 INewWindowManager *This,
23819 REFIID riid,
23820 void **ppvObject);
23821
23822 ULONG (STDMETHODCALLTYPE *AddRef)(
23823 INewWindowManager *This);
23824
23825 ULONG (STDMETHODCALLTYPE *Release)(
23826 INewWindowManager *This);
23827
23828 /*** INewWindowManager methods ***/
23829 HRESULT (STDMETHODCALLTYPE *EvaluateNewWindow)(
23830 INewWindowManager *This,
23831 LPCWSTR pszUrl,
23832 LPCWSTR pszName,
23833 LPCWSTR pszUrlContext,
23834 LPCWSTR pszFeatures,
23835 WINBOOL fReplace,
23836 DWORD dwFlags,
23837 DWORD dwUserActionTime);
23838
23839 END_INTERFACE
23840} INewWindowManagerVtbl;
23841
23842interface INewWindowManager {
23843 CONST_VTBL INewWindowManagerVtbl* lpVtbl;
23844};
23845
23846#ifdef COBJMACROS
23847#ifndef WIDL_C_INLINE_WRAPPERS
23848/*** IUnknown methods ***/
23849#define INewWindowManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23850#define INewWindowManager_AddRef(This) (This)->lpVtbl->AddRef(This)
23851#define INewWindowManager_Release(This) (This)->lpVtbl->Release(This)
23852/*** INewWindowManager methods ***/
23853#define INewWindowManager_EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime) (This)->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime)
23854#else
23855/*** IUnknown methods ***/
23856static inline HRESULT INewWindowManager_QueryInterface(INewWindowManager* This,REFIID riid,void **ppvObject) {
23857 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23858}
23859static inline ULONG INewWindowManager_AddRef(INewWindowManager* This) {
23860 return This->lpVtbl->AddRef(This);
23861}
23862static inline ULONG INewWindowManager_Release(INewWindowManager* This) {
23863 return This->lpVtbl->Release(This);
23864}
23865/*** INewWindowManager methods ***/
23866static inline HRESULT INewWindowManager_EvaluateNewWindow(INewWindowManager* This,LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime) {
23867 return This->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime);
23868}
23869#endif
23870#endif
23871
23872#endif
23873
23874
23875#endif /* __INewWindowManager_INTERFACE_DEFINED__ */
23876
23877
23878/*****************************************************************************
23879 * IAttachmentExecute interface
23880 */
23881#ifndef __IAttachmentExecute_INTERFACE_DEFINED__
23882#define __IAttachmentExecute_INTERFACE_DEFINED__
23883
23884typedef enum ATTACHMENT_PROMPT {
23885 ATTACHMENT_PROMPT_NONE = 0x0,
23886 ATTACHMENT_PROMPT_SAVE = 0x1,
23887 ATTACHMENT_PROMPT_EXEC = 0x2,
23888 ATTACHMENT_PROMPT_EXEC_OR_SAVE = 0x3
23889} ATTACHMENT_PROMPT;
23890
23891typedef enum ATTACHMENT_ACTION {
23892 ATTACHMENT_ACTION_CANCEL = 0x0,
23893 ATTACHMENT_ACTION_SAVE = 0x1,
23894 ATTACHMENT_ACTION_EXEC = 0x2
23895} ATTACHMENT_ACTION;
23896
23897DEFINE_GUID(IID_IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57);
23898#if defined(__cplusplus) && !defined(CINTERFACE)
23899MIDL_INTERFACE("73db1241-1e85-4581-8e4f-a81e1d0f8c57")
23900IAttachmentExecute : public IUnknown
23901{
23902 virtual HRESULT STDMETHODCALLTYPE SetClientTitle(
23903 LPCWSTR pszTitle) = 0;
23904
23905 virtual HRESULT STDMETHODCALLTYPE SetClientGuid(
23906 REFGUID guid) = 0;
23907
23908 virtual HRESULT STDMETHODCALLTYPE SetLocalPath(
23909 LPCWSTR pszLocalPath) = 0;
23910
23911 virtual HRESULT STDMETHODCALLTYPE SetFileName(
23912 LPCWSTR pszFileName) = 0;
23913
23914 virtual HRESULT STDMETHODCALLTYPE SetSource(
23915 LPCWSTR pszSource) = 0;
23916
23917 virtual HRESULT STDMETHODCALLTYPE SetReferrer(
23918 LPCWSTR pszReferrer) = 0;
23919
23920 virtual HRESULT STDMETHODCALLTYPE CheckPolicy(
23921 ) = 0;
23922
23923 virtual HRESULT STDMETHODCALLTYPE Prompt(
23924 HWND hwnd,
23925 ATTACHMENT_PROMPT prompt,
23926 ATTACHMENT_ACTION *paction) = 0;
23927
23928 virtual HRESULT STDMETHODCALLTYPE Save(
23929 ) = 0;
23930
23931 virtual HRESULT STDMETHODCALLTYPE Execute(
23932 HWND hwnd,
23933 LPCWSTR pszVerb,
23934 HANDLE *phProcess) = 0;
23935
23936 virtual HRESULT STDMETHODCALLTYPE SaveWithUI(
23937 HWND hwnd) = 0;
23938
23939 virtual HRESULT STDMETHODCALLTYPE ClearClientState(
23940 ) = 0;
23941
23942};
23943#ifdef __CRT_UUID_DECL
23944__CRT_UUID_DECL(IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57)
23945#endif
23946#else
23947typedef struct IAttachmentExecuteVtbl {
23948 BEGIN_INTERFACE
23949
23950 /*** IUnknown methods ***/
23951 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23952 IAttachmentExecute *This,
23953 REFIID riid,
23954 void **ppvObject);
23955
23956 ULONG (STDMETHODCALLTYPE *AddRef)(
23957 IAttachmentExecute *This);
23958
23959 ULONG (STDMETHODCALLTYPE *Release)(
23960 IAttachmentExecute *This);
23961
23962 /*** IAttachmentExecute methods ***/
23963 HRESULT (STDMETHODCALLTYPE *SetClientTitle)(
23964 IAttachmentExecute *This,
23965 LPCWSTR pszTitle);
23966
23967 HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
23968 IAttachmentExecute *This,
23969 REFGUID guid);
23970
23971 HRESULT (STDMETHODCALLTYPE *SetLocalPath)(
23972 IAttachmentExecute *This,
23973 LPCWSTR pszLocalPath);
23974
23975 HRESULT (STDMETHODCALLTYPE *SetFileName)(
23976 IAttachmentExecute *This,
23977 LPCWSTR pszFileName);
23978
23979 HRESULT (STDMETHODCALLTYPE *SetSource)(
23980 IAttachmentExecute *This,
23981 LPCWSTR pszSource);
23982
23983 HRESULT (STDMETHODCALLTYPE *SetReferrer)(
23984 IAttachmentExecute *This,
23985 LPCWSTR pszReferrer);
23986
23987 HRESULT (STDMETHODCALLTYPE *CheckPolicy)(
23988 IAttachmentExecute *This);
23989
23990 HRESULT (STDMETHODCALLTYPE *Prompt)(
23991 IAttachmentExecute *This,
23992 HWND hwnd,
23993 ATTACHMENT_PROMPT prompt,
23994 ATTACHMENT_ACTION *paction);
23995
23996 HRESULT (STDMETHODCALLTYPE *Save)(
23997 IAttachmentExecute *This);
23998
23999 HRESULT (STDMETHODCALLTYPE *Execute)(
24000 IAttachmentExecute *This,
24001 HWND hwnd,
24002 LPCWSTR pszVerb,
24003 HANDLE *phProcess);
24004
24005 HRESULT (STDMETHODCALLTYPE *SaveWithUI)(
24006 IAttachmentExecute *This,
24007 HWND hwnd);
24008
24009 HRESULT (STDMETHODCALLTYPE *ClearClientState)(
24010 IAttachmentExecute *This);
24011
24012 END_INTERFACE
24013} IAttachmentExecuteVtbl;
24014
24015interface IAttachmentExecute {
24016 CONST_VTBL IAttachmentExecuteVtbl* lpVtbl;
24017};
24018
24019#ifdef COBJMACROS
24020#ifndef WIDL_C_INLINE_WRAPPERS
24021/*** IUnknown methods ***/
24022#define IAttachmentExecute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24023#define IAttachmentExecute_AddRef(This) (This)->lpVtbl->AddRef(This)
24024#define IAttachmentExecute_Release(This) (This)->lpVtbl->Release(This)
24025/*** IAttachmentExecute methods ***/
24026#define IAttachmentExecute_SetClientTitle(This,pszTitle) (This)->lpVtbl->SetClientTitle(This,pszTitle)
24027#define IAttachmentExecute_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
24028#define IAttachmentExecute_SetLocalPath(This,pszLocalPath) (This)->lpVtbl->SetLocalPath(This,pszLocalPath)
24029#define IAttachmentExecute_SetFileName(This,pszFileName) (This)->lpVtbl->SetFileName(This,pszFileName)
24030#define IAttachmentExecute_SetSource(This,pszSource) (This)->lpVtbl->SetSource(This,pszSource)
24031#define IAttachmentExecute_SetReferrer(This,pszReferrer) (This)->lpVtbl->SetReferrer(This,pszReferrer)
24032#define IAttachmentExecute_CheckPolicy(This) (This)->lpVtbl->CheckPolicy(This)
24033#define IAttachmentExecute_Prompt(This,hwnd,prompt,paction) (This)->lpVtbl->Prompt(This,hwnd,prompt,paction)
24034#define IAttachmentExecute_Save(This) (This)->lpVtbl->Save(This)
24035#define IAttachmentExecute_Execute(This,hwnd,pszVerb,phProcess) (This)->lpVtbl->Execute(This,hwnd,pszVerb,phProcess)
24036#define IAttachmentExecute_SaveWithUI(This,hwnd) (This)->lpVtbl->SaveWithUI(This,hwnd)
24037#define IAttachmentExecute_ClearClientState(This) (This)->lpVtbl->ClearClientState(This)
24038#else
24039/*** IUnknown methods ***/
24040static inline HRESULT IAttachmentExecute_QueryInterface(IAttachmentExecute* This,REFIID riid,void **ppvObject) {
24041 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24042}
24043static inline ULONG IAttachmentExecute_AddRef(IAttachmentExecute* This) {
24044 return This->lpVtbl->AddRef(This);
24045}
24046static inline ULONG IAttachmentExecute_Release(IAttachmentExecute* This) {
24047 return This->lpVtbl->Release(This);
24048}
24049/*** IAttachmentExecute methods ***/
24050static inline HRESULT IAttachmentExecute_SetClientTitle(IAttachmentExecute* This,LPCWSTR pszTitle) {
24051 return This->lpVtbl->SetClientTitle(This,pszTitle);
24052}
24053static inline HRESULT IAttachmentExecute_SetClientGuid(IAttachmentExecute* This,REFGUID guid) {
24054 return This->lpVtbl->SetClientGuid(This,guid);
24055}
24056static inline HRESULT IAttachmentExecute_SetLocalPath(IAttachmentExecute* This,LPCWSTR pszLocalPath) {
24057 return This->lpVtbl->SetLocalPath(This,pszLocalPath);
24058}
24059static inline HRESULT IAttachmentExecute_SetFileName(IAttachmentExecute* This,LPCWSTR pszFileName) {
24060 return This->lpVtbl->SetFileName(This,pszFileName);
24061}
24062static inline HRESULT IAttachmentExecute_SetSource(IAttachmentExecute* This,LPCWSTR pszSource) {
24063 return This->lpVtbl->SetSource(This,pszSource);
24064}
24065static inline HRESULT IAttachmentExecute_SetReferrer(IAttachmentExecute* This,LPCWSTR pszReferrer) {
24066 return This->lpVtbl->SetReferrer(This,pszReferrer);
24067}
24068static inline HRESULT IAttachmentExecute_CheckPolicy(IAttachmentExecute* This) {
24069 return This->lpVtbl->CheckPolicy(This);
24070}
24071static inline HRESULT IAttachmentExecute_Prompt(IAttachmentExecute* This,HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction) {
24072 return This->lpVtbl->Prompt(This,hwnd,prompt,paction);
24073}
24074static inline HRESULT IAttachmentExecute_Save(IAttachmentExecute* This) {
24075 return This->lpVtbl->Save(This);
24076}
24077static inline HRESULT IAttachmentExecute_Execute(IAttachmentExecute* This,HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess) {
24078 return This->lpVtbl->Execute(This,hwnd,pszVerb,phProcess);
24079}
24080static inline HRESULT IAttachmentExecute_SaveWithUI(IAttachmentExecute* This,HWND hwnd) {
24081 return This->lpVtbl->SaveWithUI(This,hwnd);
24082}
24083static inline HRESULT IAttachmentExecute_ClearClientState(IAttachmentExecute* This) {
24084 return This->lpVtbl->ClearClientState(This);
24085}
24086#endif
24087#endif
24088
24089#endif
24090
24091
24092#endif /* __IAttachmentExecute_INTERFACE_DEFINED__ */
24093
24094#endif
24095
24096#if _WIN32_IE >= _WIN32_IE_IE60
24097
24098#include <pshpack8.h>
24099typedef struct tagSMDATA {
24100 DWORD dwMask;
24101 DWORD dwFlags;
24102 HMENU hmenu;
24103 HWND hwnd;
24104 UINT uId;
24105 UINT uIdParent;
24106 UINT uIdAncestor;
24107 IUnknown *punk;
24108 PIDLIST_ABSOLUTE pidlFolder;
24109 PUITEMID_CHILD pidlItem;
24110 IShellFolder *psf;
24111 void *pvUserData;
24112} SMDATA;
24113typedef struct tagSMDATA *LPSMDATA;
24114
24115#define SMDM_SHELLFOLDER 0x00000001
24116#define SMDM_HMENU 0x00000002
24117#define SMDM_TOOLBAR 0x00000004
24118
24119typedef struct tagSMINFO {
24120 DWORD dwMask;
24121 DWORD dwType;
24122 DWORD dwFlags;
24123 int iIcon;
24124} SMINFO;
24125typedef struct tagSMINFO *PSMINFO;
24126
24127typedef struct SHCSCHANGENOTIFYSTRUCT {
24128 LONG lEvent;
24129 PCIDLIST_ABSOLUTE pidl1;
24130 PCIDLIST_ABSOLUTE pidl2;
24131} SMCSHCHANGENOTIFYSTRUCT;
24132typedef struct SHCSCHANGENOTIFYSTRUCT *PSMCSHCHANGENOTIFYSTRUCT;
24133#include <poppack.h>
24134
24135enum tagSMINFOMASK {
24136 SMIM_TYPE = 0x1,
24137 SMIM_FLAGS = 0x2,
24138 SMIM_ICON = 0x4
24139};
24140
24141enum tagSMINFOTYPE {
24142 SMIT_SEPARATOR = 0x1,
24143 SMIT_STRING = 0x2
24144};
24145
24146enum tagSMINFOFLAGS {
24147 SMIF_ICON = 0x1,
24148 SMIF_ACCELERATOR = 0x2,
24149 SMIF_DROPTARGET = 0x4,
24150 SMIF_SUBMENU = 0x8,
24151 SMIF_CHECKED = 0x20,
24152 SMIF_DROPCASCADE = 0x40,
24153 SMIF_HIDDEN = 0x80,
24154 SMIF_DISABLED = 0x100,
24155 SMIF_TRACKPOPUP = 0x200,
24156 SMIF_DEMOTED = 0x400,
24157 SMIF_ALTSTATE = 0x800,
24158 SMIF_DRAGNDROP = 0x1000,
24159 SMIF_NEW = 0x2000
24160};
24161
24162#define SMC_INITMENU 0x00000001
24163#define SMC_CREATE 0x00000002
24164#define SMC_EXITMENU 0x00000003
24165#define SMC_GETINFO 0x00000005
24166#define SMC_GETSFINFO 0x00000006
24167#define SMC_GETOBJECT 0x00000007
24168#define SMC_GETSFOBJECT 0x00000008
24169#define SMC_SFEXEC 0x00000009
24170#define SMC_SFSELECTITEM 0x0000000A
24171#define SMC_REFRESH 0x00000010
24172#define SMC_DEMOTE 0x00000011
24173#define SMC_PROMOTE 0x00000012
24174#define SMC_DEFAULTICON 0x00000016
24175#define SMC_NEWITEM 0x00000017
24176#define SMC_CHEVRONEXPAND 0x00000019
24177#define SMC_DISPLAYCHEVRONTIP 0x0000002A
24178#define SMC_SETSFOBJECT 0x0000002D
24179#define SMC_SHCHANGENOTIFY 0x0000002E
24180#define SMC_CHEVRONGETTIP 0x0000002F
24181#define SMC_SFDDRESTRICTED 0x00000030
24182#if _WIN32_IE >= _WIN32_IE_IE70
24183#define SMC_SFEXEC_MIDDLE 0x00000031
24184#define SMC_GETAUTOEXPANDSTATE 0x00000041
24185#define SMC_AUTOEXPANDCHANGE 0x00000042
24186#define SMC_GETCONTEXTMENUMODIFIER 0x00000043
24187#define SMC_GETBKCONTEXTMENU 0x00000044
24188#define SMC_OPEN 0x00000045
24189
24190#define SMAE_EXPANDED 0x00000001
24191#define SMAE_CONTRACTED 0x00000002
24192
24193#define SMAE_USER 0x00000004
24194
24195#define SMAE_VALID 0x00000007
24196#endif
24197
24198/*****************************************************************************
24199 * IShellMenuCallback interface
24200 */
24201#ifndef __IShellMenuCallback_INTERFACE_DEFINED__
24202#define __IShellMenuCallback_INTERFACE_DEFINED__
24203
24204DEFINE_GUID(IID_IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
24205#if defined(__cplusplus) && !defined(CINTERFACE)
24206MIDL_INTERFACE("4ca300a1-9b8d-11d1-8b22-00c04fd918d0")
24207IShellMenuCallback : public IUnknown
24208{
24209 virtual HRESULT STDMETHODCALLTYPE CallbackSM(
24210 LPSMDATA psmd,
24211 UINT uMsg,
24212 WPARAM wParam,
24213 LPARAM lParam) = 0;
24214
24215};
24216#ifdef __CRT_UUID_DECL
24217__CRT_UUID_DECL(IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
24218#endif
24219#else
24220typedef struct IShellMenuCallbackVtbl {
24221 BEGIN_INTERFACE
24222
24223 /*** IUnknown methods ***/
24224 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24225 IShellMenuCallback *This,
24226 REFIID riid,
24227 void **ppvObject);
24228
24229 ULONG (STDMETHODCALLTYPE *AddRef)(
24230 IShellMenuCallback *This);
24231
24232 ULONG (STDMETHODCALLTYPE *Release)(
24233 IShellMenuCallback *This);
24234
24235 /*** IShellMenuCallback methods ***/
24236 HRESULT (STDMETHODCALLTYPE *CallbackSM)(
24237 IShellMenuCallback *This,
24238 LPSMDATA psmd,
24239 UINT uMsg,
24240 WPARAM wParam,
24241 LPARAM lParam);
24242
24243 END_INTERFACE
24244} IShellMenuCallbackVtbl;
24245
24246interface IShellMenuCallback {
24247 CONST_VTBL IShellMenuCallbackVtbl* lpVtbl;
24248};
24249
24250#ifdef COBJMACROS
24251#ifndef WIDL_C_INLINE_WRAPPERS
24252/*** IUnknown methods ***/
24253#define IShellMenuCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24254#define IShellMenuCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
24255#define IShellMenuCallback_Release(This) (This)->lpVtbl->Release(This)
24256/*** IShellMenuCallback methods ***/
24257#define IShellMenuCallback_CallbackSM(This,psmd,uMsg,wParam,lParam) (This)->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam)
24258#else
24259/*** IUnknown methods ***/
24260static inline HRESULT IShellMenuCallback_QueryInterface(IShellMenuCallback* This,REFIID riid,void **ppvObject) {
24261 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24262}
24263static inline ULONG IShellMenuCallback_AddRef(IShellMenuCallback* This) {
24264 return This->lpVtbl->AddRef(This);
24265}
24266static inline ULONG IShellMenuCallback_Release(IShellMenuCallback* This) {
24267 return This->lpVtbl->Release(This);
24268}
24269/*** IShellMenuCallback methods ***/
24270static inline HRESULT IShellMenuCallback_CallbackSM(IShellMenuCallback* This,LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
24271 return This->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam);
24272}
24273#endif
24274#endif
24275
24276#endif
24277
24278
24279#endif /* __IShellMenuCallback_INTERFACE_DEFINED__ */
24280
24281
24282#define SMINIT_DEFAULT 0x00000000
24283#define SMINIT_RESTRICT_DRAGDROP 0x00000002
24284#define SMINIT_TOPLEVEL 0x00000004
24285#define SMINIT_CACHED 0x00000010
24286#if _WIN32_IE >= _WIN32_IE_IE70
24287#define SMINIT_AUTOEXPAND 0x00000100
24288#define SMINIT_AUTOTOOLTIP 0x00000200
24289#define SMINIT_DROPONCONTAINER 0x00000400
24290#endif
24291
24292#define SMINIT_VERTICAL 0x10000000
24293#define SMINIT_HORIZONTAL 0x20000000
24294
24295#define ANCESTORDEFAULT (UINT)-1
24296
24297#define SMSET_TOP 0x10000000
24298#define SMSET_BOTTOM 0x20000000
24299#define SMSET_DONTOWN 0x00000001
24300
24301#define SMINV_REFRESH 0x00000001
24302#define SMINV_ID 0x00000008
24303
24304/*****************************************************************************
24305 * IShellMenu interface
24306 */
24307#ifndef __IShellMenu_INTERFACE_DEFINED__
24308#define __IShellMenu_INTERFACE_DEFINED__
24309
24310DEFINE_GUID(IID_IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
24311#if defined(__cplusplus) && !defined(CINTERFACE)
24312MIDL_INTERFACE("ee1f7637-e138-11d1-8379-00c04fd918d0")
24313IShellMenu : public IUnknown
24314{
24315 virtual HRESULT STDMETHODCALLTYPE Initialize(
24316 IShellMenuCallback *psmc,
24317 UINT uId,
24318 UINT uIdAncestor,
24319 DWORD dwFlags) = 0;
24320
24321 virtual HRESULT STDMETHODCALLTYPE GetMenuInfo(
24322 IShellMenuCallback **ppsmc,
24323 UINT *puId,
24324 UINT *puIdAncestor,
24325 DWORD *pdwFlags) = 0;
24326
24327 virtual HRESULT STDMETHODCALLTYPE SetShellFolder(
24328 IShellFolder *psf,
24329 PCIDLIST_ABSOLUTE pidlFolder,
24330 HKEY hKey,
24331 DWORD dwFlags) = 0;
24332
24333 virtual HRESULT STDMETHODCALLTYPE GetShellFolder(
24334 DWORD *pdwFlags,
24335 PIDLIST_ABSOLUTE *ppidl,
24336 REFIID riid,
24337 void **ppv) = 0;
24338
24339 virtual HRESULT STDMETHODCALLTYPE SetMenu(
24340 HMENU hmenu,
24341 HWND hwnd,
24342 DWORD dwFlags) = 0;
24343
24344 virtual HRESULT STDMETHODCALLTYPE GetMenu(
24345 HMENU *phmenu,
24346 HWND *phwnd,
24347 DWORD *pdwFlags) = 0;
24348
24349 virtual HRESULT STDMETHODCALLTYPE InvalidateItem(
24350 LPSMDATA psmd,
24351 DWORD dwFlags) = 0;
24352
24353 virtual HRESULT STDMETHODCALLTYPE GetState(
24354 LPSMDATA psmd) = 0;
24355
24356 virtual HRESULT STDMETHODCALLTYPE SetMenuToolbar(
24357 IUnknown *punk,
24358 DWORD dwFlags) = 0;
24359
24360};
24361#ifdef __CRT_UUID_DECL
24362__CRT_UUID_DECL(IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
24363#endif
24364#else
24365typedef struct IShellMenuVtbl {
24366 BEGIN_INTERFACE
24367
24368 /*** IUnknown methods ***/
24369 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24370 IShellMenu *This,
24371 REFIID riid,
24372 void **ppvObject);
24373
24374 ULONG (STDMETHODCALLTYPE *AddRef)(
24375 IShellMenu *This);
24376
24377 ULONG (STDMETHODCALLTYPE *Release)(
24378 IShellMenu *This);
24379
24380 /*** IShellMenu methods ***/
24381 HRESULT (STDMETHODCALLTYPE *Initialize)(
24382 IShellMenu *This,
24383 IShellMenuCallback *psmc,
24384 UINT uId,
24385 UINT uIdAncestor,
24386 DWORD dwFlags);
24387
24388 HRESULT (STDMETHODCALLTYPE *GetMenuInfo)(
24389 IShellMenu *This,
24390 IShellMenuCallback **ppsmc,
24391 UINT *puId,
24392 UINT *puIdAncestor,
24393 DWORD *pdwFlags);
24394
24395 HRESULT (STDMETHODCALLTYPE *SetShellFolder)(
24396 IShellMenu *This,
24397 IShellFolder *psf,
24398 PCIDLIST_ABSOLUTE pidlFolder,
24399 HKEY hKey,
24400 DWORD dwFlags);
24401
24402 HRESULT (STDMETHODCALLTYPE *GetShellFolder)(
24403 IShellMenu *This,
24404 DWORD *pdwFlags,
24405 PIDLIST_ABSOLUTE *ppidl,
24406 REFIID riid,
24407 void **ppv);
24408
24409 HRESULT (STDMETHODCALLTYPE *SetMenu)(
24410 IShellMenu *This,
24411 HMENU hmenu,
24412 HWND hwnd,
24413 DWORD dwFlags);
24414
24415 HRESULT (STDMETHODCALLTYPE *GetMenu)(
24416 IShellMenu *This,
24417 HMENU *phmenu,
24418 HWND *phwnd,
24419 DWORD *pdwFlags);
24420
24421 HRESULT (STDMETHODCALLTYPE *InvalidateItem)(
24422 IShellMenu *This,
24423 LPSMDATA psmd,
24424 DWORD dwFlags);
24425
24426 HRESULT (STDMETHODCALLTYPE *GetState)(
24427 IShellMenu *This,
24428 LPSMDATA psmd);
24429
24430 HRESULT (STDMETHODCALLTYPE *SetMenuToolbar)(
24431 IShellMenu *This,
24432 IUnknown *punk,
24433 DWORD dwFlags);
24434
24435 END_INTERFACE
24436} IShellMenuVtbl;
24437
24438interface IShellMenu {
24439 CONST_VTBL IShellMenuVtbl* lpVtbl;
24440};
24441
24442#ifdef COBJMACROS
24443#ifndef WIDL_C_INLINE_WRAPPERS
24444/*** IUnknown methods ***/
24445#define IShellMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24446#define IShellMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
24447#define IShellMenu_Release(This) (This)->lpVtbl->Release(This)
24448/*** IShellMenu methods ***/
24449#define IShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) (This)->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags)
24450#define IShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) (This)->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
24451#define IShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) (This)->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
24452#define IShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) (This)->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
24453#define IShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) (This)->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags)
24454#define IShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) (This)->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags)
24455#define IShellMenu_InvalidateItem(This,psmd,dwFlags) (This)->lpVtbl->InvalidateItem(This,psmd,dwFlags)
24456#define IShellMenu_GetState(This,psmd) (This)->lpVtbl->GetState(This,psmd)
24457#define IShellMenu_SetMenuToolbar(This,punk,dwFlags) (This)->lpVtbl->SetMenuToolbar(This,punk,dwFlags)
24458#else
24459/*** IUnknown methods ***/
24460static inline HRESULT IShellMenu_QueryInterface(IShellMenu* This,REFIID riid,void **ppvObject) {
24461 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24462}
24463static inline ULONG IShellMenu_AddRef(IShellMenu* This) {
24464 return This->lpVtbl->AddRef(This);
24465}
24466static inline ULONG IShellMenu_Release(IShellMenu* This) {
24467 return This->lpVtbl->Release(This);
24468}
24469/*** IShellMenu methods ***/
24470static inline HRESULT IShellMenu_Initialize(IShellMenu* This,IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags) {
24471 return This->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags);
24472}
24473static inline HRESULT IShellMenu_GetMenuInfo(IShellMenu* This,IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags) {
24474 return This->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags);
24475}
24476static inline HRESULT IShellMenu_SetShellFolder(IShellMenu* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HKEY hKey,DWORD dwFlags) {
24477 return This->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags);
24478}
24479static inline HRESULT IShellMenu_GetShellFolder(IShellMenu* This,DWORD *pdwFlags,PIDLIST_ABSOLUTE *ppidl,REFIID riid,void **ppv) {
24480 return This->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv);
24481}
24482static inline HRESULT IShellMenu_SetMenu(IShellMenu* This,HMENU hmenu,HWND hwnd,DWORD dwFlags) {
24483 return This->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags);
24484}
24485static inline HRESULT IShellMenu_GetMenu(IShellMenu* This,HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags) {
24486 return This->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags);
24487}
24488static inline HRESULT IShellMenu_InvalidateItem(IShellMenu* This,LPSMDATA psmd,DWORD dwFlags) {
24489 return This->lpVtbl->InvalidateItem(This,psmd,dwFlags);
24490}
24491static inline HRESULT IShellMenu_GetState(IShellMenu* This,LPSMDATA psmd) {
24492 return This->lpVtbl->GetState(This,psmd);
24493}
24494static inline HRESULT IShellMenu_SetMenuToolbar(IShellMenu* This,IUnknown *punk,DWORD dwFlags) {
24495 return This->lpVtbl->SetMenuToolbar(This,punk,dwFlags);
24496}
24497#endif
24498#endif
24499
24500#endif
24501
24502
24503#endif /* __IShellMenu_INTERFACE_DEFINED__ */
24504
24505#endif
24506
24507/*****************************************************************************
24508 * IShellRunDll interface
24509 */
24510#ifndef __IShellRunDll_INTERFACE_DEFINED__
24511#define __IShellRunDll_INTERFACE_DEFINED__
24512
24513DEFINE_GUID(IID_IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88);
24514#if defined(__cplusplus) && !defined(CINTERFACE)
24515MIDL_INTERFACE("fce4bde0-4b68-4b80-8e9c-7426315a7388")
24516IShellRunDll : public IUnknown
24517{
24518 virtual HRESULT STDMETHODCALLTYPE Run(
24519 LPCWSTR pszArgs) = 0;
24520
24521};
24522#ifdef __CRT_UUID_DECL
24523__CRT_UUID_DECL(IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88)
24524#endif
24525#else
24526typedef struct IShellRunDllVtbl {
24527 BEGIN_INTERFACE
24528
24529 /*** IUnknown methods ***/
24530 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24531 IShellRunDll *This,
24532 REFIID riid,
24533 void **ppvObject);
24534
24535 ULONG (STDMETHODCALLTYPE *AddRef)(
24536 IShellRunDll *This);
24537
24538 ULONG (STDMETHODCALLTYPE *Release)(
24539 IShellRunDll *This);
24540
24541 /*** IShellRunDll methods ***/
24542 HRESULT (STDMETHODCALLTYPE *Run)(
24543 IShellRunDll *This,
24544 LPCWSTR pszArgs);
24545
24546 END_INTERFACE
24547} IShellRunDllVtbl;
24548
24549interface IShellRunDll {
24550 CONST_VTBL IShellRunDllVtbl* lpVtbl;
24551};
24552
24553#ifdef COBJMACROS
24554#ifndef WIDL_C_INLINE_WRAPPERS
24555/*** IUnknown methods ***/
24556#define IShellRunDll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24557#define IShellRunDll_AddRef(This) (This)->lpVtbl->AddRef(This)
24558#define IShellRunDll_Release(This) (This)->lpVtbl->Release(This)
24559/*** IShellRunDll methods ***/
24560#define IShellRunDll_Run(This,pszArgs) (This)->lpVtbl->Run(This,pszArgs)
24561#else
24562/*** IUnknown methods ***/
24563static inline HRESULT IShellRunDll_QueryInterface(IShellRunDll* This,REFIID riid,void **ppvObject) {
24564 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24565}
24566static inline ULONG IShellRunDll_AddRef(IShellRunDll* This) {
24567 return This->lpVtbl->AddRef(This);
24568}
24569static inline ULONG IShellRunDll_Release(IShellRunDll* This) {
24570 return This->lpVtbl->Release(This);
24571}
24572/*** IShellRunDll methods ***/
24573static inline HRESULT IShellRunDll_Run(IShellRunDll* This,LPCWSTR pszArgs) {
24574 return This->lpVtbl->Run(This,pszArgs);
24575}
24576#endif
24577#endif
24578
24579#endif
24580
24581
24582#endif /* __IShellRunDll_INTERFACE_DEFINED__ */
24583
24584
24585#if NTDDI_VERSION >= NTDDI_VISTA
24586typedef enum KF_CATEGORY {
24587 KF_CATEGORY_VIRTUAL = 1,
24588 KF_CATEGORY_FIXED = 2,
24589 KF_CATEGORY_COMMON = 3,
24590 KF_CATEGORY_PERUSER = 4
24591} KF_CATEGORY;
24592
24593enum _KF_DEFINITION_FLAGS {
24594 KFDF_LOCAL_REDIRECT_ONLY = 0x2,
24595 KFDF_ROAMABLE = 0x4,
24596 KFDF_PRECREATE = 0x8,
24597 KFDF_STREAM = 0x10,
24598 KFDF_PUBLISHEXPANDEDPATH = 0x20
24599};
24600
24601typedef DWORD KF_DEFINITION_FLAGS;
24602
24603enum _KF_REDIRECT_FLAGS {
24604 KF_REDIRECT_USER_EXCLUSIVE = 0x1,
24605 KF_REDIRECT_COPY_SOURCE_DACL = 0x2,
24606 KF_REDIRECT_OWNER_USER = 0x4,
24607 KF_REDIRECT_SET_OWNER_EXPLICIT = 0x8,
24608 KF_REDIRECT_CHECK_ONLY = 0x10,
24609 KF_REDIRECT_WITH_UI = 0x20,
24610 KF_REDIRECT_UNPIN = 0x40,
24611 KF_REDIRECT_PIN = 0x80,
24612 KF_REDIRECT_COPY_CONTENTS = 0x200,
24613 KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x400,
24614 KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x800
24615};
24616
24617typedef DWORD KF_REDIRECT_FLAGS;
24618
24619enum _KF_REDIRECTION_CAPABILITIES {
24620 KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0xff,
24621 KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x1,
24622 KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0xfff00,
24623 KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x100,
24624 KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x200,
24625 KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x400
24626};
24627
24628typedef DWORD KF_REDIRECTION_CAPABILITIES;
24629
24630typedef struct KNOWNFOLDER_DEFINITION {
24631 KF_CATEGORY category;
24632 LPWSTR pszName;
24633 LPWSTR pszDescription;
24634 KNOWNFOLDERID fidParent;
24635 LPWSTR pszRelativePath;
24636 LPWSTR pszParsingName;
24637 LPWSTR pszTooltip;
24638 LPWSTR pszLocalizedName;
24639 LPWSTR pszIcon;
24640 LPWSTR pszSecurity;
24641 DWORD dwAttributes;
24642 KF_DEFINITION_FLAGS kfdFlags;
24643 FOLDERTYPEID ftidType;
24644} KNOWNFOLDER_DEFINITION;
24645
24646/*****************************************************************************
24647 * IKnownFolder interface
24648 */
24649#ifndef __IKnownFolder_INTERFACE_DEFINED__
24650#define __IKnownFolder_INTERFACE_DEFINED__
24651
24652DEFINE_GUID(IID_IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88);
24653#if defined(__cplusplus) && !defined(CINTERFACE)
24654MIDL_INTERFACE("3aa7af7e-9b36-420c-a8e3-f77d4674a488")
24655IKnownFolder : public IUnknown
24656{
24657 virtual HRESULT STDMETHODCALLTYPE GetId(
24658 KNOWNFOLDERID *pkfid) = 0;
24659
24660 virtual HRESULT STDMETHODCALLTYPE GetCategory(
24661 KF_CATEGORY *pCategory) = 0;
24662
24663 virtual HRESULT STDMETHODCALLTYPE GetShellItem(
24664 DWORD dwFlags,
24665 REFIID riid,
24666 void **ppv) = 0;
24667
24668 virtual HRESULT STDMETHODCALLTYPE GetPath(
24669 DWORD dwFlags,
24670 LPWSTR *ppszPath) = 0;
24671
24672 virtual HRESULT STDMETHODCALLTYPE SetPath(
24673 DWORD dwFlags,
24674 LPCWSTR pszPath) = 0;
24675
24676 virtual HRESULT STDMETHODCALLTYPE GetIDList(
24677 DWORD dwFlags,
24678 PIDLIST_ABSOLUTE *ppidl) = 0;
24679
24680 virtual HRESULT STDMETHODCALLTYPE GetFolderType(
24681 FOLDERTYPEID *pftid) = 0;
24682
24683 virtual HRESULT STDMETHODCALLTYPE GetRedirectionCapabilities(
24684 KF_REDIRECTION_CAPABILITIES *pCapabilities) = 0;
24685
24686 virtual HRESULT STDMETHODCALLTYPE GetFolderDefinition(
24687 KNOWNFOLDER_DEFINITION *pKFD) = 0;
24688
24689};
24690#ifdef __CRT_UUID_DECL
24691__CRT_UUID_DECL(IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88)
24692#endif
24693#else
24694typedef struct IKnownFolderVtbl {
24695 BEGIN_INTERFACE
24696
24697 /*** IUnknown methods ***/
24698 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24699 IKnownFolder *This,
24700 REFIID riid,
24701 void **ppvObject);
24702
24703 ULONG (STDMETHODCALLTYPE *AddRef)(
24704 IKnownFolder *This);
24705
24706 ULONG (STDMETHODCALLTYPE *Release)(
24707 IKnownFolder *This);
24708
24709 /*** IKnownFolder methods ***/
24710 HRESULT (STDMETHODCALLTYPE *GetId)(
24711 IKnownFolder *This,
24712 KNOWNFOLDERID *pkfid);
24713
24714 HRESULT (STDMETHODCALLTYPE *GetCategory)(
24715 IKnownFolder *This,
24716 KF_CATEGORY *pCategory);
24717
24718 HRESULT (STDMETHODCALLTYPE *GetShellItem)(
24719 IKnownFolder *This,
24720 DWORD dwFlags,
24721 REFIID riid,
24722 void **ppv);
24723
24724 HRESULT (STDMETHODCALLTYPE *GetPath)(
24725 IKnownFolder *This,
24726 DWORD dwFlags,
24727 LPWSTR *ppszPath);
24728
24729 HRESULT (STDMETHODCALLTYPE *SetPath)(
24730 IKnownFolder *This,
24731 DWORD dwFlags,
24732 LPCWSTR pszPath);
24733
24734 HRESULT (STDMETHODCALLTYPE *GetIDList)(
24735 IKnownFolder *This,
24736 DWORD dwFlags,
24737 PIDLIST_ABSOLUTE *ppidl);
24738
24739 HRESULT (STDMETHODCALLTYPE *GetFolderType)(
24740 IKnownFolder *This,
24741 FOLDERTYPEID *pftid);
24742
24743 HRESULT (STDMETHODCALLTYPE *GetRedirectionCapabilities)(
24744 IKnownFolder *This,
24745 KF_REDIRECTION_CAPABILITIES *pCapabilities);
24746
24747 HRESULT (STDMETHODCALLTYPE *GetFolderDefinition)(
24748 IKnownFolder *This,
24749 KNOWNFOLDER_DEFINITION *pKFD);
24750
24751 END_INTERFACE
24752} IKnownFolderVtbl;
24753
24754interface IKnownFolder {
24755 CONST_VTBL IKnownFolderVtbl* lpVtbl;
24756};
24757
24758#ifdef COBJMACROS
24759#ifndef WIDL_C_INLINE_WRAPPERS
24760/*** IUnknown methods ***/
24761#define IKnownFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24762#define IKnownFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
24763#define IKnownFolder_Release(This) (This)->lpVtbl->Release(This)
24764/*** IKnownFolder methods ***/
24765#define IKnownFolder_GetId(This,pkfid) (This)->lpVtbl->GetId(This,pkfid)
24766#define IKnownFolder_GetCategory(This,pCategory) (This)->lpVtbl->GetCategory(This,pCategory)
24767#define IKnownFolder_GetShellItem(This,dwFlags,riid,ppv) (This)->lpVtbl->GetShellItem(This,dwFlags,riid,ppv)
24768#define IKnownFolder_GetPath(This,dwFlags,ppszPath) (This)->lpVtbl->GetPath(This,dwFlags,ppszPath)
24769#define IKnownFolder_SetPath(This,dwFlags,pszPath) (This)->lpVtbl->SetPath(This,dwFlags,pszPath)
24770#define IKnownFolder_GetIDList(This,dwFlags,ppidl) (This)->lpVtbl->GetIDList(This,dwFlags,ppidl)
24771#define IKnownFolder_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
24772#define IKnownFolder_GetRedirectionCapabilities(This,pCapabilities) (This)->lpVtbl->GetRedirectionCapabilities(This,pCapabilities)
24773#define IKnownFolder_GetFolderDefinition(This,pKFD) (This)->lpVtbl->GetFolderDefinition(This,pKFD)
24774#else
24775/*** IUnknown methods ***/
24776static inline HRESULT IKnownFolder_QueryInterface(IKnownFolder* This,REFIID riid,void **ppvObject) {
24777 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24778}
24779static inline ULONG IKnownFolder_AddRef(IKnownFolder* This) {
24780 return This->lpVtbl->AddRef(This);
24781}
24782static inline ULONG IKnownFolder_Release(IKnownFolder* This) {
24783 return This->lpVtbl->Release(This);
24784}
24785/*** IKnownFolder methods ***/
24786static inline HRESULT IKnownFolder_GetId(IKnownFolder* This,KNOWNFOLDERID *pkfid) {
24787 return This->lpVtbl->GetId(This,pkfid);
24788}
24789static inline HRESULT IKnownFolder_GetCategory(IKnownFolder* This,KF_CATEGORY *pCategory) {
24790 return This->lpVtbl->GetCategory(This,pCategory);
24791}
24792static inline HRESULT IKnownFolder_GetShellItem(IKnownFolder* This,DWORD dwFlags,REFIID riid,void **ppv) {
24793 return This->lpVtbl->GetShellItem(This,dwFlags,riid,ppv);
24794}
24795static inline HRESULT IKnownFolder_GetPath(IKnownFolder* This,DWORD dwFlags,LPWSTR *ppszPath) {
24796 return This->lpVtbl->GetPath(This,dwFlags,ppszPath);
24797}
24798static inline HRESULT IKnownFolder_SetPath(IKnownFolder* This,DWORD dwFlags,LPCWSTR pszPath) {
24799 return This->lpVtbl->SetPath(This,dwFlags,pszPath);
24800}
24801static inline HRESULT IKnownFolder_GetIDList(IKnownFolder* This,DWORD dwFlags,PIDLIST_ABSOLUTE *ppidl) {
24802 return This->lpVtbl->GetIDList(This,dwFlags,ppidl);
24803}
24804static inline HRESULT IKnownFolder_GetFolderType(IKnownFolder* This,FOLDERTYPEID *pftid) {
24805 return This->lpVtbl->GetFolderType(This,pftid);
24806}
24807static inline HRESULT IKnownFolder_GetRedirectionCapabilities(IKnownFolder* This,KF_REDIRECTION_CAPABILITIES *pCapabilities) {
24808 return This->lpVtbl->GetRedirectionCapabilities(This,pCapabilities);
24809}
24810static inline HRESULT IKnownFolder_GetFolderDefinition(IKnownFolder* This,KNOWNFOLDER_DEFINITION *pKFD) {
24811 return This->lpVtbl->GetFolderDefinition(This,pKFD);
24812}
24813#endif
24814#endif
24815
24816#endif
24817
24818
24819#endif /* __IKnownFolder_INTERFACE_DEFINED__ */
24820
24821
24822/*****************************************************************************
24823 * IKnownFolderManager interface
24824 */
24825#ifndef __IKnownFolderManager_INTERFACE_DEFINED__
24826#define __IKnownFolderManager_INTERFACE_DEFINED__
24827
24828typedef enum FFFP_MODE {
24829 FFFP_EXACTMATCH = 0,
24830 FFFP_NEARESTPARENTMATCH = 1
24831} FFFP_MODE;
24832
24833DEFINE_GUID(IID_IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18);
24834#if defined(__cplusplus) && !defined(CINTERFACE)
24835MIDL_INTERFACE("8be2d872-86aa-4d47-b776-32cca40c7018")
24836IKnownFolderManager : public IUnknown
24837{
24838 virtual HRESULT STDMETHODCALLTYPE FolderIdFromCsidl(
24839 int nCsidl,
24840 KNOWNFOLDERID *pfid) = 0;
24841
24842 virtual HRESULT STDMETHODCALLTYPE FolderIdToCsidl(
24843 REFKNOWNFOLDERID rfid,
24844 int *pnCsidl) = 0;
24845
24846 virtual HRESULT STDMETHODCALLTYPE GetFolderIds(
24847 KNOWNFOLDERID **ppKFId,
24848 UINT *pCount) = 0;
24849
24850 virtual HRESULT STDMETHODCALLTYPE GetFolder(
24851 REFKNOWNFOLDERID rfid,
24852 IKnownFolder **ppkf) = 0;
24853
24854 virtual HRESULT STDMETHODCALLTYPE GetFolderByName(
24855 LPCWSTR pszCanonicalName,
24856 IKnownFolder **ppkf) = 0;
24857
24858 virtual HRESULT STDMETHODCALLTYPE RegisterFolder(
24859 REFKNOWNFOLDERID rfid,
24860 const KNOWNFOLDER_DEFINITION *pKFD) = 0;
24861
24862 virtual HRESULT STDMETHODCALLTYPE UnregisterFolder(
24863 REFKNOWNFOLDERID rfid) = 0;
24864
24865 virtual HRESULT STDMETHODCALLTYPE FindFolderFromPath(
24866 LPCWSTR pszPath,
24867 FFFP_MODE mode,
24868 IKnownFolder **ppkf) = 0;
24869
24870 virtual HRESULT STDMETHODCALLTYPE FindFolderFromIDList(
24871 PCIDLIST_ABSOLUTE pidl,
24872 IKnownFolder **ppkf) = 0;
24873
24874 virtual HRESULT STDMETHODCALLTYPE Redirect(
24875 REFKNOWNFOLDERID rfid,
24876 HWND hwnd,
24877 KF_REDIRECT_FLAGS flags,
24878 LPCWSTR pszTargetPath,
24879 UINT cFolders,
24880 const KNOWNFOLDERID *pExclusion,
24881 LPWSTR *ppszError) = 0;
24882
24883};
24884#ifdef __CRT_UUID_DECL
24885__CRT_UUID_DECL(IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18)
24886#endif
24887#else
24888typedef struct IKnownFolderManagerVtbl {
24889 BEGIN_INTERFACE
24890
24891 /*** IUnknown methods ***/
24892 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
24893 IKnownFolderManager *This,
24894 REFIID riid,
24895 void **ppvObject);
24896
24897 ULONG (STDMETHODCALLTYPE *AddRef)(
24898 IKnownFolderManager *This);
24899
24900 ULONG (STDMETHODCALLTYPE *Release)(
24901 IKnownFolderManager *This);
24902
24903 /*** IKnownFolderManager methods ***/
24904 HRESULT (STDMETHODCALLTYPE *FolderIdFromCsidl)(
24905 IKnownFolderManager *This,
24906 int nCsidl,
24907 KNOWNFOLDERID *pfid);
24908
24909 HRESULT (STDMETHODCALLTYPE *FolderIdToCsidl)(
24910 IKnownFolderManager *This,
24911 REFKNOWNFOLDERID rfid,
24912 int *pnCsidl);
24913
24914 HRESULT (STDMETHODCALLTYPE *GetFolderIds)(
24915 IKnownFolderManager *This,
24916 KNOWNFOLDERID **ppKFId,
24917 UINT *pCount);
24918
24919 HRESULT (STDMETHODCALLTYPE *GetFolder)(
24920 IKnownFolderManager *This,
24921 REFKNOWNFOLDERID rfid,
24922 IKnownFolder **ppkf);
24923
24924 HRESULT (STDMETHODCALLTYPE *GetFolderByName)(
24925 IKnownFolderManager *This,
24926 LPCWSTR pszCanonicalName,
24927 IKnownFolder **ppkf);
24928
24929 HRESULT (STDMETHODCALLTYPE *RegisterFolder)(
24930 IKnownFolderManager *This,
24931 REFKNOWNFOLDERID rfid,
24932 const KNOWNFOLDER_DEFINITION *pKFD);
24933
24934 HRESULT (STDMETHODCALLTYPE *UnregisterFolder)(
24935 IKnownFolderManager *This,
24936 REFKNOWNFOLDERID rfid);
24937
24938 HRESULT (STDMETHODCALLTYPE *FindFolderFromPath)(
24939 IKnownFolderManager *This,
24940 LPCWSTR pszPath,
24941 FFFP_MODE mode,
24942 IKnownFolder **ppkf);
24943
24944 HRESULT (STDMETHODCALLTYPE *FindFolderFromIDList)(
24945 IKnownFolderManager *This,
24946 PCIDLIST_ABSOLUTE pidl,
24947 IKnownFolder **ppkf);
24948
24949 HRESULT (STDMETHODCALLTYPE *Redirect)(
24950 IKnownFolderManager *This,
24951 REFKNOWNFOLDERID rfid,
24952 HWND hwnd,
24953 KF_REDIRECT_FLAGS flags,
24954 LPCWSTR pszTargetPath,
24955 UINT cFolders,
24956 const KNOWNFOLDERID *pExclusion,
24957 LPWSTR *ppszError);
24958
24959 END_INTERFACE
24960} IKnownFolderManagerVtbl;
24961
24962interface IKnownFolderManager {
24963 CONST_VTBL IKnownFolderManagerVtbl* lpVtbl;
24964};
24965
24966#ifdef COBJMACROS
24967#ifndef WIDL_C_INLINE_WRAPPERS
24968/*** IUnknown methods ***/
24969#define IKnownFolderManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
24970#define IKnownFolderManager_AddRef(This) (This)->lpVtbl->AddRef(This)
24971#define IKnownFolderManager_Release(This) (This)->lpVtbl->Release(This)
24972/*** IKnownFolderManager methods ***/
24973#define IKnownFolderManager_FolderIdFromCsidl(This,nCsidl,pfid) (This)->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid)
24974#define IKnownFolderManager_FolderIdToCsidl(This,rfid,pnCsidl) (This)->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl)
24975#define IKnownFolderManager_GetFolderIds(This,ppKFId,pCount) (This)->lpVtbl->GetFolderIds(This,ppKFId,pCount)
24976#define IKnownFolderManager_GetFolder(This,rfid,ppkf) (This)->lpVtbl->GetFolder(This,rfid,ppkf)
24977#define IKnownFolderManager_GetFolderByName(This,pszCanonicalName,ppkf) (This)->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf)
24978#define IKnownFolderManager_RegisterFolder(This,rfid,pKFD) (This)->lpVtbl->RegisterFolder(This,rfid,pKFD)
24979#define IKnownFolderManager_UnregisterFolder(This,rfid) (This)->lpVtbl->UnregisterFolder(This,rfid)
24980#define IKnownFolderManager_FindFolderFromPath(This,pszPath,mode,ppkf) (This)->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf)
24981#define IKnownFolderManager_FindFolderFromIDList(This,pidl,ppkf) (This)->lpVtbl->FindFolderFromIDList(This,pidl,ppkf)
24982#define IKnownFolderManager_Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError) (This)->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError)
24983#else
24984/*** IUnknown methods ***/
24985static inline HRESULT IKnownFolderManager_QueryInterface(IKnownFolderManager* This,REFIID riid,void **ppvObject) {
24986 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
24987}
24988static inline ULONG IKnownFolderManager_AddRef(IKnownFolderManager* This) {
24989 return This->lpVtbl->AddRef(This);
24990}
24991static inline ULONG IKnownFolderManager_Release(IKnownFolderManager* This) {
24992 return This->lpVtbl->Release(This);
24993}
24994/*** IKnownFolderManager methods ***/
24995static inline HRESULT IKnownFolderManager_FolderIdFromCsidl(IKnownFolderManager* This,int nCsidl,KNOWNFOLDERID *pfid) {
24996 return This->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid);
24997}
24998static inline HRESULT IKnownFolderManager_FolderIdToCsidl(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,int *pnCsidl) {
24999 return This->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl);
25000}
25001static inline HRESULT IKnownFolderManager_GetFolderIds(IKnownFolderManager* This,KNOWNFOLDERID **ppKFId,UINT *pCount) {
25002 return This->lpVtbl->GetFolderIds(This,ppKFId,pCount);
25003}
25004static inline HRESULT IKnownFolderManager_GetFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,IKnownFolder **ppkf) {
25005 return This->lpVtbl->GetFolder(This,rfid,ppkf);
25006}
25007static inline HRESULT IKnownFolderManager_GetFolderByName(IKnownFolderManager* This,LPCWSTR pszCanonicalName,IKnownFolder **ppkf) {
25008 return This->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf);
25009}
25010static inline HRESULT IKnownFolderManager_RegisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,const KNOWNFOLDER_DEFINITION *pKFD) {
25011 return This->lpVtbl->RegisterFolder(This,rfid,pKFD);
25012}
25013static inline HRESULT IKnownFolderManager_UnregisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid) {
25014 return This->lpVtbl->UnregisterFolder(This,rfid);
25015}
25016static inline HRESULT IKnownFolderManager_FindFolderFromPath(IKnownFolderManager* This,LPCWSTR pszPath,FFFP_MODE mode,IKnownFolder **ppkf) {
25017 return This->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf);
25018}
25019static inline HRESULT IKnownFolderManager_FindFolderFromIDList(IKnownFolderManager* This,PCIDLIST_ABSOLUTE pidl,IKnownFolder **ppkf) {
25020 return This->lpVtbl->FindFolderFromIDList(This,pidl,ppkf);
25021}
25022static inline HRESULT IKnownFolderManager_Redirect(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,HWND hwnd,KF_REDIRECT_FLAGS flags,LPCWSTR pszTargetPath,UINT cFolders,const KNOWNFOLDERID *pExclusion,LPWSTR *ppszError) {
25023 return This->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError);
25024}
25025#endif
25026#endif
25027
25028#endif
25029
25030HRESULT STDMETHODCALLTYPE IKnownFolderManager_RemoteRedirect_Proxy(
25031 IKnownFolderManager* This,
25032 REFKNOWNFOLDERID rfid,
25033 HWND hwnd,
25034 KF_REDIRECT_FLAGS flags,
25035 LPCWSTR pszTargetPath,
25036 UINT cFolders,
25037 const GUID *pExclusion,
25038 LPWSTR *ppszError);
25039void __RPC_STUB IKnownFolderManager_RemoteRedirect_Stub(
25040 IRpcStubBuffer* This,
25041 IRpcChannelBuffer* pRpcChannelBuffer,
25042 PRPC_MESSAGE pRpcMessage,
25043 DWORD* pdwStubPhase);
25044HRESULT CALLBACK IKnownFolderManager_Redirect_Proxy(
25045 IKnownFolderManager* This,
25046 REFKNOWNFOLDERID rfid,
25047 HWND hwnd,
25048 KF_REDIRECT_FLAGS flags,
25049 LPCWSTR pszTargetPath,
25050 UINT cFolders,
25051 const KNOWNFOLDERID *pExclusion,
25052 LPWSTR *ppszError);
25053HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub(
25054 IKnownFolderManager* This,
25055 REFKNOWNFOLDERID rfid,
25056 HWND hwnd,
25057 KF_REDIRECT_FLAGS flags,
25058 LPCWSTR pszTargetPath,
25059 UINT cFolders,
25060 const GUID *pExclusion,
25061 LPWSTR *ppszError);
25062
25063#endif /* __IKnownFolderManager_INTERFACE_DEFINED__ */
25064
25065
25066 __forceinline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) {
25067 CoTaskMemFree(pKFD->pszName);
25068 CoTaskMemFree(pKFD->pszDescription);
25069 CoTaskMemFree(pKFD->pszRelativePath);
25070 CoTaskMemFree(pKFD->pszParsingName);
25071 CoTaskMemFree(pKFD->pszTooltip);
25072 CoTaskMemFree(pKFD->pszLocalizedName);
25073 CoTaskMemFree(pKFD->pszIcon);
25074 CoTaskMemFree(pKFD->pszSecurity);
25075 }
25076
25077typedef enum SHARE_ROLE {
25078 SHARE_ROLE_INVALID = -1,
25079 SHARE_ROLE_READER = 0,
25080 SHARE_ROLE_CONTRIBUTOR = 1,
25081 SHARE_ROLE_CO_OWNER = 2,
25082 SHARE_ROLE_OWNER = 3,
25083 SHARE_ROLE_CUSTOM = 4,
25084 SHARE_ROLE_MIXED = 5
25085} SHARE_ROLE;
25086
25087typedef enum DEF_SHARE_ID {
25088 DEFSHAREID_USERS = 1,
25089 DEFSHAREID_PUBLIC = 2
25090} DEF_SHARE_ID;
25091
25092/*****************************************************************************
25093 * ISharingConfigurationManager interface
25094 */
25095#ifndef __ISharingConfigurationManager_INTERFACE_DEFINED__
25096#define __ISharingConfigurationManager_INTERFACE_DEFINED__
25097
25098DEFINE_GUID(IID_ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae);
25099#if defined(__cplusplus) && !defined(CINTERFACE)
25100MIDL_INTERFACE("b4cd448a-9c86-4466-9201-2e62105b87ae")
25101ISharingConfigurationManager : public IUnknown
25102{
25103 virtual HRESULT STDMETHODCALLTYPE CreateShare(
25104 DEF_SHARE_ID dsid,
25105 SHARE_ROLE role) = 0;
25106
25107 virtual HRESULT STDMETHODCALLTYPE DeleteShare(
25108 DEF_SHARE_ID dsid) = 0;
25109
25110 virtual HRESULT STDMETHODCALLTYPE ShareExists(
25111 DEF_SHARE_ID dsid) = 0;
25112
25113 virtual HRESULT STDMETHODCALLTYPE GetSharePermissions(
25114 DEF_SHARE_ID dsid,
25115 SHARE_ROLE *pRole) = 0;
25116
25117 virtual HRESULT STDMETHODCALLTYPE SharePrinters(
25118 ) = 0;
25119
25120 virtual HRESULT STDMETHODCALLTYPE StopSharingPrinters(
25121 ) = 0;
25122
25123 virtual HRESULT STDMETHODCALLTYPE ArePrintersShared(
25124 ) = 0;
25125
25126};
25127#ifdef __CRT_UUID_DECL
25128__CRT_UUID_DECL(ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae)
25129#endif
25130#else
25131typedef struct ISharingConfigurationManagerVtbl {
25132 BEGIN_INTERFACE
25133
25134 /*** IUnknown methods ***/
25135 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25136 ISharingConfigurationManager *This,
25137 REFIID riid,
25138 void **ppvObject);
25139
25140 ULONG (STDMETHODCALLTYPE *AddRef)(
25141 ISharingConfigurationManager *This);
25142
25143 ULONG (STDMETHODCALLTYPE *Release)(
25144 ISharingConfigurationManager *This);
25145
25146 /*** ISharingConfigurationManager methods ***/
25147 HRESULT (STDMETHODCALLTYPE *CreateShare)(
25148 ISharingConfigurationManager *This,
25149 DEF_SHARE_ID dsid,
25150 SHARE_ROLE role);
25151
25152 HRESULT (STDMETHODCALLTYPE *DeleteShare)(
25153 ISharingConfigurationManager *This,
25154 DEF_SHARE_ID dsid);
25155
25156 HRESULT (STDMETHODCALLTYPE *ShareExists)(
25157 ISharingConfigurationManager *This,
25158 DEF_SHARE_ID dsid);
25159
25160 HRESULT (STDMETHODCALLTYPE *GetSharePermissions)(
25161 ISharingConfigurationManager *This,
25162 DEF_SHARE_ID dsid,
25163 SHARE_ROLE *pRole);
25164
25165 HRESULT (STDMETHODCALLTYPE *SharePrinters)(
25166 ISharingConfigurationManager *This);
25167
25168 HRESULT (STDMETHODCALLTYPE *StopSharingPrinters)(
25169 ISharingConfigurationManager *This);
25170
25171 HRESULT (STDMETHODCALLTYPE *ArePrintersShared)(
25172 ISharingConfigurationManager *This);
25173
25174 END_INTERFACE
25175} ISharingConfigurationManagerVtbl;
25176
25177interface ISharingConfigurationManager {
25178 CONST_VTBL ISharingConfigurationManagerVtbl* lpVtbl;
25179};
25180
25181#ifdef COBJMACROS
25182#ifndef WIDL_C_INLINE_WRAPPERS
25183/*** IUnknown methods ***/
25184#define ISharingConfigurationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25185#define ISharingConfigurationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
25186#define ISharingConfigurationManager_Release(This) (This)->lpVtbl->Release(This)
25187/*** ISharingConfigurationManager methods ***/
25188#define ISharingConfigurationManager_CreateShare(This,dsid,role) (This)->lpVtbl->CreateShare(This,dsid,role)
25189#define ISharingConfigurationManager_DeleteShare(This,dsid) (This)->lpVtbl->DeleteShare(This,dsid)
25190#define ISharingConfigurationManager_ShareExists(This,dsid) (This)->lpVtbl->ShareExists(This,dsid)
25191#define ISharingConfigurationManager_GetSharePermissions(This,dsid,pRole) (This)->lpVtbl->GetSharePermissions(This,dsid,pRole)
25192#define ISharingConfigurationManager_SharePrinters(This) (This)->lpVtbl->SharePrinters(This)
25193#define ISharingConfigurationManager_StopSharingPrinters(This) (This)->lpVtbl->StopSharingPrinters(This)
25194#define ISharingConfigurationManager_ArePrintersShared(This) (This)->lpVtbl->ArePrintersShared(This)
25195#else
25196/*** IUnknown methods ***/
25197static inline HRESULT ISharingConfigurationManager_QueryInterface(ISharingConfigurationManager* This,REFIID riid,void **ppvObject) {
25198 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25199}
25200static inline ULONG ISharingConfigurationManager_AddRef(ISharingConfigurationManager* This) {
25201 return This->lpVtbl->AddRef(This);
25202}
25203static inline ULONG ISharingConfigurationManager_Release(ISharingConfigurationManager* This) {
25204 return This->lpVtbl->Release(This);
25205}
25206/*** ISharingConfigurationManager methods ***/
25207static inline HRESULT ISharingConfigurationManager_CreateShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE role) {
25208 return This->lpVtbl->CreateShare(This,dsid,role);
25209}
25210static inline HRESULT ISharingConfigurationManager_DeleteShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) {
25211 return This->lpVtbl->DeleteShare(This,dsid);
25212}
25213static inline HRESULT ISharingConfigurationManager_ShareExists(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) {
25214 return This->lpVtbl->ShareExists(This,dsid);
25215}
25216static inline HRESULT ISharingConfigurationManager_GetSharePermissions(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE *pRole) {
25217 return This->lpVtbl->GetSharePermissions(This,dsid,pRole);
25218}
25219static inline HRESULT ISharingConfigurationManager_SharePrinters(ISharingConfigurationManager* This) {
25220 return This->lpVtbl->SharePrinters(This);
25221}
25222static inline HRESULT ISharingConfigurationManager_StopSharingPrinters(ISharingConfigurationManager* This) {
25223 return This->lpVtbl->StopSharingPrinters(This);
25224}
25225static inline HRESULT ISharingConfigurationManager_ArePrintersShared(ISharingConfigurationManager* This) {
25226 return This->lpVtbl->ArePrintersShared(This);
25227}
25228#endif
25229#endif
25230
25231#endif
25232
25233
25234#endif /* __ISharingConfigurationManager_INTERFACE_DEFINED__ */
25235
25236#endif
25237
25238/*****************************************************************************
25239 * IPreviousVersionsInfo interface
25240 */
25241#ifndef __IPreviousVersionsInfo_INTERFACE_DEFINED__
25242#define __IPreviousVersionsInfo_INTERFACE_DEFINED__
25243
25244DEFINE_GUID(IID_IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d);
25245#if defined(__cplusplus) && !defined(CINTERFACE)
25246MIDL_INTERFACE("76e54780-ad74-48e3-a695-3ba9a0aff10d")
25247IPreviousVersionsInfo : public IUnknown
25248{
25249 virtual HRESULT STDMETHODCALLTYPE AreSnapshotsAvailable(
25250 LPCWSTR pszPath,
25251 WINBOOL fOkToBeSlow,
25252 WINBOOL *pfAvailable) = 0;
25253
25254};
25255#ifdef __CRT_UUID_DECL
25256__CRT_UUID_DECL(IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d)
25257#endif
25258#else
25259typedef struct IPreviousVersionsInfoVtbl {
25260 BEGIN_INTERFACE
25261
25262 /*** IUnknown methods ***/
25263 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25264 IPreviousVersionsInfo *This,
25265 REFIID riid,
25266 void **ppvObject);
25267
25268 ULONG (STDMETHODCALLTYPE *AddRef)(
25269 IPreviousVersionsInfo *This);
25270
25271 ULONG (STDMETHODCALLTYPE *Release)(
25272 IPreviousVersionsInfo *This);
25273
25274 /*** IPreviousVersionsInfo methods ***/
25275 HRESULT (STDMETHODCALLTYPE *AreSnapshotsAvailable)(
25276 IPreviousVersionsInfo *This,
25277 LPCWSTR pszPath,
25278 WINBOOL fOkToBeSlow,
25279 WINBOOL *pfAvailable);
25280
25281 END_INTERFACE
25282} IPreviousVersionsInfoVtbl;
25283
25284interface IPreviousVersionsInfo {
25285 CONST_VTBL IPreviousVersionsInfoVtbl* lpVtbl;
25286};
25287
25288#ifdef COBJMACROS
25289#ifndef WIDL_C_INLINE_WRAPPERS
25290/*** IUnknown methods ***/
25291#define IPreviousVersionsInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25292#define IPreviousVersionsInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
25293#define IPreviousVersionsInfo_Release(This) (This)->lpVtbl->Release(This)
25294/*** IPreviousVersionsInfo methods ***/
25295#define IPreviousVersionsInfo_AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable) (This)->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable)
25296#else
25297/*** IUnknown methods ***/
25298static inline HRESULT IPreviousVersionsInfo_QueryInterface(IPreviousVersionsInfo* This,REFIID riid,void **ppvObject) {
25299 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25300}
25301static inline ULONG IPreviousVersionsInfo_AddRef(IPreviousVersionsInfo* This) {
25302 return This->lpVtbl->AddRef(This);
25303}
25304static inline ULONG IPreviousVersionsInfo_Release(IPreviousVersionsInfo* This) {
25305 return This->lpVtbl->Release(This);
25306}
25307/*** IPreviousVersionsInfo methods ***/
25308static inline HRESULT IPreviousVersionsInfo_AreSnapshotsAvailable(IPreviousVersionsInfo* This,LPCWSTR pszPath,WINBOOL fOkToBeSlow,WINBOOL *pfAvailable) {
25309 return This->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable);
25310}
25311#endif
25312#endif
25313
25314#endif
25315
25316
25317#endif /* __IPreviousVersionsInfo_INTERFACE_DEFINED__ */
25318
25319
25320#if NTDDI_VERSION >= NTDDI_VISTA
25321/*****************************************************************************
25322 * IRelatedItem interface
25323 */
25324#ifndef __IRelatedItem_INTERFACE_DEFINED__
25325#define __IRelatedItem_INTERFACE_DEFINED__
25326
25327DEFINE_GUID(IID_IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0);
25328#if defined(__cplusplus) && !defined(CINTERFACE)
25329MIDL_INTERFACE("a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0")
25330IRelatedItem : public IUnknown
25331{
25332 virtual HRESULT STDMETHODCALLTYPE GetItemIDList(
25333 PIDLIST_ABSOLUTE *ppidl) = 0;
25334
25335 virtual HRESULT STDMETHODCALLTYPE GetItem(
25336 IShellItem **ppsi) = 0;
25337
25338};
25339#ifdef __CRT_UUID_DECL
25340__CRT_UUID_DECL(IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0)
25341#endif
25342#else
25343typedef struct IRelatedItemVtbl {
25344 BEGIN_INTERFACE
25345
25346 /*** IUnknown methods ***/
25347 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25348 IRelatedItem *This,
25349 REFIID riid,
25350 void **ppvObject);
25351
25352 ULONG (STDMETHODCALLTYPE *AddRef)(
25353 IRelatedItem *This);
25354
25355 ULONG (STDMETHODCALLTYPE *Release)(
25356 IRelatedItem *This);
25357
25358 /*** IRelatedItem methods ***/
25359 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25360 IRelatedItem *This,
25361 PIDLIST_ABSOLUTE *ppidl);
25362
25363 HRESULT (STDMETHODCALLTYPE *GetItem)(
25364 IRelatedItem *This,
25365 IShellItem **ppsi);
25366
25367 END_INTERFACE
25368} IRelatedItemVtbl;
25369
25370interface IRelatedItem {
25371 CONST_VTBL IRelatedItemVtbl* lpVtbl;
25372};
25373
25374#ifdef COBJMACROS
25375#ifndef WIDL_C_INLINE_WRAPPERS
25376/*** IUnknown methods ***/
25377#define IRelatedItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25378#define IRelatedItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25379#define IRelatedItem_Release(This) (This)->lpVtbl->Release(This)
25380/*** IRelatedItem methods ***/
25381#define IRelatedItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25382#define IRelatedItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25383#else
25384/*** IUnknown methods ***/
25385static inline HRESULT IRelatedItem_QueryInterface(IRelatedItem* This,REFIID riid,void **ppvObject) {
25386 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25387}
25388static inline ULONG IRelatedItem_AddRef(IRelatedItem* This) {
25389 return This->lpVtbl->AddRef(This);
25390}
25391static inline ULONG IRelatedItem_Release(IRelatedItem* This) {
25392 return This->lpVtbl->Release(This);
25393}
25394/*** IRelatedItem methods ***/
25395static inline HRESULT IRelatedItem_GetItemIDList(IRelatedItem* This,PIDLIST_ABSOLUTE *ppidl) {
25396 return This->lpVtbl->GetItemIDList(This,ppidl);
25397}
25398static inline HRESULT IRelatedItem_GetItem(IRelatedItem* This,IShellItem **ppsi) {
25399 return This->lpVtbl->GetItem(This,ppsi);
25400}
25401#endif
25402#endif
25403
25404#endif
25405
25406
25407#endif /* __IRelatedItem_INTERFACE_DEFINED__ */
25408
25409
25410/*****************************************************************************
25411 * IIdentityName interface
25412 */
25413#ifndef __IIdentityName_INTERFACE_DEFINED__
25414#define __IIdentityName_INTERFACE_DEFINED__
25415
25416DEFINE_GUID(IID_IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47);
25417#if defined(__cplusplus) && !defined(CINTERFACE)
25418MIDL_INTERFACE("7d903fca-d6f9-4810-8332-946c0177e247")
25419IIdentityName : public IRelatedItem
25420{
25421};
25422#ifdef __CRT_UUID_DECL
25423__CRT_UUID_DECL(IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47)
25424#endif
25425#else
25426typedef struct IIdentityNameVtbl {
25427 BEGIN_INTERFACE
25428
25429 /*** IUnknown methods ***/
25430 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25431 IIdentityName *This,
25432 REFIID riid,
25433 void **ppvObject);
25434
25435 ULONG (STDMETHODCALLTYPE *AddRef)(
25436 IIdentityName *This);
25437
25438 ULONG (STDMETHODCALLTYPE *Release)(
25439 IIdentityName *This);
25440
25441 /*** IRelatedItem methods ***/
25442 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25443 IIdentityName *This,
25444 PIDLIST_ABSOLUTE *ppidl);
25445
25446 HRESULT (STDMETHODCALLTYPE *GetItem)(
25447 IIdentityName *This,
25448 IShellItem **ppsi);
25449
25450 END_INTERFACE
25451} IIdentityNameVtbl;
25452
25453interface IIdentityName {
25454 CONST_VTBL IIdentityNameVtbl* lpVtbl;
25455};
25456
25457#ifdef COBJMACROS
25458#ifndef WIDL_C_INLINE_WRAPPERS
25459/*** IUnknown methods ***/
25460#define IIdentityName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25461#define IIdentityName_AddRef(This) (This)->lpVtbl->AddRef(This)
25462#define IIdentityName_Release(This) (This)->lpVtbl->Release(This)
25463/*** IRelatedItem methods ***/
25464#define IIdentityName_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25465#define IIdentityName_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25466#else
25467/*** IUnknown methods ***/
25468static inline HRESULT IIdentityName_QueryInterface(IIdentityName* This,REFIID riid,void **ppvObject) {
25469 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25470}
25471static inline ULONG IIdentityName_AddRef(IIdentityName* This) {
25472 return This->lpVtbl->AddRef(This);
25473}
25474static inline ULONG IIdentityName_Release(IIdentityName* This) {
25475 return This->lpVtbl->Release(This);
25476}
25477/*** IRelatedItem methods ***/
25478static inline HRESULT IIdentityName_GetItemIDList(IIdentityName* This,PIDLIST_ABSOLUTE *ppidl) {
25479 return This->lpVtbl->GetItemIDList(This,ppidl);
25480}
25481static inline HRESULT IIdentityName_GetItem(IIdentityName* This,IShellItem **ppsi) {
25482 return This->lpVtbl->GetItem(This,ppsi);
25483}
25484#endif
25485#endif
25486
25487#endif
25488
25489
25490#endif /* __IIdentityName_INTERFACE_DEFINED__ */
25491
25492
25493/*****************************************************************************
25494 * IDelegateItem interface
25495 */
25496#ifndef __IDelegateItem_INTERFACE_DEFINED__
25497#define __IDelegateItem_INTERFACE_DEFINED__
25498
25499DEFINE_GUID(IID_IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93);
25500#if defined(__cplusplus) && !defined(CINTERFACE)
25501MIDL_INTERFACE("3c5a1c94-c951-4cb7-bb6d-3b93f30cce93")
25502IDelegateItem : public IRelatedItem
25503{
25504};
25505#ifdef __CRT_UUID_DECL
25506__CRT_UUID_DECL(IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93)
25507#endif
25508#else
25509typedef struct IDelegateItemVtbl {
25510 BEGIN_INTERFACE
25511
25512 /*** IUnknown methods ***/
25513 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25514 IDelegateItem *This,
25515 REFIID riid,
25516 void **ppvObject);
25517
25518 ULONG (STDMETHODCALLTYPE *AddRef)(
25519 IDelegateItem *This);
25520
25521 ULONG (STDMETHODCALLTYPE *Release)(
25522 IDelegateItem *This);
25523
25524 /*** IRelatedItem methods ***/
25525 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25526 IDelegateItem *This,
25527 PIDLIST_ABSOLUTE *ppidl);
25528
25529 HRESULT (STDMETHODCALLTYPE *GetItem)(
25530 IDelegateItem *This,
25531 IShellItem **ppsi);
25532
25533 END_INTERFACE
25534} IDelegateItemVtbl;
25535
25536interface IDelegateItem {
25537 CONST_VTBL IDelegateItemVtbl* lpVtbl;
25538};
25539
25540#ifdef COBJMACROS
25541#ifndef WIDL_C_INLINE_WRAPPERS
25542/*** IUnknown methods ***/
25543#define IDelegateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25544#define IDelegateItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25545#define IDelegateItem_Release(This) (This)->lpVtbl->Release(This)
25546/*** IRelatedItem methods ***/
25547#define IDelegateItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25548#define IDelegateItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25549#else
25550/*** IUnknown methods ***/
25551static inline HRESULT IDelegateItem_QueryInterface(IDelegateItem* This,REFIID riid,void **ppvObject) {
25552 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25553}
25554static inline ULONG IDelegateItem_AddRef(IDelegateItem* This) {
25555 return This->lpVtbl->AddRef(This);
25556}
25557static inline ULONG IDelegateItem_Release(IDelegateItem* This) {
25558 return This->lpVtbl->Release(This);
25559}
25560/*** IRelatedItem methods ***/
25561static inline HRESULT IDelegateItem_GetItemIDList(IDelegateItem* This,PIDLIST_ABSOLUTE *ppidl) {
25562 return This->lpVtbl->GetItemIDList(This,ppidl);
25563}
25564static inline HRESULT IDelegateItem_GetItem(IDelegateItem* This,IShellItem **ppsi) {
25565 return This->lpVtbl->GetItem(This,ppsi);
25566}
25567#endif
25568#endif
25569
25570#endif
25571
25572
25573#endif /* __IDelegateItem_INTERFACE_DEFINED__ */
25574
25575
25576/*****************************************************************************
25577 * ICurrentItem interface
25578 */
25579#ifndef __ICurrentItem_INTERFACE_DEFINED__
25580#define __ICurrentItem_INTERFACE_DEFINED__
25581
25582DEFINE_GUID(IID_ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d);
25583#if defined(__cplusplus) && !defined(CINTERFACE)
25584MIDL_INTERFACE("240a7174-d653-4a1d-a6d3-d4943cfbfe3d")
25585ICurrentItem : public IRelatedItem
25586{
25587};
25588#ifdef __CRT_UUID_DECL
25589__CRT_UUID_DECL(ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d)
25590#endif
25591#else
25592typedef struct ICurrentItemVtbl {
25593 BEGIN_INTERFACE
25594
25595 /*** IUnknown methods ***/
25596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25597 ICurrentItem *This,
25598 REFIID riid,
25599 void **ppvObject);
25600
25601 ULONG (STDMETHODCALLTYPE *AddRef)(
25602 ICurrentItem *This);
25603
25604 ULONG (STDMETHODCALLTYPE *Release)(
25605 ICurrentItem *This);
25606
25607 /*** IRelatedItem methods ***/
25608 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25609 ICurrentItem *This,
25610 PIDLIST_ABSOLUTE *ppidl);
25611
25612 HRESULT (STDMETHODCALLTYPE *GetItem)(
25613 ICurrentItem *This,
25614 IShellItem **ppsi);
25615
25616 END_INTERFACE
25617} ICurrentItemVtbl;
25618
25619interface ICurrentItem {
25620 CONST_VTBL ICurrentItemVtbl* lpVtbl;
25621};
25622
25623#ifdef COBJMACROS
25624#ifndef WIDL_C_INLINE_WRAPPERS
25625/*** IUnknown methods ***/
25626#define ICurrentItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25627#define ICurrentItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25628#define ICurrentItem_Release(This) (This)->lpVtbl->Release(This)
25629/*** IRelatedItem methods ***/
25630#define ICurrentItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25631#define ICurrentItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25632#else
25633/*** IUnknown methods ***/
25634static inline HRESULT ICurrentItem_QueryInterface(ICurrentItem* This,REFIID riid,void **ppvObject) {
25635 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25636}
25637static inline ULONG ICurrentItem_AddRef(ICurrentItem* This) {
25638 return This->lpVtbl->AddRef(This);
25639}
25640static inline ULONG ICurrentItem_Release(ICurrentItem* This) {
25641 return This->lpVtbl->Release(This);
25642}
25643/*** IRelatedItem methods ***/
25644static inline HRESULT ICurrentItem_GetItemIDList(ICurrentItem* This,PIDLIST_ABSOLUTE *ppidl) {
25645 return This->lpVtbl->GetItemIDList(This,ppidl);
25646}
25647static inline HRESULT ICurrentItem_GetItem(ICurrentItem* This,IShellItem **ppsi) {
25648 return This->lpVtbl->GetItem(This,ppsi);
25649}
25650#endif
25651#endif
25652
25653#endif
25654
25655
25656#endif /* __ICurrentItem_INTERFACE_DEFINED__ */
25657
25658
25659/*****************************************************************************
25660 * ITransferMediumItem interface
25661 */
25662#ifndef __ITransferMediumItem_INTERFACE_DEFINED__
25663#define __ITransferMediumItem_INTERFACE_DEFINED__
25664
25665DEFINE_GUID(IID_ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5);
25666#if defined(__cplusplus) && !defined(CINTERFACE)
25667MIDL_INTERFACE("77f295d5-2d6f-4e19-b8ae-322f3e721ab5")
25668ITransferMediumItem : public IRelatedItem
25669{
25670};
25671#ifdef __CRT_UUID_DECL
25672__CRT_UUID_DECL(ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5)
25673#endif
25674#else
25675typedef struct ITransferMediumItemVtbl {
25676 BEGIN_INTERFACE
25677
25678 /*** IUnknown methods ***/
25679 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25680 ITransferMediumItem *This,
25681 REFIID riid,
25682 void **ppvObject);
25683
25684 ULONG (STDMETHODCALLTYPE *AddRef)(
25685 ITransferMediumItem *This);
25686
25687 ULONG (STDMETHODCALLTYPE *Release)(
25688 ITransferMediumItem *This);
25689
25690 /*** IRelatedItem methods ***/
25691 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25692 ITransferMediumItem *This,
25693 PIDLIST_ABSOLUTE *ppidl);
25694
25695 HRESULT (STDMETHODCALLTYPE *GetItem)(
25696 ITransferMediumItem *This,
25697 IShellItem **ppsi);
25698
25699 END_INTERFACE
25700} ITransferMediumItemVtbl;
25701
25702interface ITransferMediumItem {
25703 CONST_VTBL ITransferMediumItemVtbl* lpVtbl;
25704};
25705
25706#ifdef COBJMACROS
25707#ifndef WIDL_C_INLINE_WRAPPERS
25708/*** IUnknown methods ***/
25709#define ITransferMediumItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25710#define ITransferMediumItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25711#define ITransferMediumItem_Release(This) (This)->lpVtbl->Release(This)
25712/*** IRelatedItem methods ***/
25713#define ITransferMediumItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25714#define ITransferMediumItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25715#else
25716/*** IUnknown methods ***/
25717static inline HRESULT ITransferMediumItem_QueryInterface(ITransferMediumItem* This,REFIID riid,void **ppvObject) {
25718 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25719}
25720static inline ULONG ITransferMediumItem_AddRef(ITransferMediumItem* This) {
25721 return This->lpVtbl->AddRef(This);
25722}
25723static inline ULONG ITransferMediumItem_Release(ITransferMediumItem* This) {
25724 return This->lpVtbl->Release(This);
25725}
25726/*** IRelatedItem methods ***/
25727static inline HRESULT ITransferMediumItem_GetItemIDList(ITransferMediumItem* This,PIDLIST_ABSOLUTE *ppidl) {
25728 return This->lpVtbl->GetItemIDList(This,ppidl);
25729}
25730static inline HRESULT ITransferMediumItem_GetItem(ITransferMediumItem* This,IShellItem **ppsi) {
25731 return This->lpVtbl->GetItem(This,ppsi);
25732}
25733#endif
25734#endif
25735
25736#endif
25737
25738
25739#endif /* __ITransferMediumItem_INTERFACE_DEFINED__ */
25740
25741
25742/*****************************************************************************
25743 * IUseToBrowseItem interface
25744 */
25745#ifndef __IUseToBrowseItem_INTERFACE_DEFINED__
25746#define __IUseToBrowseItem_INTERFACE_DEFINED__
25747
25748DEFINE_GUID(IID_IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1);
25749#if defined(__cplusplus) && !defined(CINTERFACE)
25750MIDL_INTERFACE("05edda5c-98a3-4717-8adb-c5e7da991eb1")
25751IUseToBrowseItem : public IRelatedItem
25752{
25753};
25754#ifdef __CRT_UUID_DECL
25755__CRT_UUID_DECL(IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1)
25756#endif
25757#else
25758typedef struct IUseToBrowseItemVtbl {
25759 BEGIN_INTERFACE
25760
25761 /*** IUnknown methods ***/
25762 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25763 IUseToBrowseItem *This,
25764 REFIID riid,
25765 void **ppvObject);
25766
25767 ULONG (STDMETHODCALLTYPE *AddRef)(
25768 IUseToBrowseItem *This);
25769
25770 ULONG (STDMETHODCALLTYPE *Release)(
25771 IUseToBrowseItem *This);
25772
25773 /*** IRelatedItem methods ***/
25774 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25775 IUseToBrowseItem *This,
25776 PIDLIST_ABSOLUTE *ppidl);
25777
25778 HRESULT (STDMETHODCALLTYPE *GetItem)(
25779 IUseToBrowseItem *This,
25780 IShellItem **ppsi);
25781
25782 END_INTERFACE
25783} IUseToBrowseItemVtbl;
25784
25785interface IUseToBrowseItem {
25786 CONST_VTBL IUseToBrowseItemVtbl* lpVtbl;
25787};
25788
25789#ifdef COBJMACROS
25790#ifndef WIDL_C_INLINE_WRAPPERS
25791/*** IUnknown methods ***/
25792#define IUseToBrowseItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25793#define IUseToBrowseItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25794#define IUseToBrowseItem_Release(This) (This)->lpVtbl->Release(This)
25795/*** IRelatedItem methods ***/
25796#define IUseToBrowseItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25797#define IUseToBrowseItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25798#else
25799/*** IUnknown methods ***/
25800static inline HRESULT IUseToBrowseItem_QueryInterface(IUseToBrowseItem* This,REFIID riid,void **ppvObject) {
25801 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25802}
25803static inline ULONG IUseToBrowseItem_AddRef(IUseToBrowseItem* This) {
25804 return This->lpVtbl->AddRef(This);
25805}
25806static inline ULONG IUseToBrowseItem_Release(IUseToBrowseItem* This) {
25807 return This->lpVtbl->Release(This);
25808}
25809/*** IRelatedItem methods ***/
25810static inline HRESULT IUseToBrowseItem_GetItemIDList(IUseToBrowseItem* This,PIDLIST_ABSOLUTE *ppidl) {
25811 return This->lpVtbl->GetItemIDList(This,ppidl);
25812}
25813static inline HRESULT IUseToBrowseItem_GetItem(IUseToBrowseItem* This,IShellItem **ppsi) {
25814 return This->lpVtbl->GetItem(This,ppsi);
25815}
25816#endif
25817#endif
25818
25819#endif
25820
25821
25822#endif /* __IUseToBrowseItem_INTERFACE_DEFINED__ */
25823
25824
25825/*****************************************************************************
25826 * IDisplayItem interface
25827 */
25828#ifndef __IDisplayItem_INTERFACE_DEFINED__
25829#define __IDisplayItem_INTERFACE_DEFINED__
25830
25831DEFINE_GUID(IID_IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f);
25832#if defined(__cplusplus) && !defined(CINTERFACE)
25833MIDL_INTERFACE("c6fd5997-9f6b-4888-8703-94e80e8cde3f")
25834IDisplayItem : public IRelatedItem
25835{
25836};
25837#ifdef __CRT_UUID_DECL
25838__CRT_UUID_DECL(IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f)
25839#endif
25840#else
25841typedef struct IDisplayItemVtbl {
25842 BEGIN_INTERFACE
25843
25844 /*** IUnknown methods ***/
25845 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25846 IDisplayItem *This,
25847 REFIID riid,
25848 void **ppvObject);
25849
25850 ULONG (STDMETHODCALLTYPE *AddRef)(
25851 IDisplayItem *This);
25852
25853 ULONG (STDMETHODCALLTYPE *Release)(
25854 IDisplayItem *This);
25855
25856 /*** IRelatedItem methods ***/
25857 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25858 IDisplayItem *This,
25859 PIDLIST_ABSOLUTE *ppidl);
25860
25861 HRESULT (STDMETHODCALLTYPE *GetItem)(
25862 IDisplayItem *This,
25863 IShellItem **ppsi);
25864
25865 END_INTERFACE
25866} IDisplayItemVtbl;
25867
25868interface IDisplayItem {
25869 CONST_VTBL IDisplayItemVtbl* lpVtbl;
25870};
25871
25872#ifdef COBJMACROS
25873#ifndef WIDL_C_INLINE_WRAPPERS
25874/*** IUnknown methods ***/
25875#define IDisplayItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25876#define IDisplayItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25877#define IDisplayItem_Release(This) (This)->lpVtbl->Release(This)
25878/*** IRelatedItem methods ***/
25879#define IDisplayItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25880#define IDisplayItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25881#else
25882/*** IUnknown methods ***/
25883static inline HRESULT IDisplayItem_QueryInterface(IDisplayItem* This,REFIID riid,void **ppvObject) {
25884 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25885}
25886static inline ULONG IDisplayItem_AddRef(IDisplayItem* This) {
25887 return This->lpVtbl->AddRef(This);
25888}
25889static inline ULONG IDisplayItem_Release(IDisplayItem* This) {
25890 return This->lpVtbl->Release(This);
25891}
25892/*** IRelatedItem methods ***/
25893static inline HRESULT IDisplayItem_GetItemIDList(IDisplayItem* This,PIDLIST_ABSOLUTE *ppidl) {
25894 return This->lpVtbl->GetItemIDList(This,ppidl);
25895}
25896static inline HRESULT IDisplayItem_GetItem(IDisplayItem* This,IShellItem **ppsi) {
25897 return This->lpVtbl->GetItem(This,ppsi);
25898}
25899#endif
25900#endif
25901
25902#endif
25903
25904
25905#endif /* __IDisplayItem_INTERFACE_DEFINED__ */
25906
25907
25908/*****************************************************************************
25909 * IViewStateIdentityItem interface
25910 */
25911#ifndef __IViewStateIdentityItem_INTERFACE_DEFINED__
25912#define __IViewStateIdentityItem_INTERFACE_DEFINED__
25913
25914DEFINE_GUID(IID_IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55);
25915#if defined(__cplusplus) && !defined(CINTERFACE)
25916MIDL_INTERFACE("9d264146-a94f-4195-9f9f-3bb12ce0c955")
25917IViewStateIdentityItem : public IRelatedItem
25918{
25919};
25920#ifdef __CRT_UUID_DECL
25921__CRT_UUID_DECL(IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55)
25922#endif
25923#else
25924typedef struct IViewStateIdentityItemVtbl {
25925 BEGIN_INTERFACE
25926
25927 /*** IUnknown methods ***/
25928 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
25929 IViewStateIdentityItem *This,
25930 REFIID riid,
25931 void **ppvObject);
25932
25933 ULONG (STDMETHODCALLTYPE *AddRef)(
25934 IViewStateIdentityItem *This);
25935
25936 ULONG (STDMETHODCALLTYPE *Release)(
25937 IViewStateIdentityItem *This);
25938
25939 /*** IRelatedItem methods ***/
25940 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
25941 IViewStateIdentityItem *This,
25942 PIDLIST_ABSOLUTE *ppidl);
25943
25944 HRESULT (STDMETHODCALLTYPE *GetItem)(
25945 IViewStateIdentityItem *This,
25946 IShellItem **ppsi);
25947
25948 END_INTERFACE
25949} IViewStateIdentityItemVtbl;
25950
25951interface IViewStateIdentityItem {
25952 CONST_VTBL IViewStateIdentityItemVtbl* lpVtbl;
25953};
25954
25955#ifdef COBJMACROS
25956#ifndef WIDL_C_INLINE_WRAPPERS
25957/*** IUnknown methods ***/
25958#define IViewStateIdentityItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
25959#define IViewStateIdentityItem_AddRef(This) (This)->lpVtbl->AddRef(This)
25960#define IViewStateIdentityItem_Release(This) (This)->lpVtbl->Release(This)
25961/*** IRelatedItem methods ***/
25962#define IViewStateIdentityItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
25963#define IViewStateIdentityItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
25964#else
25965/*** IUnknown methods ***/
25966static inline HRESULT IViewStateIdentityItem_QueryInterface(IViewStateIdentityItem* This,REFIID riid,void **ppvObject) {
25967 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
25968}
25969static inline ULONG IViewStateIdentityItem_AddRef(IViewStateIdentityItem* This) {
25970 return This->lpVtbl->AddRef(This);
25971}
25972static inline ULONG IViewStateIdentityItem_Release(IViewStateIdentityItem* This) {
25973 return This->lpVtbl->Release(This);
25974}
25975/*** IRelatedItem methods ***/
25976static inline HRESULT IViewStateIdentityItem_GetItemIDList(IViewStateIdentityItem* This,PIDLIST_ABSOLUTE *ppidl) {
25977 return This->lpVtbl->GetItemIDList(This,ppidl);
25978}
25979static inline HRESULT IViewStateIdentityItem_GetItem(IViewStateIdentityItem* This,IShellItem **ppsi) {
25980 return This->lpVtbl->GetItem(This,ppsi);
25981}
25982#endif
25983#endif
25984
25985#endif
25986
25987
25988#endif /* __IViewStateIdentityItem_INTERFACE_DEFINED__ */
25989
25990
25991/*****************************************************************************
25992 * IPreviewItem interface
25993 */
25994#ifndef __IPreviewItem_INTERFACE_DEFINED__
25995#define __IPreviewItem_INTERFACE_DEFINED__
25996
25997DEFINE_GUID(IID_IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb);
25998#if defined(__cplusplus) && !defined(CINTERFACE)
25999MIDL_INTERFACE("36149969-0a8f-49c8-8b00-4aecb20222fb")
26000IPreviewItem : public IRelatedItem
26001{
26002};
26003#ifdef __CRT_UUID_DECL
26004__CRT_UUID_DECL(IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb)
26005#endif
26006#else
26007typedef struct IPreviewItemVtbl {
26008 BEGIN_INTERFACE
26009
26010 /*** IUnknown methods ***/
26011 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26012 IPreviewItem *This,
26013 REFIID riid,
26014 void **ppvObject);
26015
26016 ULONG (STDMETHODCALLTYPE *AddRef)(
26017 IPreviewItem *This);
26018
26019 ULONG (STDMETHODCALLTYPE *Release)(
26020 IPreviewItem *This);
26021
26022 /*** IRelatedItem methods ***/
26023 HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
26024 IPreviewItem *This,
26025 PIDLIST_ABSOLUTE *ppidl);
26026
26027 HRESULT (STDMETHODCALLTYPE *GetItem)(
26028 IPreviewItem *This,
26029 IShellItem **ppsi);
26030
26031 END_INTERFACE
26032} IPreviewItemVtbl;
26033
26034interface IPreviewItem {
26035 CONST_VTBL IPreviewItemVtbl* lpVtbl;
26036};
26037
26038#ifdef COBJMACROS
26039#ifndef WIDL_C_INLINE_WRAPPERS
26040/*** IUnknown methods ***/
26041#define IPreviewItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26042#define IPreviewItem_AddRef(This) (This)->lpVtbl->AddRef(This)
26043#define IPreviewItem_Release(This) (This)->lpVtbl->Release(This)
26044/*** IRelatedItem methods ***/
26045#define IPreviewItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
26046#define IPreviewItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
26047#else
26048/*** IUnknown methods ***/
26049static inline HRESULT IPreviewItem_QueryInterface(IPreviewItem* This,REFIID riid,void **ppvObject) {
26050 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26051}
26052static inline ULONG IPreviewItem_AddRef(IPreviewItem* This) {
26053 return This->lpVtbl->AddRef(This);
26054}
26055static inline ULONG IPreviewItem_Release(IPreviewItem* This) {
26056 return This->lpVtbl->Release(This);
26057}
26058/*** IRelatedItem methods ***/
26059static inline HRESULT IPreviewItem_GetItemIDList(IPreviewItem* This,PIDLIST_ABSOLUTE *ppidl) {
26060 return This->lpVtbl->GetItemIDList(This,ppidl);
26061}
26062static inline HRESULT IPreviewItem_GetItem(IPreviewItem* This,IShellItem **ppsi) {
26063 return This->lpVtbl->GetItem(This,ppsi);
26064}
26065#endif
26066#endif
26067
26068#endif
26069
26070
26071#endif /* __IPreviewItem_INTERFACE_DEFINED__ */
26072
26073#endif
26074
26075/*****************************************************************************
26076 * IDestinationStreamFactory interface
26077 */
26078#ifndef __IDestinationStreamFactory_INTERFACE_DEFINED__
26079#define __IDestinationStreamFactory_INTERFACE_DEFINED__
26080
26081DEFINE_GUID(IID_IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9);
26082#if defined(__cplusplus) && !defined(CINTERFACE)
26083MIDL_INTERFACE("8a87781b-39a7-4a1f-aab3-a39b9c34a7d9")
26084IDestinationStreamFactory : public IUnknown
26085{
26086 virtual HRESULT STDMETHODCALLTYPE GetDestinationStream(
26087 IStream **ppstm) = 0;
26088
26089};
26090#ifdef __CRT_UUID_DECL
26091__CRT_UUID_DECL(IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9)
26092#endif
26093#else
26094typedef struct IDestinationStreamFactoryVtbl {
26095 BEGIN_INTERFACE
26096
26097 /*** IUnknown methods ***/
26098 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26099 IDestinationStreamFactory *This,
26100 REFIID riid,
26101 void **ppvObject);
26102
26103 ULONG (STDMETHODCALLTYPE *AddRef)(
26104 IDestinationStreamFactory *This);
26105
26106 ULONG (STDMETHODCALLTYPE *Release)(
26107 IDestinationStreamFactory *This);
26108
26109 /*** IDestinationStreamFactory methods ***/
26110 HRESULT (STDMETHODCALLTYPE *GetDestinationStream)(
26111 IDestinationStreamFactory *This,
26112 IStream **ppstm);
26113
26114 END_INTERFACE
26115} IDestinationStreamFactoryVtbl;
26116
26117interface IDestinationStreamFactory {
26118 CONST_VTBL IDestinationStreamFactoryVtbl* lpVtbl;
26119};
26120
26121#ifdef COBJMACROS
26122#ifndef WIDL_C_INLINE_WRAPPERS
26123/*** IUnknown methods ***/
26124#define IDestinationStreamFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26125#define IDestinationStreamFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
26126#define IDestinationStreamFactory_Release(This) (This)->lpVtbl->Release(This)
26127/*** IDestinationStreamFactory methods ***/
26128#define IDestinationStreamFactory_GetDestinationStream(This,ppstm) (This)->lpVtbl->GetDestinationStream(This,ppstm)
26129#else
26130/*** IUnknown methods ***/
26131static inline HRESULT IDestinationStreamFactory_QueryInterface(IDestinationStreamFactory* This,REFIID riid,void **ppvObject) {
26132 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26133}
26134static inline ULONG IDestinationStreamFactory_AddRef(IDestinationStreamFactory* This) {
26135 return This->lpVtbl->AddRef(This);
26136}
26137static inline ULONG IDestinationStreamFactory_Release(IDestinationStreamFactory* This) {
26138 return This->lpVtbl->Release(This);
26139}
26140/*** IDestinationStreamFactory methods ***/
26141static inline HRESULT IDestinationStreamFactory_GetDestinationStream(IDestinationStreamFactory* This,IStream **ppstm) {
26142 return This->lpVtbl->GetDestinationStream(This,ppstm);
26143}
26144#endif
26145#endif
26146
26147#endif
26148
26149
26150#endif /* __IDestinationStreamFactory_INTERFACE_DEFINED__ */
26151
26152
26153enum _NMCII_FLAGS {
26154 NMCII_NONE = 0x0,
26155 NMCII_ITEMS = 0x1,
26156 NMCII_FOLDERS = 0x2
26157};
26158
26159typedef int NMCII_FLAGS;
26160
26161enum _NMCSAEI_FLAGS {
26162 NMCSAEI_SELECT = 0x0,
26163 NMCSAEI_EDIT = 0x1
26164};
26165
26166typedef int NMCSAEI_FLAGS;
26167
26168/*****************************************************************************
26169 * INewMenuClient interface
26170 */
26171#ifndef __INewMenuClient_INTERFACE_DEFINED__
26172#define __INewMenuClient_INTERFACE_DEFINED__
26173
26174DEFINE_GUID(IID_INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0);
26175#if defined(__cplusplus) && !defined(CINTERFACE)
26176MIDL_INTERFACE("dcb07fdc-3bb5-451c-90be-966644fed7b0")
26177INewMenuClient : public IUnknown
26178{
26179 virtual HRESULT STDMETHODCALLTYPE IncludeItems(
26180 NMCII_FLAGS *pflags) = 0;
26181
26182 virtual HRESULT STDMETHODCALLTYPE SelectAndEditItem(
26183 PCIDLIST_ABSOLUTE pidlItem,
26184 NMCSAEI_FLAGS flags) = 0;
26185
26186};
26187#ifdef __CRT_UUID_DECL
26188__CRT_UUID_DECL(INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0)
26189#endif
26190#else
26191typedef struct INewMenuClientVtbl {
26192 BEGIN_INTERFACE
26193
26194 /*** IUnknown methods ***/
26195 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26196 INewMenuClient *This,
26197 REFIID riid,
26198 void **ppvObject);
26199
26200 ULONG (STDMETHODCALLTYPE *AddRef)(
26201 INewMenuClient *This);
26202
26203 ULONG (STDMETHODCALLTYPE *Release)(
26204 INewMenuClient *This);
26205
26206 /*** INewMenuClient methods ***/
26207 HRESULT (STDMETHODCALLTYPE *IncludeItems)(
26208 INewMenuClient *This,
26209 NMCII_FLAGS *pflags);
26210
26211 HRESULT (STDMETHODCALLTYPE *SelectAndEditItem)(
26212 INewMenuClient *This,
26213 PCIDLIST_ABSOLUTE pidlItem,
26214 NMCSAEI_FLAGS flags);
26215
26216 END_INTERFACE
26217} INewMenuClientVtbl;
26218
26219interface INewMenuClient {
26220 CONST_VTBL INewMenuClientVtbl* lpVtbl;
26221};
26222
26223#ifdef COBJMACROS
26224#ifndef WIDL_C_INLINE_WRAPPERS
26225/*** IUnknown methods ***/
26226#define INewMenuClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26227#define INewMenuClient_AddRef(This) (This)->lpVtbl->AddRef(This)
26228#define INewMenuClient_Release(This) (This)->lpVtbl->Release(This)
26229/*** INewMenuClient methods ***/
26230#define INewMenuClient_IncludeItems(This,pflags) (This)->lpVtbl->IncludeItems(This,pflags)
26231#define INewMenuClient_SelectAndEditItem(This,pidlItem,flags) (This)->lpVtbl->SelectAndEditItem(This,pidlItem,flags)
26232#else
26233/*** IUnknown methods ***/
26234static inline HRESULT INewMenuClient_QueryInterface(INewMenuClient* This,REFIID riid,void **ppvObject) {
26235 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26236}
26237static inline ULONG INewMenuClient_AddRef(INewMenuClient* This) {
26238 return This->lpVtbl->AddRef(This);
26239}
26240static inline ULONG INewMenuClient_Release(INewMenuClient* This) {
26241 return This->lpVtbl->Release(This);
26242}
26243/*** INewMenuClient methods ***/
26244static inline HRESULT INewMenuClient_IncludeItems(INewMenuClient* This,NMCII_FLAGS *pflags) {
26245 return This->lpVtbl->IncludeItems(This,pflags);
26246}
26247static inline HRESULT INewMenuClient_SelectAndEditItem(INewMenuClient* This,PCIDLIST_ABSOLUTE pidlItem,NMCSAEI_FLAGS flags) {
26248 return This->lpVtbl->SelectAndEditItem(This,pidlItem,flags);
26249}
26250#endif
26251#endif
26252
26253#endif
26254
26255
26256#endif /* __INewMenuClient_INTERFACE_DEFINED__ */
26257
26258
26259#define SID_SNewMenuClient IID_INewMenuClient
26260
26261DEFINE_GUID(SID_SCommandBarState, 0xB99EAA5C, 0x3850, 0x4400, 0xBC, 0x33, 0x2C, 0xE5, 0x34, 0x04, 0x8B, 0xF8);
26262
26263#if _WIN32_IE >= _WIN32_IE_IE70
26264/*****************************************************************************
26265 * IInitializeWithBindCtx interface
26266 */
26267#ifndef __IInitializeWithBindCtx_INTERFACE_DEFINED__
26268#define __IInitializeWithBindCtx_INTERFACE_DEFINED__
26269
26270DEFINE_GUID(IID_IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59);
26271#if defined(__cplusplus) && !defined(CINTERFACE)
26272MIDL_INTERFACE("71c0d2bc-726d-45cc-a6c0-2e31c1db2159")
26273IInitializeWithBindCtx : public IUnknown
26274{
26275 virtual HRESULT STDMETHODCALLTYPE Initialize(
26276 IBindCtx *pbc) = 0;
26277
26278};
26279#ifdef __CRT_UUID_DECL
26280__CRT_UUID_DECL(IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59)
26281#endif
26282#else
26283typedef struct IInitializeWithBindCtxVtbl {
26284 BEGIN_INTERFACE
26285
26286 /*** IUnknown methods ***/
26287 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26288 IInitializeWithBindCtx *This,
26289 REFIID riid,
26290 void **ppvObject);
26291
26292 ULONG (STDMETHODCALLTYPE *AddRef)(
26293 IInitializeWithBindCtx *This);
26294
26295 ULONG (STDMETHODCALLTYPE *Release)(
26296 IInitializeWithBindCtx *This);
26297
26298 /*** IInitializeWithBindCtx methods ***/
26299 HRESULT (STDMETHODCALLTYPE *Initialize)(
26300 IInitializeWithBindCtx *This,
26301 IBindCtx *pbc);
26302
26303 END_INTERFACE
26304} IInitializeWithBindCtxVtbl;
26305
26306interface IInitializeWithBindCtx {
26307 CONST_VTBL IInitializeWithBindCtxVtbl* lpVtbl;
26308};
26309
26310#ifdef COBJMACROS
26311#ifndef WIDL_C_INLINE_WRAPPERS
26312/*** IUnknown methods ***/
26313#define IInitializeWithBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26314#define IInitializeWithBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
26315#define IInitializeWithBindCtx_Release(This) (This)->lpVtbl->Release(This)
26316/*** IInitializeWithBindCtx methods ***/
26317#define IInitializeWithBindCtx_Initialize(This,pbc) (This)->lpVtbl->Initialize(This,pbc)
26318#else
26319/*** IUnknown methods ***/
26320static inline HRESULT IInitializeWithBindCtx_QueryInterface(IInitializeWithBindCtx* This,REFIID riid,void **ppvObject) {
26321 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26322}
26323static inline ULONG IInitializeWithBindCtx_AddRef(IInitializeWithBindCtx* This) {
26324 return This->lpVtbl->AddRef(This);
26325}
26326static inline ULONG IInitializeWithBindCtx_Release(IInitializeWithBindCtx* This) {
26327 return This->lpVtbl->Release(This);
26328}
26329/*** IInitializeWithBindCtx methods ***/
26330static inline HRESULT IInitializeWithBindCtx_Initialize(IInitializeWithBindCtx* This,IBindCtx *pbc) {
26331 return This->lpVtbl->Initialize(This,pbc);
26332}
26333#endif
26334#endif
26335
26336#endif
26337
26338
26339#endif /* __IInitializeWithBindCtx_INTERFACE_DEFINED__ */
26340
26341
26342/*****************************************************************************
26343 * IShellItemFilter interface
26344 */
26345#ifndef __IShellItemFilter_INTERFACE_DEFINED__
26346#define __IShellItemFilter_INTERFACE_DEFINED__
26347
26348DEFINE_GUID(IID_IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf);
26349#if defined(__cplusplus) && !defined(CINTERFACE)
26350MIDL_INTERFACE("2659b475-eeb8-48b7-8f07-b378810f48cf")
26351IShellItemFilter : public IUnknown
26352{
26353 virtual HRESULT STDMETHODCALLTYPE IncludeItem(
26354 IShellItem *psi) = 0;
26355
26356 virtual HRESULT STDMETHODCALLTYPE GetEnumFlagsForItem(
26357 IShellItem *psi,
26358 SHCONTF *pgrfFlags) = 0;
26359
26360};
26361#ifdef __CRT_UUID_DECL
26362__CRT_UUID_DECL(IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf)
26363#endif
26364#else
26365typedef struct IShellItemFilterVtbl {
26366 BEGIN_INTERFACE
26367
26368 /*** IUnknown methods ***/
26369 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26370 IShellItemFilter *This,
26371 REFIID riid,
26372 void **ppvObject);
26373
26374 ULONG (STDMETHODCALLTYPE *AddRef)(
26375 IShellItemFilter *This);
26376
26377 ULONG (STDMETHODCALLTYPE *Release)(
26378 IShellItemFilter *This);
26379
26380 /*** IShellItemFilter methods ***/
26381 HRESULT (STDMETHODCALLTYPE *IncludeItem)(
26382 IShellItemFilter *This,
26383 IShellItem *psi);
26384
26385 HRESULT (STDMETHODCALLTYPE *GetEnumFlagsForItem)(
26386 IShellItemFilter *This,
26387 IShellItem *psi,
26388 SHCONTF *pgrfFlags);
26389
26390 END_INTERFACE
26391} IShellItemFilterVtbl;
26392
26393interface IShellItemFilter {
26394 CONST_VTBL IShellItemFilterVtbl* lpVtbl;
26395};
26396
26397#ifdef COBJMACROS
26398#ifndef WIDL_C_INLINE_WRAPPERS
26399/*** IUnknown methods ***/
26400#define IShellItemFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26401#define IShellItemFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
26402#define IShellItemFilter_Release(This) (This)->lpVtbl->Release(This)
26403/*** IShellItemFilter methods ***/
26404#define IShellItemFilter_IncludeItem(This,psi) (This)->lpVtbl->IncludeItem(This,psi)
26405#define IShellItemFilter_GetEnumFlagsForItem(This,psi,pgrfFlags) (This)->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags)
26406#else
26407/*** IUnknown methods ***/
26408static inline HRESULT IShellItemFilter_QueryInterface(IShellItemFilter* This,REFIID riid,void **ppvObject) {
26409 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26410}
26411static inline ULONG IShellItemFilter_AddRef(IShellItemFilter* This) {
26412 return This->lpVtbl->AddRef(This);
26413}
26414static inline ULONG IShellItemFilter_Release(IShellItemFilter* This) {
26415 return This->lpVtbl->Release(This);
26416}
26417/*** IShellItemFilter methods ***/
26418static inline HRESULT IShellItemFilter_IncludeItem(IShellItemFilter* This,IShellItem *psi) {
26419 return This->lpVtbl->IncludeItem(This,psi);
26420}
26421static inline HRESULT IShellItemFilter_GetEnumFlagsForItem(IShellItemFilter* This,IShellItem *psi,SHCONTF *pgrfFlags) {
26422 return This->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags);
26423}
26424#endif
26425#endif
26426
26427#endif
26428
26429
26430#endif /* __IShellItemFilter_INTERFACE_DEFINED__ */
26431
26432#endif
26433
26434/*****************************************************************************
26435 * INameSpaceTreeControl interface
26436 */
26437#ifndef __INameSpaceTreeControl_INTERFACE_DEFINED__
26438#define __INameSpaceTreeControl_INTERFACE_DEFINED__
26439
26440enum _NSTCSTYLE {
26441 NSTCS_HASEXPANDOS = 0x1,
26442 NSTCS_HASLINES = 0x2,
26443 NSTCS_SINGLECLICKEXPAND = 0x4,
26444 NSTCS_FULLROWSELECT = 0x8,
26445 NSTCS_SPRINGEXPAND = 0x10,
26446 NSTCS_HORIZONTALSCROLL = 0x20,
26447 NSTCS_ROOTHASEXPANDO = 0x40,
26448 NSTCS_SHOWSELECTIONALWAYS = 0x80,
26449 NSTCS_NOINFOTIP = 0x200,
26450 NSTCS_EVENHEIGHT = 0x400,
26451 NSTCS_NOREPLACEOPEN = 0x800,
26452 NSTCS_DISABLEDRAGDROP = 0x1000,
26453 NSTCS_NOORDERSTREAM = 0x2000,
26454 NSTCS_RICHTOOLTIP = 0x4000,
26455 NSTCS_BORDER = 0x8000,
26456 NSTCS_NOEDITLABELS = 0x10000,
26457 NSTCS_TABSTOP = 0x20000,
26458 NSTCS_FAVORITESMODE = 0x80000,
26459 NSTCS_AUTOHSCROLL = 0x100000,
26460 NSTCS_FADEINOUTEXPANDOS = 0x200000,
26461 NSTCS_EMPTYTEXT = 0x400000,
26462 NSTCS_CHECKBOXES = 0x800000,
26463 NSTCS_PARTIALCHECKBOXES = 0x1000000,
26464 NSTCS_EXCLUSIONCHECKBOXES = 0x2000000,
26465 NSTCS_DIMMEDCHECKBOXES = 0x4000000,
26466 NSTCS_NOINDENTCHECKS = 0x8000000,
26467 NSTCS_ALLOWJUNCTIONS = 0x10000000,
26468 NSTCS_SHOWTABSBUTTON = 0x20000000,
26469 NSTCS_SHOWDELETEBUTTON = 0x40000000,
26470 NSTCS_SHOWREFRESHBUTTON = (int)0x80000000
26471};
26472
26473typedef DWORD NSTCSTYLE;
26474
26475enum _NSTCROOTSTYLE {
26476 NSTCRS_VISIBLE = 0x0,
26477 NSTCRS_HIDDEN = 0x1,
26478 NSTCRS_EXPANDED = 0x2
26479};
26480
26481typedef DWORD NSTCROOTSTYLE;
26482
26483enum _NSTCITEMSTATE {
26484 NSTCIS_NONE = 0x0,
26485 NSTCIS_SELECTED = 0x1,
26486 NSTCIS_EXPANDED = 0x2,
26487 NSTCIS_BOLD = 0x4,
26488 NSTCIS_DISABLED = 0x8,
26489 NSTCIS_SELECTEDNOEXPAND = 0x10
26490};
26491
26492typedef DWORD NSTCITEMSTATE;
26493
26494typedef enum NSTCGNI {
26495 NSTCGNI_NEXT = 0,
26496 NSTCGNI_NEXTVISIBLE = 1,
26497 NSTCGNI_PREV = 2,
26498 NSTCGNI_PREVVISIBLE = 3,
26499 NSTCGNI_PARENT = 4,
26500 NSTCGNI_CHILD = 5,
26501 NSTCGNI_FIRSTVISIBLE = 6,
26502 NSTCGNI_LASTVISIBLE = 7
26503} NSTCGNI;
26504
26505DEFINE_GUID(IID_INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f);
26506#if defined(__cplusplus) && !defined(CINTERFACE)
26507MIDL_INTERFACE("028212a3-b627-47e9-8856-c14265554e4f")
26508INameSpaceTreeControl : public IUnknown
26509{
26510 virtual HRESULT STDMETHODCALLTYPE Initialize(
26511 HWND hwndParent,
26512 RECT *prc,
26513 NSTCSTYLE nsctsFlags) = 0;
26514
26515 virtual HRESULT STDMETHODCALLTYPE TreeAdvise(
26516 IUnknown *punk,
26517 DWORD *pdwCookie) = 0;
26518
26519 virtual HRESULT STDMETHODCALLTYPE TreeUnadvise(
26520 DWORD dwCookie) = 0;
26521
26522 virtual HRESULT STDMETHODCALLTYPE AppendRoot(
26523 IShellItem *psiRoot,
26524 SHCONTF grfEnumFlags,
26525 NSTCROOTSTYLE grfRootStyle,
26526 IShellItemFilter *pif) = 0;
26527
26528 virtual HRESULT STDMETHODCALLTYPE InsertRoot(
26529 int iIndex,
26530 IShellItem *psiRoot,
26531 SHCONTF grfEnumFlags,
26532 NSTCROOTSTYLE grfRootStyle,
26533 IShellItemFilter *pif) = 0;
26534
26535 virtual HRESULT STDMETHODCALLTYPE RemoveRoot(
26536 IShellItem *psiRoot) = 0;
26537
26538 virtual HRESULT STDMETHODCALLTYPE RemoveAllRoots(
26539 ) = 0;
26540
26541 virtual HRESULT STDMETHODCALLTYPE GetRootItems(
26542 IShellItemArray **ppsiaRootItems) = 0;
26543
26544 virtual HRESULT STDMETHODCALLTYPE SetItemState(
26545 IShellItem *psi,
26546 NSTCITEMSTATE nstcisMask,
26547 NSTCITEMSTATE nstcisFlags) = 0;
26548
26549 virtual HRESULT STDMETHODCALLTYPE GetItemState(
26550 IShellItem *psi,
26551 NSTCITEMSTATE nstcisMask,
26552 NSTCITEMSTATE *pnstcisFlags) = 0;
26553
26554 virtual HRESULT STDMETHODCALLTYPE GetSelectedItems(
26555 IShellItemArray **psiaItems) = 0;
26556
26557 virtual HRESULT STDMETHODCALLTYPE GetItemCustomState(
26558 IShellItem *psi,
26559 int *piStateNumber) = 0;
26560
26561 virtual HRESULT STDMETHODCALLTYPE SetItemCustomState(
26562 IShellItem *psi,
26563 int iStateNumber) = 0;
26564
26565 virtual HRESULT STDMETHODCALLTYPE EnsureItemVisible(
26566 IShellItem *psi) = 0;
26567
26568 virtual HRESULT STDMETHODCALLTYPE SetTheme(
26569 LPCWSTR pszTheme) = 0;
26570
26571 virtual HRESULT STDMETHODCALLTYPE GetNextItem(
26572 IShellItem *psi,
26573 NSTCGNI nstcgi,
26574 IShellItem **ppsiNext) = 0;
26575
26576 virtual HRESULT STDMETHODCALLTYPE HitTest(
26577 POINT *ppt,
26578 IShellItem **ppsiOut) = 0;
26579
26580 virtual HRESULT STDMETHODCALLTYPE GetItemRect(
26581 IShellItem *psi,
26582 RECT *prect) = 0;
26583
26584 virtual HRESULT STDMETHODCALLTYPE CollapseAll(
26585 ) = 0;
26586
26587};
26588#ifdef __CRT_UUID_DECL
26589__CRT_UUID_DECL(INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f)
26590#endif
26591#else
26592typedef struct INameSpaceTreeControlVtbl {
26593 BEGIN_INTERFACE
26594
26595 /*** IUnknown methods ***/
26596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26597 INameSpaceTreeControl *This,
26598 REFIID riid,
26599 void **ppvObject);
26600
26601 ULONG (STDMETHODCALLTYPE *AddRef)(
26602 INameSpaceTreeControl *This);
26603
26604 ULONG (STDMETHODCALLTYPE *Release)(
26605 INameSpaceTreeControl *This);
26606
26607 /*** INameSpaceTreeControl methods ***/
26608 HRESULT (STDMETHODCALLTYPE *Initialize)(
26609 INameSpaceTreeControl *This,
26610 HWND hwndParent,
26611 RECT *prc,
26612 NSTCSTYLE nsctsFlags);
26613
26614 HRESULT (STDMETHODCALLTYPE *TreeAdvise)(
26615 INameSpaceTreeControl *This,
26616 IUnknown *punk,
26617 DWORD *pdwCookie);
26618
26619 HRESULT (STDMETHODCALLTYPE *TreeUnadvise)(
26620 INameSpaceTreeControl *This,
26621 DWORD dwCookie);
26622
26623 HRESULT (STDMETHODCALLTYPE *AppendRoot)(
26624 INameSpaceTreeControl *This,
26625 IShellItem *psiRoot,
26626 SHCONTF grfEnumFlags,
26627 NSTCROOTSTYLE grfRootStyle,
26628 IShellItemFilter *pif);
26629
26630 HRESULT (STDMETHODCALLTYPE *InsertRoot)(
26631 INameSpaceTreeControl *This,
26632 int iIndex,
26633 IShellItem *psiRoot,
26634 SHCONTF grfEnumFlags,
26635 NSTCROOTSTYLE grfRootStyle,
26636 IShellItemFilter *pif);
26637
26638 HRESULT (STDMETHODCALLTYPE *RemoveRoot)(
26639 INameSpaceTreeControl *This,
26640 IShellItem *psiRoot);
26641
26642 HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)(
26643 INameSpaceTreeControl *This);
26644
26645 HRESULT (STDMETHODCALLTYPE *GetRootItems)(
26646 INameSpaceTreeControl *This,
26647 IShellItemArray **ppsiaRootItems);
26648
26649 HRESULT (STDMETHODCALLTYPE *SetItemState)(
26650 INameSpaceTreeControl *This,
26651 IShellItem *psi,
26652 NSTCITEMSTATE nstcisMask,
26653 NSTCITEMSTATE nstcisFlags);
26654
26655 HRESULT (STDMETHODCALLTYPE *GetItemState)(
26656 INameSpaceTreeControl *This,
26657 IShellItem *psi,
26658 NSTCITEMSTATE nstcisMask,
26659 NSTCITEMSTATE *pnstcisFlags);
26660
26661 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
26662 INameSpaceTreeControl *This,
26663 IShellItemArray **psiaItems);
26664
26665 HRESULT (STDMETHODCALLTYPE *GetItemCustomState)(
26666 INameSpaceTreeControl *This,
26667 IShellItem *psi,
26668 int *piStateNumber);
26669
26670 HRESULT (STDMETHODCALLTYPE *SetItemCustomState)(
26671 INameSpaceTreeControl *This,
26672 IShellItem *psi,
26673 int iStateNumber);
26674
26675 HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)(
26676 INameSpaceTreeControl *This,
26677 IShellItem *psi);
26678
26679 HRESULT (STDMETHODCALLTYPE *SetTheme)(
26680 INameSpaceTreeControl *This,
26681 LPCWSTR pszTheme);
26682
26683 HRESULT (STDMETHODCALLTYPE *GetNextItem)(
26684 INameSpaceTreeControl *This,
26685 IShellItem *psi,
26686 NSTCGNI nstcgi,
26687 IShellItem **ppsiNext);
26688
26689 HRESULT (STDMETHODCALLTYPE *HitTest)(
26690 INameSpaceTreeControl *This,
26691 POINT *ppt,
26692 IShellItem **ppsiOut);
26693
26694 HRESULT (STDMETHODCALLTYPE *GetItemRect)(
26695 INameSpaceTreeControl *This,
26696 IShellItem *psi,
26697 RECT *prect);
26698
26699 HRESULT (STDMETHODCALLTYPE *CollapseAll)(
26700 INameSpaceTreeControl *This);
26701
26702 END_INTERFACE
26703} INameSpaceTreeControlVtbl;
26704
26705interface INameSpaceTreeControl {
26706 CONST_VTBL INameSpaceTreeControlVtbl* lpVtbl;
26707};
26708
26709#ifdef COBJMACROS
26710#ifndef WIDL_C_INLINE_WRAPPERS
26711/*** IUnknown methods ***/
26712#define INameSpaceTreeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26713#define INameSpaceTreeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
26714#define INameSpaceTreeControl_Release(This) (This)->lpVtbl->Release(This)
26715/*** INameSpaceTreeControl methods ***/
26716#define INameSpaceTreeControl_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags)
26717#define INameSpaceTreeControl_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie)
26718#define INameSpaceTreeControl_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie)
26719#define INameSpaceTreeControl_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif)
26720#define INameSpaceTreeControl_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif)
26721#define INameSpaceTreeControl_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot)
26722#define INameSpaceTreeControl_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This)
26723#define INameSpaceTreeControl_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems)
26724#define INameSpaceTreeControl_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags)
26725#define INameSpaceTreeControl_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags)
26726#define INameSpaceTreeControl_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems)
26727#define INameSpaceTreeControl_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber)
26728#define INameSpaceTreeControl_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber)
26729#define INameSpaceTreeControl_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi)
26730#define INameSpaceTreeControl_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme)
26731#define INameSpaceTreeControl_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext)
26732#define INameSpaceTreeControl_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut)
26733#define INameSpaceTreeControl_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect)
26734#define INameSpaceTreeControl_CollapseAll(This) (This)->lpVtbl->CollapseAll(This)
26735#else
26736/*** IUnknown methods ***/
26737static inline HRESULT INameSpaceTreeControl_QueryInterface(INameSpaceTreeControl* This,REFIID riid,void **ppvObject) {
26738 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
26739}
26740static inline ULONG INameSpaceTreeControl_AddRef(INameSpaceTreeControl* This) {
26741 return This->lpVtbl->AddRef(This);
26742}
26743static inline ULONG INameSpaceTreeControl_Release(INameSpaceTreeControl* This) {
26744 return This->lpVtbl->Release(This);
26745}
26746/*** INameSpaceTreeControl methods ***/
26747static inline HRESULT INameSpaceTreeControl_Initialize(INameSpaceTreeControl* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) {
26748 return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags);
26749}
26750static inline HRESULT INameSpaceTreeControl_TreeAdvise(INameSpaceTreeControl* This,IUnknown *punk,DWORD *pdwCookie) {
26751 return This->lpVtbl->TreeAdvise(This,punk,pdwCookie);
26752}
26753static inline HRESULT INameSpaceTreeControl_TreeUnadvise(INameSpaceTreeControl* This,DWORD dwCookie) {
26754 return This->lpVtbl->TreeUnadvise(This,dwCookie);
26755}
26756static inline HRESULT INameSpaceTreeControl_AppendRoot(INameSpaceTreeControl* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
26757 return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif);
26758}
26759static inline HRESULT INameSpaceTreeControl_InsertRoot(INameSpaceTreeControl* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
26760 return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif);
26761}
26762static inline HRESULT INameSpaceTreeControl_RemoveRoot(INameSpaceTreeControl* This,IShellItem *psiRoot) {
26763 return This->lpVtbl->RemoveRoot(This,psiRoot);
26764}
26765static inline HRESULT INameSpaceTreeControl_RemoveAllRoots(INameSpaceTreeControl* This) {
26766 return This->lpVtbl->RemoveAllRoots(This);
26767}
26768static inline HRESULT INameSpaceTreeControl_GetRootItems(INameSpaceTreeControl* This,IShellItemArray **ppsiaRootItems) {
26769 return This->lpVtbl->GetRootItems(This,ppsiaRootItems);
26770}
26771static inline HRESULT INameSpaceTreeControl_SetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) {
26772 return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags);
26773}
26774static inline HRESULT INameSpaceTreeControl_GetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) {
26775 return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags);
26776}
26777static inline HRESULT INameSpaceTreeControl_GetSelectedItems(INameSpaceTreeControl* This,IShellItemArray **psiaItems) {
26778 return This->lpVtbl->GetSelectedItems(This,psiaItems);
26779}
26780static inline HRESULT INameSpaceTreeControl_GetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int *piStateNumber) {
26781 return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber);
26782}
26783static inline HRESULT INameSpaceTreeControl_SetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int iStateNumber) {
26784 return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber);
26785}
26786static inline HRESULT INameSpaceTreeControl_EnsureItemVisible(INameSpaceTreeControl* This,IShellItem *psi) {
26787 return This->lpVtbl->EnsureItemVisible(This,psi);
26788}
26789static inline HRESULT INameSpaceTreeControl_SetTheme(INameSpaceTreeControl* This,LPCWSTR pszTheme) {
26790 return This->lpVtbl->SetTheme(This,pszTheme);
26791}
26792static inline HRESULT INameSpaceTreeControl_GetNextItem(INameSpaceTreeControl* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) {
26793 return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext);
26794}
26795static inline HRESULT INameSpaceTreeControl_HitTest(INameSpaceTreeControl* This,POINT *ppt,IShellItem **ppsiOut) {
26796 return This->lpVtbl->HitTest(This,ppt,ppsiOut);
26797}
26798static inline HRESULT INameSpaceTreeControl_GetItemRect(INameSpaceTreeControl* This,IShellItem *psi,RECT *prect) {
26799 return This->lpVtbl->GetItemRect(This,psi,prect);
26800}
26801static inline HRESULT INameSpaceTreeControl_CollapseAll(INameSpaceTreeControl* This) {
26802 return This->lpVtbl->CollapseAll(This);
26803}
26804#endif
26805#endif
26806
26807#endif
26808
26809
26810#endif /* __INameSpaceTreeControl_INTERFACE_DEFINED__ */
26811
26812
26813/*****************************************************************************
26814 * INameSpaceTreeControl2 interface
26815 */
26816#ifndef __INameSpaceTreeControl2_INTERFACE_DEFINED__
26817#define __INameSpaceTreeControl2_INTERFACE_DEFINED__
26818
26819typedef enum NSTCSTYLE2 {
26820 NSTCS2_DEFAULT = 0x0,
26821 NSTCS2_INTERRUPTNOTIFICATIONS = 0x1,
26822 NSTCS2_SHOWNULLSPACEMENU = 0x2,
26823 NSTCS2_DISPLAYPADDING = 0x4,
26824 NSTCS2_DISPLAYPINNEDONLY = 0x8,
26825 NTSCS2_NOSINGLETONAUTOEXPAND = 0x10,
26826 NTSCS2_NEVERINSERTNONENUMERATED = 0x20
26827} NSTCSTYLE2;
26828
26829DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)
26830
26831DEFINE_GUID(IID_INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c);
26832#if defined(__cplusplus) && !defined(CINTERFACE)
26833MIDL_INTERFACE("7cc7aed8-290e-49bc-8945-c1401cc9306c")
26834INameSpaceTreeControl2 : public INameSpaceTreeControl
26835{
26836 virtual HRESULT STDMETHODCALLTYPE SetControlStyle(
26837 NSTCSTYLE nstcsMask,
26838 NSTCSTYLE nstcsStyle) = 0;
26839
26840 virtual HRESULT STDMETHODCALLTYPE GetControlStyle(
26841 NSTCSTYLE nstcsMask,
26842 NSTCSTYLE *pnstcsStyle) = 0;
26843
26844 virtual HRESULT STDMETHODCALLTYPE SetControlStyle2(
26845 NSTCSTYLE2 nstcsMask,
26846 NSTCSTYLE2 nstcsStyle) = 0;
26847
26848 virtual HRESULT STDMETHODCALLTYPE GetControlStyle2(
26849 NSTCSTYLE2 nstcsMask,
26850 NSTCSTYLE2 *pnstcsStyle) = 0;
26851
26852};
26853#ifdef __CRT_UUID_DECL
26854__CRT_UUID_DECL(INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c)
26855#endif
26856#else
26857typedef struct INameSpaceTreeControl2Vtbl {
26858 BEGIN_INTERFACE
26859
26860 /*** IUnknown methods ***/
26861 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
26862 INameSpaceTreeControl2 *This,
26863 REFIID riid,
26864 void **ppvObject);
26865
26866 ULONG (STDMETHODCALLTYPE *AddRef)(
26867 INameSpaceTreeControl2 *This);
26868
26869 ULONG (STDMETHODCALLTYPE *Release)(
26870 INameSpaceTreeControl2 *This);
26871
26872 /*** INameSpaceTreeControl methods ***/
26873 HRESULT (STDMETHODCALLTYPE *Initialize)(
26874 INameSpaceTreeControl2 *This,
26875 HWND hwndParent,
26876 RECT *prc,
26877 NSTCSTYLE nsctsFlags);
26878
26879 HRESULT (STDMETHODCALLTYPE *TreeAdvise)(
26880 INameSpaceTreeControl2 *This,
26881 IUnknown *punk,
26882 DWORD *pdwCookie);
26883
26884 HRESULT (STDMETHODCALLTYPE *TreeUnadvise)(
26885 INameSpaceTreeControl2 *This,
26886 DWORD dwCookie);
26887
26888 HRESULT (STDMETHODCALLTYPE *AppendRoot)(
26889 INameSpaceTreeControl2 *This,
26890 IShellItem *psiRoot,
26891 SHCONTF grfEnumFlags,
26892 NSTCROOTSTYLE grfRootStyle,
26893 IShellItemFilter *pif);
26894
26895 HRESULT (STDMETHODCALLTYPE *InsertRoot)(
26896 INameSpaceTreeControl2 *This,
26897 int iIndex,
26898 IShellItem *psiRoot,
26899 SHCONTF grfEnumFlags,
26900 NSTCROOTSTYLE grfRootStyle,
26901 IShellItemFilter *pif);
26902
26903 HRESULT (STDMETHODCALLTYPE *RemoveRoot)(
26904 INameSpaceTreeControl2 *This,
26905 IShellItem *psiRoot);
26906
26907 HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)(
26908 INameSpaceTreeControl2 *This);
26909
26910 HRESULT (STDMETHODCALLTYPE *GetRootItems)(
26911 INameSpaceTreeControl2 *This,
26912 IShellItemArray **ppsiaRootItems);
26913
26914 HRESULT (STDMETHODCALLTYPE *SetItemState)(
26915 INameSpaceTreeControl2 *This,
26916 IShellItem *psi,
26917 NSTCITEMSTATE nstcisMask,
26918 NSTCITEMSTATE nstcisFlags);
26919
26920 HRESULT (STDMETHODCALLTYPE *GetItemState)(
26921 INameSpaceTreeControl2 *This,
26922 IShellItem *psi,
26923 NSTCITEMSTATE nstcisMask,
26924 NSTCITEMSTATE *pnstcisFlags);
26925
26926 HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
26927 INameSpaceTreeControl2 *This,
26928 IShellItemArray **psiaItems);
26929
26930 HRESULT (STDMETHODCALLTYPE *GetItemCustomState)(
26931 INameSpaceTreeControl2 *This,
26932 IShellItem *psi,
26933 int *piStateNumber);
26934
26935 HRESULT (STDMETHODCALLTYPE *SetItemCustomState)(
26936 INameSpaceTreeControl2 *This,
26937 IShellItem *psi,
26938 int iStateNumber);
26939
26940 HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)(
26941 INameSpaceTreeControl2 *This,
26942 IShellItem *psi);
26943
26944 HRESULT (STDMETHODCALLTYPE *SetTheme)(
26945 INameSpaceTreeControl2 *This,
26946 LPCWSTR pszTheme);
26947
26948 HRESULT (STDMETHODCALLTYPE *GetNextItem)(
26949 INameSpaceTreeControl2 *This,
26950 IShellItem *psi,
26951 NSTCGNI nstcgi,
26952 IShellItem **ppsiNext);
26953
26954 HRESULT (STDMETHODCALLTYPE *HitTest)(
26955 INameSpaceTreeControl2 *This,
26956 POINT *ppt,
26957 IShellItem **ppsiOut);
26958
26959 HRESULT (STDMETHODCALLTYPE *GetItemRect)(
26960 INameSpaceTreeControl2 *This,
26961 IShellItem *psi,
26962 RECT *prect);
26963
26964 HRESULT (STDMETHODCALLTYPE *CollapseAll)(
26965 INameSpaceTreeControl2 *This);
26966
26967 /*** INameSpaceTreeControl2 methods ***/
26968 HRESULT (STDMETHODCALLTYPE *SetControlStyle)(
26969 INameSpaceTreeControl2 *This,
26970 NSTCSTYLE nstcsMask,
26971 NSTCSTYLE nstcsStyle);
26972
26973 HRESULT (STDMETHODCALLTYPE *GetControlStyle)(
26974 INameSpaceTreeControl2 *This,
26975 NSTCSTYLE nstcsMask,
26976 NSTCSTYLE *pnstcsStyle);
26977
26978 HRESULT (STDMETHODCALLTYPE *SetControlStyle2)(
26979 INameSpaceTreeControl2 *This,
26980 NSTCSTYLE2 nstcsMask,
26981 NSTCSTYLE2 nstcsStyle);
26982
26983 HRESULT (STDMETHODCALLTYPE *GetControlStyle2)(
26984 INameSpaceTreeControl2 *This,
26985 NSTCSTYLE2 nstcsMask,
26986 NSTCSTYLE2 *pnstcsStyle);
26987
26988 END_INTERFACE
26989} INameSpaceTreeControl2Vtbl;
26990
26991interface INameSpaceTreeControl2 {
26992 CONST_VTBL INameSpaceTreeControl2Vtbl* lpVtbl;
26993};
26994
26995#ifdef COBJMACROS
26996#ifndef WIDL_C_INLINE_WRAPPERS
26997/*** IUnknown methods ***/
26998#define INameSpaceTreeControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
26999#define INameSpaceTreeControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
27000#define INameSpaceTreeControl2_Release(This) (This)->lpVtbl->Release(This)
27001/*** INameSpaceTreeControl methods ***/
27002#define INameSpaceTreeControl2_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags)
27003#define INameSpaceTreeControl2_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie)
27004#define INameSpaceTreeControl2_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie)
27005#define INameSpaceTreeControl2_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif)
27006#define INameSpaceTreeControl2_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif)
27007#define INameSpaceTreeControl2_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot)
27008#define INameSpaceTreeControl2_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This)
27009#define INameSpaceTreeControl2_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems)
27010#define INameSpaceTreeControl2_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags)
27011#define INameSpaceTreeControl2_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags)
27012#define INameSpaceTreeControl2_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems)
27013#define INameSpaceTreeControl2_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber)
27014#define INameSpaceTreeControl2_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber)
27015#define INameSpaceTreeControl2_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi)
27016#define INameSpaceTreeControl2_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme)
27017#define INameSpaceTreeControl2_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext)
27018#define INameSpaceTreeControl2_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut)
27019#define INameSpaceTreeControl2_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect)
27020#define INameSpaceTreeControl2_CollapseAll(This) (This)->lpVtbl->CollapseAll(This)
27021/*** INameSpaceTreeControl2 methods ***/
27022#define INameSpaceTreeControl2_SetControlStyle(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle)
27023#define INameSpaceTreeControl2_GetControlStyle(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle)
27024#define INameSpaceTreeControl2_SetControlStyle2(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle)
27025#define INameSpaceTreeControl2_GetControlStyle2(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle)
27026#else
27027/*** IUnknown methods ***/
27028static inline HRESULT INameSpaceTreeControl2_QueryInterface(INameSpaceTreeControl2* This,REFIID riid,void **ppvObject) {
27029 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27030}
27031static inline ULONG INameSpaceTreeControl2_AddRef(INameSpaceTreeControl2* This) {
27032 return This->lpVtbl->AddRef(This);
27033}
27034static inline ULONG INameSpaceTreeControl2_Release(INameSpaceTreeControl2* This) {
27035 return This->lpVtbl->Release(This);
27036}
27037/*** INameSpaceTreeControl methods ***/
27038static inline HRESULT INameSpaceTreeControl2_Initialize(INameSpaceTreeControl2* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) {
27039 return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags);
27040}
27041static inline HRESULT INameSpaceTreeControl2_TreeAdvise(INameSpaceTreeControl2* This,IUnknown *punk,DWORD *pdwCookie) {
27042 return This->lpVtbl->TreeAdvise(This,punk,pdwCookie);
27043}
27044static inline HRESULT INameSpaceTreeControl2_TreeUnadvise(INameSpaceTreeControl2* This,DWORD dwCookie) {
27045 return This->lpVtbl->TreeUnadvise(This,dwCookie);
27046}
27047static inline HRESULT INameSpaceTreeControl2_AppendRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
27048 return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif);
27049}
27050static inline HRESULT INameSpaceTreeControl2_InsertRoot(INameSpaceTreeControl2* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
27051 return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif);
27052}
27053static inline HRESULT INameSpaceTreeControl2_RemoveRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot) {
27054 return This->lpVtbl->RemoveRoot(This,psiRoot);
27055}
27056static inline HRESULT INameSpaceTreeControl2_RemoveAllRoots(INameSpaceTreeControl2* This) {
27057 return This->lpVtbl->RemoveAllRoots(This);
27058}
27059static inline HRESULT INameSpaceTreeControl2_GetRootItems(INameSpaceTreeControl2* This,IShellItemArray **ppsiaRootItems) {
27060 return This->lpVtbl->GetRootItems(This,ppsiaRootItems);
27061}
27062static inline HRESULT INameSpaceTreeControl2_SetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) {
27063 return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags);
27064}
27065static inline HRESULT INameSpaceTreeControl2_GetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) {
27066 return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags);
27067}
27068static inline HRESULT INameSpaceTreeControl2_GetSelectedItems(INameSpaceTreeControl2* This,IShellItemArray **psiaItems) {
27069 return This->lpVtbl->GetSelectedItems(This,psiaItems);
27070}
27071static inline HRESULT INameSpaceTreeControl2_GetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int *piStateNumber) {
27072 return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber);
27073}
27074static inline HRESULT INameSpaceTreeControl2_SetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int iStateNumber) {
27075 return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber);
27076}
27077static inline HRESULT INameSpaceTreeControl2_EnsureItemVisible(INameSpaceTreeControl2* This,IShellItem *psi) {
27078 return This->lpVtbl->EnsureItemVisible(This,psi);
27079}
27080static inline HRESULT INameSpaceTreeControl2_SetTheme(INameSpaceTreeControl2* This,LPCWSTR pszTheme) {
27081 return This->lpVtbl->SetTheme(This,pszTheme);
27082}
27083static inline HRESULT INameSpaceTreeControl2_GetNextItem(INameSpaceTreeControl2* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) {
27084 return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext);
27085}
27086static inline HRESULT INameSpaceTreeControl2_HitTest(INameSpaceTreeControl2* This,POINT *ppt,IShellItem **ppsiOut) {
27087 return This->lpVtbl->HitTest(This,ppt,ppsiOut);
27088}
27089static inline HRESULT INameSpaceTreeControl2_GetItemRect(INameSpaceTreeControl2* This,IShellItem *psi,RECT *prect) {
27090 return This->lpVtbl->GetItemRect(This,psi,prect);
27091}
27092static inline HRESULT INameSpaceTreeControl2_CollapseAll(INameSpaceTreeControl2* This) {
27093 return This->lpVtbl->CollapseAll(This);
27094}
27095/*** INameSpaceTreeControl2 methods ***/
27096static inline HRESULT INameSpaceTreeControl2_SetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE nstcsStyle) {
27097 return This->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle);
27098}
27099static inline HRESULT INameSpaceTreeControl2_GetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE *pnstcsStyle) {
27100 return This->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle);
27101}
27102static inline HRESULT INameSpaceTreeControl2_SetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 nstcsStyle) {
27103 return This->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle);
27104}
27105static inline HRESULT INameSpaceTreeControl2_GetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 *pnstcsStyle) {
27106 return This->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle);
27107}
27108#endif
27109#endif
27110
27111#endif
27112
27113
27114#endif /* __INameSpaceTreeControl2_INTERFACE_DEFINED__ */
27115
27116
27117#define NSTCS2_ALLMASK (NSTCS2_INTERRUPTNOTIFICATIONS | NSTCS2_SHOWNULLSPACEMENU | NSTCS2_DISPLAYPADDING)
27118#define SID_SNavigationPane IID_INameSpaceTreeControl
27119
27120#define ISLBUTTON(x) (NSTCECT_LBUTTON == ((x) & NSTCECT_BUTTON))
27121#define ISMBUTTON(x) (NSTCECT_MBUTTON == ((x) & NSTCECT_BUTTON))
27122#define ISRBUTTON(x) (NSTCECT_RBUTTON == ((x) & NSTCECT_BUTTON))
27123#define ISDBLCLICK(x) (NSTCECT_DBLCLICK == ((x) & NSTCECT_DBLCLICK))
27124
27125/*****************************************************************************
27126 * INameSpaceTreeControlEvents interface
27127 */
27128#ifndef __INameSpaceTreeControlEvents_INTERFACE_DEFINED__
27129#define __INameSpaceTreeControlEvents_INTERFACE_DEFINED__
27130
27131enum _NSTCEHITTEST {
27132 NSTCEHT_NOWHERE = 0x1,
27133 NSTCEHT_ONITEMICON = 0x2,
27134 NSTCEHT_ONITEMLABEL = 0x4,
27135 NSTCEHT_ONITEMINDENT = 0x8,
27136 NSTCEHT_ONITEMBUTTON = 0x10,
27137 NSTCEHT_ONITEMRIGHT = 0x20,
27138 NSTCEHT_ONITEMSTATEICON = 0x40,
27139 NSTCEHT_ONITEM = 0x46,
27140 NSTCEHT_ONITEMTABBUTTON = 0x1000
27141};
27142
27143typedef DWORD NSTCEHITTEST;
27144
27145enum _NSTCECLICKTYPE {
27146 NSTCECT_LBUTTON = 0x1,
27147 NSTCECT_MBUTTON = 0x2,
27148 NSTCECT_RBUTTON = 0x3,
27149 NSTCECT_BUTTON = 0x3,
27150 NSTCECT_DBLCLICK = 0x4
27151};
27152
27153typedef DWORD NSTCECLICKTYPE;
27154
27155DEFINE_GUID(IID_INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce);
27156#if defined(__cplusplus) && !defined(CINTERFACE)
27157MIDL_INTERFACE("93d77985-b3d8-4484-8318-672cdda002ce")
27158INameSpaceTreeControlEvents : public IUnknown
27159{
27160 virtual HRESULT STDMETHODCALLTYPE OnItemClick(
27161 IShellItem *psi,
27162 NSTCEHITTEST nstceHitTest,
27163 NSTCECLICKTYPE nstceClickType) = 0;
27164
27165 virtual HRESULT STDMETHODCALLTYPE OnPropertyItemCommit(
27166 IShellItem *psi) = 0;
27167
27168 virtual HRESULT STDMETHODCALLTYPE OnItemStateChanging(
27169 IShellItem *psi,
27170 NSTCITEMSTATE nstcisMask,
27171 NSTCITEMSTATE nstcisState) = 0;
27172
27173 virtual HRESULT STDMETHODCALLTYPE OnItemStateChanged(
27174 IShellItem *psi,
27175 NSTCITEMSTATE nstcisMask,
27176 NSTCITEMSTATE nstcisState) = 0;
27177
27178 virtual HRESULT STDMETHODCALLTYPE OnSelectionChanged(
27179 IShellItemArray *psiaSelection) = 0;
27180
27181 virtual HRESULT STDMETHODCALLTYPE OnKeyboardInput(
27182 UINT uMsg,
27183 WPARAM wParam,
27184 LPARAM lParam) = 0;
27185
27186 virtual HRESULT STDMETHODCALLTYPE OnBeforeExpand(
27187 IShellItem *psi) = 0;
27188
27189 virtual HRESULT STDMETHODCALLTYPE OnAfterExpand(
27190 IShellItem *psi) = 0;
27191
27192 virtual HRESULT STDMETHODCALLTYPE OnBeginLabelEdit(
27193 IShellItem *psi) = 0;
27194
27195 virtual HRESULT STDMETHODCALLTYPE OnEndLabelEdit(
27196 IShellItem *psi) = 0;
27197
27198 virtual HRESULT STDMETHODCALLTYPE OnGetToolTip(
27199 IShellItem *psi,
27200 LPWSTR pszTip,
27201 int cchTip) = 0;
27202
27203 virtual HRESULT STDMETHODCALLTYPE OnBeforeItemDelete(
27204 IShellItem *psi) = 0;
27205
27206 virtual HRESULT STDMETHODCALLTYPE OnItemAdded(
27207 IShellItem *psi,
27208 WINBOOL fIsRoot) = 0;
27209
27210 virtual HRESULT STDMETHODCALLTYPE OnItemDeleted(
27211 IShellItem *psi,
27212 WINBOOL fIsRoot) = 0;
27213
27214 virtual HRESULT STDMETHODCALLTYPE OnBeforeContextMenu(
27215 IShellItem *psi,
27216 REFIID riid,
27217 void **ppv) = 0;
27218
27219 virtual HRESULT STDMETHODCALLTYPE OnAfterContextMenu(
27220 IShellItem *psi,
27221 IContextMenu *pcmIn,
27222 REFIID riid,
27223 void **ppv) = 0;
27224
27225 virtual HRESULT STDMETHODCALLTYPE OnBeforeStateImageChange(
27226 IShellItem *psi) = 0;
27227
27228 virtual HRESULT STDMETHODCALLTYPE OnGetDefaultIconIndex(
27229 IShellItem *psi,
27230 int *piDefaultIcon,
27231 int *piOpenIcon) = 0;
27232
27233};
27234#ifdef __CRT_UUID_DECL
27235__CRT_UUID_DECL(INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce)
27236#endif
27237#else
27238typedef struct INameSpaceTreeControlEventsVtbl {
27239 BEGIN_INTERFACE
27240
27241 /*** IUnknown methods ***/
27242 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
27243 INameSpaceTreeControlEvents *This,
27244 REFIID riid,
27245 void **ppvObject);
27246
27247 ULONG (STDMETHODCALLTYPE *AddRef)(
27248 INameSpaceTreeControlEvents *This);
27249
27250 ULONG (STDMETHODCALLTYPE *Release)(
27251 INameSpaceTreeControlEvents *This);
27252
27253 /*** INameSpaceTreeControlEvents methods ***/
27254 HRESULT (STDMETHODCALLTYPE *OnItemClick)(
27255 INameSpaceTreeControlEvents *This,
27256 IShellItem *psi,
27257 NSTCEHITTEST nstceHitTest,
27258 NSTCECLICKTYPE nstceClickType);
27259
27260 HRESULT (STDMETHODCALLTYPE *OnPropertyItemCommit)(
27261 INameSpaceTreeControlEvents *This,
27262 IShellItem *psi);
27263
27264 HRESULT (STDMETHODCALLTYPE *OnItemStateChanging)(
27265 INameSpaceTreeControlEvents *This,
27266 IShellItem *psi,
27267 NSTCITEMSTATE nstcisMask,
27268 NSTCITEMSTATE nstcisState);
27269
27270 HRESULT (STDMETHODCALLTYPE *OnItemStateChanged)(
27271 INameSpaceTreeControlEvents *This,
27272 IShellItem *psi,
27273 NSTCITEMSTATE nstcisMask,
27274 NSTCITEMSTATE nstcisState);
27275
27276 HRESULT (STDMETHODCALLTYPE *OnSelectionChanged)(
27277 INameSpaceTreeControlEvents *This,
27278 IShellItemArray *psiaSelection);
27279
27280 HRESULT (STDMETHODCALLTYPE *OnKeyboardInput)(
27281 INameSpaceTreeControlEvents *This,
27282 UINT uMsg,
27283 WPARAM wParam,
27284 LPARAM lParam);
27285
27286 HRESULT (STDMETHODCALLTYPE *OnBeforeExpand)(
27287 INameSpaceTreeControlEvents *This,
27288 IShellItem *psi);
27289
27290 HRESULT (STDMETHODCALLTYPE *OnAfterExpand)(
27291 INameSpaceTreeControlEvents *This,
27292 IShellItem *psi);
27293
27294 HRESULT (STDMETHODCALLTYPE *OnBeginLabelEdit)(
27295 INameSpaceTreeControlEvents *This,
27296 IShellItem *psi);
27297
27298 HRESULT (STDMETHODCALLTYPE *OnEndLabelEdit)(
27299 INameSpaceTreeControlEvents *This,
27300 IShellItem *psi);
27301
27302 HRESULT (STDMETHODCALLTYPE *OnGetToolTip)(
27303 INameSpaceTreeControlEvents *This,
27304 IShellItem *psi,
27305 LPWSTR pszTip,
27306 int cchTip);
27307
27308 HRESULT (STDMETHODCALLTYPE *OnBeforeItemDelete)(
27309 INameSpaceTreeControlEvents *This,
27310 IShellItem *psi);
27311
27312 HRESULT (STDMETHODCALLTYPE *OnItemAdded)(
27313 INameSpaceTreeControlEvents *This,
27314 IShellItem *psi,
27315 WINBOOL fIsRoot);
27316
27317 HRESULT (STDMETHODCALLTYPE *OnItemDeleted)(
27318 INameSpaceTreeControlEvents *This,
27319 IShellItem *psi,
27320 WINBOOL fIsRoot);
27321
27322 HRESULT (STDMETHODCALLTYPE *OnBeforeContextMenu)(
27323 INameSpaceTreeControlEvents *This,
27324 IShellItem *psi,
27325 REFIID riid,
27326 void **ppv);
27327
27328 HRESULT (STDMETHODCALLTYPE *OnAfterContextMenu)(
27329 INameSpaceTreeControlEvents *This,
27330 IShellItem *psi,
27331 IContextMenu *pcmIn,
27332 REFIID riid,
27333 void **ppv);
27334
27335 HRESULT (STDMETHODCALLTYPE *OnBeforeStateImageChange)(
27336 INameSpaceTreeControlEvents *This,
27337 IShellItem *psi);
27338
27339 HRESULT (STDMETHODCALLTYPE *OnGetDefaultIconIndex)(
27340 INameSpaceTreeControlEvents *This,
27341 IShellItem *psi,
27342 int *piDefaultIcon,
27343 int *piOpenIcon);
27344
27345 END_INTERFACE
27346} INameSpaceTreeControlEventsVtbl;
27347
27348interface INameSpaceTreeControlEvents {
27349 CONST_VTBL INameSpaceTreeControlEventsVtbl* lpVtbl;
27350};
27351
27352#ifdef COBJMACROS
27353#ifndef WIDL_C_INLINE_WRAPPERS
27354/*** IUnknown methods ***/
27355#define INameSpaceTreeControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
27356#define INameSpaceTreeControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
27357#define INameSpaceTreeControlEvents_Release(This) (This)->lpVtbl->Release(This)
27358/*** INameSpaceTreeControlEvents methods ***/
27359#define INameSpaceTreeControlEvents_OnItemClick(This,psi,nstceHitTest,nstceClickType) (This)->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType)
27360#define INameSpaceTreeControlEvents_OnPropertyItemCommit(This,psi) (This)->lpVtbl->OnPropertyItemCommit(This,psi)
27361#define INameSpaceTreeControlEvents_OnItemStateChanging(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState)
27362#define INameSpaceTreeControlEvents_OnItemStateChanged(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState)
27363#define INameSpaceTreeControlEvents_OnSelectionChanged(This,psiaSelection) (This)->lpVtbl->OnSelectionChanged(This,psiaSelection)
27364#define INameSpaceTreeControlEvents_OnKeyboardInput(This,uMsg,wParam,lParam) (This)->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam)
27365#define INameSpaceTreeControlEvents_OnBeforeExpand(This,psi) (This)->lpVtbl->OnBeforeExpand(This,psi)
27366#define INameSpaceTreeControlEvents_OnAfterExpand(This,psi) (This)->lpVtbl->OnAfterExpand(This,psi)
27367#define INameSpaceTreeControlEvents_OnBeginLabelEdit(This,psi) (This)->lpVtbl->OnBeginLabelEdit(This,psi)
27368#define INameSpaceTreeControlEvents_OnEndLabelEdit(This,psi) (This)->lpVtbl->OnEndLabelEdit(This,psi)
27369#define INameSpaceTreeControlEvents_OnGetToolTip(This,psi,pszTip,cchTip) (This)->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip)
27370#define INameSpaceTreeControlEvents_OnBeforeItemDelete(This,psi) (This)->lpVtbl->OnBeforeItemDelete(This,psi)
27371#define INameSpaceTreeControlEvents_OnItemAdded(This,psi,fIsRoot) (This)->lpVtbl->OnItemAdded(This,psi,fIsRoot)
27372#define INameSpaceTreeControlEvents_OnItemDeleted(This,psi,fIsRoot) (This)->lpVtbl->OnItemDeleted(This,psi,fIsRoot)
27373#define INameSpaceTreeControlEvents_OnBeforeContextMenu(This,psi,riid,ppv) (This)->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv)
27374#define INameSpaceTreeControlEvents_OnAfterContextMenu(This,psi,pcmIn,riid,ppv) (This)->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv)
27375#define INameSpaceTreeControlEvents_OnBeforeStateImageChange(This,psi) (This)->lpVtbl->OnBeforeStateImageChange(This,psi)
27376#define INameSpaceTreeControlEvents_OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon) (This)->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon)
27377#else
27378/*** IUnknown methods ***/
27379static inline HRESULT INameSpaceTreeControlEvents_QueryInterface(INameSpaceTreeControlEvents* This,REFIID riid,void **ppvObject) {
27380 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27381}
27382static inline ULONG INameSpaceTreeControlEvents_AddRef(INameSpaceTreeControlEvents* This) {
27383 return This->lpVtbl->AddRef(This);
27384}
27385static inline ULONG INameSpaceTreeControlEvents_Release(INameSpaceTreeControlEvents* This) {
27386 return This->lpVtbl->Release(This);
27387}
27388/*** INameSpaceTreeControlEvents methods ***/
27389static inline HRESULT INameSpaceTreeControlEvents_OnItemClick(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCEHITTEST nstceHitTest,NSTCECLICKTYPE nstceClickType) {
27390 return This->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType);
27391}
27392static inline HRESULT INameSpaceTreeControlEvents_OnPropertyItemCommit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27393 return This->lpVtbl->OnPropertyItemCommit(This,psi);
27394}
27395static inline HRESULT INameSpaceTreeControlEvents_OnItemStateChanging(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) {
27396 return This->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState);
27397}
27398static inline HRESULT INameSpaceTreeControlEvents_OnItemStateChanged(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) {
27399 return This->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState);
27400}
27401static inline HRESULT INameSpaceTreeControlEvents_OnSelectionChanged(INameSpaceTreeControlEvents* This,IShellItemArray *psiaSelection) {
27402 return This->lpVtbl->OnSelectionChanged(This,psiaSelection);
27403}
27404static inline HRESULT INameSpaceTreeControlEvents_OnKeyboardInput(INameSpaceTreeControlEvents* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
27405 return This->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam);
27406}
27407static inline HRESULT INameSpaceTreeControlEvents_OnBeforeExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27408 return This->lpVtbl->OnBeforeExpand(This,psi);
27409}
27410static inline HRESULT INameSpaceTreeControlEvents_OnAfterExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27411 return This->lpVtbl->OnAfterExpand(This,psi);
27412}
27413static inline HRESULT INameSpaceTreeControlEvents_OnBeginLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27414 return This->lpVtbl->OnBeginLabelEdit(This,psi);
27415}
27416static inline HRESULT INameSpaceTreeControlEvents_OnEndLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27417 return This->lpVtbl->OnEndLabelEdit(This,psi);
27418}
27419static inline HRESULT INameSpaceTreeControlEvents_OnGetToolTip(INameSpaceTreeControlEvents* This,IShellItem *psi,LPWSTR pszTip,int cchTip) {
27420 return This->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip);
27421}
27422static inline HRESULT INameSpaceTreeControlEvents_OnBeforeItemDelete(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27423 return This->lpVtbl->OnBeforeItemDelete(This,psi);
27424}
27425static inline HRESULT INameSpaceTreeControlEvents_OnItemAdded(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) {
27426 return This->lpVtbl->OnItemAdded(This,psi,fIsRoot);
27427}
27428static inline HRESULT INameSpaceTreeControlEvents_OnItemDeleted(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) {
27429 return This->lpVtbl->OnItemDeleted(This,psi,fIsRoot);
27430}
27431static inline HRESULT INameSpaceTreeControlEvents_OnBeforeContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,REFIID riid,void **ppv) {
27432 return This->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv);
27433}
27434static inline HRESULT INameSpaceTreeControlEvents_OnAfterContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,IContextMenu *pcmIn,REFIID riid,void **ppv) {
27435 return This->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv);
27436}
27437static inline HRESULT INameSpaceTreeControlEvents_OnBeforeStateImageChange(INameSpaceTreeControlEvents* This,IShellItem *psi) {
27438 return This->lpVtbl->OnBeforeStateImageChange(This,psi);
27439}
27440static inline HRESULT INameSpaceTreeControlEvents_OnGetDefaultIconIndex(INameSpaceTreeControlEvents* This,IShellItem *psi,int *piDefaultIcon,int *piOpenIcon) {
27441 return This->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon);
27442}
27443#endif
27444#endif
27445
27446#endif
27447
27448
27449#endif /* __INameSpaceTreeControlEvents_INTERFACE_DEFINED__ */
27450
27451
27452#define NSTCDHPOS_ONTOP -1
27453
27454/*****************************************************************************
27455 * INameSpaceTreeControlDropHandler interface
27456 */
27457#ifndef __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__
27458#define __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__
27459
27460DEFINE_GUID(IID_INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51);
27461#if defined(__cplusplus) && !defined(CINTERFACE)
27462MIDL_INTERFACE("f9c665d6-c2f2-4c19-bf33-8322d7352f51")
27463INameSpaceTreeControlDropHandler : public IUnknown
27464{
27465 virtual HRESULT STDMETHODCALLTYPE OnDragEnter(
27466 IShellItem *psiOver,
27467 IShellItemArray *psiaData,
27468 WINBOOL fOutsideSource,
27469 DWORD grfKeyState,
27470 DWORD *pdwEffect) = 0;
27471
27472 virtual HRESULT STDMETHODCALLTYPE OnDragOver(
27473 IShellItem *psiOver,
27474 IShellItemArray *psiaData,
27475 DWORD grfKeyState,
27476 DWORD *pdwEffect) = 0;
27477
27478 virtual HRESULT STDMETHODCALLTYPE OnDragPosition(
27479 IShellItem *psiOver,
27480 IShellItemArray *psiaData,
27481 int iNewPosition,
27482 int iOldPosition) = 0;
27483
27484 virtual HRESULT STDMETHODCALLTYPE OnDrop(
27485 IShellItem *psiOver,
27486 IShellItemArray *psiaData,
27487 int iPosition,
27488 DWORD grfKeyState,
27489 DWORD *pdwEffect) = 0;
27490
27491 virtual HRESULT STDMETHODCALLTYPE OnDropPosition(
27492 IShellItem *psiOver,
27493 IShellItemArray *psiaData,
27494 int iNewPosition,
27495 int iOldPosition) = 0;
27496
27497 virtual HRESULT STDMETHODCALLTYPE OnDragLeave(
27498 IShellItem *psiOver) = 0;
27499
27500};
27501#ifdef __CRT_UUID_DECL
27502__CRT_UUID_DECL(INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51)
27503#endif
27504#else
27505typedef struct INameSpaceTreeControlDropHandlerVtbl {
27506 BEGIN_INTERFACE
27507
27508 /*** IUnknown methods ***/
27509 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
27510 INameSpaceTreeControlDropHandler *This,
27511 REFIID riid,
27512 void **ppvObject);
27513
27514 ULONG (STDMETHODCALLTYPE *AddRef)(
27515 INameSpaceTreeControlDropHandler *This);
27516
27517 ULONG (STDMETHODCALLTYPE *Release)(
27518 INameSpaceTreeControlDropHandler *This);
27519
27520 /*** INameSpaceTreeControlDropHandler methods ***/
27521 HRESULT (STDMETHODCALLTYPE *OnDragEnter)(
27522 INameSpaceTreeControlDropHandler *This,
27523 IShellItem *psiOver,
27524 IShellItemArray *psiaData,
27525 WINBOOL fOutsideSource,
27526 DWORD grfKeyState,
27527 DWORD *pdwEffect);
27528
27529 HRESULT (STDMETHODCALLTYPE *OnDragOver)(
27530 INameSpaceTreeControlDropHandler *This,
27531 IShellItem *psiOver,
27532 IShellItemArray *psiaData,
27533 DWORD grfKeyState,
27534 DWORD *pdwEffect);
27535
27536 HRESULT (STDMETHODCALLTYPE *OnDragPosition)(
27537 INameSpaceTreeControlDropHandler *This,
27538 IShellItem *psiOver,
27539 IShellItemArray *psiaData,
27540 int iNewPosition,
27541 int iOldPosition);
27542
27543 HRESULT (STDMETHODCALLTYPE *OnDrop)(
27544 INameSpaceTreeControlDropHandler *This,
27545 IShellItem *psiOver,
27546 IShellItemArray *psiaData,
27547 int iPosition,
27548 DWORD grfKeyState,
27549 DWORD *pdwEffect);
27550
27551 HRESULT (STDMETHODCALLTYPE *OnDropPosition)(
27552 INameSpaceTreeControlDropHandler *This,
27553 IShellItem *psiOver,
27554 IShellItemArray *psiaData,
27555 int iNewPosition,
27556 int iOldPosition);
27557
27558 HRESULT (STDMETHODCALLTYPE *OnDragLeave)(
27559 INameSpaceTreeControlDropHandler *This,
27560 IShellItem *psiOver);
27561
27562 END_INTERFACE
27563} INameSpaceTreeControlDropHandlerVtbl;
27564
27565interface INameSpaceTreeControlDropHandler {
27566 CONST_VTBL INameSpaceTreeControlDropHandlerVtbl* lpVtbl;
27567};
27568
27569#ifdef COBJMACROS
27570#ifndef WIDL_C_INLINE_WRAPPERS
27571/*** IUnknown methods ***/
27572#define INameSpaceTreeControlDropHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
27573#define INameSpaceTreeControlDropHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
27574#define INameSpaceTreeControlDropHandler_Release(This) (This)->lpVtbl->Release(This)
27575/*** INameSpaceTreeControlDropHandler methods ***/
27576#define INameSpaceTreeControlDropHandler_OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect)
27577#define INameSpaceTreeControlDropHandler_OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect)
27578#define INameSpaceTreeControlDropHandler_OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition)
27579#define INameSpaceTreeControlDropHandler_OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect) (This)->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect)
27580#define INameSpaceTreeControlDropHandler_OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition)
27581#define INameSpaceTreeControlDropHandler_OnDragLeave(This,psiOver) (This)->lpVtbl->OnDragLeave(This,psiOver)
27582#else
27583/*** IUnknown methods ***/
27584static inline HRESULT INameSpaceTreeControlDropHandler_QueryInterface(INameSpaceTreeControlDropHandler* This,REFIID riid,void **ppvObject) {
27585 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27586}
27587static inline ULONG INameSpaceTreeControlDropHandler_AddRef(INameSpaceTreeControlDropHandler* This) {
27588 return This->lpVtbl->AddRef(This);
27589}
27590static inline ULONG INameSpaceTreeControlDropHandler_Release(INameSpaceTreeControlDropHandler* This) {
27591 return This->lpVtbl->Release(This);
27592}
27593/*** INameSpaceTreeControlDropHandler methods ***/
27594static inline HRESULT INameSpaceTreeControlDropHandler_OnDragEnter(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,WINBOOL fOutsideSource,DWORD grfKeyState,DWORD *pdwEffect) {
27595 return This->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect);
27596}
27597static inline HRESULT INameSpaceTreeControlDropHandler_OnDragOver(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,DWORD grfKeyState,DWORD *pdwEffect) {
27598 return This->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect);
27599}
27600static inline HRESULT INameSpaceTreeControlDropHandler_OnDragPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) {
27601 return This->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition);
27602}
27603static inline HRESULT INameSpaceTreeControlDropHandler_OnDrop(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iPosition,DWORD grfKeyState,DWORD *pdwEffect) {
27604 return This->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect);
27605}
27606static inline HRESULT INameSpaceTreeControlDropHandler_OnDropPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) {
27607 return This->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition);
27608}
27609static inline HRESULT INameSpaceTreeControlDropHandler_OnDragLeave(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver) {
27610 return This->lpVtbl->OnDragLeave(This,psiOver);
27611}
27612#endif
27613#endif
27614
27615#endif
27616
27617
27618#endif /* __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__ */
27619
27620
27621/*****************************************************************************
27622 * INameSpaceTreeAccessible interface
27623 */
27624#ifndef __INameSpaceTreeAccessible_INTERFACE_DEFINED__
27625#define __INameSpaceTreeAccessible_INTERFACE_DEFINED__
27626
27627DEFINE_GUID(IID_INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b);
27628#if defined(__cplusplus) && !defined(CINTERFACE)
27629MIDL_INTERFACE("71f312de-43ed-4190-8477-e9536b82350b")
27630INameSpaceTreeAccessible : public IUnknown
27631{
27632 virtual HRESULT STDMETHODCALLTYPE OnGetDefaultAccessibilityAction(
27633 IShellItem *psi,
27634 BSTR *pbstrDefaultAction) = 0;
27635
27636 virtual HRESULT STDMETHODCALLTYPE OnDoDefaultAccessibilityAction(
27637 IShellItem *psi) = 0;
27638
27639 virtual HRESULT STDMETHODCALLTYPE OnGetAccessibilityRole(
27640 IShellItem *psi,
27641 VARIANT *pvarRole) = 0;
27642
27643};
27644#ifdef __CRT_UUID_DECL
27645__CRT_UUID_DECL(INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b)
27646#endif
27647#else
27648typedef struct INameSpaceTreeAccessibleVtbl {
27649 BEGIN_INTERFACE
27650
27651 /*** IUnknown methods ***/
27652 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
27653 INameSpaceTreeAccessible *This,
27654 REFIID riid,
27655 void **ppvObject);
27656
27657 ULONG (STDMETHODCALLTYPE *AddRef)(
27658 INameSpaceTreeAccessible *This);
27659
27660 ULONG (STDMETHODCALLTYPE *Release)(
27661 INameSpaceTreeAccessible *This);
27662
27663 /*** INameSpaceTreeAccessible methods ***/
27664 HRESULT (STDMETHODCALLTYPE *OnGetDefaultAccessibilityAction)(
27665 INameSpaceTreeAccessible *This,
27666 IShellItem *psi,
27667 BSTR *pbstrDefaultAction);
27668
27669 HRESULT (STDMETHODCALLTYPE *OnDoDefaultAccessibilityAction)(
27670 INameSpaceTreeAccessible *This,
27671 IShellItem *psi);
27672
27673 HRESULT (STDMETHODCALLTYPE *OnGetAccessibilityRole)(
27674 INameSpaceTreeAccessible *This,
27675 IShellItem *psi,
27676 VARIANT *pvarRole);
27677
27678 END_INTERFACE
27679} INameSpaceTreeAccessibleVtbl;
27680
27681interface INameSpaceTreeAccessible {
27682 CONST_VTBL INameSpaceTreeAccessibleVtbl* lpVtbl;
27683};
27684
27685#ifdef COBJMACROS
27686#ifndef WIDL_C_INLINE_WRAPPERS
27687/*** IUnknown methods ***/
27688#define INameSpaceTreeAccessible_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
27689#define INameSpaceTreeAccessible_AddRef(This) (This)->lpVtbl->AddRef(This)
27690#define INameSpaceTreeAccessible_Release(This) (This)->lpVtbl->Release(This)
27691/*** INameSpaceTreeAccessible methods ***/
27692#define INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction) (This)->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction)
27693#define INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(This,psi) (This)->lpVtbl->OnDoDefaultAccessibilityAction(This,psi)
27694#define INameSpaceTreeAccessible_OnGetAccessibilityRole(This,psi,pvarRole) (This)->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole)
27695#else
27696/*** IUnknown methods ***/
27697static inline HRESULT INameSpaceTreeAccessible_QueryInterface(INameSpaceTreeAccessible* This,REFIID riid,void **ppvObject) {
27698 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27699}
27700static inline ULONG INameSpaceTreeAccessible_AddRef(INameSpaceTreeAccessible* This) {
27701 return This->lpVtbl->AddRef(This);
27702}
27703static inline ULONG INameSpaceTreeAccessible_Release(INameSpaceTreeAccessible* This) {
27704 return This->lpVtbl->Release(This);
27705}
27706/*** INameSpaceTreeAccessible methods ***/
27707static inline HRESULT INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi,BSTR *pbstrDefaultAction) {
27708 return This->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction);
27709}
27710static inline HRESULT INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi) {
27711 return This->lpVtbl->OnDoDefaultAccessibilityAction(This,psi);
27712}
27713static inline HRESULT INameSpaceTreeAccessible_OnGetAccessibilityRole(INameSpaceTreeAccessible* This,IShellItem *psi,VARIANT *pvarRole) {
27714 return This->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole);
27715}
27716#endif
27717#endif
27718
27719#endif
27720
27721
27722#endif /* __INameSpaceTreeAccessible_INTERFACE_DEFINED__ */
27723
27724
27725/*****************************************************************************
27726 * INameSpaceTreeControlCustomDraw interface
27727 */
27728#ifndef __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__
27729#define __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__
27730
27731typedef struct NSTCCUSTOMDRAW {
27732 IShellItem *psi;
27733 UINT uItemState;
27734 NSTCITEMSTATE nstcis;
27735 LPCWSTR pszText;
27736 int iImage;
27737 HIMAGELIST himl;
27738 int iLevel;
27739 int iIndent;
27740} NSTCCUSTOMDRAW;
27741
27742DEFINE_GUID(IID_INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78);
27743#if defined(__cplusplus) && !defined(CINTERFACE)
27744MIDL_INTERFACE("2d3ba758-33ee-42d5-bb7b-5f3431d86c78")
27745INameSpaceTreeControlCustomDraw : public IUnknown
27746{
27747 virtual HRESULT STDMETHODCALLTYPE PrePaint(
27748 HDC hdc,
27749 RECT *prc,
27750 LRESULT *plres) = 0;
27751
27752 virtual HRESULT STDMETHODCALLTYPE PostPaint(
27753 HDC hdc,
27754 RECT *prc) = 0;
27755
27756 virtual HRESULT STDMETHODCALLTYPE ItemPrePaint(
27757 HDC hdc,
27758 RECT *prc,
27759 NSTCCUSTOMDRAW *pnstccdItem,
27760 COLORREF *pclrText,
27761 COLORREF *pclrTextBk,
27762 LRESULT *plres) = 0;
27763
27764 virtual HRESULT STDMETHODCALLTYPE ItemPostPaint(
27765 HDC hdc,
27766 RECT *prc,
27767 NSTCCUSTOMDRAW *pnstccdItem) = 0;
27768
27769};
27770#ifdef __CRT_UUID_DECL
27771__CRT_UUID_DECL(INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78)
27772#endif
27773#else
27774typedef struct INameSpaceTreeControlCustomDrawVtbl {
27775 BEGIN_INTERFACE
27776
27777 /*** IUnknown methods ***/
27778 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
27779 INameSpaceTreeControlCustomDraw *This,
27780 REFIID riid,
27781 void **ppvObject);
27782
27783 ULONG (STDMETHODCALLTYPE *AddRef)(
27784 INameSpaceTreeControlCustomDraw *This);
27785
27786 ULONG (STDMETHODCALLTYPE *Release)(
27787 INameSpaceTreeControlCustomDraw *This);
27788
27789 /*** INameSpaceTreeControlCustomDraw methods ***/
27790 HRESULT (STDMETHODCALLTYPE *PrePaint)(
27791 INameSpaceTreeControlCustomDraw *This,
27792 HDC hdc,
27793 RECT *prc,
27794 LRESULT *plres);
27795
27796 HRESULT (STDMETHODCALLTYPE *PostPaint)(
27797 INameSpaceTreeControlCustomDraw *This,
27798 HDC hdc,
27799 RECT *prc);
27800
27801 HRESULT (STDMETHODCALLTYPE *ItemPrePaint)(
27802 INameSpaceTreeControlCustomDraw *This,
27803 HDC hdc,
27804 RECT *prc,
27805 NSTCCUSTOMDRAW *pnstccdItem,
27806 COLORREF *pclrText,
27807 COLORREF *pclrTextBk,
27808 LRESULT *plres);
27809
27810 HRESULT (STDMETHODCALLTYPE *ItemPostPaint)(
27811 INameSpaceTreeControlCustomDraw *This,
27812 HDC hdc,
27813 RECT *prc,
27814 NSTCCUSTOMDRAW *pnstccdItem);
27815
27816 END_INTERFACE
27817} INameSpaceTreeControlCustomDrawVtbl;
27818
27819interface INameSpaceTreeControlCustomDraw {
27820 CONST_VTBL INameSpaceTreeControlCustomDrawVtbl* lpVtbl;
27821};
27822
27823#ifdef COBJMACROS
27824#ifndef WIDL_C_INLINE_WRAPPERS
27825/*** IUnknown methods ***/
27826#define INameSpaceTreeControlCustomDraw_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
27827#define INameSpaceTreeControlCustomDraw_AddRef(This) (This)->lpVtbl->AddRef(This)
27828#define INameSpaceTreeControlCustomDraw_Release(This) (This)->lpVtbl->Release(This)
27829/*** INameSpaceTreeControlCustomDraw methods ***/
27830#define INameSpaceTreeControlCustomDraw_PrePaint(This,hdc,prc,plres) (This)->lpVtbl->PrePaint(This,hdc,prc,plres)
27831#define INameSpaceTreeControlCustomDraw_PostPaint(This,hdc,prc) (This)->lpVtbl->PostPaint(This,hdc,prc)
27832#define INameSpaceTreeControlCustomDraw_ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres) (This)->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres)
27833#define INameSpaceTreeControlCustomDraw_ItemPostPaint(This,hdc,prc,pnstccdItem) (This)->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem)
27834#else
27835/*** IUnknown methods ***/
27836static inline HRESULT INameSpaceTreeControlCustomDraw_QueryInterface(INameSpaceTreeControlCustomDraw* This,REFIID riid,void **ppvObject) {
27837 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27838}
27839static inline ULONG INameSpaceTreeControlCustomDraw_AddRef(INameSpaceTreeControlCustomDraw* This) {
27840 return This->lpVtbl->AddRef(This);
27841}
27842static inline ULONG INameSpaceTreeControlCustomDraw_Release(INameSpaceTreeControlCustomDraw* This) {
27843 return This->lpVtbl->Release(This);
27844}
27845/*** INameSpaceTreeControlCustomDraw methods ***/
27846static inline HRESULT INameSpaceTreeControlCustomDraw_PrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,LRESULT *plres) {
27847 return This->lpVtbl->PrePaint(This,hdc,prc,plres);
27848}
27849static inline HRESULT INameSpaceTreeControlCustomDraw_PostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc) {
27850 return This->lpVtbl->PostPaint(This,hdc,prc);
27851}
27852static inline HRESULT INameSpaceTreeControlCustomDraw_ItemPrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem,COLORREF *pclrText,COLORREF *pclrTextBk,LRESULT *plres) {
27853 return This->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres);
27854}
27855static inline HRESULT INameSpaceTreeControlCustomDraw_ItemPostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem) {
27856 return This->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem);
27857}
27858#endif
27859#endif
27860
27861#endif
27862
27863
27864#endif /* __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__ */
27865
27866
27867#if NTDDI_VERSION >= NTDDI_VISTA
27868/*****************************************************************************
27869 * INameSpaceTreeControlFolderCapabilities interface
27870 */
27871#ifndef __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__
27872#define __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__
27873
27874typedef enum NSTCFOLDERCAPABILITIES {
27875 NSTCFC_NONE = 0x0,
27876 NSTCFC_PINNEDITEMFILTERING = 0x1,
27877 NSTCFC_DELAY_REGISTER_NOTIFY = 0x2
27878} NSTCFOLDERCAPABILITIES;
27879
27880DEFINE_ENUM_FLAG_OPERATORS(NSTCFOLDERCAPABILITIES)
27881
27882DEFINE_GUID(IID_INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe);
27883#if defined(__cplusplus) && !defined(CINTERFACE)
27884MIDL_INTERFACE("e9701183-e6b3-4ff2-8568-813615fec7be")
27885INameSpaceTreeControlFolderCapabilities : public IUnknown
27886{
27887 virtual HRESULT STDMETHODCALLTYPE GetFolderCapabilities(
27888 NSTCFOLDERCAPABILITIES nfcMask,
27889 NSTCFOLDERCAPABILITIES *pnfcValue) = 0;
27890
27891};
27892#ifdef __CRT_UUID_DECL
27893__CRT_UUID_DECL(INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe)
27894#endif
27895#else
27896typedef struct INameSpaceTreeControlFolderCapabilitiesVtbl {
27897 BEGIN_INTERFACE
27898
27899 /*** IUnknown methods ***/
27900 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
27901 INameSpaceTreeControlFolderCapabilities *This,
27902 REFIID riid,
27903 void **ppvObject);
27904
27905 ULONG (STDMETHODCALLTYPE *AddRef)(
27906 INameSpaceTreeControlFolderCapabilities *This);
27907
27908 ULONG (STDMETHODCALLTYPE *Release)(
27909 INameSpaceTreeControlFolderCapabilities *This);
27910
27911 /*** INameSpaceTreeControlFolderCapabilities methods ***/
27912 HRESULT (STDMETHODCALLTYPE *GetFolderCapabilities)(
27913 INameSpaceTreeControlFolderCapabilities *This,
27914 NSTCFOLDERCAPABILITIES nfcMask,
27915 NSTCFOLDERCAPABILITIES *pnfcValue);
27916
27917 END_INTERFACE
27918} INameSpaceTreeControlFolderCapabilitiesVtbl;
27919
27920interface INameSpaceTreeControlFolderCapabilities {
27921 CONST_VTBL INameSpaceTreeControlFolderCapabilitiesVtbl* lpVtbl;
27922};
27923
27924#ifdef COBJMACROS
27925#ifndef WIDL_C_INLINE_WRAPPERS
27926/*** IUnknown methods ***/
27927#define INameSpaceTreeControlFolderCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
27928#define INameSpaceTreeControlFolderCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
27929#define INameSpaceTreeControlFolderCapabilities_Release(This) (This)->lpVtbl->Release(This)
27930/*** INameSpaceTreeControlFolderCapabilities methods ***/
27931#define INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(This,nfcMask,pnfcValue) (This)->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue)
27932#else
27933/*** IUnknown methods ***/
27934static inline HRESULT INameSpaceTreeControlFolderCapabilities_QueryInterface(INameSpaceTreeControlFolderCapabilities* This,REFIID riid,void **ppvObject) {
27935 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
27936}
27937static inline ULONG INameSpaceTreeControlFolderCapabilities_AddRef(INameSpaceTreeControlFolderCapabilities* This) {
27938 return This->lpVtbl->AddRef(This);
27939}
27940static inline ULONG INameSpaceTreeControlFolderCapabilities_Release(INameSpaceTreeControlFolderCapabilities* This) {
27941 return This->lpVtbl->Release(This);
27942}
27943/*** INameSpaceTreeControlFolderCapabilities methods ***/
27944static inline HRESULT INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(INameSpaceTreeControlFolderCapabilities* This,NSTCFOLDERCAPABILITIES nfcMask,NSTCFOLDERCAPABILITIES *pnfcValue) {
27945 return This->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue);
27946}
27947#endif
27948#endif
27949
27950#endif
27951
27952
27953#endif /* __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__ */
27954
27955#endif
27956
27957#define E_PREVIEWHANDLER_DRM_FAIL _HRESULT_TYPEDEF_(0x86420001L)
27958#define E_PREVIEWHANDLER_NOAUTH _HRESULT_TYPEDEF_(0x86420002L)
27959#define E_PREVIEWHANDLER_NOTFOUND _HRESULT_TYPEDEF_(0x86420003L)
27960#define E_PREVIEWHANDLER_CORRUPT _HRESULT_TYPEDEF_(0x86420004L)
27961
27962/*****************************************************************************
27963 * IPreviewHandler interface
27964 */
27965#ifndef __IPreviewHandler_INTERFACE_DEFINED__
27966#define __IPreviewHandler_INTERFACE_DEFINED__
27967
27968DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f);
27969#if defined(__cplusplus) && !defined(CINTERFACE)
27970MIDL_INTERFACE("8895b1c6-b41f-4c1c-a562-0d564250836f")
27971IPreviewHandler : public IUnknown
27972{
27973 virtual HRESULT STDMETHODCALLTYPE SetWindow(
27974 HWND hwnd,
27975 const RECT *prc) = 0;
27976
27977 virtual HRESULT STDMETHODCALLTYPE SetRect(
27978 const RECT *prc) = 0;
27979
27980 virtual HRESULT STDMETHODCALLTYPE DoPreview(
27981 ) = 0;
27982
27983 virtual HRESULT STDMETHODCALLTYPE Unload(
27984 ) = 0;
27985
27986 virtual HRESULT STDMETHODCALLTYPE SetFocus(
27987 ) = 0;
27988
27989 virtual HRESULT STDMETHODCALLTYPE QueryFocus(
27990 HWND *phwnd) = 0;
27991
27992 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
27993 MSG *pmsg) = 0;
27994
27995};
27996#ifdef __CRT_UUID_DECL
27997__CRT_UUID_DECL(IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f)
27998#endif
27999#else
28000typedef struct IPreviewHandlerVtbl {
28001 BEGIN_INTERFACE
28002
28003 /*** IUnknown methods ***/
28004 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28005 IPreviewHandler *This,
28006 REFIID riid,
28007 void **ppvObject);
28008
28009 ULONG (STDMETHODCALLTYPE *AddRef)(
28010 IPreviewHandler *This);
28011
28012 ULONG (STDMETHODCALLTYPE *Release)(
28013 IPreviewHandler *This);
28014
28015 /*** IPreviewHandler methods ***/
28016 HRESULT (STDMETHODCALLTYPE *SetWindow)(
28017 IPreviewHandler *This,
28018 HWND hwnd,
28019 const RECT *prc);
28020
28021 HRESULT (STDMETHODCALLTYPE *SetRect)(
28022 IPreviewHandler *This,
28023 const RECT *prc);
28024
28025 HRESULT (STDMETHODCALLTYPE *DoPreview)(
28026 IPreviewHandler *This);
28027
28028 HRESULT (STDMETHODCALLTYPE *Unload)(
28029 IPreviewHandler *This);
28030
28031 HRESULT (STDMETHODCALLTYPE *SetFocus)(
28032 IPreviewHandler *This);
28033
28034 HRESULT (STDMETHODCALLTYPE *QueryFocus)(
28035 IPreviewHandler *This,
28036 HWND *phwnd);
28037
28038 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
28039 IPreviewHandler *This,
28040 MSG *pmsg);
28041
28042 END_INTERFACE
28043} IPreviewHandlerVtbl;
28044
28045interface IPreviewHandler {
28046 CONST_VTBL IPreviewHandlerVtbl* lpVtbl;
28047};
28048
28049#ifdef COBJMACROS
28050#ifndef WIDL_C_INLINE_WRAPPERS
28051/*** IUnknown methods ***/
28052#define IPreviewHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28053#define IPreviewHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
28054#define IPreviewHandler_Release(This) (This)->lpVtbl->Release(This)
28055/*** IPreviewHandler methods ***/
28056#define IPreviewHandler_SetWindow(This,hwnd,prc) (This)->lpVtbl->SetWindow(This,hwnd,prc)
28057#define IPreviewHandler_SetRect(This,prc) (This)->lpVtbl->SetRect(This,prc)
28058#define IPreviewHandler_DoPreview(This) (This)->lpVtbl->DoPreview(This)
28059#define IPreviewHandler_Unload(This) (This)->lpVtbl->Unload(This)
28060#define IPreviewHandler_SetFocus(This) (This)->lpVtbl->SetFocus(This)
28061#define IPreviewHandler_QueryFocus(This,phwnd) (This)->lpVtbl->QueryFocus(This,phwnd)
28062#define IPreviewHandler_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
28063#else
28064/*** IUnknown methods ***/
28065static inline HRESULT IPreviewHandler_QueryInterface(IPreviewHandler* This,REFIID riid,void **ppvObject) {
28066 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28067}
28068static inline ULONG IPreviewHandler_AddRef(IPreviewHandler* This) {
28069 return This->lpVtbl->AddRef(This);
28070}
28071static inline ULONG IPreviewHandler_Release(IPreviewHandler* This) {
28072 return This->lpVtbl->Release(This);
28073}
28074/*** IPreviewHandler methods ***/
28075static inline HRESULT IPreviewHandler_SetWindow(IPreviewHandler* This,HWND hwnd,const RECT *prc) {
28076 return This->lpVtbl->SetWindow(This,hwnd,prc);
28077}
28078static inline HRESULT IPreviewHandler_SetRect(IPreviewHandler* This,const RECT *prc) {
28079 return This->lpVtbl->SetRect(This,prc);
28080}
28081static inline HRESULT IPreviewHandler_DoPreview(IPreviewHandler* This) {
28082 return This->lpVtbl->DoPreview(This);
28083}
28084static inline HRESULT IPreviewHandler_Unload(IPreviewHandler* This) {
28085 return This->lpVtbl->Unload(This);
28086}
28087static inline HRESULT IPreviewHandler_SetFocus(IPreviewHandler* This) {
28088 return This->lpVtbl->SetFocus(This);
28089}
28090static inline HRESULT IPreviewHandler_QueryFocus(IPreviewHandler* This,HWND *phwnd) {
28091 return This->lpVtbl->QueryFocus(This,phwnd);
28092}
28093static inline HRESULT IPreviewHandler_TranslateAccelerator(IPreviewHandler* This,MSG *pmsg) {
28094 return This->lpVtbl->TranslateAccelerator(This,pmsg);
28095}
28096#endif
28097#endif
28098
28099#endif
28100
28101
28102#endif /* __IPreviewHandler_INTERFACE_DEFINED__ */
28103
28104
28105/*****************************************************************************
28106 * IPreviewHandlerFrame interface
28107 */
28108#ifndef __IPreviewHandlerFrame_INTERFACE_DEFINED__
28109#define __IPreviewHandlerFrame_INTERFACE_DEFINED__
28110
28111typedef struct PREVIEWHANDLERFRAMEINFO {
28112 HACCEL haccel;
28113 UINT cAccelEntries;
28114} PREVIEWHANDLERFRAMEINFO;
28115
28116DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a);
28117#if defined(__cplusplus) && !defined(CINTERFACE)
28118MIDL_INTERFACE("fec87aaf-35f9-447a-adb7-20234491401a")
28119IPreviewHandlerFrame : public IUnknown
28120{
28121 virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
28122 PREVIEWHANDLERFRAMEINFO *pinfo) = 0;
28123
28124 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
28125 MSG *pmsg) = 0;
28126
28127};
28128#ifdef __CRT_UUID_DECL
28129__CRT_UUID_DECL(IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a)
28130#endif
28131#else
28132typedef struct IPreviewHandlerFrameVtbl {
28133 BEGIN_INTERFACE
28134
28135 /*** IUnknown methods ***/
28136 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28137 IPreviewHandlerFrame *This,
28138 REFIID riid,
28139 void **ppvObject);
28140
28141 ULONG (STDMETHODCALLTYPE *AddRef)(
28142 IPreviewHandlerFrame *This);
28143
28144 ULONG (STDMETHODCALLTYPE *Release)(
28145 IPreviewHandlerFrame *This);
28146
28147 /*** IPreviewHandlerFrame methods ***/
28148 HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
28149 IPreviewHandlerFrame *This,
28150 PREVIEWHANDLERFRAMEINFO *pinfo);
28151
28152 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
28153 IPreviewHandlerFrame *This,
28154 MSG *pmsg);
28155
28156 END_INTERFACE
28157} IPreviewHandlerFrameVtbl;
28158
28159interface IPreviewHandlerFrame {
28160 CONST_VTBL IPreviewHandlerFrameVtbl* lpVtbl;
28161};
28162
28163#ifdef COBJMACROS
28164#ifndef WIDL_C_INLINE_WRAPPERS
28165/*** IUnknown methods ***/
28166#define IPreviewHandlerFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28167#define IPreviewHandlerFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
28168#define IPreviewHandlerFrame_Release(This) (This)->lpVtbl->Release(This)
28169/*** IPreviewHandlerFrame methods ***/
28170#define IPreviewHandlerFrame_GetWindowContext(This,pinfo) (This)->lpVtbl->GetWindowContext(This,pinfo)
28171#define IPreviewHandlerFrame_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
28172#else
28173/*** IUnknown methods ***/
28174static inline HRESULT IPreviewHandlerFrame_QueryInterface(IPreviewHandlerFrame* This,REFIID riid,void **ppvObject) {
28175 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28176}
28177static inline ULONG IPreviewHandlerFrame_AddRef(IPreviewHandlerFrame* This) {
28178 return This->lpVtbl->AddRef(This);
28179}
28180static inline ULONG IPreviewHandlerFrame_Release(IPreviewHandlerFrame* This) {
28181 return This->lpVtbl->Release(This);
28182}
28183/*** IPreviewHandlerFrame methods ***/
28184static inline HRESULT IPreviewHandlerFrame_GetWindowContext(IPreviewHandlerFrame* This,PREVIEWHANDLERFRAMEINFO *pinfo) {
28185 return This->lpVtbl->GetWindowContext(This,pinfo);
28186}
28187static inline HRESULT IPreviewHandlerFrame_TranslateAccelerator(IPreviewHandlerFrame* This,MSG *pmsg) {
28188 return This->lpVtbl->TranslateAccelerator(This,pmsg);
28189}
28190#endif
28191#endif
28192
28193#endif
28194
28195
28196#endif /* __IPreviewHandlerFrame_INTERFACE_DEFINED__ */
28197
28198
28199#if NTDDI_VERSION >= NTDDI_VISTA
28200/*****************************************************************************
28201 * ITrayDeskBand interface
28202 */
28203#ifndef __ITrayDeskBand_INTERFACE_DEFINED__
28204#define __ITrayDeskBand_INTERFACE_DEFINED__
28205
28206DEFINE_GUID(IID_ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1);
28207#if defined(__cplusplus) && !defined(CINTERFACE)
28208MIDL_INTERFACE("6d67e846-5b9c-4db8-9cbc-dde12f4254f1")
28209ITrayDeskBand : public IUnknown
28210{
28211 virtual HRESULT STDMETHODCALLTYPE ShowDeskBand(
28212 REFCLSID clsid) = 0;
28213
28214 virtual HRESULT STDMETHODCALLTYPE HideDeskBand(
28215 REFCLSID clsid) = 0;
28216
28217 virtual HRESULT STDMETHODCALLTYPE IsDeskBandShown(
28218 REFCLSID clsid) = 0;
28219
28220 virtual HRESULT STDMETHODCALLTYPE DeskBandRegistrationChanged(
28221 ) = 0;
28222
28223};
28224#ifdef __CRT_UUID_DECL
28225__CRT_UUID_DECL(ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1)
28226#endif
28227#else
28228typedef struct ITrayDeskBandVtbl {
28229 BEGIN_INTERFACE
28230
28231 /*** IUnknown methods ***/
28232 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28233 ITrayDeskBand *This,
28234 REFIID riid,
28235 void **ppvObject);
28236
28237 ULONG (STDMETHODCALLTYPE *AddRef)(
28238 ITrayDeskBand *This);
28239
28240 ULONG (STDMETHODCALLTYPE *Release)(
28241 ITrayDeskBand *This);
28242
28243 /*** ITrayDeskBand methods ***/
28244 HRESULT (STDMETHODCALLTYPE *ShowDeskBand)(
28245 ITrayDeskBand *This,
28246 REFCLSID clsid);
28247
28248 HRESULT (STDMETHODCALLTYPE *HideDeskBand)(
28249 ITrayDeskBand *This,
28250 REFCLSID clsid);
28251
28252 HRESULT (STDMETHODCALLTYPE *IsDeskBandShown)(
28253 ITrayDeskBand *This,
28254 REFCLSID clsid);
28255
28256 HRESULT (STDMETHODCALLTYPE *DeskBandRegistrationChanged)(
28257 ITrayDeskBand *This);
28258
28259 END_INTERFACE
28260} ITrayDeskBandVtbl;
28261
28262interface ITrayDeskBand {
28263 CONST_VTBL ITrayDeskBandVtbl* lpVtbl;
28264};
28265
28266#ifdef COBJMACROS
28267#ifndef WIDL_C_INLINE_WRAPPERS
28268/*** IUnknown methods ***/
28269#define ITrayDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28270#define ITrayDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This)
28271#define ITrayDeskBand_Release(This) (This)->lpVtbl->Release(This)
28272/*** ITrayDeskBand methods ***/
28273#define ITrayDeskBand_ShowDeskBand(This,clsid) (This)->lpVtbl->ShowDeskBand(This,clsid)
28274#define ITrayDeskBand_HideDeskBand(This,clsid) (This)->lpVtbl->HideDeskBand(This,clsid)
28275#define ITrayDeskBand_IsDeskBandShown(This,clsid) (This)->lpVtbl->IsDeskBandShown(This,clsid)
28276#define ITrayDeskBand_DeskBandRegistrationChanged(This) (This)->lpVtbl->DeskBandRegistrationChanged(This)
28277#else
28278/*** IUnknown methods ***/
28279static inline HRESULT ITrayDeskBand_QueryInterface(ITrayDeskBand* This,REFIID riid,void **ppvObject) {
28280 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28281}
28282static inline ULONG ITrayDeskBand_AddRef(ITrayDeskBand* This) {
28283 return This->lpVtbl->AddRef(This);
28284}
28285static inline ULONG ITrayDeskBand_Release(ITrayDeskBand* This) {
28286 return This->lpVtbl->Release(This);
28287}
28288/*** ITrayDeskBand methods ***/
28289static inline HRESULT ITrayDeskBand_ShowDeskBand(ITrayDeskBand* This,REFCLSID clsid) {
28290 return This->lpVtbl->ShowDeskBand(This,clsid);
28291}
28292static inline HRESULT ITrayDeskBand_HideDeskBand(ITrayDeskBand* This,REFCLSID clsid) {
28293 return This->lpVtbl->HideDeskBand(This,clsid);
28294}
28295static inline HRESULT ITrayDeskBand_IsDeskBandShown(ITrayDeskBand* This,REFCLSID clsid) {
28296 return This->lpVtbl->IsDeskBandShown(This,clsid);
28297}
28298static inline HRESULT ITrayDeskBand_DeskBandRegistrationChanged(ITrayDeskBand* This) {
28299 return This->lpVtbl->DeskBandRegistrationChanged(This);
28300}
28301#endif
28302#endif
28303
28304#endif
28305
28306
28307#endif /* __ITrayDeskBand_INTERFACE_DEFINED__ */
28308
28309
28310/*****************************************************************************
28311 * IBandHost interface
28312 */
28313#ifndef __IBandHost_INTERFACE_DEFINED__
28314#define __IBandHost_INTERFACE_DEFINED__
28315
28316DEFINE_GUID(IID_IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac);
28317#if defined(__cplusplus) && !defined(CINTERFACE)
28318MIDL_INTERFACE("b9075c7c-d48e-403f-ab99-d6c77a1084ac")
28319IBandHost : public IUnknown
28320{
28321 virtual HRESULT STDMETHODCALLTYPE CreateBand(
28322 REFCLSID rclsidBand,
28323 WINBOOL fAvailable,
28324 WINBOOL fVisible,
28325 REFIID riid,
28326 void **ppv) = 0;
28327
28328 virtual HRESULT STDMETHODCALLTYPE SetBandAvailability(
28329 REFCLSID rclsidBand,
28330 WINBOOL fAvailable) = 0;
28331
28332 virtual HRESULT STDMETHODCALLTYPE DestroyBand(
28333 REFCLSID rclsidBand) = 0;
28334
28335};
28336#ifdef __CRT_UUID_DECL
28337__CRT_UUID_DECL(IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac)
28338#endif
28339#else
28340typedef struct IBandHostVtbl {
28341 BEGIN_INTERFACE
28342
28343 /*** IUnknown methods ***/
28344 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28345 IBandHost *This,
28346 REFIID riid,
28347 void **ppvObject);
28348
28349 ULONG (STDMETHODCALLTYPE *AddRef)(
28350 IBandHost *This);
28351
28352 ULONG (STDMETHODCALLTYPE *Release)(
28353 IBandHost *This);
28354
28355 /*** IBandHost methods ***/
28356 HRESULT (STDMETHODCALLTYPE *CreateBand)(
28357 IBandHost *This,
28358 REFCLSID rclsidBand,
28359 WINBOOL fAvailable,
28360 WINBOOL fVisible,
28361 REFIID riid,
28362 void **ppv);
28363
28364 HRESULT (STDMETHODCALLTYPE *SetBandAvailability)(
28365 IBandHost *This,
28366 REFCLSID rclsidBand,
28367 WINBOOL fAvailable);
28368
28369 HRESULT (STDMETHODCALLTYPE *DestroyBand)(
28370 IBandHost *This,
28371 REFCLSID rclsidBand);
28372
28373 END_INTERFACE
28374} IBandHostVtbl;
28375
28376interface IBandHost {
28377 CONST_VTBL IBandHostVtbl* lpVtbl;
28378};
28379
28380#ifdef COBJMACROS
28381#ifndef WIDL_C_INLINE_WRAPPERS
28382/*** IUnknown methods ***/
28383#define IBandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28384#define IBandHost_AddRef(This) (This)->lpVtbl->AddRef(This)
28385#define IBandHost_Release(This) (This)->lpVtbl->Release(This)
28386/*** IBandHost methods ***/
28387#define IBandHost_CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv) (This)->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv)
28388#define IBandHost_SetBandAvailability(This,rclsidBand,fAvailable) (This)->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable)
28389#define IBandHost_DestroyBand(This,rclsidBand) (This)->lpVtbl->DestroyBand(This,rclsidBand)
28390#else
28391/*** IUnknown methods ***/
28392static inline HRESULT IBandHost_QueryInterface(IBandHost* This,REFIID riid,void **ppvObject) {
28393 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28394}
28395static inline ULONG IBandHost_AddRef(IBandHost* This) {
28396 return This->lpVtbl->AddRef(This);
28397}
28398static inline ULONG IBandHost_Release(IBandHost* This) {
28399 return This->lpVtbl->Release(This);
28400}
28401/*** IBandHost methods ***/
28402static inline HRESULT IBandHost_CreateBand(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable,WINBOOL fVisible,REFIID riid,void **ppv) {
28403 return This->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv);
28404}
28405static inline HRESULT IBandHost_SetBandAvailability(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable) {
28406 return This->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable);
28407}
28408static inline HRESULT IBandHost_DestroyBand(IBandHost* This,REFCLSID rclsidBand) {
28409 return This->lpVtbl->DestroyBand(This,rclsidBand);
28410}
28411#endif
28412#endif
28413
28414#endif
28415
28416
28417#endif /* __IBandHost_INTERFACE_DEFINED__ */
28418
28419
28420#define SID_SBandHost IID_IBandHost
28421
28422typedef GUID EXPLORERPANE;
28423
28424#if 0
28425typedef EXPLORERPANE *REFEXPLORERPANE;
28426#endif
28427
28428#ifdef __cplusplus
28429#define REFEXPLORERPANE const EXPLORERPANE &
28430#else
28431#define REFEXPLORERPANE const EXPLORERPANE * __MIDL_CONST
28432#endif
28433
28434/*****************************************************************************
28435 * IExplorerPaneVisibility interface
28436 */
28437#ifndef __IExplorerPaneVisibility_INTERFACE_DEFINED__
28438#define __IExplorerPaneVisibility_INTERFACE_DEFINED__
28439
28440enum _EXPLORERPANESTATE {
28441 EPS_DONTCARE = 0x0,
28442 EPS_DEFAULT_ON = 0x1,
28443 EPS_DEFAULT_OFF = 0x2,
28444 EPS_STATEMASK = 0xffff,
28445 EPS_INITIALSTATE = 0x10000,
28446 EPS_FORCE = 0x20000
28447};
28448
28449typedef DWORD EXPLORERPANESTATE;
28450
28451DEFINE_GUID(IID_IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc);
28452#if defined(__cplusplus) && !defined(CINTERFACE)
28453MIDL_INTERFACE("e07010ec-bc17-44c0-97b0-46c7c95b9edc")
28454IExplorerPaneVisibility : public IUnknown
28455{
28456 virtual HRESULT STDMETHODCALLTYPE GetPaneState(
28457 REFEXPLORERPANE ep,
28458 EXPLORERPANESTATE *peps) = 0;
28459
28460};
28461#ifdef __CRT_UUID_DECL
28462__CRT_UUID_DECL(IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc)
28463#endif
28464#else
28465typedef struct IExplorerPaneVisibilityVtbl {
28466 BEGIN_INTERFACE
28467
28468 /*** IUnknown methods ***/
28469 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28470 IExplorerPaneVisibility *This,
28471 REFIID riid,
28472 void **ppvObject);
28473
28474 ULONG (STDMETHODCALLTYPE *AddRef)(
28475 IExplorerPaneVisibility *This);
28476
28477 ULONG (STDMETHODCALLTYPE *Release)(
28478 IExplorerPaneVisibility *This);
28479
28480 /*** IExplorerPaneVisibility methods ***/
28481 HRESULT (STDMETHODCALLTYPE *GetPaneState)(
28482 IExplorerPaneVisibility *This,
28483 REFEXPLORERPANE ep,
28484 EXPLORERPANESTATE *peps);
28485
28486 END_INTERFACE
28487} IExplorerPaneVisibilityVtbl;
28488
28489interface IExplorerPaneVisibility {
28490 CONST_VTBL IExplorerPaneVisibilityVtbl* lpVtbl;
28491};
28492
28493#ifdef COBJMACROS
28494#ifndef WIDL_C_INLINE_WRAPPERS
28495/*** IUnknown methods ***/
28496#define IExplorerPaneVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28497#define IExplorerPaneVisibility_AddRef(This) (This)->lpVtbl->AddRef(This)
28498#define IExplorerPaneVisibility_Release(This) (This)->lpVtbl->Release(This)
28499/*** IExplorerPaneVisibility methods ***/
28500#define IExplorerPaneVisibility_GetPaneState(This,ep,peps) (This)->lpVtbl->GetPaneState(This,ep,peps)
28501#else
28502/*** IUnknown methods ***/
28503static inline HRESULT IExplorerPaneVisibility_QueryInterface(IExplorerPaneVisibility* This,REFIID riid,void **ppvObject) {
28504 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28505}
28506static inline ULONG IExplorerPaneVisibility_AddRef(IExplorerPaneVisibility* This) {
28507 return This->lpVtbl->AddRef(This);
28508}
28509static inline ULONG IExplorerPaneVisibility_Release(IExplorerPaneVisibility* This) {
28510 return This->lpVtbl->Release(This);
28511}
28512/*** IExplorerPaneVisibility methods ***/
28513static inline HRESULT IExplorerPaneVisibility_GetPaneState(IExplorerPaneVisibility* This,REFEXPLORERPANE ep,EXPLORERPANESTATE *peps) {
28514 return This->lpVtbl->GetPaneState(This,ep,peps);
28515}
28516#endif
28517#endif
28518
28519#endif
28520
28521
28522#endif /* __IExplorerPaneVisibility_INTERFACE_DEFINED__ */
28523
28524
28525#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility
28526
28527/*****************************************************************************
28528 * IContextMenuCB interface
28529 */
28530#ifndef __IContextMenuCB_INTERFACE_DEFINED__
28531#define __IContextMenuCB_INTERFACE_DEFINED__
28532
28533DEFINE_GUID(IID_IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49);
28534#if defined(__cplusplus) && !defined(CINTERFACE)
28535MIDL_INTERFACE("3409e930-5a39-11d1-83fa-00a0c90dc849")
28536IContextMenuCB : public IUnknown
28537{
28538 virtual HRESULT STDMETHODCALLTYPE CallBack(
28539 IShellFolder *psf,
28540 HWND hwndOwner,
28541 IDataObject *pdtobj,
28542 UINT uMsg,
28543 WPARAM wParam,
28544 LPARAM lParam) = 0;
28545
28546};
28547#ifdef __CRT_UUID_DECL
28548__CRT_UUID_DECL(IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49)
28549#endif
28550#else
28551typedef struct IContextMenuCBVtbl {
28552 BEGIN_INTERFACE
28553
28554 /*** IUnknown methods ***/
28555 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28556 IContextMenuCB *This,
28557 REFIID riid,
28558 void **ppvObject);
28559
28560 ULONG (STDMETHODCALLTYPE *AddRef)(
28561 IContextMenuCB *This);
28562
28563 ULONG (STDMETHODCALLTYPE *Release)(
28564 IContextMenuCB *This);
28565
28566 /*** IContextMenuCB methods ***/
28567 HRESULT (STDMETHODCALLTYPE *CallBack)(
28568 IContextMenuCB *This,
28569 IShellFolder *psf,
28570 HWND hwndOwner,
28571 IDataObject *pdtobj,
28572 UINT uMsg,
28573 WPARAM wParam,
28574 LPARAM lParam);
28575
28576 END_INTERFACE
28577} IContextMenuCBVtbl;
28578
28579interface IContextMenuCB {
28580 CONST_VTBL IContextMenuCBVtbl* lpVtbl;
28581};
28582
28583#ifdef COBJMACROS
28584#ifndef WIDL_C_INLINE_WRAPPERS
28585/*** IUnknown methods ***/
28586#define IContextMenuCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28587#define IContextMenuCB_AddRef(This) (This)->lpVtbl->AddRef(This)
28588#define IContextMenuCB_Release(This) (This)->lpVtbl->Release(This)
28589/*** IContextMenuCB methods ***/
28590#define IContextMenuCB_CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam) (This)->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam)
28591#else
28592/*** IUnknown methods ***/
28593static inline HRESULT IContextMenuCB_QueryInterface(IContextMenuCB* This,REFIID riid,void **ppvObject) {
28594 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28595}
28596static inline ULONG IContextMenuCB_AddRef(IContextMenuCB* This) {
28597 return This->lpVtbl->AddRef(This);
28598}
28599static inline ULONG IContextMenuCB_Release(IContextMenuCB* This) {
28600 return This->lpVtbl->Release(This);
28601}
28602/*** IContextMenuCB methods ***/
28603static inline HRESULT IContextMenuCB_CallBack(IContextMenuCB* This,IShellFolder *psf,HWND hwndOwner,IDataObject *pdtobj,UINT uMsg,WPARAM wParam,LPARAM lParam) {
28604 return This->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam);
28605}
28606#endif
28607#endif
28608
28609#endif
28610
28611
28612#endif /* __IContextMenuCB_INTERFACE_DEFINED__ */
28613
28614#endif
28615
28616/*****************************************************************************
28617 * IDefaultExtractIconInit interface
28618 */
28619#ifndef __IDefaultExtractIconInit_INTERFACE_DEFINED__
28620#define __IDefaultExtractIconInit_INTERFACE_DEFINED__
28621
28622DEFINE_GUID(IID_IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58);
28623#if defined(__cplusplus) && !defined(CINTERFACE)
28624MIDL_INTERFACE("41ded17d-d6b3-4261-997d-88c60e4b1d58")
28625IDefaultExtractIconInit : public IUnknown
28626{
28627 virtual HRESULT STDMETHODCALLTYPE SetFlags(
28628 UINT uFlags) = 0;
28629
28630 virtual HRESULT STDMETHODCALLTYPE SetKey(
28631 HKEY hkey) = 0;
28632
28633 virtual HRESULT STDMETHODCALLTYPE SetNormalIcon(
28634 LPCWSTR pszFile,
28635 int iIcon) = 0;
28636
28637 virtual HRESULT STDMETHODCALLTYPE SetOpenIcon(
28638 LPCWSTR pszFile,
28639 int iIcon) = 0;
28640
28641 virtual HRESULT STDMETHODCALLTYPE SetShortcutIcon(
28642 LPCWSTR pszFile,
28643 int iIcon) = 0;
28644
28645 virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon(
28646 LPCWSTR pszFile,
28647 int iIcon) = 0;
28648
28649};
28650#ifdef __CRT_UUID_DECL
28651__CRT_UUID_DECL(IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58)
28652#endif
28653#else
28654typedef struct IDefaultExtractIconInitVtbl {
28655 BEGIN_INTERFACE
28656
28657 /*** IUnknown methods ***/
28658 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28659 IDefaultExtractIconInit *This,
28660 REFIID riid,
28661 void **ppvObject);
28662
28663 ULONG (STDMETHODCALLTYPE *AddRef)(
28664 IDefaultExtractIconInit *This);
28665
28666 ULONG (STDMETHODCALLTYPE *Release)(
28667 IDefaultExtractIconInit *This);
28668
28669 /*** IDefaultExtractIconInit methods ***/
28670 HRESULT (STDMETHODCALLTYPE *SetFlags)(
28671 IDefaultExtractIconInit *This,
28672 UINT uFlags);
28673
28674 HRESULT (STDMETHODCALLTYPE *SetKey)(
28675 IDefaultExtractIconInit *This,
28676 HKEY hkey);
28677
28678 HRESULT (STDMETHODCALLTYPE *SetNormalIcon)(
28679 IDefaultExtractIconInit *This,
28680 LPCWSTR pszFile,
28681 int iIcon);
28682
28683 HRESULT (STDMETHODCALLTYPE *SetOpenIcon)(
28684 IDefaultExtractIconInit *This,
28685 LPCWSTR pszFile,
28686 int iIcon);
28687
28688 HRESULT (STDMETHODCALLTYPE *SetShortcutIcon)(
28689 IDefaultExtractIconInit *This,
28690 LPCWSTR pszFile,
28691 int iIcon);
28692
28693 HRESULT (STDMETHODCALLTYPE *SetDefaultIcon)(
28694 IDefaultExtractIconInit *This,
28695 LPCWSTR pszFile,
28696 int iIcon);
28697
28698 END_INTERFACE
28699} IDefaultExtractIconInitVtbl;
28700
28701interface IDefaultExtractIconInit {
28702 CONST_VTBL IDefaultExtractIconInitVtbl* lpVtbl;
28703};
28704
28705#ifdef COBJMACROS
28706#ifndef WIDL_C_INLINE_WRAPPERS
28707/*** IUnknown methods ***/
28708#define IDefaultExtractIconInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28709#define IDefaultExtractIconInit_AddRef(This) (This)->lpVtbl->AddRef(This)
28710#define IDefaultExtractIconInit_Release(This) (This)->lpVtbl->Release(This)
28711/*** IDefaultExtractIconInit methods ***/
28712#define IDefaultExtractIconInit_SetFlags(This,uFlags) (This)->lpVtbl->SetFlags(This,uFlags)
28713#define IDefaultExtractIconInit_SetKey(This,hkey) (This)->lpVtbl->SetKey(This,hkey)
28714#define IDefaultExtractIconInit_SetNormalIcon(This,pszFile,iIcon) (This)->lpVtbl->SetNormalIcon(This,pszFile,iIcon)
28715#define IDefaultExtractIconInit_SetOpenIcon(This,pszFile,iIcon) (This)->lpVtbl->SetOpenIcon(This,pszFile,iIcon)
28716#define IDefaultExtractIconInit_SetShortcutIcon(This,pszFile,iIcon) (This)->lpVtbl->SetShortcutIcon(This,pszFile,iIcon)
28717#define IDefaultExtractIconInit_SetDefaultIcon(This,pszFile,iIcon) (This)->lpVtbl->SetDefaultIcon(This,pszFile,iIcon)
28718#else
28719/*** IUnknown methods ***/
28720static inline HRESULT IDefaultExtractIconInit_QueryInterface(IDefaultExtractIconInit* This,REFIID riid,void **ppvObject) {
28721 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28722}
28723static inline ULONG IDefaultExtractIconInit_AddRef(IDefaultExtractIconInit* This) {
28724 return This->lpVtbl->AddRef(This);
28725}
28726static inline ULONG IDefaultExtractIconInit_Release(IDefaultExtractIconInit* This) {
28727 return This->lpVtbl->Release(This);
28728}
28729/*** IDefaultExtractIconInit methods ***/
28730static inline HRESULT IDefaultExtractIconInit_SetFlags(IDefaultExtractIconInit* This,UINT uFlags) {
28731 return This->lpVtbl->SetFlags(This,uFlags);
28732}
28733static inline HRESULT IDefaultExtractIconInit_SetKey(IDefaultExtractIconInit* This,HKEY hkey) {
28734 return This->lpVtbl->SetKey(This,hkey);
28735}
28736static inline HRESULT IDefaultExtractIconInit_SetNormalIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
28737 return This->lpVtbl->SetNormalIcon(This,pszFile,iIcon);
28738}
28739static inline HRESULT IDefaultExtractIconInit_SetOpenIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
28740 return This->lpVtbl->SetOpenIcon(This,pszFile,iIcon);
28741}
28742static inline HRESULT IDefaultExtractIconInit_SetShortcutIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
28743 return This->lpVtbl->SetShortcutIcon(This,pszFile,iIcon);
28744}
28745static inline HRESULT IDefaultExtractIconInit_SetDefaultIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
28746 return This->lpVtbl->SetDefaultIcon(This,pszFile,iIcon);
28747}
28748#endif
28749#endif
28750
28751#endif
28752
28753
28754#endif /* __IDefaultExtractIconInit_INTERFACE_DEFINED__ */
28755
28756
28757STDAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv);
28758
28759#ifndef __IEnumExplorerCommand_FWD_DEFINED__
28760#define __IEnumExplorerCommand_FWD_DEFINED__
28761typedef interface IEnumExplorerCommand IEnumExplorerCommand;
28762#ifdef __cplusplus
28763interface IEnumExplorerCommand;
28764#endif /* __cplusplus */
28765#endif
28766
28767
28768/*****************************************************************************
28769 * IExplorerCommand interface
28770 */
28771#ifndef __IExplorerCommand_INTERFACE_DEFINED__
28772#define __IExplorerCommand_INTERFACE_DEFINED__
28773
28774enum _EXPCMDSTATE {
28775 ECS_ENABLED = 0x0,
28776 ECS_DISABLED = 0x1,
28777 ECS_HIDDEN = 0x2,
28778 ECS_CHECKBOX = 0x4,
28779 ECS_CHECKED = 0x8,
28780 ECS_RADIOCHECK = 0x10
28781};
28782
28783typedef DWORD EXPCMDSTATE;
28784
28785enum _EXPCMDFLAGS {
28786 ECF_DEFAULT = 0x0,
28787 ECF_HASSUBCOMMANDS = 0x1,
28788 ECF_HASSPLITBUTTON = 0x2,
28789 ECF_HIDELABEL = 0x4,
28790 ECF_ISSEPARATOR = 0x8,
28791 ECF_HASLUASHIELD = 0x10,
28792 ECF_SEPARATORBEFORE = 0x20,
28793 ECF_SEPARATORAFTER = 0x40,
28794 ECF_ISDROPDOWN = 0x80,
28795 ECF_TOGGLEABLE = 0x100,
28796 ECF_AUTOMENUICONS = 0x200
28797};
28798
28799typedef DWORD EXPCMDFLAGS;
28800
28801DEFINE_GUID(IID_IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9);
28802#if defined(__cplusplus) && !defined(CINTERFACE)
28803MIDL_INTERFACE("a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9")
28804IExplorerCommand : public IUnknown
28805{
28806 virtual HRESULT STDMETHODCALLTYPE GetTitle(
28807 IShellItemArray *psiItemArray,
28808 LPWSTR *ppszName) = 0;
28809
28810 virtual HRESULT STDMETHODCALLTYPE GetIcon(
28811 IShellItemArray *psiItemArray,
28812 LPWSTR *ppszIcon) = 0;
28813
28814 virtual HRESULT STDMETHODCALLTYPE GetToolTip(
28815 IShellItemArray *psiItemArray,
28816 LPWSTR *ppszInfotip) = 0;
28817
28818 virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
28819 GUID *pguidCommandName) = 0;
28820
28821 virtual HRESULT STDMETHODCALLTYPE GetState(
28822 IShellItemArray *psiItemArray,
28823 WINBOOL fOkToBeSlow,
28824 EXPCMDSTATE *pCmdState) = 0;
28825
28826 virtual HRESULT STDMETHODCALLTYPE Invoke(
28827 IShellItemArray *psiItemArray,
28828 IBindCtx *pbc) = 0;
28829
28830 virtual HRESULT STDMETHODCALLTYPE GetFlags(
28831 EXPCMDFLAGS *pFlags) = 0;
28832
28833 virtual HRESULT STDMETHODCALLTYPE EnumSubCommands(
28834 IEnumExplorerCommand **ppEnum) = 0;
28835
28836};
28837#ifdef __CRT_UUID_DECL
28838__CRT_UUID_DECL(IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9)
28839#endif
28840#else
28841typedef struct IExplorerCommandVtbl {
28842 BEGIN_INTERFACE
28843
28844 /*** IUnknown methods ***/
28845 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28846 IExplorerCommand *This,
28847 REFIID riid,
28848 void **ppvObject);
28849
28850 ULONG (STDMETHODCALLTYPE *AddRef)(
28851 IExplorerCommand *This);
28852
28853 ULONG (STDMETHODCALLTYPE *Release)(
28854 IExplorerCommand *This);
28855
28856 /*** IExplorerCommand methods ***/
28857 HRESULT (STDMETHODCALLTYPE *GetTitle)(
28858 IExplorerCommand *This,
28859 IShellItemArray *psiItemArray,
28860 LPWSTR *ppszName);
28861
28862 HRESULT (STDMETHODCALLTYPE *GetIcon)(
28863 IExplorerCommand *This,
28864 IShellItemArray *psiItemArray,
28865 LPWSTR *ppszIcon);
28866
28867 HRESULT (STDMETHODCALLTYPE *GetToolTip)(
28868 IExplorerCommand *This,
28869 IShellItemArray *psiItemArray,
28870 LPWSTR *ppszInfotip);
28871
28872 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
28873 IExplorerCommand *This,
28874 GUID *pguidCommandName);
28875
28876 HRESULT (STDMETHODCALLTYPE *GetState)(
28877 IExplorerCommand *This,
28878 IShellItemArray *psiItemArray,
28879 WINBOOL fOkToBeSlow,
28880 EXPCMDSTATE *pCmdState);
28881
28882 HRESULT (STDMETHODCALLTYPE *Invoke)(
28883 IExplorerCommand *This,
28884 IShellItemArray *psiItemArray,
28885 IBindCtx *pbc);
28886
28887 HRESULT (STDMETHODCALLTYPE *GetFlags)(
28888 IExplorerCommand *This,
28889 EXPCMDFLAGS *pFlags);
28890
28891 HRESULT (STDMETHODCALLTYPE *EnumSubCommands)(
28892 IExplorerCommand *This,
28893 IEnumExplorerCommand **ppEnum);
28894
28895 END_INTERFACE
28896} IExplorerCommandVtbl;
28897
28898interface IExplorerCommand {
28899 CONST_VTBL IExplorerCommandVtbl* lpVtbl;
28900};
28901
28902#ifdef COBJMACROS
28903#ifndef WIDL_C_INLINE_WRAPPERS
28904/*** IUnknown methods ***/
28905#define IExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
28906#define IExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
28907#define IExplorerCommand_Release(This) (This)->lpVtbl->Release(This)
28908/*** IExplorerCommand methods ***/
28909#define IExplorerCommand_GetTitle(This,psiItemArray,ppszName) (This)->lpVtbl->GetTitle(This,psiItemArray,ppszName)
28910#define IExplorerCommand_GetIcon(This,psiItemArray,ppszIcon) (This)->lpVtbl->GetIcon(This,psiItemArray,ppszIcon)
28911#define IExplorerCommand_GetToolTip(This,psiItemArray,ppszInfotip) (This)->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip)
28912#define IExplorerCommand_GetCanonicalName(This,pguidCommandName) (This)->lpVtbl->GetCanonicalName(This,pguidCommandName)
28913#define IExplorerCommand_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState)
28914#define IExplorerCommand_Invoke(This,psiItemArray,pbc) (This)->lpVtbl->Invoke(This,psiItemArray,pbc)
28915#define IExplorerCommand_GetFlags(This,pFlags) (This)->lpVtbl->GetFlags(This,pFlags)
28916#define IExplorerCommand_EnumSubCommands(This,ppEnum) (This)->lpVtbl->EnumSubCommands(This,ppEnum)
28917#else
28918/*** IUnknown methods ***/
28919static inline HRESULT IExplorerCommand_QueryInterface(IExplorerCommand* This,REFIID riid,void **ppvObject) {
28920 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
28921}
28922static inline ULONG IExplorerCommand_AddRef(IExplorerCommand* This) {
28923 return This->lpVtbl->AddRef(This);
28924}
28925static inline ULONG IExplorerCommand_Release(IExplorerCommand* This) {
28926 return This->lpVtbl->Release(This);
28927}
28928/*** IExplorerCommand methods ***/
28929static inline HRESULT IExplorerCommand_GetTitle(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszName) {
28930 return This->lpVtbl->GetTitle(This,psiItemArray,ppszName);
28931}
28932static inline HRESULT IExplorerCommand_GetIcon(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszIcon) {
28933 return This->lpVtbl->GetIcon(This,psiItemArray,ppszIcon);
28934}
28935static inline HRESULT IExplorerCommand_GetToolTip(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszInfotip) {
28936 return This->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip);
28937}
28938static inline HRESULT IExplorerCommand_GetCanonicalName(IExplorerCommand* This,GUID *pguidCommandName) {
28939 return This->lpVtbl->GetCanonicalName(This,pguidCommandName);
28940}
28941static inline HRESULT IExplorerCommand_GetState(IExplorerCommand* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) {
28942 return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState);
28943}
28944static inline HRESULT IExplorerCommand_Invoke(IExplorerCommand* This,IShellItemArray *psiItemArray,IBindCtx *pbc) {
28945 return This->lpVtbl->Invoke(This,psiItemArray,pbc);
28946}
28947static inline HRESULT IExplorerCommand_GetFlags(IExplorerCommand* This,EXPCMDFLAGS *pFlags) {
28948 return This->lpVtbl->GetFlags(This,pFlags);
28949}
28950static inline HRESULT IExplorerCommand_EnumSubCommands(IExplorerCommand* This,IEnumExplorerCommand **ppEnum) {
28951 return This->lpVtbl->EnumSubCommands(This,ppEnum);
28952}
28953#endif
28954#endif
28955
28956#endif
28957
28958
28959#endif /* __IExplorerCommand_INTERFACE_DEFINED__ */
28960
28961
28962/*****************************************************************************
28963 * IExplorerCommandState interface
28964 */
28965#ifndef __IExplorerCommandState_INTERFACE_DEFINED__
28966#define __IExplorerCommandState_INTERFACE_DEFINED__
28967
28968DEFINE_GUID(IID_IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae);
28969#if defined(__cplusplus) && !defined(CINTERFACE)
28970MIDL_INTERFACE("bddacb60-7657-47ae-8445-d23e1acf82ae")
28971IExplorerCommandState : public IUnknown
28972{
28973 virtual HRESULT STDMETHODCALLTYPE GetState(
28974 IShellItemArray *psiItemArray,
28975 WINBOOL fOkToBeSlow,
28976 EXPCMDSTATE *pCmdState) = 0;
28977
28978};
28979#ifdef __CRT_UUID_DECL
28980__CRT_UUID_DECL(IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae)
28981#endif
28982#else
28983typedef struct IExplorerCommandStateVtbl {
28984 BEGIN_INTERFACE
28985
28986 /*** IUnknown methods ***/
28987 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
28988 IExplorerCommandState *This,
28989 REFIID riid,
28990 void **ppvObject);
28991
28992 ULONG (STDMETHODCALLTYPE *AddRef)(
28993 IExplorerCommandState *This);
28994
28995 ULONG (STDMETHODCALLTYPE *Release)(
28996 IExplorerCommandState *This);
28997
28998 /*** IExplorerCommandState methods ***/
28999 HRESULT (STDMETHODCALLTYPE *GetState)(
29000 IExplorerCommandState *This,
29001 IShellItemArray *psiItemArray,
29002 WINBOOL fOkToBeSlow,
29003 EXPCMDSTATE *pCmdState);
29004
29005 END_INTERFACE
29006} IExplorerCommandStateVtbl;
29007
29008interface IExplorerCommandState {
29009 CONST_VTBL IExplorerCommandStateVtbl* lpVtbl;
29010};
29011
29012#ifdef COBJMACROS
29013#ifndef WIDL_C_INLINE_WRAPPERS
29014/*** IUnknown methods ***/
29015#define IExplorerCommandState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29016#define IExplorerCommandState_AddRef(This) (This)->lpVtbl->AddRef(This)
29017#define IExplorerCommandState_Release(This) (This)->lpVtbl->Release(This)
29018/*** IExplorerCommandState methods ***/
29019#define IExplorerCommandState_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState)
29020#else
29021/*** IUnknown methods ***/
29022static inline HRESULT IExplorerCommandState_QueryInterface(IExplorerCommandState* This,REFIID riid,void **ppvObject) {
29023 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29024}
29025static inline ULONG IExplorerCommandState_AddRef(IExplorerCommandState* This) {
29026 return This->lpVtbl->AddRef(This);
29027}
29028static inline ULONG IExplorerCommandState_Release(IExplorerCommandState* This) {
29029 return This->lpVtbl->Release(This);
29030}
29031/*** IExplorerCommandState methods ***/
29032static inline HRESULT IExplorerCommandState_GetState(IExplorerCommandState* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) {
29033 return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState);
29034}
29035#endif
29036#endif
29037
29038#endif
29039
29040
29041#endif /* __IExplorerCommandState_INTERFACE_DEFINED__ */
29042
29043
29044/*****************************************************************************
29045 * IInitializeCommand interface
29046 */
29047#ifndef __IInitializeCommand_INTERFACE_DEFINED__
29048#define __IInitializeCommand_INTERFACE_DEFINED__
29049
29050DEFINE_GUID(IID_IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38);
29051#if defined(__cplusplus) && !defined(CINTERFACE)
29052MIDL_INTERFACE("85075acf-231f-40ea-9610-d26b7b58f638")
29053IInitializeCommand : public IUnknown
29054{
29055 virtual HRESULT STDMETHODCALLTYPE Initialize(
29056 LPCWSTR pszCommandName,
29057 IPropertyBag *ppb) = 0;
29058
29059};
29060#ifdef __CRT_UUID_DECL
29061__CRT_UUID_DECL(IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38)
29062#endif
29063#else
29064typedef struct IInitializeCommandVtbl {
29065 BEGIN_INTERFACE
29066
29067 /*** IUnknown methods ***/
29068 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29069 IInitializeCommand *This,
29070 REFIID riid,
29071 void **ppvObject);
29072
29073 ULONG (STDMETHODCALLTYPE *AddRef)(
29074 IInitializeCommand *This);
29075
29076 ULONG (STDMETHODCALLTYPE *Release)(
29077 IInitializeCommand *This);
29078
29079 /*** IInitializeCommand methods ***/
29080 HRESULT (STDMETHODCALLTYPE *Initialize)(
29081 IInitializeCommand *This,
29082 LPCWSTR pszCommandName,
29083 IPropertyBag *ppb);
29084
29085 END_INTERFACE
29086} IInitializeCommandVtbl;
29087
29088interface IInitializeCommand {
29089 CONST_VTBL IInitializeCommandVtbl* lpVtbl;
29090};
29091
29092#ifdef COBJMACROS
29093#ifndef WIDL_C_INLINE_WRAPPERS
29094/*** IUnknown methods ***/
29095#define IInitializeCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29096#define IInitializeCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
29097#define IInitializeCommand_Release(This) (This)->lpVtbl->Release(This)
29098/*** IInitializeCommand methods ***/
29099#define IInitializeCommand_Initialize(This,pszCommandName,ppb) (This)->lpVtbl->Initialize(This,pszCommandName,ppb)
29100#else
29101/*** IUnknown methods ***/
29102static inline HRESULT IInitializeCommand_QueryInterface(IInitializeCommand* This,REFIID riid,void **ppvObject) {
29103 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29104}
29105static inline ULONG IInitializeCommand_AddRef(IInitializeCommand* This) {
29106 return This->lpVtbl->AddRef(This);
29107}
29108static inline ULONG IInitializeCommand_Release(IInitializeCommand* This) {
29109 return This->lpVtbl->Release(This);
29110}
29111/*** IInitializeCommand methods ***/
29112static inline HRESULT IInitializeCommand_Initialize(IInitializeCommand* This,LPCWSTR pszCommandName,IPropertyBag *ppb) {
29113 return This->lpVtbl->Initialize(This,pszCommandName,ppb);
29114}
29115#endif
29116#endif
29117
29118#endif
29119
29120
29121#endif /* __IInitializeCommand_INTERFACE_DEFINED__ */
29122
29123
29124/*****************************************************************************
29125 * IEnumExplorerCommand interface
29126 */
29127#ifndef __IEnumExplorerCommand_INTERFACE_DEFINED__
29128#define __IEnumExplorerCommand_INTERFACE_DEFINED__
29129
29130DEFINE_GUID(IID_IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8);
29131#if defined(__cplusplus) && !defined(CINTERFACE)
29132MIDL_INTERFACE("a88826f8-186f-4987-aade-ea0cef8fbfe8")
29133IEnumExplorerCommand : public IUnknown
29134{
29135 virtual HRESULT STDMETHODCALLTYPE Next(
29136 ULONG celt,
29137 IExplorerCommand **pUICommand,
29138 ULONG *pceltFetched) = 0;
29139
29140 virtual HRESULT STDMETHODCALLTYPE Skip(
29141 ULONG celt) = 0;
29142
29143 virtual HRESULT STDMETHODCALLTYPE Reset(
29144 ) = 0;
29145
29146 virtual HRESULT STDMETHODCALLTYPE Clone(
29147 IEnumExplorerCommand **ppenum) = 0;
29148
29149};
29150#ifdef __CRT_UUID_DECL
29151__CRT_UUID_DECL(IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8)
29152#endif
29153#else
29154typedef struct IEnumExplorerCommandVtbl {
29155 BEGIN_INTERFACE
29156
29157 /*** IUnknown methods ***/
29158 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29159 IEnumExplorerCommand *This,
29160 REFIID riid,
29161 void **ppvObject);
29162
29163 ULONG (STDMETHODCALLTYPE *AddRef)(
29164 IEnumExplorerCommand *This);
29165
29166 ULONG (STDMETHODCALLTYPE *Release)(
29167 IEnumExplorerCommand *This);
29168
29169 /*** IEnumExplorerCommand methods ***/
29170 HRESULT (STDMETHODCALLTYPE *Next)(
29171 IEnumExplorerCommand *This,
29172 ULONG celt,
29173 IExplorerCommand **pUICommand,
29174 ULONG *pceltFetched);
29175
29176 HRESULT (STDMETHODCALLTYPE *Skip)(
29177 IEnumExplorerCommand *This,
29178 ULONG celt);
29179
29180 HRESULT (STDMETHODCALLTYPE *Reset)(
29181 IEnumExplorerCommand *This);
29182
29183 HRESULT (STDMETHODCALLTYPE *Clone)(
29184 IEnumExplorerCommand *This,
29185 IEnumExplorerCommand **ppenum);
29186
29187 END_INTERFACE
29188} IEnumExplorerCommandVtbl;
29189
29190interface IEnumExplorerCommand {
29191 CONST_VTBL IEnumExplorerCommandVtbl* lpVtbl;
29192};
29193
29194#ifdef COBJMACROS
29195#ifndef WIDL_C_INLINE_WRAPPERS
29196/*** IUnknown methods ***/
29197#define IEnumExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29198#define IEnumExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
29199#define IEnumExplorerCommand_Release(This) (This)->lpVtbl->Release(This)
29200/*** IEnumExplorerCommand methods ***/
29201#define IEnumExplorerCommand_Next(This,celt,pUICommand,pceltFetched) (This)->lpVtbl->Next(This,celt,pUICommand,pceltFetched)
29202#define IEnumExplorerCommand_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
29203#define IEnumExplorerCommand_Reset(This) (This)->lpVtbl->Reset(This)
29204#define IEnumExplorerCommand_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
29205#else
29206/*** IUnknown methods ***/
29207static inline HRESULT IEnumExplorerCommand_QueryInterface(IEnumExplorerCommand* This,REFIID riid,void **ppvObject) {
29208 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29209}
29210static inline ULONG IEnumExplorerCommand_AddRef(IEnumExplorerCommand* This) {
29211 return This->lpVtbl->AddRef(This);
29212}
29213static inline ULONG IEnumExplorerCommand_Release(IEnumExplorerCommand* This) {
29214 return This->lpVtbl->Release(This);
29215}
29216/*** IEnumExplorerCommand methods ***/
29217static inline HRESULT IEnumExplorerCommand_Next(IEnumExplorerCommand* This,ULONG celt,IExplorerCommand **pUICommand,ULONG *pceltFetched) {
29218 return This->lpVtbl->Next(This,celt,pUICommand,pceltFetched);
29219}
29220static inline HRESULT IEnumExplorerCommand_Skip(IEnumExplorerCommand* This,ULONG celt) {
29221 return This->lpVtbl->Skip(This,celt);
29222}
29223static inline HRESULT IEnumExplorerCommand_Reset(IEnumExplorerCommand* This) {
29224 return This->lpVtbl->Reset(This);
29225}
29226static inline HRESULT IEnumExplorerCommand_Clone(IEnumExplorerCommand* This,IEnumExplorerCommand **ppenum) {
29227 return This->lpVtbl->Clone(This,ppenum);
29228}
29229#endif
29230#endif
29231
29232#endif
29233
29234HRESULT STDMETHODCALLTYPE IEnumExplorerCommand_RemoteNext_Proxy(
29235 IEnumExplorerCommand* This,
29236 ULONG celt,
29237 IExplorerCommand **pUICommand,
29238 ULONG *pceltFetched);
29239void __RPC_STUB IEnumExplorerCommand_RemoteNext_Stub(
29240 IRpcStubBuffer* This,
29241 IRpcChannelBuffer* pRpcChannelBuffer,
29242 PRPC_MESSAGE pRpcMessage,
29243 DWORD* pdwStubPhase);
29244HRESULT CALLBACK IEnumExplorerCommand_Next_Proxy(
29245 IEnumExplorerCommand* This,
29246 ULONG celt,
29247 IExplorerCommand **pUICommand,
29248 ULONG *pceltFetched);
29249HRESULT __RPC_STUB IEnumExplorerCommand_Next_Stub(
29250 IEnumExplorerCommand* This,
29251 ULONG celt,
29252 IExplorerCommand **pUICommand,
29253 ULONG *pceltFetched);
29254
29255#endif /* __IEnumExplorerCommand_INTERFACE_DEFINED__ */
29256
29257
29258/*****************************************************************************
29259 * IExplorerCommandProvider interface
29260 */
29261#ifndef __IExplorerCommandProvider_INTERFACE_DEFINED__
29262#define __IExplorerCommandProvider_INTERFACE_DEFINED__
29263
29264DEFINE_GUID(IID_IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64);
29265#if defined(__cplusplus) && !defined(CINTERFACE)
29266MIDL_INTERFACE("64961751-0835-43c0-8ffe-d57686530e64")
29267IExplorerCommandProvider : public IUnknown
29268{
29269 virtual HRESULT STDMETHODCALLTYPE GetCommands(
29270 IUnknown *punkSite,
29271 REFIID riid,
29272 void **ppv) = 0;
29273
29274 virtual HRESULT STDMETHODCALLTYPE GetCommand(
29275 REFGUID rguidCommandId,
29276 REFIID riid,
29277 void **ppv) = 0;
29278
29279};
29280#ifdef __CRT_UUID_DECL
29281__CRT_UUID_DECL(IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64)
29282#endif
29283#else
29284typedef struct IExplorerCommandProviderVtbl {
29285 BEGIN_INTERFACE
29286
29287 /*** IUnknown methods ***/
29288 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29289 IExplorerCommandProvider *This,
29290 REFIID riid,
29291 void **ppvObject);
29292
29293 ULONG (STDMETHODCALLTYPE *AddRef)(
29294 IExplorerCommandProvider *This);
29295
29296 ULONG (STDMETHODCALLTYPE *Release)(
29297 IExplorerCommandProvider *This);
29298
29299 /*** IExplorerCommandProvider methods ***/
29300 HRESULT (STDMETHODCALLTYPE *GetCommands)(
29301 IExplorerCommandProvider *This,
29302 IUnknown *punkSite,
29303 REFIID riid,
29304 void **ppv);
29305
29306 HRESULT (STDMETHODCALLTYPE *GetCommand)(
29307 IExplorerCommandProvider *This,
29308 REFGUID rguidCommandId,
29309 REFIID riid,
29310 void **ppv);
29311
29312 END_INTERFACE
29313} IExplorerCommandProviderVtbl;
29314
29315interface IExplorerCommandProvider {
29316 CONST_VTBL IExplorerCommandProviderVtbl* lpVtbl;
29317};
29318
29319#ifdef COBJMACROS
29320#ifndef WIDL_C_INLINE_WRAPPERS
29321/*** IUnknown methods ***/
29322#define IExplorerCommandProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29323#define IExplorerCommandProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
29324#define IExplorerCommandProvider_Release(This) (This)->lpVtbl->Release(This)
29325/*** IExplorerCommandProvider methods ***/
29326#define IExplorerCommandProvider_GetCommands(This,punkSite,riid,ppv) (This)->lpVtbl->GetCommands(This,punkSite,riid,ppv)
29327#define IExplorerCommandProvider_GetCommand(This,rguidCommandId,riid,ppv) (This)->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv)
29328#else
29329/*** IUnknown methods ***/
29330static inline HRESULT IExplorerCommandProvider_QueryInterface(IExplorerCommandProvider* This,REFIID riid,void **ppvObject) {
29331 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29332}
29333static inline ULONG IExplorerCommandProvider_AddRef(IExplorerCommandProvider* This) {
29334 return This->lpVtbl->AddRef(This);
29335}
29336static inline ULONG IExplorerCommandProvider_Release(IExplorerCommandProvider* This) {
29337 return This->lpVtbl->Release(This);
29338}
29339/*** IExplorerCommandProvider methods ***/
29340static inline HRESULT IExplorerCommandProvider_GetCommands(IExplorerCommandProvider* This,IUnknown *punkSite,REFIID riid,void **ppv) {
29341 return This->lpVtbl->GetCommands(This,punkSite,riid,ppv);
29342}
29343static inline HRESULT IExplorerCommandProvider_GetCommand(IExplorerCommandProvider* This,REFGUID rguidCommandId,REFIID riid,void **ppv) {
29344 return This->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv);
29345}
29346#endif
29347#endif
29348
29349#endif
29350
29351
29352#endif /* __IExplorerCommandProvider_INTERFACE_DEFINED__ */
29353
29354
29355typedef HANDLE HTHEME;
29356
29357/*****************************************************************************
29358 * IInitializeNetworkFolder interface
29359 */
29360#ifndef __IInitializeNetworkFolder_INTERFACE_DEFINED__
29361#define __IInitializeNetworkFolder_INTERFACE_DEFINED__
29362
29363DEFINE_GUID(IID_IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d);
29364#if defined(__cplusplus) && !defined(CINTERFACE)
29365MIDL_INTERFACE("6e0f9881-42a8-4f2a-97f8-8af4e026d92d")
29366IInitializeNetworkFolder : public IUnknown
29367{
29368 virtual HRESULT STDMETHODCALLTYPE Initialize(
29369 PCIDLIST_ABSOLUTE pidl,
29370 PCIDLIST_ABSOLUTE pidlTarget,
29371 UINT uDisplayType,
29372 LPCWSTR pszResName,
29373 LPCWSTR pszProvider) = 0;
29374
29375};
29376#ifdef __CRT_UUID_DECL
29377__CRT_UUID_DECL(IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d)
29378#endif
29379#else
29380typedef struct IInitializeNetworkFolderVtbl {
29381 BEGIN_INTERFACE
29382
29383 /*** IUnknown methods ***/
29384 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29385 IInitializeNetworkFolder *This,
29386 REFIID riid,
29387 void **ppvObject);
29388
29389 ULONG (STDMETHODCALLTYPE *AddRef)(
29390 IInitializeNetworkFolder *This);
29391
29392 ULONG (STDMETHODCALLTYPE *Release)(
29393 IInitializeNetworkFolder *This);
29394
29395 /*** IInitializeNetworkFolder methods ***/
29396 HRESULT (STDMETHODCALLTYPE *Initialize)(
29397 IInitializeNetworkFolder *This,
29398 PCIDLIST_ABSOLUTE pidl,
29399 PCIDLIST_ABSOLUTE pidlTarget,
29400 UINT uDisplayType,
29401 LPCWSTR pszResName,
29402 LPCWSTR pszProvider);
29403
29404 END_INTERFACE
29405} IInitializeNetworkFolderVtbl;
29406
29407interface IInitializeNetworkFolder {
29408 CONST_VTBL IInitializeNetworkFolderVtbl* lpVtbl;
29409};
29410
29411#ifdef COBJMACROS
29412#ifndef WIDL_C_INLINE_WRAPPERS
29413/*** IUnknown methods ***/
29414#define IInitializeNetworkFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29415#define IInitializeNetworkFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
29416#define IInitializeNetworkFolder_Release(This) (This)->lpVtbl->Release(This)
29417/*** IInitializeNetworkFolder methods ***/
29418#define IInitializeNetworkFolder_Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider) (This)->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider)
29419#else
29420/*** IUnknown methods ***/
29421static inline HRESULT IInitializeNetworkFolder_QueryInterface(IInitializeNetworkFolder* This,REFIID riid,void **ppvObject) {
29422 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29423}
29424static inline ULONG IInitializeNetworkFolder_AddRef(IInitializeNetworkFolder* This) {
29425 return This->lpVtbl->AddRef(This);
29426}
29427static inline ULONG IInitializeNetworkFolder_Release(IInitializeNetworkFolder* This) {
29428 return This->lpVtbl->Release(This);
29429}
29430/*** IInitializeNetworkFolder methods ***/
29431static inline HRESULT IInitializeNetworkFolder_Initialize(IInitializeNetworkFolder* This,PCIDLIST_ABSOLUTE pidl,PCIDLIST_ABSOLUTE pidlTarget,UINT uDisplayType,LPCWSTR pszResName,LPCWSTR pszProvider) {
29432 return This->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider);
29433}
29434#endif
29435#endif
29436
29437#endif
29438
29439
29440#endif /* __IInitializeNetworkFolder_INTERFACE_DEFINED__ */
29441
29442
29443typedef enum CPVIEW {
29444 CPVIEW_CLASSIC = 0,
29445 CPVIEW_ALLITEMS = CPVIEW_CLASSIC,
29446 CPVIEW_CATEGORY = 1,
29447 CPVIEW_HOME = CPVIEW_CATEGORY
29448} CPVIEW;
29449
29450/*****************************************************************************
29451 * IOpenControlPanel interface
29452 */
29453#ifndef __IOpenControlPanel_INTERFACE_DEFINED__
29454#define __IOpenControlPanel_INTERFACE_DEFINED__
29455
29456DEFINE_GUID(IID_IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1);
29457#if defined(__cplusplus) && !defined(CINTERFACE)
29458MIDL_INTERFACE("d11ad862-66de-4df4-bf6c-1f5621996af1")
29459IOpenControlPanel : public IUnknown
29460{
29461 virtual HRESULT STDMETHODCALLTYPE Open(
29462 LPCWSTR pszName,
29463 LPCWSTR pszPage,
29464 IUnknown *punkSite) = 0;
29465
29466 virtual HRESULT STDMETHODCALLTYPE GetPath(
29467 LPCWSTR pszName,
29468 LPWSTR pszPath,
29469 UINT cchPath) = 0;
29470
29471 virtual HRESULT STDMETHODCALLTYPE GetCurrentView(
29472 CPVIEW *pView) = 0;
29473
29474};
29475#ifdef __CRT_UUID_DECL
29476__CRT_UUID_DECL(IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1)
29477#endif
29478#else
29479typedef struct IOpenControlPanelVtbl {
29480 BEGIN_INTERFACE
29481
29482 /*** IUnknown methods ***/
29483 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29484 IOpenControlPanel *This,
29485 REFIID riid,
29486 void **ppvObject);
29487
29488 ULONG (STDMETHODCALLTYPE *AddRef)(
29489 IOpenControlPanel *This);
29490
29491 ULONG (STDMETHODCALLTYPE *Release)(
29492 IOpenControlPanel *This);
29493
29494 /*** IOpenControlPanel methods ***/
29495 HRESULT (STDMETHODCALLTYPE *Open)(
29496 IOpenControlPanel *This,
29497 LPCWSTR pszName,
29498 LPCWSTR pszPage,
29499 IUnknown *punkSite);
29500
29501 HRESULT (STDMETHODCALLTYPE *GetPath)(
29502 IOpenControlPanel *This,
29503 LPCWSTR pszName,
29504 LPWSTR pszPath,
29505 UINT cchPath);
29506
29507 HRESULT (STDMETHODCALLTYPE *GetCurrentView)(
29508 IOpenControlPanel *This,
29509 CPVIEW *pView);
29510
29511 END_INTERFACE
29512} IOpenControlPanelVtbl;
29513
29514interface IOpenControlPanel {
29515 CONST_VTBL IOpenControlPanelVtbl* lpVtbl;
29516};
29517
29518#ifdef COBJMACROS
29519#ifndef WIDL_C_INLINE_WRAPPERS
29520/*** IUnknown methods ***/
29521#define IOpenControlPanel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29522#define IOpenControlPanel_AddRef(This) (This)->lpVtbl->AddRef(This)
29523#define IOpenControlPanel_Release(This) (This)->lpVtbl->Release(This)
29524/*** IOpenControlPanel methods ***/
29525#define IOpenControlPanel_Open(This,pszName,pszPage,punkSite) (This)->lpVtbl->Open(This,pszName,pszPage,punkSite)
29526#define IOpenControlPanel_GetPath(This,pszName,pszPath,cchPath) (This)->lpVtbl->GetPath(This,pszName,pszPath,cchPath)
29527#define IOpenControlPanel_GetCurrentView(This,pView) (This)->lpVtbl->GetCurrentView(This,pView)
29528#else
29529/*** IUnknown methods ***/
29530static inline HRESULT IOpenControlPanel_QueryInterface(IOpenControlPanel* This,REFIID riid,void **ppvObject) {
29531 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29532}
29533static inline ULONG IOpenControlPanel_AddRef(IOpenControlPanel* This) {
29534 return This->lpVtbl->AddRef(This);
29535}
29536static inline ULONG IOpenControlPanel_Release(IOpenControlPanel* This) {
29537 return This->lpVtbl->Release(This);
29538}
29539/*** IOpenControlPanel methods ***/
29540static inline HRESULT IOpenControlPanel_Open(IOpenControlPanel* This,LPCWSTR pszName,LPCWSTR pszPage,IUnknown *punkSite) {
29541 return This->lpVtbl->Open(This,pszName,pszPage,punkSite);
29542}
29543static inline HRESULT IOpenControlPanel_GetPath(IOpenControlPanel* This,LPCWSTR pszName,LPWSTR pszPath,UINT cchPath) {
29544 return This->lpVtbl->GetPath(This,pszName,pszPath,cchPath);
29545}
29546static inline HRESULT IOpenControlPanel_GetCurrentView(IOpenControlPanel* This,CPVIEW *pView) {
29547 return This->lpVtbl->GetCurrentView(This,pView);
29548}
29549#endif
29550#endif
29551
29552#endif
29553
29554
29555#endif /* __IOpenControlPanel_INTERFACE_DEFINED__ */
29556
29557
29558/*****************************************************************************
29559 * IComputerInfoChangeNotify interface
29560 */
29561#ifndef __IComputerInfoChangeNotify_INTERFACE_DEFINED__
29562#define __IComputerInfoChangeNotify_INTERFACE_DEFINED__
29563
29564DEFINE_GUID(IID_IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66);
29565#if defined(__cplusplus) && !defined(CINTERFACE)
29566MIDL_INTERFACE("0df60d92-6818-46d6-b358-d66170dde466")
29567IComputerInfoChangeNotify : public IUnknown
29568{
29569 virtual HRESULT STDMETHODCALLTYPE ComputerInfoChanged(
29570 ) = 0;
29571
29572};
29573#ifdef __CRT_UUID_DECL
29574__CRT_UUID_DECL(IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66)
29575#endif
29576#else
29577typedef struct IComputerInfoChangeNotifyVtbl {
29578 BEGIN_INTERFACE
29579
29580 /*** IUnknown methods ***/
29581 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29582 IComputerInfoChangeNotify *This,
29583 REFIID riid,
29584 void **ppvObject);
29585
29586 ULONG (STDMETHODCALLTYPE *AddRef)(
29587 IComputerInfoChangeNotify *This);
29588
29589 ULONG (STDMETHODCALLTYPE *Release)(
29590 IComputerInfoChangeNotify *This);
29591
29592 /*** IComputerInfoChangeNotify methods ***/
29593 HRESULT (STDMETHODCALLTYPE *ComputerInfoChanged)(
29594 IComputerInfoChangeNotify *This);
29595
29596 END_INTERFACE
29597} IComputerInfoChangeNotifyVtbl;
29598
29599interface IComputerInfoChangeNotify {
29600 CONST_VTBL IComputerInfoChangeNotifyVtbl* lpVtbl;
29601};
29602
29603#ifdef COBJMACROS
29604#ifndef WIDL_C_INLINE_WRAPPERS
29605/*** IUnknown methods ***/
29606#define IComputerInfoChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29607#define IComputerInfoChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
29608#define IComputerInfoChangeNotify_Release(This) (This)->lpVtbl->Release(This)
29609/*** IComputerInfoChangeNotify methods ***/
29610#define IComputerInfoChangeNotify_ComputerInfoChanged(This) (This)->lpVtbl->ComputerInfoChanged(This)
29611#else
29612/*** IUnknown methods ***/
29613static inline HRESULT IComputerInfoChangeNotify_QueryInterface(IComputerInfoChangeNotify* This,REFIID riid,void **ppvObject) {
29614 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29615}
29616static inline ULONG IComputerInfoChangeNotify_AddRef(IComputerInfoChangeNotify* This) {
29617 return This->lpVtbl->AddRef(This);
29618}
29619static inline ULONG IComputerInfoChangeNotify_Release(IComputerInfoChangeNotify* This) {
29620 return This->lpVtbl->Release(This);
29621}
29622/*** IComputerInfoChangeNotify methods ***/
29623static inline HRESULT IComputerInfoChangeNotify_ComputerInfoChanged(IComputerInfoChangeNotify* This) {
29624 return This->lpVtbl->ComputerInfoChanged(This);
29625}
29626#endif
29627#endif
29628
29629#endif
29630
29631
29632#endif /* __IComputerInfoChangeNotify_INTERFACE_DEFINED__ */
29633
29634
29635#define STR_FILE_SYS_BIND_DATA L"File System Bind Data"
29636
29637/*****************************************************************************
29638 * IFileSystemBindData interface
29639 */
29640#ifndef __IFileSystemBindData_INTERFACE_DEFINED__
29641#define __IFileSystemBindData_INTERFACE_DEFINED__
29642
29643DEFINE_GUID(IID_IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67);
29644#if defined(__cplusplus) && !defined(CINTERFACE)
29645MIDL_INTERFACE("01e18d10-4d8b-11d2-855d-006008059367")
29646IFileSystemBindData : public IUnknown
29647{
29648 virtual HRESULT STDMETHODCALLTYPE SetFindData(
29649 const WIN32_FIND_DATAW *pfd) = 0;
29650
29651 virtual HRESULT STDMETHODCALLTYPE GetFindData(
29652 WIN32_FIND_DATAW *pfd) = 0;
29653
29654};
29655#ifdef __CRT_UUID_DECL
29656__CRT_UUID_DECL(IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67)
29657#endif
29658#else
29659typedef struct IFileSystemBindDataVtbl {
29660 BEGIN_INTERFACE
29661
29662 /*** IUnknown methods ***/
29663 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29664 IFileSystemBindData *This,
29665 REFIID riid,
29666 void **ppvObject);
29667
29668 ULONG (STDMETHODCALLTYPE *AddRef)(
29669 IFileSystemBindData *This);
29670
29671 ULONG (STDMETHODCALLTYPE *Release)(
29672 IFileSystemBindData *This);
29673
29674 /*** IFileSystemBindData methods ***/
29675 HRESULT (STDMETHODCALLTYPE *SetFindData)(
29676 IFileSystemBindData *This,
29677 const WIN32_FIND_DATAW *pfd);
29678
29679 HRESULT (STDMETHODCALLTYPE *GetFindData)(
29680 IFileSystemBindData *This,
29681 WIN32_FIND_DATAW *pfd);
29682
29683 END_INTERFACE
29684} IFileSystemBindDataVtbl;
29685
29686interface IFileSystemBindData {
29687 CONST_VTBL IFileSystemBindDataVtbl* lpVtbl;
29688};
29689
29690#ifdef COBJMACROS
29691#ifndef WIDL_C_INLINE_WRAPPERS
29692/*** IUnknown methods ***/
29693#define IFileSystemBindData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29694#define IFileSystemBindData_AddRef(This) (This)->lpVtbl->AddRef(This)
29695#define IFileSystemBindData_Release(This) (This)->lpVtbl->Release(This)
29696/*** IFileSystemBindData methods ***/
29697#define IFileSystemBindData_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd)
29698#define IFileSystemBindData_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd)
29699#else
29700/*** IUnknown methods ***/
29701static inline HRESULT IFileSystemBindData_QueryInterface(IFileSystemBindData* This,REFIID riid,void **ppvObject) {
29702 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29703}
29704static inline ULONG IFileSystemBindData_AddRef(IFileSystemBindData* This) {
29705 return This->lpVtbl->AddRef(This);
29706}
29707static inline ULONG IFileSystemBindData_Release(IFileSystemBindData* This) {
29708 return This->lpVtbl->Release(This);
29709}
29710/*** IFileSystemBindData methods ***/
29711static inline HRESULT IFileSystemBindData_SetFindData(IFileSystemBindData* This,const WIN32_FIND_DATAW *pfd) {
29712 return This->lpVtbl->SetFindData(This,pfd);
29713}
29714static inline HRESULT IFileSystemBindData_GetFindData(IFileSystemBindData* This,WIN32_FIND_DATAW *pfd) {
29715 return This->lpVtbl->GetFindData(This,pfd);
29716}
29717#endif
29718#endif
29719
29720#endif
29721
29722
29723#endif /* __IFileSystemBindData_INTERFACE_DEFINED__ */
29724
29725
29726/*****************************************************************************
29727 * IFileSystemBindData2 interface
29728 */
29729#ifndef __IFileSystemBindData2_INTERFACE_DEFINED__
29730#define __IFileSystemBindData2_INTERFACE_DEFINED__
29731
29732DEFINE_GUID(IID_IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8);
29733#if defined(__cplusplus) && !defined(CINTERFACE)
29734MIDL_INTERFACE("3acf075f-71db-4afa-81f0-3fc4fdf2a5b8")
29735IFileSystemBindData2 : public IFileSystemBindData
29736{
29737 virtual HRESULT STDMETHODCALLTYPE SetFileID(
29738 LARGE_INTEGER liFileID) = 0;
29739
29740 virtual HRESULT STDMETHODCALLTYPE GetFileID(
29741 LARGE_INTEGER *pliFileID) = 0;
29742
29743 virtual HRESULT STDMETHODCALLTYPE SetJunctionCLSID(
29744 REFCLSID clsid) = 0;
29745
29746 virtual HRESULT STDMETHODCALLTYPE GetJunctionCLSID(
29747 CLSID *pclsid) = 0;
29748
29749};
29750#ifdef __CRT_UUID_DECL
29751__CRT_UUID_DECL(IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8)
29752#endif
29753#else
29754typedef struct IFileSystemBindData2Vtbl {
29755 BEGIN_INTERFACE
29756
29757 /*** IUnknown methods ***/
29758 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29759 IFileSystemBindData2 *This,
29760 REFIID riid,
29761 void **ppvObject);
29762
29763 ULONG (STDMETHODCALLTYPE *AddRef)(
29764 IFileSystemBindData2 *This);
29765
29766 ULONG (STDMETHODCALLTYPE *Release)(
29767 IFileSystemBindData2 *This);
29768
29769 /*** IFileSystemBindData methods ***/
29770 HRESULT (STDMETHODCALLTYPE *SetFindData)(
29771 IFileSystemBindData2 *This,
29772 const WIN32_FIND_DATAW *pfd);
29773
29774 HRESULT (STDMETHODCALLTYPE *GetFindData)(
29775 IFileSystemBindData2 *This,
29776 WIN32_FIND_DATAW *pfd);
29777
29778 /*** IFileSystemBindData2 methods ***/
29779 HRESULT (STDMETHODCALLTYPE *SetFileID)(
29780 IFileSystemBindData2 *This,
29781 LARGE_INTEGER liFileID);
29782
29783 HRESULT (STDMETHODCALLTYPE *GetFileID)(
29784 IFileSystemBindData2 *This,
29785 LARGE_INTEGER *pliFileID);
29786
29787 HRESULT (STDMETHODCALLTYPE *SetJunctionCLSID)(
29788 IFileSystemBindData2 *This,
29789 REFCLSID clsid);
29790
29791 HRESULT (STDMETHODCALLTYPE *GetJunctionCLSID)(
29792 IFileSystemBindData2 *This,
29793 CLSID *pclsid);
29794
29795 END_INTERFACE
29796} IFileSystemBindData2Vtbl;
29797
29798interface IFileSystemBindData2 {
29799 CONST_VTBL IFileSystemBindData2Vtbl* lpVtbl;
29800};
29801
29802#ifdef COBJMACROS
29803#ifndef WIDL_C_INLINE_WRAPPERS
29804/*** IUnknown methods ***/
29805#define IFileSystemBindData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29806#define IFileSystemBindData2_AddRef(This) (This)->lpVtbl->AddRef(This)
29807#define IFileSystemBindData2_Release(This) (This)->lpVtbl->Release(This)
29808/*** IFileSystemBindData methods ***/
29809#define IFileSystemBindData2_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd)
29810#define IFileSystemBindData2_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd)
29811/*** IFileSystemBindData2 methods ***/
29812#define IFileSystemBindData2_SetFileID(This,liFileID) (This)->lpVtbl->SetFileID(This,liFileID)
29813#define IFileSystemBindData2_GetFileID(This,pliFileID) (This)->lpVtbl->GetFileID(This,pliFileID)
29814#define IFileSystemBindData2_SetJunctionCLSID(This,clsid) (This)->lpVtbl->SetJunctionCLSID(This,clsid)
29815#define IFileSystemBindData2_GetJunctionCLSID(This,pclsid) (This)->lpVtbl->GetJunctionCLSID(This,pclsid)
29816#else
29817/*** IUnknown methods ***/
29818static inline HRESULT IFileSystemBindData2_QueryInterface(IFileSystemBindData2* This,REFIID riid,void **ppvObject) {
29819 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29820}
29821static inline ULONG IFileSystemBindData2_AddRef(IFileSystemBindData2* This) {
29822 return This->lpVtbl->AddRef(This);
29823}
29824static inline ULONG IFileSystemBindData2_Release(IFileSystemBindData2* This) {
29825 return This->lpVtbl->Release(This);
29826}
29827/*** IFileSystemBindData methods ***/
29828static inline HRESULT IFileSystemBindData2_SetFindData(IFileSystemBindData2* This,const WIN32_FIND_DATAW *pfd) {
29829 return This->lpVtbl->SetFindData(This,pfd);
29830}
29831static inline HRESULT IFileSystemBindData2_GetFindData(IFileSystemBindData2* This,WIN32_FIND_DATAW *pfd) {
29832 return This->lpVtbl->GetFindData(This,pfd);
29833}
29834/*** IFileSystemBindData2 methods ***/
29835static inline HRESULT IFileSystemBindData2_SetFileID(IFileSystemBindData2* This,LARGE_INTEGER liFileID) {
29836 return This->lpVtbl->SetFileID(This,liFileID);
29837}
29838static inline HRESULT IFileSystemBindData2_GetFileID(IFileSystemBindData2* This,LARGE_INTEGER *pliFileID) {
29839 return This->lpVtbl->GetFileID(This,pliFileID);
29840}
29841static inline HRESULT IFileSystemBindData2_SetJunctionCLSID(IFileSystemBindData2* This,REFCLSID clsid) {
29842 return This->lpVtbl->SetJunctionCLSID(This,clsid);
29843}
29844static inline HRESULT IFileSystemBindData2_GetJunctionCLSID(IFileSystemBindData2* This,CLSID *pclsid) {
29845 return This->lpVtbl->GetJunctionCLSID(This,pclsid);
29846}
29847#endif
29848#endif
29849
29850#endif
29851
29852
29853#endif /* __IFileSystemBindData2_INTERFACE_DEFINED__ */
29854
29855
29856#if NTDDI_VERSION >= NTDDI_WIN7
29857/*****************************************************************************
29858 * ICustomDestinationList interface
29859 */
29860#ifndef __ICustomDestinationList_INTERFACE_DEFINED__
29861#define __ICustomDestinationList_INTERFACE_DEFINED__
29862
29863typedef enum KNOWNDESTCATEGORY {
29864 KDC_FREQUENT = 1,
29865 KDC_RECENT = 2
29866} KNOWNDESTCATEGORY;
29867
29868DEFINE_GUID(IID_ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e);
29869#if defined(__cplusplus) && !defined(CINTERFACE)
29870MIDL_INTERFACE("6332debf-87b5-4670-90c0-5e57b408a49e")
29871ICustomDestinationList : public IUnknown
29872{
29873 virtual HRESULT STDMETHODCALLTYPE SetAppID(
29874 LPCWSTR pszAppID) = 0;
29875
29876 virtual HRESULT STDMETHODCALLTYPE BeginList(
29877 UINT *pcMinSlots,
29878 REFIID riid,
29879 void **ppv) = 0;
29880
29881 virtual HRESULT STDMETHODCALLTYPE AppendCategory(
29882 LPCWSTR pszCategory,
29883 IObjectArray *poa) = 0;
29884
29885 virtual HRESULT STDMETHODCALLTYPE AppendKnownCategory(
29886 KNOWNDESTCATEGORY category) = 0;
29887
29888 virtual HRESULT STDMETHODCALLTYPE AddUserTasks(
29889 IObjectArray *poa) = 0;
29890
29891 virtual HRESULT STDMETHODCALLTYPE CommitList(
29892 ) = 0;
29893
29894 virtual HRESULT STDMETHODCALLTYPE GetRemovedDestinations(
29895 REFIID riid,
29896 void **ppv) = 0;
29897
29898 virtual HRESULT STDMETHODCALLTYPE DeleteList(
29899 LPCWSTR pszAppID) = 0;
29900
29901 virtual HRESULT STDMETHODCALLTYPE AbortList(
29902 ) = 0;
29903
29904};
29905#ifdef __CRT_UUID_DECL
29906__CRT_UUID_DECL(ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e)
29907#endif
29908#else
29909typedef struct ICustomDestinationListVtbl {
29910 BEGIN_INTERFACE
29911
29912 /*** IUnknown methods ***/
29913 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
29914 ICustomDestinationList *This,
29915 REFIID riid,
29916 void **ppvObject);
29917
29918 ULONG (STDMETHODCALLTYPE *AddRef)(
29919 ICustomDestinationList *This);
29920
29921 ULONG (STDMETHODCALLTYPE *Release)(
29922 ICustomDestinationList *This);
29923
29924 /*** ICustomDestinationList methods ***/
29925 HRESULT (STDMETHODCALLTYPE *SetAppID)(
29926 ICustomDestinationList *This,
29927 LPCWSTR pszAppID);
29928
29929 HRESULT (STDMETHODCALLTYPE *BeginList)(
29930 ICustomDestinationList *This,
29931 UINT *pcMinSlots,
29932 REFIID riid,
29933 void **ppv);
29934
29935 HRESULT (STDMETHODCALLTYPE *AppendCategory)(
29936 ICustomDestinationList *This,
29937 LPCWSTR pszCategory,
29938 IObjectArray *poa);
29939
29940 HRESULT (STDMETHODCALLTYPE *AppendKnownCategory)(
29941 ICustomDestinationList *This,
29942 KNOWNDESTCATEGORY category);
29943
29944 HRESULT (STDMETHODCALLTYPE *AddUserTasks)(
29945 ICustomDestinationList *This,
29946 IObjectArray *poa);
29947
29948 HRESULT (STDMETHODCALLTYPE *CommitList)(
29949 ICustomDestinationList *This);
29950
29951 HRESULT (STDMETHODCALLTYPE *GetRemovedDestinations)(
29952 ICustomDestinationList *This,
29953 REFIID riid,
29954 void **ppv);
29955
29956 HRESULT (STDMETHODCALLTYPE *DeleteList)(
29957 ICustomDestinationList *This,
29958 LPCWSTR pszAppID);
29959
29960 HRESULT (STDMETHODCALLTYPE *AbortList)(
29961 ICustomDestinationList *This);
29962
29963 END_INTERFACE
29964} ICustomDestinationListVtbl;
29965
29966interface ICustomDestinationList {
29967 CONST_VTBL ICustomDestinationListVtbl* lpVtbl;
29968};
29969
29970#ifdef COBJMACROS
29971#ifndef WIDL_C_INLINE_WRAPPERS
29972/*** IUnknown methods ***/
29973#define ICustomDestinationList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
29974#define ICustomDestinationList_AddRef(This) (This)->lpVtbl->AddRef(This)
29975#define ICustomDestinationList_Release(This) (This)->lpVtbl->Release(This)
29976/*** ICustomDestinationList methods ***/
29977#define ICustomDestinationList_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
29978#define ICustomDestinationList_BeginList(This,pcMinSlots,riid,ppv) (This)->lpVtbl->BeginList(This,pcMinSlots,riid,ppv)
29979#define ICustomDestinationList_AppendCategory(This,pszCategory,poa) (This)->lpVtbl->AppendCategory(This,pszCategory,poa)
29980#define ICustomDestinationList_AppendKnownCategory(This,category) (This)->lpVtbl->AppendKnownCategory(This,category)
29981#define ICustomDestinationList_AddUserTasks(This,poa) (This)->lpVtbl->AddUserTasks(This,poa)
29982#define ICustomDestinationList_CommitList(This) (This)->lpVtbl->CommitList(This)
29983#define ICustomDestinationList_GetRemovedDestinations(This,riid,ppv) (This)->lpVtbl->GetRemovedDestinations(This,riid,ppv)
29984#define ICustomDestinationList_DeleteList(This,pszAppID) (This)->lpVtbl->DeleteList(This,pszAppID)
29985#define ICustomDestinationList_AbortList(This) (This)->lpVtbl->AbortList(This)
29986#else
29987/*** IUnknown methods ***/
29988static inline HRESULT ICustomDestinationList_QueryInterface(ICustomDestinationList* This,REFIID riid,void **ppvObject) {
29989 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
29990}
29991static inline ULONG ICustomDestinationList_AddRef(ICustomDestinationList* This) {
29992 return This->lpVtbl->AddRef(This);
29993}
29994static inline ULONG ICustomDestinationList_Release(ICustomDestinationList* This) {
29995 return This->lpVtbl->Release(This);
29996}
29997/*** ICustomDestinationList methods ***/
29998static inline HRESULT ICustomDestinationList_SetAppID(ICustomDestinationList* This,LPCWSTR pszAppID) {
29999 return This->lpVtbl->SetAppID(This,pszAppID);
30000}
30001static inline HRESULT ICustomDestinationList_BeginList(ICustomDestinationList* This,UINT *pcMinSlots,REFIID riid,void **ppv) {
30002 return This->lpVtbl->BeginList(This,pcMinSlots,riid,ppv);
30003}
30004static inline HRESULT ICustomDestinationList_AppendCategory(ICustomDestinationList* This,LPCWSTR pszCategory,IObjectArray *poa) {
30005 return This->lpVtbl->AppendCategory(This,pszCategory,poa);
30006}
30007static inline HRESULT ICustomDestinationList_AppendKnownCategory(ICustomDestinationList* This,KNOWNDESTCATEGORY category) {
30008 return This->lpVtbl->AppendKnownCategory(This,category);
30009}
30010static inline HRESULT ICustomDestinationList_AddUserTasks(ICustomDestinationList* This,IObjectArray *poa) {
30011 return This->lpVtbl->AddUserTasks(This,poa);
30012}
30013static inline HRESULT ICustomDestinationList_CommitList(ICustomDestinationList* This) {
30014 return This->lpVtbl->CommitList(This);
30015}
30016static inline HRESULT ICustomDestinationList_GetRemovedDestinations(ICustomDestinationList* This,REFIID riid,void **ppv) {
30017 return This->lpVtbl->GetRemovedDestinations(This,riid,ppv);
30018}
30019static inline HRESULT ICustomDestinationList_DeleteList(ICustomDestinationList* This,LPCWSTR pszAppID) {
30020 return This->lpVtbl->DeleteList(This,pszAppID);
30021}
30022static inline HRESULT ICustomDestinationList_AbortList(ICustomDestinationList* This) {
30023 return This->lpVtbl->AbortList(This);
30024}
30025#endif
30026#endif
30027
30028#endif
30029
30030
30031#endif /* __ICustomDestinationList_INTERFACE_DEFINED__ */
30032
30033
30034/*****************************************************************************
30035 * IApplicationDestinations interface
30036 */
30037#ifndef __IApplicationDestinations_INTERFACE_DEFINED__
30038#define __IApplicationDestinations_INTERFACE_DEFINED__
30039
30040DEFINE_GUID(IID_IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00);
30041#if defined(__cplusplus) && !defined(CINTERFACE)
30042MIDL_INTERFACE("12337d35-94c6-48a0-bce7-6a9c69d4d600")
30043IApplicationDestinations : public IUnknown
30044{
30045 virtual HRESULT STDMETHODCALLTYPE SetAppID(
30046 LPCWSTR pszAppID) = 0;
30047
30048 virtual HRESULT STDMETHODCALLTYPE RemoveDestination(
30049 IUnknown *punk) = 0;
30050
30051 virtual HRESULT STDMETHODCALLTYPE RemoveAllDestinations(
30052 ) = 0;
30053
30054};
30055#ifdef __CRT_UUID_DECL
30056__CRT_UUID_DECL(IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00)
30057#endif
30058#else
30059typedef struct IApplicationDestinationsVtbl {
30060 BEGIN_INTERFACE
30061
30062 /*** IUnknown methods ***/
30063 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30064 IApplicationDestinations *This,
30065 REFIID riid,
30066 void **ppvObject);
30067
30068 ULONG (STDMETHODCALLTYPE *AddRef)(
30069 IApplicationDestinations *This);
30070
30071 ULONG (STDMETHODCALLTYPE *Release)(
30072 IApplicationDestinations *This);
30073
30074 /*** IApplicationDestinations methods ***/
30075 HRESULT (STDMETHODCALLTYPE *SetAppID)(
30076 IApplicationDestinations *This,
30077 LPCWSTR pszAppID);
30078
30079 HRESULT (STDMETHODCALLTYPE *RemoveDestination)(
30080 IApplicationDestinations *This,
30081 IUnknown *punk);
30082
30083 HRESULT (STDMETHODCALLTYPE *RemoveAllDestinations)(
30084 IApplicationDestinations *This);
30085
30086 END_INTERFACE
30087} IApplicationDestinationsVtbl;
30088
30089interface IApplicationDestinations {
30090 CONST_VTBL IApplicationDestinationsVtbl* lpVtbl;
30091};
30092
30093#ifdef COBJMACROS
30094#ifndef WIDL_C_INLINE_WRAPPERS
30095/*** IUnknown methods ***/
30096#define IApplicationDestinations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30097#define IApplicationDestinations_AddRef(This) (This)->lpVtbl->AddRef(This)
30098#define IApplicationDestinations_Release(This) (This)->lpVtbl->Release(This)
30099/*** IApplicationDestinations methods ***/
30100#define IApplicationDestinations_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
30101#define IApplicationDestinations_RemoveDestination(This,punk) (This)->lpVtbl->RemoveDestination(This,punk)
30102#define IApplicationDestinations_RemoveAllDestinations(This) (This)->lpVtbl->RemoveAllDestinations(This)
30103#else
30104/*** IUnknown methods ***/
30105static inline HRESULT IApplicationDestinations_QueryInterface(IApplicationDestinations* This,REFIID riid,void **ppvObject) {
30106 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30107}
30108static inline ULONG IApplicationDestinations_AddRef(IApplicationDestinations* This) {
30109 return This->lpVtbl->AddRef(This);
30110}
30111static inline ULONG IApplicationDestinations_Release(IApplicationDestinations* This) {
30112 return This->lpVtbl->Release(This);
30113}
30114/*** IApplicationDestinations methods ***/
30115static inline HRESULT IApplicationDestinations_SetAppID(IApplicationDestinations* This,LPCWSTR pszAppID) {
30116 return This->lpVtbl->SetAppID(This,pszAppID);
30117}
30118static inline HRESULT IApplicationDestinations_RemoveDestination(IApplicationDestinations* This,IUnknown *punk) {
30119 return This->lpVtbl->RemoveDestination(This,punk);
30120}
30121static inline HRESULT IApplicationDestinations_RemoveAllDestinations(IApplicationDestinations* This) {
30122 return This->lpVtbl->RemoveAllDestinations(This);
30123}
30124#endif
30125#endif
30126
30127#endif
30128
30129
30130#endif /* __IApplicationDestinations_INTERFACE_DEFINED__ */
30131
30132
30133/*****************************************************************************
30134 * IApplicationDocumentLists interface
30135 */
30136#ifndef __IApplicationDocumentLists_INTERFACE_DEFINED__
30137#define __IApplicationDocumentLists_INTERFACE_DEFINED__
30138
30139typedef enum APPDOCLISTTYPE {
30140 ADLT_RECENT = 0,
30141 ADLT_FREQUENT = 1
30142} APPDOCLISTTYPE;
30143
30144DEFINE_GUID(IID_IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06);
30145#if defined(__cplusplus) && !defined(CINTERFACE)
30146MIDL_INTERFACE("3c594f9f-9f30-47a1-979a-c9e83d3d0a06")
30147IApplicationDocumentLists : public IUnknown
30148{
30149 virtual HRESULT STDMETHODCALLTYPE SetAppID(
30150 LPCWSTR pszAppID) = 0;
30151
30152 virtual HRESULT STDMETHODCALLTYPE GetList(
30153 APPDOCLISTTYPE listtype,
30154 UINT cItemsDesired,
30155 REFIID riid,
30156 void **ppv) = 0;
30157
30158};
30159#ifdef __CRT_UUID_DECL
30160__CRT_UUID_DECL(IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06)
30161#endif
30162#else
30163typedef struct IApplicationDocumentListsVtbl {
30164 BEGIN_INTERFACE
30165
30166 /*** IUnknown methods ***/
30167 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30168 IApplicationDocumentLists *This,
30169 REFIID riid,
30170 void **ppvObject);
30171
30172 ULONG (STDMETHODCALLTYPE *AddRef)(
30173 IApplicationDocumentLists *This);
30174
30175 ULONG (STDMETHODCALLTYPE *Release)(
30176 IApplicationDocumentLists *This);
30177
30178 /*** IApplicationDocumentLists methods ***/
30179 HRESULT (STDMETHODCALLTYPE *SetAppID)(
30180 IApplicationDocumentLists *This,
30181 LPCWSTR pszAppID);
30182
30183 HRESULT (STDMETHODCALLTYPE *GetList)(
30184 IApplicationDocumentLists *This,
30185 APPDOCLISTTYPE listtype,
30186 UINT cItemsDesired,
30187 REFIID riid,
30188 void **ppv);
30189
30190 END_INTERFACE
30191} IApplicationDocumentListsVtbl;
30192
30193interface IApplicationDocumentLists {
30194 CONST_VTBL IApplicationDocumentListsVtbl* lpVtbl;
30195};
30196
30197#ifdef COBJMACROS
30198#ifndef WIDL_C_INLINE_WRAPPERS
30199/*** IUnknown methods ***/
30200#define IApplicationDocumentLists_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30201#define IApplicationDocumentLists_AddRef(This) (This)->lpVtbl->AddRef(This)
30202#define IApplicationDocumentLists_Release(This) (This)->lpVtbl->Release(This)
30203/*** IApplicationDocumentLists methods ***/
30204#define IApplicationDocumentLists_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
30205#define IApplicationDocumentLists_GetList(This,listtype,cItemsDesired,riid,ppv) (This)->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv)
30206#else
30207/*** IUnknown methods ***/
30208static inline HRESULT IApplicationDocumentLists_QueryInterface(IApplicationDocumentLists* This,REFIID riid,void **ppvObject) {
30209 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30210}
30211static inline ULONG IApplicationDocumentLists_AddRef(IApplicationDocumentLists* This) {
30212 return This->lpVtbl->AddRef(This);
30213}
30214static inline ULONG IApplicationDocumentLists_Release(IApplicationDocumentLists* This) {
30215 return This->lpVtbl->Release(This);
30216}
30217/*** IApplicationDocumentLists methods ***/
30218static inline HRESULT IApplicationDocumentLists_SetAppID(IApplicationDocumentLists* This,LPCWSTR pszAppID) {
30219 return This->lpVtbl->SetAppID(This,pszAppID);
30220}
30221static inline HRESULT IApplicationDocumentLists_GetList(IApplicationDocumentLists* This,APPDOCLISTTYPE listtype,UINT cItemsDesired,REFIID riid,void **ppv) {
30222 return This->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv);
30223}
30224#endif
30225#endif
30226
30227#endif
30228
30229
30230#endif /* __IApplicationDocumentLists_INTERFACE_DEFINED__ */
30231
30232
30233/*****************************************************************************
30234 * IObjectWithAppUserModelID interface
30235 */
30236#ifndef __IObjectWithAppUserModelID_INTERFACE_DEFINED__
30237#define __IObjectWithAppUserModelID_INTERFACE_DEFINED__
30238
30239DEFINE_GUID(IID_IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed);
30240#if defined(__cplusplus) && !defined(CINTERFACE)
30241MIDL_INTERFACE("36db0196-9665-46d1-9ba7-d3709eecf9ed")
30242IObjectWithAppUserModelID : public IUnknown
30243{
30244 virtual HRESULT STDMETHODCALLTYPE SetAppID(
30245 LPCWSTR pszAppID) = 0;
30246
30247 virtual HRESULT STDMETHODCALLTYPE GetAppID(
30248 LPWSTR *ppszAppID) = 0;
30249
30250};
30251#ifdef __CRT_UUID_DECL
30252__CRT_UUID_DECL(IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed)
30253#endif
30254#else
30255typedef struct IObjectWithAppUserModelIDVtbl {
30256 BEGIN_INTERFACE
30257
30258 /*** IUnknown methods ***/
30259 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30260 IObjectWithAppUserModelID *This,
30261 REFIID riid,
30262 void **ppvObject);
30263
30264 ULONG (STDMETHODCALLTYPE *AddRef)(
30265 IObjectWithAppUserModelID *This);
30266
30267 ULONG (STDMETHODCALLTYPE *Release)(
30268 IObjectWithAppUserModelID *This);
30269
30270 /*** IObjectWithAppUserModelID methods ***/
30271 HRESULT (STDMETHODCALLTYPE *SetAppID)(
30272 IObjectWithAppUserModelID *This,
30273 LPCWSTR pszAppID);
30274
30275 HRESULT (STDMETHODCALLTYPE *GetAppID)(
30276 IObjectWithAppUserModelID *This,
30277 LPWSTR *ppszAppID);
30278
30279 END_INTERFACE
30280} IObjectWithAppUserModelIDVtbl;
30281
30282interface IObjectWithAppUserModelID {
30283 CONST_VTBL IObjectWithAppUserModelIDVtbl* lpVtbl;
30284};
30285
30286#ifdef COBJMACROS
30287#ifndef WIDL_C_INLINE_WRAPPERS
30288/*** IUnknown methods ***/
30289#define IObjectWithAppUserModelID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30290#define IObjectWithAppUserModelID_AddRef(This) (This)->lpVtbl->AddRef(This)
30291#define IObjectWithAppUserModelID_Release(This) (This)->lpVtbl->Release(This)
30292/*** IObjectWithAppUserModelID methods ***/
30293#define IObjectWithAppUserModelID_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
30294#define IObjectWithAppUserModelID_GetAppID(This,ppszAppID) (This)->lpVtbl->GetAppID(This,ppszAppID)
30295#else
30296/*** IUnknown methods ***/
30297static inline HRESULT IObjectWithAppUserModelID_QueryInterface(IObjectWithAppUserModelID* This,REFIID riid,void **ppvObject) {
30298 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30299}
30300static inline ULONG IObjectWithAppUserModelID_AddRef(IObjectWithAppUserModelID* This) {
30301 return This->lpVtbl->AddRef(This);
30302}
30303static inline ULONG IObjectWithAppUserModelID_Release(IObjectWithAppUserModelID* This) {
30304 return This->lpVtbl->Release(This);
30305}
30306/*** IObjectWithAppUserModelID methods ***/
30307static inline HRESULT IObjectWithAppUserModelID_SetAppID(IObjectWithAppUserModelID* This,LPCWSTR pszAppID) {
30308 return This->lpVtbl->SetAppID(This,pszAppID);
30309}
30310static inline HRESULT IObjectWithAppUserModelID_GetAppID(IObjectWithAppUserModelID* This,LPWSTR *ppszAppID) {
30311 return This->lpVtbl->GetAppID(This,ppszAppID);
30312}
30313#endif
30314#endif
30315
30316#endif
30317
30318
30319#endif /* __IObjectWithAppUserModelID_INTERFACE_DEFINED__ */
30320
30321
30322/*****************************************************************************
30323 * IObjectWithProgID interface
30324 */
30325#ifndef __IObjectWithProgID_INTERFACE_DEFINED__
30326#define __IObjectWithProgID_INTERFACE_DEFINED__
30327
30328DEFINE_GUID(IID_IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13);
30329#if defined(__cplusplus) && !defined(CINTERFACE)
30330MIDL_INTERFACE("71e806fb-8dee-46fc-bf8c-7748a8a1ae13")
30331IObjectWithProgID : public IUnknown
30332{
30333 virtual HRESULT STDMETHODCALLTYPE SetProgID(
30334 LPCWSTR pszProgID) = 0;
30335
30336 virtual HRESULT STDMETHODCALLTYPE GetProgID(
30337 LPWSTR *ppszProgID) = 0;
30338
30339};
30340#ifdef __CRT_UUID_DECL
30341__CRT_UUID_DECL(IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13)
30342#endif
30343#else
30344typedef struct IObjectWithProgIDVtbl {
30345 BEGIN_INTERFACE
30346
30347 /*** IUnknown methods ***/
30348 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30349 IObjectWithProgID *This,
30350 REFIID riid,
30351 void **ppvObject);
30352
30353 ULONG (STDMETHODCALLTYPE *AddRef)(
30354 IObjectWithProgID *This);
30355
30356 ULONG (STDMETHODCALLTYPE *Release)(
30357 IObjectWithProgID *This);
30358
30359 /*** IObjectWithProgID methods ***/
30360 HRESULT (STDMETHODCALLTYPE *SetProgID)(
30361 IObjectWithProgID *This,
30362 LPCWSTR pszProgID);
30363
30364 HRESULT (STDMETHODCALLTYPE *GetProgID)(
30365 IObjectWithProgID *This,
30366 LPWSTR *ppszProgID);
30367
30368 END_INTERFACE
30369} IObjectWithProgIDVtbl;
30370
30371interface IObjectWithProgID {
30372 CONST_VTBL IObjectWithProgIDVtbl* lpVtbl;
30373};
30374
30375#ifdef COBJMACROS
30376#ifndef WIDL_C_INLINE_WRAPPERS
30377/*** IUnknown methods ***/
30378#define IObjectWithProgID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30379#define IObjectWithProgID_AddRef(This) (This)->lpVtbl->AddRef(This)
30380#define IObjectWithProgID_Release(This) (This)->lpVtbl->Release(This)
30381/*** IObjectWithProgID methods ***/
30382#define IObjectWithProgID_SetProgID(This,pszProgID) (This)->lpVtbl->SetProgID(This,pszProgID)
30383#define IObjectWithProgID_GetProgID(This,ppszProgID) (This)->lpVtbl->GetProgID(This,ppszProgID)
30384#else
30385/*** IUnknown methods ***/
30386static inline HRESULT IObjectWithProgID_QueryInterface(IObjectWithProgID* This,REFIID riid,void **ppvObject) {
30387 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30388}
30389static inline ULONG IObjectWithProgID_AddRef(IObjectWithProgID* This) {
30390 return This->lpVtbl->AddRef(This);
30391}
30392static inline ULONG IObjectWithProgID_Release(IObjectWithProgID* This) {
30393 return This->lpVtbl->Release(This);
30394}
30395/*** IObjectWithProgID methods ***/
30396static inline HRESULT IObjectWithProgID_SetProgID(IObjectWithProgID* This,LPCWSTR pszProgID) {
30397 return This->lpVtbl->SetProgID(This,pszProgID);
30398}
30399static inline HRESULT IObjectWithProgID_GetProgID(IObjectWithProgID* This,LPWSTR *ppszProgID) {
30400 return This->lpVtbl->GetProgID(This,ppszProgID);
30401}
30402#endif
30403#endif
30404
30405#endif
30406
30407
30408#endif /* __IObjectWithProgID_INTERFACE_DEFINED__ */
30409
30410
30411/*****************************************************************************
30412 * IUpdateIDList interface
30413 */
30414#ifndef __IUpdateIDList_INTERFACE_DEFINED__
30415#define __IUpdateIDList_INTERFACE_DEFINED__
30416
30417DEFINE_GUID(IID_IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c);
30418#if defined(__cplusplus) && !defined(CINTERFACE)
30419MIDL_INTERFACE("6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c")
30420IUpdateIDList : public IUnknown
30421{
30422 virtual HRESULT STDMETHODCALLTYPE Update(
30423 IBindCtx *pbc,
30424 PCUITEMID_CHILD pidlIn,
30425 PITEMID_CHILD *ppidlOut) = 0;
30426
30427};
30428#ifdef __CRT_UUID_DECL
30429__CRT_UUID_DECL(IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c)
30430#endif
30431#else
30432typedef struct IUpdateIDListVtbl {
30433 BEGIN_INTERFACE
30434
30435 /*** IUnknown methods ***/
30436 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30437 IUpdateIDList *This,
30438 REFIID riid,
30439 void **ppvObject);
30440
30441 ULONG (STDMETHODCALLTYPE *AddRef)(
30442 IUpdateIDList *This);
30443
30444 ULONG (STDMETHODCALLTYPE *Release)(
30445 IUpdateIDList *This);
30446
30447 /*** IUpdateIDList methods ***/
30448 HRESULT (STDMETHODCALLTYPE *Update)(
30449 IUpdateIDList *This,
30450 IBindCtx *pbc,
30451 PCUITEMID_CHILD pidlIn,
30452 PITEMID_CHILD *ppidlOut);
30453
30454 END_INTERFACE
30455} IUpdateIDListVtbl;
30456
30457interface IUpdateIDList {
30458 CONST_VTBL IUpdateIDListVtbl* lpVtbl;
30459};
30460
30461#ifdef COBJMACROS
30462#ifndef WIDL_C_INLINE_WRAPPERS
30463/*** IUnknown methods ***/
30464#define IUpdateIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30465#define IUpdateIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
30466#define IUpdateIDList_Release(This) (This)->lpVtbl->Release(This)
30467/*** IUpdateIDList methods ***/
30468#define IUpdateIDList_Update(This,pbc,pidlIn,ppidlOut) (This)->lpVtbl->Update(This,pbc,pidlIn,ppidlOut)
30469#else
30470/*** IUnknown methods ***/
30471static inline HRESULT IUpdateIDList_QueryInterface(IUpdateIDList* This,REFIID riid,void **ppvObject) {
30472 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30473}
30474static inline ULONG IUpdateIDList_AddRef(IUpdateIDList* This) {
30475 return This->lpVtbl->AddRef(This);
30476}
30477static inline ULONG IUpdateIDList_Release(IUpdateIDList* This) {
30478 return This->lpVtbl->Release(This);
30479}
30480/*** IUpdateIDList methods ***/
30481static inline HRESULT IUpdateIDList_Update(IUpdateIDList* This,IBindCtx *pbc,PCUITEMID_CHILD pidlIn,PITEMID_CHILD *ppidlOut) {
30482 return This->lpVtbl->Update(This,pbc,pidlIn,ppidlOut);
30483}
30484#endif
30485#endif
30486
30487#endif
30488
30489
30490#endif /* __IUpdateIDList_INTERFACE_DEFINED__ */
30491
30492
30493SHSTDAPI SetCurrentProcessExplicitAppUserModelID(PCWSTR AppID);
30494SHSTDAPI GetCurrentProcessExplicitAppUserModelID(PWSTR *AppID);
30495#endif
30496
30497/*****************************************************************************
30498 * IDesktopGadget interface
30499 */
30500#ifndef __IDesktopGadget_INTERFACE_DEFINED__
30501#define __IDesktopGadget_INTERFACE_DEFINED__
30502
30503DEFINE_GUID(IID_IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a);
30504#if defined(__cplusplus) && !defined(CINTERFACE)
30505MIDL_INTERFACE("c1646bc4-f298-4f91-a204-eb2dd1709d1a")
30506IDesktopGadget : public IUnknown
30507{
30508 virtual HRESULT STDMETHODCALLTYPE RunGadget(
30509 LPCWSTR gadgetPath) = 0;
30510
30511};
30512#ifdef __CRT_UUID_DECL
30513__CRT_UUID_DECL(IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a)
30514#endif
30515#else
30516typedef struct IDesktopGadgetVtbl {
30517 BEGIN_INTERFACE
30518
30519 /*** IUnknown methods ***/
30520 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30521 IDesktopGadget *This,
30522 REFIID riid,
30523 void **ppvObject);
30524
30525 ULONG (STDMETHODCALLTYPE *AddRef)(
30526 IDesktopGadget *This);
30527
30528 ULONG (STDMETHODCALLTYPE *Release)(
30529 IDesktopGadget *This);
30530
30531 /*** IDesktopGadget methods ***/
30532 HRESULT (STDMETHODCALLTYPE *RunGadget)(
30533 IDesktopGadget *This,
30534 LPCWSTR gadgetPath);
30535
30536 END_INTERFACE
30537} IDesktopGadgetVtbl;
30538
30539interface IDesktopGadget {
30540 CONST_VTBL IDesktopGadgetVtbl* lpVtbl;
30541};
30542
30543#ifdef COBJMACROS
30544#ifndef WIDL_C_INLINE_WRAPPERS
30545/*** IUnknown methods ***/
30546#define IDesktopGadget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30547#define IDesktopGadget_AddRef(This) (This)->lpVtbl->AddRef(This)
30548#define IDesktopGadget_Release(This) (This)->lpVtbl->Release(This)
30549/*** IDesktopGadget methods ***/
30550#define IDesktopGadget_RunGadget(This,gadgetPath) (This)->lpVtbl->RunGadget(This,gadgetPath)
30551#else
30552/*** IUnknown methods ***/
30553static inline HRESULT IDesktopGadget_QueryInterface(IDesktopGadget* This,REFIID riid,void **ppvObject) {
30554 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30555}
30556static inline ULONG IDesktopGadget_AddRef(IDesktopGadget* This) {
30557 return This->lpVtbl->AddRef(This);
30558}
30559static inline ULONG IDesktopGadget_Release(IDesktopGadget* This) {
30560 return This->lpVtbl->Release(This);
30561}
30562/*** IDesktopGadget methods ***/
30563static inline HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR gadgetPath) {
30564 return This->lpVtbl->RunGadget(This,gadgetPath);
30565}
30566#endif
30567#endif
30568
30569#endif
30570
30571
30572#endif /* __IDesktopGadget_INTERFACE_DEFINED__ */
30573
30574
30575#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)
30576/*****************************************************************************
30577 * IVirtualDesktopManager interface
30578 */
30579#ifndef __IVirtualDesktopManager_INTERFACE_DEFINED__
30580#define __IVirtualDesktopManager_INTERFACE_DEFINED__
30581
30582DEFINE_GUID(IID_IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b);
30583#if defined(__cplusplus) && !defined(CINTERFACE)
30584MIDL_INTERFACE("a5cd92ff-29be-454c-8d04-d82879fb3f1b")
30585IVirtualDesktopManager : public IUnknown
30586{
30587 virtual HRESULT STDMETHODCALLTYPE IsWindowOnCurrentVirtualDesktop(
30588 HWND topLevelWindow,
30589 WINBOOL *onCurrentDesktop) = 0;
30590
30591 virtual HRESULT STDMETHODCALLTYPE GetWindowDesktopId(
30592 HWND topLevelWindow,
30593 GUID *desktopId) = 0;
30594
30595 virtual HRESULT STDMETHODCALLTYPE MoveWindowToDesktop(
30596 HWND topLevelWindow,
30597 REFGUID desktopId) = 0;
30598
30599};
30600#ifdef __CRT_UUID_DECL
30601__CRT_UUID_DECL(IVirtualDesktopManager, 0xa5cd92ff, 0x29be, 0x454c, 0x8d,0x04, 0xd8,0x28,0x79,0xfb,0x3f,0x1b)
30602#endif
30603#else
30604typedef struct IVirtualDesktopManagerVtbl {
30605 BEGIN_INTERFACE
30606
30607 /*** IUnknown methods ***/
30608 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30609 IVirtualDesktopManager *This,
30610 REFIID riid,
30611 void **ppvObject);
30612
30613 ULONG (STDMETHODCALLTYPE *AddRef)(
30614 IVirtualDesktopManager *This);
30615
30616 ULONG (STDMETHODCALLTYPE *Release)(
30617 IVirtualDesktopManager *This);
30618
30619 /*** IVirtualDesktopManager methods ***/
30620 HRESULT (STDMETHODCALLTYPE *IsWindowOnCurrentVirtualDesktop)(
30621 IVirtualDesktopManager *This,
30622 HWND topLevelWindow,
30623 WINBOOL *onCurrentDesktop);
30624
30625 HRESULT (STDMETHODCALLTYPE *GetWindowDesktopId)(
30626 IVirtualDesktopManager *This,
30627 HWND topLevelWindow,
30628 GUID *desktopId);
30629
30630 HRESULT (STDMETHODCALLTYPE *MoveWindowToDesktop)(
30631 IVirtualDesktopManager *This,
30632 HWND topLevelWindow,
30633 REFGUID desktopId);
30634
30635 END_INTERFACE
30636} IVirtualDesktopManagerVtbl;
30637
30638interface IVirtualDesktopManager {
30639 CONST_VTBL IVirtualDesktopManagerVtbl* lpVtbl;
30640};
30641
30642#ifdef COBJMACROS
30643#ifndef WIDL_C_INLINE_WRAPPERS
30644/*** IUnknown methods ***/
30645#define IVirtualDesktopManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30646#define IVirtualDesktopManager_AddRef(This) (This)->lpVtbl->AddRef(This)
30647#define IVirtualDesktopManager_Release(This) (This)->lpVtbl->Release(This)
30648/*** IVirtualDesktopManager methods ***/
30649#define IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop) (This)->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop)
30650#define IVirtualDesktopManager_GetWindowDesktopId(This,topLevelWindow,desktopId) (This)->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId)
30651#define IVirtualDesktopManager_MoveWindowToDesktop(This,topLevelWindow,desktopId) (This)->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId)
30652#else
30653/*** IUnknown methods ***/
30654static inline HRESULT IVirtualDesktopManager_QueryInterface(IVirtualDesktopManager* This,REFIID riid,void **ppvObject) {
30655 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30656}
30657static inline ULONG IVirtualDesktopManager_AddRef(IVirtualDesktopManager* This) {
30658 return This->lpVtbl->AddRef(This);
30659}
30660static inline ULONG IVirtualDesktopManager_Release(IVirtualDesktopManager* This) {
30661 return This->lpVtbl->Release(This);
30662}
30663/*** IVirtualDesktopManager methods ***/
30664static inline HRESULT IVirtualDesktopManager_IsWindowOnCurrentVirtualDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,WINBOOL *onCurrentDesktop) {
30665 return This->lpVtbl->IsWindowOnCurrentVirtualDesktop(This,topLevelWindow,onCurrentDesktop);
30666}
30667static inline HRESULT IVirtualDesktopManager_GetWindowDesktopId(IVirtualDesktopManager* This,HWND topLevelWindow,GUID *desktopId) {
30668 return This->lpVtbl->GetWindowDesktopId(This,topLevelWindow,desktopId);
30669}
30670static inline HRESULT IVirtualDesktopManager_MoveWindowToDesktop(IVirtualDesktopManager* This,HWND topLevelWindow,REFGUID desktopId) {
30671 return This->lpVtbl->MoveWindowToDesktop(This,topLevelWindow,desktopId);
30672}
30673#endif
30674#endif
30675
30676#endif
30677
30678
30679#endif /* __IVirtualDesktopManager_INTERFACE_DEFINED__ */
30680
30681#endif
30682
30683#if NTDDI_VERSION >= NTDDI_WIN8
30684/*****************************************************************************
30685 * IDesktopWallpaper interface
30686 */
30687#ifndef __IDesktopWallpaper_INTERFACE_DEFINED__
30688#define __IDesktopWallpaper_INTERFACE_DEFINED__
30689
30690typedef enum DESKTOP_SLIDESHOW_OPTIONS {
30691 DSO_SHUFFLEIMAGES = 0x1
30692} DESKTOP_SLIDESHOW_OPTIONS;
30693
30694DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_OPTIONS);
30695
30696typedef enum DESKTOP_SLIDESHOW_STATE {
30697 DSS_ENABLED = 0x1,
30698 DSS_SLIDESHOW = 0x2,
30699 DSS_DISABLED_BY_REMOTE_SESSION = 0x4
30700} DESKTOP_SLIDESHOW_STATE;
30701
30702DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_STATE);
30703
30704typedef enum DESKTOP_SLIDESHOW_DIRECTION {
30705 DSD_FORWARD = 0,
30706 DSD_BACKWARD = 1
30707} DESKTOP_SLIDESHOW_DIRECTION;
30708
30709typedef enum DESKTOP_WALLPAPER_POSITION {
30710 DWPOS_CENTER = 0,
30711 DWPOS_TILE = 1,
30712 DWPOS_STRETCH = 2,
30713 DWPOS_FIT = 3,
30714 DWPOS_FILL = 4,
30715 DWPOS_SPAN = 5
30716} DESKTOP_WALLPAPER_POSITION;
30717
30718DEFINE_GUID(IID_IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b);
30719#if defined(__cplusplus) && !defined(CINTERFACE)
30720MIDL_INTERFACE("b92b56a9-8b55-4e14-9a89-0199bbb6f93b")
30721IDesktopWallpaper : public IUnknown
30722{
30723 virtual HRESULT STDMETHODCALLTYPE SetWallpaper(
30724 LPCWSTR monitorID,
30725 LPCWSTR wallpaper) = 0;
30726
30727 virtual HRESULT STDMETHODCALLTYPE GetWallpaper(
30728 LPCWSTR monitorID,
30729 LPWSTR *wallpaper) = 0;
30730
30731 virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathAt(
30732 UINT monitorIndex,
30733 LPWSTR *monitorID) = 0;
30734
30735 virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathCount(
30736 UINT *count) = 0;
30737
30738 virtual HRESULT STDMETHODCALLTYPE GetMonitorRECT(
30739 LPCWSTR monitorID,
30740 RECT *displayRect) = 0;
30741
30742 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
30743 COLORREF color) = 0;
30744
30745 virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
30746 COLORREF *color) = 0;
30747
30748 virtual HRESULT STDMETHODCALLTYPE SetPosition(
30749 DESKTOP_WALLPAPER_POSITION position) = 0;
30750
30751 virtual HRESULT STDMETHODCALLTYPE GetPosition(
30752 DESKTOP_WALLPAPER_POSITION *position) = 0;
30753
30754 virtual HRESULT STDMETHODCALLTYPE SetSlideshow(
30755 IShellItemArray *items) = 0;
30756
30757 virtual HRESULT STDMETHODCALLTYPE GetSlideshow(
30758 IShellItemArray **items) = 0;
30759
30760 virtual HRESULT STDMETHODCALLTYPE SetSlideshowOptions(
30761 DESKTOP_SLIDESHOW_OPTIONS options,
30762 UINT slideshowTick) = 0;
30763
30764 virtual HRESULT STDMETHODCALLTYPE GetSlideshowOptions(
30765 DESKTOP_SLIDESHOW_OPTIONS *options,
30766 UINT *slideshowTick) = 0;
30767
30768 virtual HRESULT STDMETHODCALLTYPE AdvanceSlideshow(
30769 LPCWSTR monitorID,
30770 DESKTOP_SLIDESHOW_DIRECTION direction) = 0;
30771
30772 virtual HRESULT STDMETHODCALLTYPE GetStatus(
30773 DESKTOP_SLIDESHOW_STATE *state) = 0;
30774
30775 virtual HRESULT STDMETHODCALLTYPE Enable(
30776 WINBOOL enable) = 0;
30777
30778};
30779#ifdef __CRT_UUID_DECL
30780__CRT_UUID_DECL(IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b)
30781#endif
30782#else
30783typedef struct IDesktopWallpaperVtbl {
30784 BEGIN_INTERFACE
30785
30786 /*** IUnknown methods ***/
30787 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
30788 IDesktopWallpaper *This,
30789 REFIID riid,
30790 void **ppvObject);
30791
30792 ULONG (STDMETHODCALLTYPE *AddRef)(
30793 IDesktopWallpaper *This);
30794
30795 ULONG (STDMETHODCALLTYPE *Release)(
30796 IDesktopWallpaper *This);
30797
30798 /*** IDesktopWallpaper methods ***/
30799 HRESULT (STDMETHODCALLTYPE *SetWallpaper)(
30800 IDesktopWallpaper *This,
30801 LPCWSTR monitorID,
30802 LPCWSTR wallpaper);
30803
30804 HRESULT (STDMETHODCALLTYPE *GetWallpaper)(
30805 IDesktopWallpaper *This,
30806 LPCWSTR monitorID,
30807 LPWSTR *wallpaper);
30808
30809 HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathAt)(
30810 IDesktopWallpaper *This,
30811 UINT monitorIndex,
30812 LPWSTR *monitorID);
30813
30814 HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathCount)(
30815 IDesktopWallpaper *This,
30816 UINT *count);
30817
30818 HRESULT (STDMETHODCALLTYPE *GetMonitorRECT)(
30819 IDesktopWallpaper *This,
30820 LPCWSTR monitorID,
30821 RECT *displayRect);
30822
30823 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
30824 IDesktopWallpaper *This,
30825 COLORREF color);
30826
30827 HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
30828 IDesktopWallpaper *This,
30829 COLORREF *color);
30830
30831 HRESULT (STDMETHODCALLTYPE *SetPosition)(
30832 IDesktopWallpaper *This,
30833 DESKTOP_WALLPAPER_POSITION position);
30834
30835 HRESULT (STDMETHODCALLTYPE *GetPosition)(
30836 IDesktopWallpaper *This,
30837 DESKTOP_WALLPAPER_POSITION *position);
30838
30839 HRESULT (STDMETHODCALLTYPE *SetSlideshow)(
30840 IDesktopWallpaper *This,
30841 IShellItemArray *items);
30842
30843 HRESULT (STDMETHODCALLTYPE *GetSlideshow)(
30844 IDesktopWallpaper *This,
30845 IShellItemArray **items);
30846
30847 HRESULT (STDMETHODCALLTYPE *SetSlideshowOptions)(
30848 IDesktopWallpaper *This,
30849 DESKTOP_SLIDESHOW_OPTIONS options,
30850 UINT slideshowTick);
30851
30852 HRESULT (STDMETHODCALLTYPE *GetSlideshowOptions)(
30853 IDesktopWallpaper *This,
30854 DESKTOP_SLIDESHOW_OPTIONS *options,
30855 UINT *slideshowTick);
30856
30857 HRESULT (STDMETHODCALLTYPE *AdvanceSlideshow)(
30858 IDesktopWallpaper *This,
30859 LPCWSTR monitorID,
30860 DESKTOP_SLIDESHOW_DIRECTION direction);
30861
30862 HRESULT (STDMETHODCALLTYPE *GetStatus)(
30863 IDesktopWallpaper *This,
30864 DESKTOP_SLIDESHOW_STATE *state);
30865
30866 HRESULT (STDMETHODCALLTYPE *Enable)(
30867 IDesktopWallpaper *This,
30868 WINBOOL enable);
30869
30870 END_INTERFACE
30871} IDesktopWallpaperVtbl;
30872
30873interface IDesktopWallpaper {
30874 CONST_VTBL IDesktopWallpaperVtbl* lpVtbl;
30875};
30876
30877#ifdef COBJMACROS
30878#ifndef WIDL_C_INLINE_WRAPPERS
30879/*** IUnknown methods ***/
30880#define IDesktopWallpaper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
30881#define IDesktopWallpaper_AddRef(This) (This)->lpVtbl->AddRef(This)
30882#define IDesktopWallpaper_Release(This) (This)->lpVtbl->Release(This)
30883/*** IDesktopWallpaper methods ***/
30884#define IDesktopWallpaper_SetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->SetWallpaper(This,monitorID,wallpaper)
30885#define IDesktopWallpaper_GetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->GetWallpaper(This,monitorID,wallpaper)
30886#define IDesktopWallpaper_GetMonitorDevicePathAt(This,monitorIndex,monitorID) (This)->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID)
30887#define IDesktopWallpaper_GetMonitorDevicePathCount(This,count) (This)->lpVtbl->GetMonitorDevicePathCount(This,count)
30888#define IDesktopWallpaper_GetMonitorRECT(This,monitorID,displayRect) (This)->lpVtbl->GetMonitorRECT(This,monitorID,displayRect)
30889#define IDesktopWallpaper_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
30890#define IDesktopWallpaper_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
30891#define IDesktopWallpaper_SetPosition(This,position) (This)->lpVtbl->SetPosition(This,position)
30892#define IDesktopWallpaper_GetPosition(This,position) (This)->lpVtbl->GetPosition(This,position)
30893#define IDesktopWallpaper_SetSlideshow(This,items) (This)->lpVtbl->SetSlideshow(This,items)
30894#define IDesktopWallpaper_GetSlideshow(This,items) (This)->lpVtbl->GetSlideshow(This,items)
30895#define IDesktopWallpaper_SetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->SetSlideshowOptions(This,options,slideshowTick)
30896#define IDesktopWallpaper_GetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->GetSlideshowOptions(This,options,slideshowTick)
30897#define IDesktopWallpaper_AdvanceSlideshow(This,monitorID,direction) (This)->lpVtbl->AdvanceSlideshow(This,monitorID,direction)
30898#define IDesktopWallpaper_GetStatus(This,state) (This)->lpVtbl->GetStatus(This,state)
30899#define IDesktopWallpaper_Enable(This,enable) (This)->lpVtbl->Enable(This,enable)
30900#else
30901/*** IUnknown methods ***/
30902static inline HRESULT IDesktopWallpaper_QueryInterface(IDesktopWallpaper* This,REFIID riid,void **ppvObject) {
30903 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
30904}
30905static inline ULONG IDesktopWallpaper_AddRef(IDesktopWallpaper* This) {
30906 return This->lpVtbl->AddRef(This);
30907}
30908static inline ULONG IDesktopWallpaper_Release(IDesktopWallpaper* This) {
30909 return This->lpVtbl->Release(This);
30910}
30911/*** IDesktopWallpaper methods ***/
30912static inline HRESULT IDesktopWallpaper_SetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPCWSTR wallpaper) {
30913 return This->lpVtbl->SetWallpaper(This,monitorID,wallpaper);
30914}
30915static inline HRESULT IDesktopWallpaper_GetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPWSTR *wallpaper) {
30916 return This->lpVtbl->GetWallpaper(This,monitorID,wallpaper);
30917}
30918static inline HRESULT IDesktopWallpaper_GetMonitorDevicePathAt(IDesktopWallpaper* This,UINT monitorIndex,LPWSTR *monitorID) {
30919 return This->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID);
30920}
30921static inline HRESULT IDesktopWallpaper_GetMonitorDevicePathCount(IDesktopWallpaper* This,UINT *count) {
30922 return This->lpVtbl->GetMonitorDevicePathCount(This,count);
30923}
30924static inline HRESULT IDesktopWallpaper_GetMonitorRECT(IDesktopWallpaper* This,LPCWSTR monitorID,RECT *displayRect) {
30925 return This->lpVtbl->GetMonitorRECT(This,monitorID,displayRect);
30926}
30927static inline HRESULT IDesktopWallpaper_SetBackgroundColor(IDesktopWallpaper* This,COLORREF color) {
30928 return This->lpVtbl->SetBackgroundColor(This,color);
30929}
30930static inline HRESULT IDesktopWallpaper_GetBackgroundColor(IDesktopWallpaper* This,COLORREF *color) {
30931 return This->lpVtbl->GetBackgroundColor(This,color);
30932}
30933static inline HRESULT IDesktopWallpaper_SetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION position) {
30934 return This->lpVtbl->SetPosition(This,position);
30935}
30936static inline HRESULT IDesktopWallpaper_GetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION *position) {
30937 return This->lpVtbl->GetPosition(This,position);
30938}
30939static inline HRESULT IDesktopWallpaper_SetSlideshow(IDesktopWallpaper* This,IShellItemArray *items) {
30940 return This->lpVtbl->SetSlideshow(This,items);
30941}
30942static inline HRESULT IDesktopWallpaper_GetSlideshow(IDesktopWallpaper* This,IShellItemArray **items) {
30943 return This->lpVtbl->GetSlideshow(This,items);
30944}
30945static inline HRESULT IDesktopWallpaper_SetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS options,UINT slideshowTick) {
30946 return This->lpVtbl->SetSlideshowOptions(This,options,slideshowTick);
30947}
30948static inline HRESULT IDesktopWallpaper_GetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS *options,UINT *slideshowTick) {
30949 return This->lpVtbl->GetSlideshowOptions(This,options,slideshowTick);
30950}
30951static inline HRESULT IDesktopWallpaper_AdvanceSlideshow(IDesktopWallpaper* This,LPCWSTR monitorID,DESKTOP_SLIDESHOW_DIRECTION direction) {
30952 return This->lpVtbl->AdvanceSlideshow(This,monitorID,direction);
30953}
30954static inline HRESULT IDesktopWallpaper_GetStatus(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_STATE *state) {
30955 return This->lpVtbl->GetStatus(This,state);
30956}
30957static inline HRESULT IDesktopWallpaper_Enable(IDesktopWallpaper* This,WINBOOL enable) {
30958 return This->lpVtbl->Enable(This,enable);
30959}
30960#endif
30961#endif
30962
30963#endif
30964
30965
30966#endif /* __IDesktopWallpaper_INTERFACE_DEFINED__ */
30967
30968#endif
30969
30970#define HOMEGROUP_SECURITY_GROUP_MULTI L"HUG"
30971#define HOMEGROUP_SECURITY_GROUP L"HomeUsers"
30972
30973/*****************************************************************************
30974 * IHomeGroup interface
30975 */
30976#ifndef __IHomeGroup_INTERFACE_DEFINED__
30977#define __IHomeGroup_INTERFACE_DEFINED__
30978
30979typedef enum HOMEGROUPSHARINGCHOICES {
30980 HGSC_NONE = 0x0,
30981 HGSC_MUSICLIBRARY = 0x1,
30982 HGSC_PICTURESLIBRARY = 0x2,
30983 HGSC_VIDEOSLIBRARY = 0x4,
30984 HGSC_DOCUMENTSLIBRARY = 0x8,
30985 HGSC_PRINTERS = 0x10
30986} HOMEGROUPSHARINGCHOICES;
30987
30988DEFINE_ENUM_FLAG_OPERATORS(HOMEGROUPSHARINGCHOICES)
30989
30990DEFINE_GUID(IID_IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0);
30991#if defined(__cplusplus) && !defined(CINTERFACE)
30992MIDL_INTERFACE("7a3bd1d9-35a9-4fb3-a467-f48cac35e2d0")
30993IHomeGroup : public IUnknown
30994{
30995 virtual HRESULT STDMETHODCALLTYPE IsMember(
30996 WINBOOL *member) = 0;
30997
30998 virtual HRESULT STDMETHODCALLTYPE ShowSharingWizard(
30999 HWND owner,
31000 HOMEGROUPSHARINGCHOICES *sharingchoices) = 0;
31001
31002};
31003#ifdef __CRT_UUID_DECL
31004__CRT_UUID_DECL(IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0)
31005#endif
31006#else
31007typedef struct IHomeGroupVtbl {
31008 BEGIN_INTERFACE
31009
31010 /*** IUnknown methods ***/
31011 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31012 IHomeGroup *This,
31013 REFIID riid,
31014 void **ppvObject);
31015
31016 ULONG (STDMETHODCALLTYPE *AddRef)(
31017 IHomeGroup *This);
31018
31019 ULONG (STDMETHODCALLTYPE *Release)(
31020 IHomeGroup *This);
31021
31022 /*** IHomeGroup methods ***/
31023 HRESULT (STDMETHODCALLTYPE *IsMember)(
31024 IHomeGroup *This,
31025 WINBOOL *member);
31026
31027 HRESULT (STDMETHODCALLTYPE *ShowSharingWizard)(
31028 IHomeGroup *This,
31029 HWND owner,
31030 HOMEGROUPSHARINGCHOICES *sharingchoices);
31031
31032 END_INTERFACE
31033} IHomeGroupVtbl;
31034
31035interface IHomeGroup {
31036 CONST_VTBL IHomeGroupVtbl* lpVtbl;
31037};
31038
31039#ifdef COBJMACROS
31040#ifndef WIDL_C_INLINE_WRAPPERS
31041/*** IUnknown methods ***/
31042#define IHomeGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31043#define IHomeGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
31044#define IHomeGroup_Release(This) (This)->lpVtbl->Release(This)
31045/*** IHomeGroup methods ***/
31046#define IHomeGroup_IsMember(This,member) (This)->lpVtbl->IsMember(This,member)
31047#define IHomeGroup_ShowSharingWizard(This,owner,sharingchoices) (This)->lpVtbl->ShowSharingWizard(This,owner,sharingchoices)
31048#else
31049/*** IUnknown methods ***/
31050static inline HRESULT IHomeGroup_QueryInterface(IHomeGroup* This,REFIID riid,void **ppvObject) {
31051 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31052}
31053static inline ULONG IHomeGroup_AddRef(IHomeGroup* This) {
31054 return This->lpVtbl->AddRef(This);
31055}
31056static inline ULONG IHomeGroup_Release(IHomeGroup* This) {
31057 return This->lpVtbl->Release(This);
31058}
31059/*** IHomeGroup methods ***/
31060static inline HRESULT IHomeGroup_IsMember(IHomeGroup* This,WINBOOL *member) {
31061 return This->lpVtbl->IsMember(This,member);
31062}
31063static inline HRESULT IHomeGroup_ShowSharingWizard(IHomeGroup* This,HWND owner,HOMEGROUPSHARINGCHOICES *sharingchoices) {
31064 return This->lpVtbl->ShowSharingWizard(This,owner,sharingchoices);
31065}
31066#endif
31067#endif
31068
31069#endif
31070
31071
31072#endif /* __IHomeGroup_INTERFACE_DEFINED__ */
31073
31074
31075/*****************************************************************************
31076 * IInitializeWithPropertyStore interface
31077 */
31078#ifndef __IInitializeWithPropertyStore_INTERFACE_DEFINED__
31079#define __IInitializeWithPropertyStore_INTERFACE_DEFINED__
31080
31081DEFINE_GUID(IID_IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4);
31082#if defined(__cplusplus) && !defined(CINTERFACE)
31083MIDL_INTERFACE("c3e12eb5-7d8d-44f8-b6dd-0e77b34d6de4")
31084IInitializeWithPropertyStore : public IUnknown
31085{
31086 virtual HRESULT STDMETHODCALLTYPE Initialize(
31087 IPropertyStore *pps) = 0;
31088
31089};
31090#ifdef __CRT_UUID_DECL
31091__CRT_UUID_DECL(IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4)
31092#endif
31093#else
31094typedef struct IInitializeWithPropertyStoreVtbl {
31095 BEGIN_INTERFACE
31096
31097 /*** IUnknown methods ***/
31098 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31099 IInitializeWithPropertyStore *This,
31100 REFIID riid,
31101 void **ppvObject);
31102
31103 ULONG (STDMETHODCALLTYPE *AddRef)(
31104 IInitializeWithPropertyStore *This);
31105
31106 ULONG (STDMETHODCALLTYPE *Release)(
31107 IInitializeWithPropertyStore *This);
31108
31109 /*** IInitializeWithPropertyStore methods ***/
31110 HRESULT (STDMETHODCALLTYPE *Initialize)(
31111 IInitializeWithPropertyStore *This,
31112 IPropertyStore *pps);
31113
31114 END_INTERFACE
31115} IInitializeWithPropertyStoreVtbl;
31116
31117interface IInitializeWithPropertyStore {
31118 CONST_VTBL IInitializeWithPropertyStoreVtbl* lpVtbl;
31119};
31120
31121#ifdef COBJMACROS
31122#ifndef WIDL_C_INLINE_WRAPPERS
31123/*** IUnknown methods ***/
31124#define IInitializeWithPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31125#define IInitializeWithPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This)
31126#define IInitializeWithPropertyStore_Release(This) (This)->lpVtbl->Release(This)
31127/*** IInitializeWithPropertyStore methods ***/
31128#define IInitializeWithPropertyStore_Initialize(This,pps) (This)->lpVtbl->Initialize(This,pps)
31129#else
31130/*** IUnknown methods ***/
31131static inline HRESULT IInitializeWithPropertyStore_QueryInterface(IInitializeWithPropertyStore* This,REFIID riid,void **ppvObject) {
31132 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31133}
31134static inline ULONG IInitializeWithPropertyStore_AddRef(IInitializeWithPropertyStore* This) {
31135 return This->lpVtbl->AddRef(This);
31136}
31137static inline ULONG IInitializeWithPropertyStore_Release(IInitializeWithPropertyStore* This) {
31138 return This->lpVtbl->Release(This);
31139}
31140/*** IInitializeWithPropertyStore methods ***/
31141static inline HRESULT IInitializeWithPropertyStore_Initialize(IInitializeWithPropertyStore* This,IPropertyStore *pps) {
31142 return This->lpVtbl->Initialize(This,pps);
31143}
31144#endif
31145#endif
31146
31147#endif
31148
31149
31150#endif /* __IInitializeWithPropertyStore_INTERFACE_DEFINED__ */
31151
31152
31153/*****************************************************************************
31154 * IOpenSearchSource interface
31155 */
31156#ifndef __IOpenSearchSource_INTERFACE_DEFINED__
31157#define __IOpenSearchSource_INTERFACE_DEFINED__
31158
31159DEFINE_GUID(IID_IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e);
31160#if defined(__cplusplus) && !defined(CINTERFACE)
31161MIDL_INTERFACE("f0ee7333-e6fc-479b-9f25-a860c234a38e")
31162IOpenSearchSource : public IUnknown
31163{
31164 virtual HRESULT STDMETHODCALLTYPE GetResults(
31165 HWND hwnd,
31166 LPCWSTR pszQuery,
31167 DWORD dwStartIndex,
31168 DWORD dwCount,
31169 REFIID riid,
31170 void **ppv) = 0;
31171
31172};
31173#ifdef __CRT_UUID_DECL
31174__CRT_UUID_DECL(IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e)
31175#endif
31176#else
31177typedef struct IOpenSearchSourceVtbl {
31178 BEGIN_INTERFACE
31179
31180 /*** IUnknown methods ***/
31181 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31182 IOpenSearchSource *This,
31183 REFIID riid,
31184 void **ppvObject);
31185
31186 ULONG (STDMETHODCALLTYPE *AddRef)(
31187 IOpenSearchSource *This);
31188
31189 ULONG (STDMETHODCALLTYPE *Release)(
31190 IOpenSearchSource *This);
31191
31192 /*** IOpenSearchSource methods ***/
31193 HRESULT (STDMETHODCALLTYPE *GetResults)(
31194 IOpenSearchSource *This,
31195 HWND hwnd,
31196 LPCWSTR pszQuery,
31197 DWORD dwStartIndex,
31198 DWORD dwCount,
31199 REFIID riid,
31200 void **ppv);
31201
31202 END_INTERFACE
31203} IOpenSearchSourceVtbl;
31204
31205interface IOpenSearchSource {
31206 CONST_VTBL IOpenSearchSourceVtbl* lpVtbl;
31207};
31208
31209#ifdef COBJMACROS
31210#ifndef WIDL_C_INLINE_WRAPPERS
31211/*** IUnknown methods ***/
31212#define IOpenSearchSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31213#define IOpenSearchSource_AddRef(This) (This)->lpVtbl->AddRef(This)
31214#define IOpenSearchSource_Release(This) (This)->lpVtbl->Release(This)
31215/*** IOpenSearchSource methods ***/
31216#define IOpenSearchSource_GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv) (This)->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv)
31217#else
31218/*** IUnknown methods ***/
31219static inline HRESULT IOpenSearchSource_QueryInterface(IOpenSearchSource* This,REFIID riid,void **ppvObject) {
31220 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31221}
31222static inline ULONG IOpenSearchSource_AddRef(IOpenSearchSource* This) {
31223 return This->lpVtbl->AddRef(This);
31224}
31225static inline ULONG IOpenSearchSource_Release(IOpenSearchSource* This) {
31226 return This->lpVtbl->Release(This);
31227}
31228/*** IOpenSearchSource methods ***/
31229static inline HRESULT IOpenSearchSource_GetResults(IOpenSearchSource* This,HWND hwnd,LPCWSTR pszQuery,DWORD dwStartIndex,DWORD dwCount,REFIID riid,void **ppv) {
31230 return This->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv);
31231}
31232#endif
31233#endif
31234
31235#endif
31236
31237
31238#endif /* __IOpenSearchSource_INTERFACE_DEFINED__ */
31239
31240
31241/*****************************************************************************
31242 * IShellLibrary interface
31243 */
31244#ifndef __IShellLibrary_INTERFACE_DEFINED__
31245#define __IShellLibrary_INTERFACE_DEFINED__
31246
31247typedef enum LIBRARYFOLDERFILTER {
31248 LFF_FORCEFILESYSTEM = 1,
31249 LFF_STORAGEITEMS = 2,
31250 LFF_ALLITEMS = 3
31251} LIBRARYFOLDERFILTER;
31252
31253typedef enum LIBRARYOPTIONFLAGS {
31254 LOF_DEFAULT = 0x0,
31255 LOF_PINNEDTONAVPANE = 0x1,
31256 LOF_MASK_ALL = 0x1
31257} LIBRARYOPTIONFLAGS;
31258
31259DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)
31260
31261typedef enum DEFAULTSAVEFOLDERTYPE {
31262 DSFT_DETECT = 1,
31263 DSFT_PRIVATE = 2,
31264 DSFT_PUBLIC = 3
31265} DEFAULTSAVEFOLDERTYPE;
31266
31267typedef enum LIBRARYSAVEFLAGS {
31268 LSF_FAILIFTHERE = 0x0,
31269 LSF_OVERRIDEEXISTING = 0x1,
31270 LSF_MAKEUNIQUENAME = 0x2
31271} LIBRARYSAVEFLAGS;
31272
31273DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)
31274
31275DEFINE_GUID(IID_IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85);
31276#if defined(__cplusplus) && !defined(CINTERFACE)
31277MIDL_INTERFACE("11a66efa-382e-451a-9234-1e0e12ef3085")
31278IShellLibrary : public IUnknown
31279{
31280 virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromItem(
31281 IShellItem *psiLibrary,
31282 DWORD grfMode) = 0;
31283
31284 virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromKnownFolder(
31285 REFKNOWNFOLDERID kfidLibrary,
31286 DWORD grfMode) = 0;
31287
31288 virtual HRESULT STDMETHODCALLTYPE AddFolder(
31289 IShellItem *psiLocation) = 0;
31290
31291 virtual HRESULT STDMETHODCALLTYPE RemoveFolder(
31292 IShellItem *psiLocation) = 0;
31293
31294 virtual HRESULT STDMETHODCALLTYPE GetFolders(
31295 LIBRARYFOLDERFILTER lff,
31296 REFIID riid,
31297 void **ppv) = 0;
31298
31299 virtual HRESULT STDMETHODCALLTYPE ResolveFolder(
31300 IShellItem *psiFolderToResolve,
31301 DWORD dwTimeout,
31302 REFIID riid,
31303 void **ppv) = 0;
31304
31305 virtual HRESULT STDMETHODCALLTYPE GetDefaultSaveFolder(
31306 DEFAULTSAVEFOLDERTYPE dsft,
31307 REFIID riid,
31308 void **ppv) = 0;
31309
31310 virtual HRESULT STDMETHODCALLTYPE SetDefaultSaveFolder(
31311 DEFAULTSAVEFOLDERTYPE dsft,
31312 IShellItem *psi) = 0;
31313
31314 virtual HRESULT STDMETHODCALLTYPE GetOptions(
31315 LIBRARYOPTIONFLAGS *plofOptions) = 0;
31316
31317 virtual HRESULT STDMETHODCALLTYPE SetOptions(
31318 LIBRARYOPTIONFLAGS lofMask,
31319 LIBRARYOPTIONFLAGS lofOptions) = 0;
31320
31321 virtual HRESULT STDMETHODCALLTYPE GetFolderType(
31322 FOLDERTYPEID *pftid) = 0;
31323
31324 virtual HRESULT STDMETHODCALLTYPE SetFolderType(
31325 REFFOLDERTYPEID ftid) = 0;
31326
31327 virtual HRESULT STDMETHODCALLTYPE GetIcon(
31328 LPWSTR *ppszIcon) = 0;
31329
31330 virtual HRESULT STDMETHODCALLTYPE SetIcon(
31331 LPCWSTR pszIcon) = 0;
31332
31333 virtual HRESULT STDMETHODCALLTYPE Commit(
31334 ) = 0;
31335
31336 virtual HRESULT STDMETHODCALLTYPE Save(
31337 IShellItem *psiFolderToSaveIn,
31338 LPCWSTR pszLibraryName,
31339 LIBRARYSAVEFLAGS lsf,
31340 IShellItem **ppsiSavedTo) = 0;
31341
31342 virtual HRESULT STDMETHODCALLTYPE SaveInKnownFolder(
31343 REFKNOWNFOLDERID kfidToSaveIn,
31344 LPCWSTR pszLibraryName,
31345 LIBRARYSAVEFLAGS lsf,
31346 IShellItem **ppsiSavedTo) = 0;
31347
31348};
31349#ifdef __CRT_UUID_DECL
31350__CRT_UUID_DECL(IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85)
31351#endif
31352#else
31353typedef struct IShellLibraryVtbl {
31354 BEGIN_INTERFACE
31355
31356 /*** IUnknown methods ***/
31357 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31358 IShellLibrary *This,
31359 REFIID riid,
31360 void **ppvObject);
31361
31362 ULONG (STDMETHODCALLTYPE *AddRef)(
31363 IShellLibrary *This);
31364
31365 ULONG (STDMETHODCALLTYPE *Release)(
31366 IShellLibrary *This);
31367
31368 /*** IShellLibrary methods ***/
31369 HRESULT (STDMETHODCALLTYPE *LoadLibraryFromItem)(
31370 IShellLibrary *This,
31371 IShellItem *psiLibrary,
31372 DWORD grfMode);
31373
31374 HRESULT (STDMETHODCALLTYPE *LoadLibraryFromKnownFolder)(
31375 IShellLibrary *This,
31376 REFKNOWNFOLDERID kfidLibrary,
31377 DWORD grfMode);
31378
31379 HRESULT (STDMETHODCALLTYPE *AddFolder)(
31380 IShellLibrary *This,
31381 IShellItem *psiLocation);
31382
31383 HRESULT (STDMETHODCALLTYPE *RemoveFolder)(
31384 IShellLibrary *This,
31385 IShellItem *psiLocation);
31386
31387 HRESULT (STDMETHODCALLTYPE *GetFolders)(
31388 IShellLibrary *This,
31389 LIBRARYFOLDERFILTER lff,
31390 REFIID riid,
31391 void **ppv);
31392
31393 HRESULT (STDMETHODCALLTYPE *ResolveFolder)(
31394 IShellLibrary *This,
31395 IShellItem *psiFolderToResolve,
31396 DWORD dwTimeout,
31397 REFIID riid,
31398 void **ppv);
31399
31400 HRESULT (STDMETHODCALLTYPE *GetDefaultSaveFolder)(
31401 IShellLibrary *This,
31402 DEFAULTSAVEFOLDERTYPE dsft,
31403 REFIID riid,
31404 void **ppv);
31405
31406 HRESULT (STDMETHODCALLTYPE *SetDefaultSaveFolder)(
31407 IShellLibrary *This,
31408 DEFAULTSAVEFOLDERTYPE dsft,
31409 IShellItem *psi);
31410
31411 HRESULT (STDMETHODCALLTYPE *GetOptions)(
31412 IShellLibrary *This,
31413 LIBRARYOPTIONFLAGS *plofOptions);
31414
31415 HRESULT (STDMETHODCALLTYPE *SetOptions)(
31416 IShellLibrary *This,
31417 LIBRARYOPTIONFLAGS lofMask,
31418 LIBRARYOPTIONFLAGS lofOptions);
31419
31420 HRESULT (STDMETHODCALLTYPE *GetFolderType)(
31421 IShellLibrary *This,
31422 FOLDERTYPEID *pftid);
31423
31424 HRESULT (STDMETHODCALLTYPE *SetFolderType)(
31425 IShellLibrary *This,
31426 REFFOLDERTYPEID ftid);
31427
31428 HRESULT (STDMETHODCALLTYPE *GetIcon)(
31429 IShellLibrary *This,
31430 LPWSTR *ppszIcon);
31431
31432 HRESULT (STDMETHODCALLTYPE *SetIcon)(
31433 IShellLibrary *This,
31434 LPCWSTR pszIcon);
31435
31436 HRESULT (STDMETHODCALLTYPE *Commit)(
31437 IShellLibrary *This);
31438
31439 HRESULT (STDMETHODCALLTYPE *Save)(
31440 IShellLibrary *This,
31441 IShellItem *psiFolderToSaveIn,
31442 LPCWSTR pszLibraryName,
31443 LIBRARYSAVEFLAGS lsf,
31444 IShellItem **ppsiSavedTo);
31445
31446 HRESULT (STDMETHODCALLTYPE *SaveInKnownFolder)(
31447 IShellLibrary *This,
31448 REFKNOWNFOLDERID kfidToSaveIn,
31449 LPCWSTR pszLibraryName,
31450 LIBRARYSAVEFLAGS lsf,
31451 IShellItem **ppsiSavedTo);
31452
31453 END_INTERFACE
31454} IShellLibraryVtbl;
31455
31456interface IShellLibrary {
31457 CONST_VTBL IShellLibraryVtbl* lpVtbl;
31458};
31459
31460#ifdef COBJMACROS
31461#ifndef WIDL_C_INLINE_WRAPPERS
31462/*** IUnknown methods ***/
31463#define IShellLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31464#define IShellLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
31465#define IShellLibrary_Release(This) (This)->lpVtbl->Release(This)
31466/*** IShellLibrary methods ***/
31467#define IShellLibrary_LoadLibraryFromItem(This,psiLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode)
31468#define IShellLibrary_LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode)
31469#define IShellLibrary_AddFolder(This,psiLocation) (This)->lpVtbl->AddFolder(This,psiLocation)
31470#define IShellLibrary_RemoveFolder(This,psiLocation) (This)->lpVtbl->RemoveFolder(This,psiLocation)
31471#define IShellLibrary_GetFolders(This,lff,riid,ppv) (This)->lpVtbl->GetFolders(This,lff,riid,ppv)
31472#define IShellLibrary_ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) (This)->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv)
31473#define IShellLibrary_GetDefaultSaveFolder(This,dsft,riid,ppv) (This)->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv)
31474#define IShellLibrary_SetDefaultSaveFolder(This,dsft,psi) (This)->lpVtbl->SetDefaultSaveFolder(This,dsft,psi)
31475#define IShellLibrary_GetOptions(This,plofOptions) (This)->lpVtbl->GetOptions(This,plofOptions)
31476#define IShellLibrary_SetOptions(This,lofMask,lofOptions) (This)->lpVtbl->SetOptions(This,lofMask,lofOptions)
31477#define IShellLibrary_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
31478#define IShellLibrary_SetFolderType(This,ftid) (This)->lpVtbl->SetFolderType(This,ftid)
31479#define IShellLibrary_GetIcon(This,ppszIcon) (This)->lpVtbl->GetIcon(This,ppszIcon)
31480#define IShellLibrary_SetIcon(This,pszIcon) (This)->lpVtbl->SetIcon(This,pszIcon)
31481#define IShellLibrary_Commit(This) (This)->lpVtbl->Commit(This)
31482#define IShellLibrary_Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
31483#define IShellLibrary_SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
31484#else
31485/*** IUnknown methods ***/
31486static inline HRESULT IShellLibrary_QueryInterface(IShellLibrary* This,REFIID riid,void **ppvObject) {
31487 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31488}
31489static inline ULONG IShellLibrary_AddRef(IShellLibrary* This) {
31490 return This->lpVtbl->AddRef(This);
31491}
31492static inline ULONG IShellLibrary_Release(IShellLibrary* This) {
31493 return This->lpVtbl->Release(This);
31494}
31495/*** IShellLibrary methods ***/
31496static inline HRESULT IShellLibrary_LoadLibraryFromItem(IShellLibrary* This,IShellItem *psiLibrary,DWORD grfMode) {
31497 return This->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode);
31498}
31499static inline HRESULT IShellLibrary_LoadLibraryFromKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidLibrary,DWORD grfMode) {
31500 return This->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode);
31501}
31502static inline HRESULT IShellLibrary_AddFolder(IShellLibrary* This,IShellItem *psiLocation) {
31503 return This->lpVtbl->AddFolder(This,psiLocation);
31504}
31505static inline HRESULT IShellLibrary_RemoveFolder(IShellLibrary* This,IShellItem *psiLocation) {
31506 return This->lpVtbl->RemoveFolder(This,psiLocation);
31507}
31508static inline HRESULT IShellLibrary_GetFolders(IShellLibrary* This,LIBRARYFOLDERFILTER lff,REFIID riid,void **ppv) {
31509 return This->lpVtbl->GetFolders(This,lff,riid,ppv);
31510}
31511static inline HRESULT IShellLibrary_ResolveFolder(IShellLibrary* This,IShellItem *psiFolderToResolve,DWORD dwTimeout,REFIID riid,void **ppv) {
31512 return This->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv);
31513}
31514static inline HRESULT IShellLibrary_GetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,REFIID riid,void **ppv) {
31515 return This->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv);
31516}
31517static inline HRESULT IShellLibrary_SetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,IShellItem *psi) {
31518 return This->lpVtbl->SetDefaultSaveFolder(This,dsft,psi);
31519}
31520static inline HRESULT IShellLibrary_GetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS *plofOptions) {
31521 return This->lpVtbl->GetOptions(This,plofOptions);
31522}
31523static inline HRESULT IShellLibrary_SetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS lofMask,LIBRARYOPTIONFLAGS lofOptions) {
31524 return This->lpVtbl->SetOptions(This,lofMask,lofOptions);
31525}
31526static inline HRESULT IShellLibrary_GetFolderType(IShellLibrary* This,FOLDERTYPEID *pftid) {
31527 return This->lpVtbl->GetFolderType(This,pftid);
31528}
31529static inline HRESULT IShellLibrary_SetFolderType(IShellLibrary* This,REFFOLDERTYPEID ftid) {
31530 return This->lpVtbl->SetFolderType(This,ftid);
31531}
31532static inline HRESULT IShellLibrary_GetIcon(IShellLibrary* This,LPWSTR *ppszIcon) {
31533 return This->lpVtbl->GetIcon(This,ppszIcon);
31534}
31535static inline HRESULT IShellLibrary_SetIcon(IShellLibrary* This,LPCWSTR pszIcon) {
31536 return This->lpVtbl->SetIcon(This,pszIcon);
31537}
31538static inline HRESULT IShellLibrary_Commit(IShellLibrary* This) {
31539 return This->lpVtbl->Commit(This);
31540}
31541static inline HRESULT IShellLibrary_Save(IShellLibrary* This,IShellItem *psiFolderToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
31542 return This->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
31543}
31544static inline HRESULT IShellLibrary_SaveInKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
31545 return This->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
31546}
31547#endif
31548#endif
31549
31550#endif
31551
31552
31553#endif /* __IShellLibrary_INTERFACE_DEFINED__ */
31554
31555
31556typedef enum PBM_EVENT {
31557 PE_DUCKSESSION = 1,
31558 PE_UNDUCKSESSION = 2
31559} PBM_EVENT;
31560
31561/*****************************************************************************
31562 * IPlaybackManagerEvents interface
31563 */
31564#ifndef __IPlaybackManagerEvents_INTERFACE_DEFINED__
31565#define __IPlaybackManagerEvents_INTERFACE_DEFINED__
31566
31567DEFINE_GUID(IID_IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45);
31568#if defined(__cplusplus) && !defined(CINTERFACE)
31569MIDL_INTERFACE("385cfb7d-4e0c-4106-912e-8cfb4c191f45")
31570IPlaybackManagerEvents : public IUnknown
31571{
31572 virtual HRESULT STDMETHODCALLTYPE OnPlaybackManagerEvent(
31573 DWORD dwSessionId,
31574 PBM_EVENT mediaEvent) = 0;
31575
31576};
31577#ifdef __CRT_UUID_DECL
31578__CRT_UUID_DECL(IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45)
31579#endif
31580#else
31581typedef struct IPlaybackManagerEventsVtbl {
31582 BEGIN_INTERFACE
31583
31584 /*** IUnknown methods ***/
31585 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31586 IPlaybackManagerEvents *This,
31587 REFIID riid,
31588 void **ppvObject);
31589
31590 ULONG (STDMETHODCALLTYPE *AddRef)(
31591 IPlaybackManagerEvents *This);
31592
31593 ULONG (STDMETHODCALLTYPE *Release)(
31594 IPlaybackManagerEvents *This);
31595
31596 /*** IPlaybackManagerEvents methods ***/
31597 HRESULT (STDMETHODCALLTYPE *OnPlaybackManagerEvent)(
31598 IPlaybackManagerEvents *This,
31599 DWORD dwSessionId,
31600 PBM_EVENT mediaEvent);
31601
31602 END_INTERFACE
31603} IPlaybackManagerEventsVtbl;
31604
31605interface IPlaybackManagerEvents {
31606 CONST_VTBL IPlaybackManagerEventsVtbl* lpVtbl;
31607};
31608
31609#ifdef COBJMACROS
31610#ifndef WIDL_C_INLINE_WRAPPERS
31611/*** IUnknown methods ***/
31612#define IPlaybackManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31613#define IPlaybackManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
31614#define IPlaybackManagerEvents_Release(This) (This)->lpVtbl->Release(This)
31615/*** IPlaybackManagerEvents methods ***/
31616#define IPlaybackManagerEvents_OnPlaybackManagerEvent(This,dwSessionId,mediaEvent) (This)->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent)
31617#else
31618/*** IUnknown methods ***/
31619static inline HRESULT IPlaybackManagerEvents_QueryInterface(IPlaybackManagerEvents* This,REFIID riid,void **ppvObject) {
31620 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31621}
31622static inline ULONG IPlaybackManagerEvents_AddRef(IPlaybackManagerEvents* This) {
31623 return This->lpVtbl->AddRef(This);
31624}
31625static inline ULONG IPlaybackManagerEvents_Release(IPlaybackManagerEvents* This) {
31626 return This->lpVtbl->Release(This);
31627}
31628/*** IPlaybackManagerEvents methods ***/
31629static inline HRESULT IPlaybackManagerEvents_OnPlaybackManagerEvent(IPlaybackManagerEvents* This,DWORD dwSessionId,PBM_EVENT mediaEvent) {
31630 return This->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent);
31631}
31632#endif
31633#endif
31634
31635#endif
31636
31637
31638#endif /* __IPlaybackManagerEvents_INTERFACE_DEFINED__ */
31639
31640
31641typedef enum PBM_SESSION_TYPE {
31642 ST_COMMUNICATION = 1,
31643 ST_MEDIA = 2
31644} PBM_SESSION_TYPE;
31645
31646typedef enum PBM_PLAY_STATE {
31647 PS_PLAYING = 1,
31648 PS_PAUSED = 2,
31649 PS_STOPPED = 3
31650} PBM_PLAY_STATE;
31651
31652typedef enum PBM_MUTE_STATE {
31653 MS_MUTED = 1,
31654 MS_UNMUTED = 2
31655} PBM_MUTE_STATE;
31656
31657/*****************************************************************************
31658 * IPlaybackManager interface
31659 */
31660#ifndef __IPlaybackManager_INTERFACE_DEFINED__
31661#define __IPlaybackManager_INTERFACE_DEFINED__
31662
31663DEFINE_GUID(IID_IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a);
31664#if defined(__cplusplus) && !defined(CINTERFACE)
31665MIDL_INTERFACE("0f3c1b01-8199-4173-ba78-985882266f7a")
31666IPlaybackManager : public IUnknown
31667{
31668 virtual HRESULT STDMETHODCALLTYPE Advise(
31669 PBM_SESSION_TYPE type,
31670 IPlaybackManagerEvents *pEvents,
31671 DWORD *pdwSessionId) = 0;
31672
31673 virtual HRESULT STDMETHODCALLTYPE Unadvise(
31674 DWORD dwSessionId) = 0;
31675
31676 virtual HRESULT STDMETHODCALLTYPE ChangeSessionState(
31677 DWORD dwSessionId,
31678 PBM_PLAY_STATE state,
31679 PBM_MUTE_STATE mute) = 0;
31680
31681};
31682#ifdef __CRT_UUID_DECL
31683__CRT_UUID_DECL(IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a)
31684#endif
31685#else
31686typedef struct IPlaybackManagerVtbl {
31687 BEGIN_INTERFACE
31688
31689 /*** IUnknown methods ***/
31690 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31691 IPlaybackManager *This,
31692 REFIID riid,
31693 void **ppvObject);
31694
31695 ULONG (STDMETHODCALLTYPE *AddRef)(
31696 IPlaybackManager *This);
31697
31698 ULONG (STDMETHODCALLTYPE *Release)(
31699 IPlaybackManager *This);
31700
31701 /*** IPlaybackManager methods ***/
31702 HRESULT (STDMETHODCALLTYPE *Advise)(
31703 IPlaybackManager *This,
31704 PBM_SESSION_TYPE type,
31705 IPlaybackManagerEvents *pEvents,
31706 DWORD *pdwSessionId);
31707
31708 HRESULT (STDMETHODCALLTYPE *Unadvise)(
31709 IPlaybackManager *This,
31710 DWORD dwSessionId);
31711
31712 HRESULT (STDMETHODCALLTYPE *ChangeSessionState)(
31713 IPlaybackManager *This,
31714 DWORD dwSessionId,
31715 PBM_PLAY_STATE state,
31716 PBM_MUTE_STATE mute);
31717
31718 END_INTERFACE
31719} IPlaybackManagerVtbl;
31720
31721interface IPlaybackManager {
31722 CONST_VTBL IPlaybackManagerVtbl* lpVtbl;
31723};
31724
31725#ifdef COBJMACROS
31726#ifndef WIDL_C_INLINE_WRAPPERS
31727/*** IUnknown methods ***/
31728#define IPlaybackManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31729#define IPlaybackManager_AddRef(This) (This)->lpVtbl->AddRef(This)
31730#define IPlaybackManager_Release(This) (This)->lpVtbl->Release(This)
31731/*** IPlaybackManager methods ***/
31732#define IPlaybackManager_Advise(This,type,pEvents,pdwSessionId) (This)->lpVtbl->Advise(This,type,pEvents,pdwSessionId)
31733#define IPlaybackManager_Unadvise(This,dwSessionId) (This)->lpVtbl->Unadvise(This,dwSessionId)
31734#define IPlaybackManager_ChangeSessionState(This,dwSessionId,state,mute) (This)->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute)
31735#else
31736/*** IUnknown methods ***/
31737static inline HRESULT IPlaybackManager_QueryInterface(IPlaybackManager* This,REFIID riid,void **ppvObject) {
31738 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31739}
31740static inline ULONG IPlaybackManager_AddRef(IPlaybackManager* This) {
31741 return This->lpVtbl->AddRef(This);
31742}
31743static inline ULONG IPlaybackManager_Release(IPlaybackManager* This) {
31744 return This->lpVtbl->Release(This);
31745}
31746/*** IPlaybackManager methods ***/
31747static inline HRESULT IPlaybackManager_Advise(IPlaybackManager* This,PBM_SESSION_TYPE type,IPlaybackManagerEvents *pEvents,DWORD *pdwSessionId) {
31748 return This->lpVtbl->Advise(This,type,pEvents,pdwSessionId);
31749}
31750static inline HRESULT IPlaybackManager_Unadvise(IPlaybackManager* This,DWORD dwSessionId) {
31751 return This->lpVtbl->Unadvise(This,dwSessionId);
31752}
31753static inline HRESULT IPlaybackManager_ChangeSessionState(IPlaybackManager* This,DWORD dwSessionId,PBM_PLAY_STATE state,PBM_MUTE_STATE mute) {
31754 return This->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute);
31755}
31756#endif
31757#endif
31758
31759#endif
31760
31761
31762#endif /* __IPlaybackManager_INTERFACE_DEFINED__ */
31763
31764
31765typedef enum DEFAULT_FOLDER_MENU_RESTRICTIONS {
31766 DFMR_DEFAULT = 0x0,
31767 DFMR_NO_STATIC_VERBS = 0x8,
31768 DFMR_STATIC_VERBS_ONLY = 0x10,
31769 DFMR_NO_RESOURCE_VERBS = 0x20,
31770 DFMR_OPTIN_HANDLERS_ONLY = 0x40,
31771 DFMR_RESOURCE_AND_FOLDER_VERBS_ONLY = 0x80,
31772 DFMR_USE_SPECIFIED_HANDLERS = 0x100,
31773 DFMR_USE_SPECIFIED_VERBS = 0x200,
31774 DFMR_NO_ASYNC_VERBS = 0x400
31775} DEFAULT_FOLDER_MENU_RESTRICTIONS;
31776
31777DEFINE_ENUM_FLAG_OPERATORS(DEFAULT_FOLDER_MENU_RESTRICTIONS)
31778
31779/*****************************************************************************
31780 * IDefaultFolderMenuInitialize interface
31781 */
31782#ifndef __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__
31783#define __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__
31784
31785DEFINE_GUID(IID_IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91);
31786#if defined(__cplusplus) && !defined(CINTERFACE)
31787MIDL_INTERFACE("7690aa79-f8fc-4615-a327-36f7d18f5d91")
31788IDefaultFolderMenuInitialize : public IUnknown
31789{
31790 virtual HRESULT STDMETHODCALLTYPE Initialize(
31791 HWND hwnd,
31792 IContextMenuCB *pcmcb,
31793 PCIDLIST_ABSOLUTE pidlFolder,
31794 IShellFolder *psf,
31795 UINT cidl,
31796 PCUITEMID_CHILD_ARRAY apidl,
31797 IUnknown *punkAssociation,
31798 UINT cKeys,
31799 const HKEY *aKeys) = 0;
31800
31801 virtual HRESULT STDMETHODCALLTYPE SetMenuRestrictions(
31802 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) = 0;
31803
31804 virtual HRESULT STDMETHODCALLTYPE GetMenuRestrictions(
31805 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,
31806 DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) = 0;
31807
31808 virtual HRESULT STDMETHODCALLTYPE SetHandlerClsid(
31809 REFCLSID rclsid) = 0;
31810
31811};
31812#ifdef __CRT_UUID_DECL
31813__CRT_UUID_DECL(IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91)
31814#endif
31815#else
31816typedef struct IDefaultFolderMenuInitializeVtbl {
31817 BEGIN_INTERFACE
31818
31819 /*** IUnknown methods ***/
31820 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31821 IDefaultFolderMenuInitialize *This,
31822 REFIID riid,
31823 void **ppvObject);
31824
31825 ULONG (STDMETHODCALLTYPE *AddRef)(
31826 IDefaultFolderMenuInitialize *This);
31827
31828 ULONG (STDMETHODCALLTYPE *Release)(
31829 IDefaultFolderMenuInitialize *This);
31830
31831 /*** IDefaultFolderMenuInitialize methods ***/
31832 HRESULT (STDMETHODCALLTYPE *Initialize)(
31833 IDefaultFolderMenuInitialize *This,
31834 HWND hwnd,
31835 IContextMenuCB *pcmcb,
31836 PCIDLIST_ABSOLUTE pidlFolder,
31837 IShellFolder *psf,
31838 UINT cidl,
31839 PCUITEMID_CHILD_ARRAY apidl,
31840 IUnknown *punkAssociation,
31841 UINT cKeys,
31842 const HKEY *aKeys);
31843
31844 HRESULT (STDMETHODCALLTYPE *SetMenuRestrictions)(
31845 IDefaultFolderMenuInitialize *This,
31846 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues);
31847
31848 HRESULT (STDMETHODCALLTYPE *GetMenuRestrictions)(
31849 IDefaultFolderMenuInitialize *This,
31850 DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,
31851 DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues);
31852
31853 HRESULT (STDMETHODCALLTYPE *SetHandlerClsid)(
31854 IDefaultFolderMenuInitialize *This,
31855 REFCLSID rclsid);
31856
31857 END_INTERFACE
31858} IDefaultFolderMenuInitializeVtbl;
31859
31860interface IDefaultFolderMenuInitialize {
31861 CONST_VTBL IDefaultFolderMenuInitializeVtbl* lpVtbl;
31862};
31863
31864#ifdef COBJMACROS
31865#ifndef WIDL_C_INLINE_WRAPPERS
31866/*** IUnknown methods ***/
31867#define IDefaultFolderMenuInitialize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31868#define IDefaultFolderMenuInitialize_AddRef(This) (This)->lpVtbl->AddRef(This)
31869#define IDefaultFolderMenuInitialize_Release(This) (This)->lpVtbl->Release(This)
31870/*** IDefaultFolderMenuInitialize methods ***/
31871#define IDefaultFolderMenuInitialize_Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys) (This)->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys)
31872#define IDefaultFolderMenuInitialize_SetMenuRestrictions(This,dfmrValues) (This)->lpVtbl->SetMenuRestrictions(This,dfmrValues)
31873#define IDefaultFolderMenuInitialize_GetMenuRestrictions(This,dfmrMask,pdfmrValues) (This)->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues)
31874#define IDefaultFolderMenuInitialize_SetHandlerClsid(This,rclsid) (This)->lpVtbl->SetHandlerClsid(This,rclsid)
31875#else
31876/*** IUnknown methods ***/
31877static inline HRESULT IDefaultFolderMenuInitialize_QueryInterface(IDefaultFolderMenuInitialize* This,REFIID riid,void **ppvObject) {
31878 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
31879}
31880static inline ULONG IDefaultFolderMenuInitialize_AddRef(IDefaultFolderMenuInitialize* This) {
31881 return This->lpVtbl->AddRef(This);
31882}
31883static inline ULONG IDefaultFolderMenuInitialize_Release(IDefaultFolderMenuInitialize* This) {
31884 return This->lpVtbl->Release(This);
31885}
31886/*** IDefaultFolderMenuInitialize methods ***/
31887static inline HRESULT IDefaultFolderMenuInitialize_Initialize(IDefaultFolderMenuInitialize* This,HWND hwnd,IContextMenuCB *pcmcb,PCIDLIST_ABSOLUTE pidlFolder,IShellFolder *psf,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,IUnknown *punkAssociation,UINT cKeys,const HKEY *aKeys) {
31888 return This->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys);
31889}
31890static inline HRESULT IDefaultFolderMenuInitialize_SetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) {
31891 return This->lpVtbl->SetMenuRestrictions(This,dfmrValues);
31892}
31893static inline HRESULT IDefaultFolderMenuInitialize_GetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) {
31894 return This->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues);
31895}
31896static inline HRESULT IDefaultFolderMenuInitialize_SetHandlerClsid(IDefaultFolderMenuInitialize* This,REFCLSID rclsid) {
31897 return This->lpVtbl->SetHandlerClsid(This,rclsid);
31898}
31899#endif
31900#endif
31901
31902#endif
31903
31904
31905#endif /* __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__ */
31906
31907
31908#if NTDDI_VERSION >= NTDDI_WIN8
31909typedef enum ACTIVATEOPTIONS {
31910 AO_NONE = 0x0,
31911 AO_DESIGNMODE = 0x1,
31912 AO_NOERRORUI = 0x2,
31913 AO_NOSPLASHSCREEN = 0x4
31914} ACTIVATEOPTIONS;
31915
31916DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)
31917
31918/*****************************************************************************
31919 * IApplicationActivationManager interface
31920 */
31921#ifndef __IApplicationActivationManager_INTERFACE_DEFINED__
31922#define __IApplicationActivationManager_INTERFACE_DEFINED__
31923
31924DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d);
31925#if defined(__cplusplus) && !defined(CINTERFACE)
31926MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d")
31927IApplicationActivationManager : public IUnknown
31928{
31929 virtual HRESULT STDMETHODCALLTYPE ActivateApplication(
31930 LPCWSTR appUserModelId,
31931 LPCWSTR arguments,
31932 ACTIVATEOPTIONS options,
31933 DWORD *processId) = 0;
31934
31935 virtual HRESULT STDMETHODCALLTYPE ActivateForFile(
31936 LPCWSTR appUserModelId,
31937 IShellItemArray *itemArray,
31938 LPCWSTR verb,
31939 DWORD *processId) = 0;
31940
31941 virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol(
31942 LPCWSTR appUserModelId,
31943 IShellItemArray *itemArray,
31944 DWORD *processId) = 0;
31945
31946};
31947#ifdef __CRT_UUID_DECL
31948__CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d)
31949#endif
31950#else
31951typedef struct IApplicationActivationManagerVtbl {
31952 BEGIN_INTERFACE
31953
31954 /*** IUnknown methods ***/
31955 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
31956 IApplicationActivationManager *This,
31957 REFIID riid,
31958 void **ppvObject);
31959
31960 ULONG (STDMETHODCALLTYPE *AddRef)(
31961 IApplicationActivationManager *This);
31962
31963 ULONG (STDMETHODCALLTYPE *Release)(
31964 IApplicationActivationManager *This);
31965
31966 /*** IApplicationActivationManager methods ***/
31967 HRESULT (STDMETHODCALLTYPE *ActivateApplication)(
31968 IApplicationActivationManager *This,
31969 LPCWSTR appUserModelId,
31970 LPCWSTR arguments,
31971 ACTIVATEOPTIONS options,
31972 DWORD *processId);
31973
31974 HRESULT (STDMETHODCALLTYPE *ActivateForFile)(
31975 IApplicationActivationManager *This,
31976 LPCWSTR appUserModelId,
31977 IShellItemArray *itemArray,
31978 LPCWSTR verb,
31979 DWORD *processId);
31980
31981 HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)(
31982 IApplicationActivationManager *This,
31983 LPCWSTR appUserModelId,
31984 IShellItemArray *itemArray,
31985 DWORD *processId);
31986
31987 END_INTERFACE
31988} IApplicationActivationManagerVtbl;
31989
31990interface IApplicationActivationManager {
31991 CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl;
31992};
31993
31994#ifdef COBJMACROS
31995#ifndef WIDL_C_INLINE_WRAPPERS
31996/*** IUnknown methods ***/
31997#define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
31998#define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
31999#define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This)
32000/*** IApplicationActivationManager methods ***/
32001#define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId)
32002#define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId)
32003#define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId)
32004#else
32005/*** IUnknown methods ***/
32006static inline HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) {
32007 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
32008}
32009static inline ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) {
32010 return This->lpVtbl->AddRef(This);
32011}
32012static inline ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) {
32013 return This->lpVtbl->Release(This);
32014}
32015/*** IApplicationActivationManager methods ***/
32016static inline HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) {
32017 return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId);
32018}
32019static inline HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) {
32020 return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId);
32021}
32022static inline HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) {
32023 return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId);
32024}
32025#endif
32026#endif
32027
32028#endif
32029
32030
32031#endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */
32032
32033#endif
32034
32035#ifndef __ShellObjects_LIBRARY_DEFINED__
32036#define __ShellObjects_LIBRARY_DEFINED__
32037
32038DEFINE_GUID(LIBID_ShellObjects, 0x50a7e9b1, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
32039
32040/*****************************************************************************
32041 * DesktopWallpaper coclass
32042 */
32043
32044DEFINE_GUID(CLSID_DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd);
32045
32046#ifdef __cplusplus
32047class DECLSPEC_UUID("c2cf3110-460e-4fc1-b9d0-8a1c0c9cc4bd") DesktopWallpaper;
32048#ifdef __CRT_UUID_DECL
32049__CRT_UUID_DECL(DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd)
32050#endif
32051#endif
32052
32053/*****************************************************************************
32054 * ShellDesktop coclass
32055 */
32056
32057DEFINE_GUID(CLSID_ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
32058
32059#ifdef __cplusplus
32060class DECLSPEC_UUID("00021400-0000-0000-c000-000000000046") ShellDesktop;
32061#ifdef __CRT_UUID_DECL
32062__CRT_UUID_DECL(ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
32063#endif
32064#endif
32065
32066/*****************************************************************************
32067 * ShellFSFolder coclass
32068 */
32069
32070DEFINE_GUID(CLSID_ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37);
32071
32072#ifdef __cplusplus
32073class DECLSPEC_UUID("f3364ba0-65b9-11ce-a9ba-00aa004ae837") ShellFSFolder;
32074#ifdef __CRT_UUID_DECL
32075__CRT_UUID_DECL(ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37)
32076#endif
32077#endif
32078
32079/*****************************************************************************
32080 * NetworkPlaces coclass
32081 */
32082
32083DEFINE_GUID(CLSID_NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d);
32084
32085#ifdef __cplusplus
32086class DECLSPEC_UUID("208d2c60-3aea-1069-a2d7-08002b30309d") NetworkPlaces;
32087#ifdef __CRT_UUID_DECL
32088__CRT_UUID_DECL(NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d)
32089#endif
32090#endif
32091
32092/*****************************************************************************
32093 * ShellLink coclass
32094 */
32095
32096DEFINE_GUID(CLSID_ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
32097
32098#ifdef __cplusplus
32099class DECLSPEC_UUID("00021401-0000-0000-c000-000000000046") ShellLink;
32100#ifdef __CRT_UUID_DECL
32101__CRT_UUID_DECL(ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
32102#endif
32103#endif
32104
32105/*****************************************************************************
32106 * QueryCancelAutoPlay coclass
32107 */
32108
32109DEFINE_GUID(CLSID_QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a);
32110
32111#ifdef __cplusplus
32112class DECLSPEC_UUID("331f1768-05a9-4ddd-b86e-dae34ddc998a") QueryCancelAutoPlay;
32113#ifdef __CRT_UUID_DECL
32114__CRT_UUID_DECL(QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a)
32115#endif
32116#endif
32117
32118/*****************************************************************************
32119 * DriveSizeCategorizer coclass
32120 */
32121
32122DEFINE_GUID(CLSID_DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f);
32123
32124#ifdef __cplusplus
32125class DECLSPEC_UUID("94357b53-ca29-4b78-83ae-e8fe7409134f") DriveSizeCategorizer;
32126#ifdef __CRT_UUID_DECL
32127__CRT_UUID_DECL(DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f)
32128#endif
32129#endif
32130
32131/*****************************************************************************
32132 * DriveTypeCategorizer coclass
32133 */
32134
32135DEFINE_GUID(CLSID_DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b);
32136
32137#ifdef __cplusplus
32138class DECLSPEC_UUID("b0a8f3cf-4333-4bab-8873-1ccb1cada48b") DriveTypeCategorizer;
32139#ifdef __CRT_UUID_DECL
32140__CRT_UUID_DECL(DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b)
32141#endif
32142#endif
32143
32144/*****************************************************************************
32145 * FreeSpaceCategorizer coclass
32146 */
32147
32148DEFINE_GUID(CLSID_FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7);
32149
32150#ifdef __cplusplus
32151class DECLSPEC_UUID("b5607793-24ac-44c7-82e2-831726aa6cb7") FreeSpaceCategorizer;
32152#ifdef __CRT_UUID_DECL
32153__CRT_UUID_DECL(FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7)
32154#endif
32155#endif
32156
32157/*****************************************************************************
32158 * TimeCategorizer coclass
32159 */
32160
32161DEFINE_GUID(CLSID_TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe);
32162
32163#ifdef __cplusplus
32164class DECLSPEC_UUID("3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe") TimeCategorizer;
32165#ifdef __CRT_UUID_DECL
32166__CRT_UUID_DECL(TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe)
32167#endif
32168#endif
32169
32170/*****************************************************************************
32171 * SizeCategorizer coclass
32172 */
32173
32174DEFINE_GUID(CLSID_SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64);
32175
32176#ifdef __cplusplus
32177class DECLSPEC_UUID("55d7b852-f6d1-42f2-aa75-8728a1b2d264") SizeCategorizer;
32178#ifdef __CRT_UUID_DECL
32179__CRT_UUID_DECL(SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64)
32180#endif
32181#endif
32182
32183/*****************************************************************************
32184 * AlphabeticalCategorizer coclass
32185 */
32186
32187DEFINE_GUID(CLSID_AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2);
32188
32189#ifdef __cplusplus
32190class DECLSPEC_UUID("3c2654c6-7372-4f6b-b310-55d6128f49d2") AlphabeticalCategorizer;
32191#ifdef __CRT_UUID_DECL
32192__CRT_UUID_DECL(AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2)
32193#endif
32194#endif
32195
32196/*****************************************************************************
32197 * MergedCategorizer coclass
32198 */
32199
32200DEFINE_GUID(CLSID_MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04);
32201
32202#ifdef __cplusplus
32203class DECLSPEC_UUID("8e827c11-33e7-4bc1-b242-8cd9a1c2b304") MergedCategorizer;
32204#ifdef __CRT_UUID_DECL
32205__CRT_UUID_DECL(MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04)
32206#endif
32207#endif
32208
32209/*****************************************************************************
32210 * ImageProperties coclass
32211 */
32212
32213DEFINE_GUID(CLSID_ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29);
32214
32215#ifdef __cplusplus
32216class DECLSPEC_UUID("7ab770c7-0e23-4d7a-8aa2-19bfad479829") ImageProperties;
32217#ifdef __CRT_UUID_DECL
32218__CRT_UUID_DECL(ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29)
32219#endif
32220#endif
32221
32222/*****************************************************************************
32223 * PropertiesUI coclass
32224 */
32225
32226DEFINE_GUID(CLSID_PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b);
32227
32228#ifdef __cplusplus
32229class DECLSPEC_UUID("d912f8cf-0396-4915-884e-fb425d32943b") PropertiesUI;
32230#ifdef __CRT_UUID_DECL
32231__CRT_UUID_DECL(PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b)
32232#endif
32233#endif
32234
32235/*****************************************************************************
32236 * UserNotification coclass
32237 */
32238
32239DEFINE_GUID(CLSID_UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf);
32240
32241#ifdef __cplusplus
32242class DECLSPEC_UUID("0010890e-8789-413c-adbc-48f5b511b3af") UserNotification;
32243#ifdef __CRT_UUID_DECL
32244__CRT_UUID_DECL(UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf)
32245#endif
32246#endif
32247
32248/*****************************************************************************
32249 * CDBurn coclass
32250 */
32251
32252DEFINE_GUID(CLSID_CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9);
32253
32254#ifdef __cplusplus
32255class DECLSPEC_UUID("fbeb8a05-beee-4442-804e-409d6c4515e9") CDBurn;
32256#ifdef __CRT_UUID_DECL
32257__CRT_UUID_DECL(CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9)
32258#endif
32259#endif
32260
32261/*****************************************************************************
32262 * TaskbarList coclass
32263 */
32264
32265DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
32266
32267#ifdef __cplusplus
32268class DECLSPEC_UUID("56fdf344-fd6d-11d0-958a-006097c9a090") TaskbarList;
32269#ifdef __CRT_UUID_DECL
32270__CRT_UUID_DECL(TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90)
32271#endif
32272#endif
32273
32274/*****************************************************************************
32275 * StartMenuPin coclass
32276 */
32277
32278DEFINE_GUID(CLSID_StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8);
32279
32280#ifdef __cplusplus
32281class DECLSPEC_UUID("a2a9545d-a0c2-42b4-9708-a0b2badd77c8") StartMenuPin;
32282#ifdef __CRT_UUID_DECL
32283__CRT_UUID_DECL(StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8)
32284#endif
32285#endif
32286
32287/*****************************************************************************
32288 * WebWizardHost coclass
32289 */
32290
32291DEFINE_GUID(CLSID_WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73);
32292
32293#ifdef __cplusplus
32294class DECLSPEC_UUID("c827f149-55c1-4d28-935e-57e47caed973") WebWizardHost;
32295#ifdef __CRT_UUID_DECL
32296__CRT_UUID_DECL(WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73)
32297#endif
32298#endif
32299
32300/*****************************************************************************
32301 * PublishDropTarget coclass
32302 */
32303
32304DEFINE_GUID(CLSID_PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d);
32305
32306#ifdef __cplusplus
32307class DECLSPEC_UUID("cc6eeffb-43f6-46c5-9619-51d571967f7d") PublishDropTarget;
32308#ifdef __CRT_UUID_DECL
32309__CRT_UUID_DECL(PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d)
32310#endif
32311#endif
32312
32313/*****************************************************************************
32314 * PublishingWizard coclass
32315 */
32316
32317DEFINE_GUID(CLSID_PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1);
32318
32319#ifdef __cplusplus
32320class DECLSPEC_UUID("6b33163c-76a5-4b6c-bf21-45de9cd503a1") PublishingWizard;
32321#ifdef __CRT_UUID_DECL
32322__CRT_UUID_DECL(PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1)
32323#endif
32324#endif
32325
32326#define SID_PublishingWizard CLSID_PublishingWizard
32327/*****************************************************************************
32328 * InternetPrintOrdering coclass
32329 */
32330
32331DEFINE_GUID(CLSID_InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb);
32332
32333#ifdef __cplusplus
32334class DECLSPEC_UUID("add36aa8-751a-4579-a266-d66f5202ccbb") InternetPrintOrdering;
32335#ifdef __CRT_UUID_DECL
32336__CRT_UUID_DECL(InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb)
32337#endif
32338#endif
32339
32340/*****************************************************************************
32341 * FolderViewHost coclass
32342 */
32343
32344DEFINE_GUID(CLSID_FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee);
32345
32346#ifdef __cplusplus
32347class DECLSPEC_UUID("20b1cb23-6968-4eb9-b7d4-a66d00d07cee") FolderViewHost;
32348#ifdef __CRT_UUID_DECL
32349__CRT_UUID_DECL(FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee)
32350#endif
32351#endif
32352
32353/*****************************************************************************
32354 * ExplorerBrowser coclass
32355 */
32356
32357DEFINE_GUID(CLSID_ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb);
32358
32359#ifdef __cplusplus
32360class DECLSPEC_UUID("71f96385-ddd6-48d3-a0c1-ae06e8b055fb") ExplorerBrowser;
32361#ifdef __CRT_UUID_DECL
32362__CRT_UUID_DECL(ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb)
32363#endif
32364#endif
32365
32366/*****************************************************************************
32367 * ImageRecompress coclass
32368 */
32369
32370DEFINE_GUID(CLSID_ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c);
32371
32372#ifdef __cplusplus
32373class DECLSPEC_UUID("6e33091c-d2f8-4740-b55e-2e11d1477a2c") ImageRecompress;
32374#ifdef __CRT_UUID_DECL
32375__CRT_UUID_DECL(ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c)
32376#endif
32377#endif
32378
32379/*****************************************************************************
32380 * TrayBandSiteService coclass
32381 */
32382
32383DEFINE_GUID(CLSID_TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34);
32384
32385#ifdef __cplusplus
32386class DECLSPEC_UUID("f60ad0a0-e5e1-45cb-b51a-e15b9f8b2934") TrayBandSiteService;
32387#ifdef __CRT_UUID_DECL
32388__CRT_UUID_DECL(TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34)
32389#endif
32390#endif
32391
32392/*****************************************************************************
32393 * TrayDeskBand coclass
32394 */
32395
32396DEFINE_GUID(CLSID_TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9);
32397
32398#ifdef __cplusplus
32399class DECLSPEC_UUID("e6442437-6c68-4f52-94dd-2cfed267efb9") TrayDeskBand;
32400#ifdef __CRT_UUID_DECL
32401__CRT_UUID_DECL(TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9)
32402#endif
32403#endif
32404
32405/*****************************************************************************
32406 * AttachmentServices coclass
32407 */
32408
32409DEFINE_GUID(CLSID_AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c);
32410
32411#ifdef __cplusplus
32412class DECLSPEC_UUID("4125dd96-e03a-4103-8f70-e0597d803b9c") AttachmentServices;
32413#ifdef __CRT_UUID_DECL
32414__CRT_UUID_DECL(AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c)
32415#endif
32416#endif
32417
32418/*****************************************************************************
32419 * DocPropShellExtension coclass
32420 */
32421
32422DEFINE_GUID(CLSID_DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03);
32423
32424#ifdef __cplusplus
32425class DECLSPEC_UUID("883373c3-bf89-11d1-be35-080036b11a03") DocPropShellExtension;
32426#ifdef __CRT_UUID_DECL
32427__CRT_UUID_DECL(DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03)
32428#endif
32429#endif
32430
32431/*****************************************************************************
32432 * ShellItem coclass
32433 */
32434
32435DEFINE_GUID(CLSID_ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17);
32436
32437#ifdef __cplusplus
32438class DECLSPEC_UUID("9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917") ShellItem;
32439#ifdef __CRT_UUID_DECL
32440__CRT_UUID_DECL(ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17)
32441#endif
32442#endif
32443
32444/*****************************************************************************
32445 * NamespaceWalker coclass
32446 */
32447
32448DEFINE_GUID(CLSID_NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c);
32449
32450#ifdef __cplusplus
32451class DECLSPEC_UUID("72eb61e0-8672-4303-9175-f2e4c68b2e7c") NamespaceWalker;
32452#ifdef __CRT_UUID_DECL
32453__CRT_UUID_DECL(NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c)
32454#endif
32455#endif
32456
32457/*****************************************************************************
32458 * FileOperation coclass
32459 */
32460
32461DEFINE_GUID(CLSID_FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09);
32462
32463#ifdef __cplusplus
32464class DECLSPEC_UUID("3ad05575-8857-4850-9277-11b85bdb8e09") FileOperation;
32465#ifdef __CRT_UUID_DECL
32466__CRT_UUID_DECL(FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09)
32467#endif
32468#endif
32469
32470/*****************************************************************************
32471 * FileOpenDialog coclass
32472 */
32473
32474DEFINE_GUID(CLSID_FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7);
32475
32476#ifdef __cplusplus
32477class DECLSPEC_UUID("dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7") FileOpenDialog;
32478#ifdef __CRT_UUID_DECL
32479__CRT_UUID_DECL(FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7)
32480#endif
32481#endif
32482
32483/*****************************************************************************
32484 * FileSaveDialog coclass
32485 */
32486
32487DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b);
32488
32489#ifdef __cplusplus
32490class DECLSPEC_UUID("c0b4e2f3-ba21-4773-8dba-335ec946eb8b") FileSaveDialog;
32491#ifdef __CRT_UUID_DECL
32492__CRT_UUID_DECL(FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b)
32493#endif
32494#endif
32495
32496/*****************************************************************************
32497 * KnownFolderManager coclass
32498 */
32499
32500DEFINE_GUID(CLSID_KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a);
32501
32502#ifdef __cplusplus
32503class DECLSPEC_UUID("4df0c730-df9d-4ae3-9153-aa6b82e9795a") KnownFolderManager;
32504#ifdef __CRT_UUID_DECL
32505__CRT_UUID_DECL(KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a)
32506#endif
32507#endif
32508
32509/*****************************************************************************
32510 * FSCopyHandler coclass
32511 */
32512
32513DEFINE_GUID(CLSID_FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b);
32514
32515#ifdef __cplusplus
32516class DECLSPEC_UUID("d197380a-0a79-4dc8-a033-ed882c2fa14b") FSCopyHandler;
32517#ifdef __CRT_UUID_DECL
32518__CRT_UUID_DECL(FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b)
32519#endif
32520#endif
32521
32522/*****************************************************************************
32523 * SharingConfigurationManager coclass
32524 */
32525
32526DEFINE_GUID(CLSID_SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c);
32527
32528#ifdef __cplusplus
32529class DECLSPEC_UUID("49f371e1-8c5c-4d9c-9a3b-54a6827f513c") SharingConfigurationManager;
32530#ifdef __CRT_UUID_DECL
32531__CRT_UUID_DECL(SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c)
32532#endif
32533#endif
32534
32535/*****************************************************************************
32536 * PreviousVersions coclass
32537 */
32538
32539DEFINE_GUID(CLSID_PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53);
32540
32541#ifdef __cplusplus
32542class DECLSPEC_UUID("596ab062-b4d2-4215-9f74-e9109b0a8153") PreviousVersions;
32543#ifdef __CRT_UUID_DECL
32544__CRT_UUID_DECL(PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53)
32545#endif
32546#endif
32547
32548/*****************************************************************************
32549 * NetworkConnections coclass
32550 */
32551
32552DEFINE_GUID(CLSID_NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
32553
32554#ifdef __cplusplus
32555class DECLSPEC_UUID("7007acc7-3202-11d1-aad2-00805fc1270e") NetworkConnections;
32556#ifdef __CRT_UUID_DECL
32557__CRT_UUID_DECL(NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
32558#endif
32559#endif
32560
32561/*****************************************************************************
32562 * NamespaceTreeControl coclass
32563 */
32564
32565DEFINE_GUID(CLSID_NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6);
32566
32567#ifdef __cplusplus
32568class DECLSPEC_UUID("ae054212-3535-4430-83ed-d501aa6680e6") NamespaceTreeControl;
32569#ifdef __CRT_UUID_DECL
32570__CRT_UUID_DECL(NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6)
32571#endif
32572#endif
32573
32574/*****************************************************************************
32575 * IENamespaceTreeControl coclass
32576 */
32577
32578DEFINE_GUID(CLSID_IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d);
32579
32580#ifdef __cplusplus
32581class DECLSPEC_UUID("ace52d03-e5cd-4b20-82ff-e71b11beae1d") IENamespaceTreeControl;
32582#ifdef __CRT_UUID_DECL
32583__CRT_UUID_DECL(IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d)
32584#endif
32585#endif
32586
32587/*****************************************************************************
32588 * ScheduledTasks coclass
32589 */
32590
32591DEFINE_GUID(CLSID_ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf);
32592
32593#ifdef __cplusplus
32594class DECLSPEC_UUID("d6277990-4c6a-11cf-8d87-00aa0060f5bf") ScheduledTasks;
32595#ifdef __CRT_UUID_DECL
32596__CRT_UUID_DECL(ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf)
32597#endif
32598#endif
32599
32600/*****************************************************************************
32601 * ApplicationAssociationRegistration coclass
32602 */
32603
32604DEFINE_GUID(CLSID_ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7);
32605
32606#ifdef __cplusplus
32607class DECLSPEC_UUID("591209c7-767b-42b2-9fba-44ee4615f2c7") ApplicationAssociationRegistration;
32608#ifdef __CRT_UUID_DECL
32609__CRT_UUID_DECL(ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7)
32610#endif
32611#endif
32612
32613/*****************************************************************************
32614 * ApplicationAssociationRegistrationUI coclass
32615 */
32616
32617DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1);
32618
32619#ifdef __cplusplus
32620class DECLSPEC_UUID("1968106d-f3b5-44cf-890e-116fcb9ecef1") ApplicationAssociationRegistrationUI;
32621#ifdef __CRT_UUID_DECL
32622__CRT_UUID_DECL(ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1)
32623#endif
32624#endif
32625
32626/*****************************************************************************
32627 * SearchFolderItemFactory coclass
32628 */
32629
32630DEFINE_GUID(CLSID_SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84);
32631
32632#ifdef __cplusplus
32633class DECLSPEC_UUID("14010e02-bbbd-41f0-88e3-eda371216584") SearchFolderItemFactory;
32634#ifdef __CRT_UUID_DECL
32635__CRT_UUID_DECL(SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84)
32636#endif
32637#endif
32638
32639/*****************************************************************************
32640 * OpenControlPanel coclass
32641 */
32642
32643DEFINE_GUID(CLSID_OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b);
32644
32645#ifdef __cplusplus
32646class DECLSPEC_UUID("06622d85-6856-4460-8de1-a81921b41c4b") OpenControlPanel;
32647#ifdef __CRT_UUID_DECL
32648__CRT_UUID_DECL(OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b)
32649#endif
32650#endif
32651
32652/*****************************************************************************
32653 * MailRecipient coclass
32654 */
32655
32656DEFINE_GUID(CLSID_MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce);
32657
32658#ifdef __cplusplus
32659class DECLSPEC_UUID("9e56be60-c50f-11cf-9a2c-00a0c90a90ce") MailRecipient;
32660#ifdef __CRT_UUID_DECL
32661__CRT_UUID_DECL(MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce)
32662#endif
32663#endif
32664
32665/*****************************************************************************
32666 * NetworkExplorerFolder coclass
32667 */
32668
32669DEFINE_GUID(CLSID_NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c);
32670
32671#ifdef __cplusplus
32672class DECLSPEC_UUID("f02c1a0d-be21-4350-88b0-7367fc96ef3c") NetworkExplorerFolder;
32673#ifdef __CRT_UUID_DECL
32674__CRT_UUID_DECL(NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c)
32675#endif
32676#endif
32677
32678/*****************************************************************************
32679 * DestinationList coclass
32680 */
32681
32682DEFINE_GUID(CLSID_DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6);
32683
32684#ifdef __cplusplus
32685class DECLSPEC_UUID("77f10cf0-3db5-4966-b520-b7c54fd35ed6") DestinationList;
32686#ifdef __CRT_UUID_DECL
32687__CRT_UUID_DECL(DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6)
32688#endif
32689#endif
32690
32691/*****************************************************************************
32692 * ApplicationDestinations coclass
32693 */
32694
32695DEFINE_GUID(CLSID_ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68);
32696
32697#ifdef __cplusplus
32698class DECLSPEC_UUID("86c14003-4d6b-4ef3-a7b4-0506663b2e68") ApplicationDestinations;
32699#ifdef __CRT_UUID_DECL
32700__CRT_UUID_DECL(ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68)
32701#endif
32702#endif
32703
32704/*****************************************************************************
32705 * ApplicationDocumentLists coclass
32706 */
32707
32708DEFINE_GUID(CLSID_ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28);
32709
32710#ifdef __cplusplus
32711class DECLSPEC_UUID("86bec222-30f2-47e0-9f25-60d11cd75c28") ApplicationDocumentLists;
32712#ifdef __CRT_UUID_DECL
32713__CRT_UUID_DECL(ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28)
32714#endif
32715#endif
32716
32717/*****************************************************************************
32718 * HomeGroup coclass
32719 */
32720
32721DEFINE_GUID(CLSID_HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3);
32722
32723#ifdef __cplusplus
32724class DECLSPEC_UUID("de77ba04-3c92-4d11-a1a5-42352a53e0e3") HomeGroup;
32725#ifdef __CRT_UUID_DECL
32726__CRT_UUID_DECL(HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3)
32727#endif
32728#endif
32729
32730/*****************************************************************************
32731 * ShellLibrary coclass
32732 */
32733
32734DEFINE_GUID(CLSID_ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97);
32735
32736#ifdef __cplusplus
32737class DECLSPEC_UUID("d9b3211d-e57f-4426-aaef-30a806add397") ShellLibrary;
32738#ifdef __CRT_UUID_DECL
32739__CRT_UUID_DECL(ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97)
32740#endif
32741#endif
32742
32743/*****************************************************************************
32744 * AppStartupLink coclass
32745 */
32746
32747DEFINE_GUID(CLSID_AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5);
32748
32749#ifdef __cplusplus
32750class DECLSPEC_UUID("273eb5e7-88b0-4843-bfef-e2c81d43aae5") AppStartupLink;
32751#ifdef __CRT_UUID_DECL
32752__CRT_UUID_DECL(AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5)
32753#endif
32754#endif
32755
32756/*****************************************************************************
32757 * EnumerableObjectCollection coclass
32758 */
32759
32760DEFINE_GUID(CLSID_EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a);
32761
32762#ifdef __cplusplus
32763class DECLSPEC_UUID("2d3468c1-36a7-43b6-ac24-d3f02fd9607a") EnumerableObjectCollection;
32764#ifdef __CRT_UUID_DECL
32765__CRT_UUID_DECL(EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a)
32766#endif
32767#endif
32768
32769/*****************************************************************************
32770 * DesktopGadget coclass
32771 */
32772
32773DEFINE_GUID(CLSID_DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6);
32774
32775#ifdef __cplusplus
32776class DECLSPEC_UUID("924ccc1b-6562-4c85-8657-d177925222b6") DesktopGadget;
32777#ifdef __CRT_UUID_DECL
32778__CRT_UUID_DECL(DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6)
32779#endif
32780#endif
32781
32782/*****************************************************************************
32783 * PlaybackManager coclass
32784 */
32785
32786DEFINE_GUID(CLSID_PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9);
32787
32788#ifdef __cplusplus
32789class DECLSPEC_UUID("29dfa654-a97f-47f0-bf26-9e41fb9488d9") PlaybackManager;
32790#ifdef __CRT_UUID_DECL
32791__CRT_UUID_DECL(PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9)
32792#endif
32793#endif
32794
32795/*****************************************************************************
32796 * AccessibilityDockingService coclass
32797 */
32798
32799DEFINE_GUID(CLSID_AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02);
32800
32801#ifdef __cplusplus
32802class DECLSPEC_UUID("29ce1d46-b481-4aa0-a08a-d3ebc8aca402") AccessibilityDockingService;
32803#ifdef __CRT_UUID_DECL
32804__CRT_UUID_DECL(AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02)
32805#endif
32806#endif
32807
32808/*****************************************************************************
32809 * FrameworkInputPane coclass
32810 */
32811
32812DEFINE_GUID(CLSID_FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72);
32813
32814#ifdef __cplusplus
32815class DECLSPEC_UUID("d5120aa3-46ba-44c5-822d-ca8092c1fc72") FrameworkInputPane;
32816#ifdef __CRT_UUID_DECL
32817__CRT_UUID_DECL(FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72)
32818#endif
32819#endif
32820
32821/*****************************************************************************
32822 * DefFolderMenu coclass
32823 */
32824
32825DEFINE_GUID(CLSID_DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd);
32826
32827#ifdef __cplusplus
32828class DECLSPEC_UUID("c63382be-7933-48d0-9ac8-85fb46be2fdd") DefFolderMenu;
32829#ifdef __CRT_UUID_DECL
32830__CRT_UUID_DECL(DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd)
32831#endif
32832#endif
32833
32834/*****************************************************************************
32835 * AppVisibility coclass
32836 */
32837
32838DEFINE_GUID(CLSID_AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14);
32839
32840#ifdef __cplusplus
32841class DECLSPEC_UUID("7e5fe3d9-985f-4908-91f9-ee19f9fd1514") AppVisibility;
32842#ifdef __CRT_UUID_DECL
32843__CRT_UUID_DECL(AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14)
32844#endif
32845#endif
32846
32847/*****************************************************************************
32848 * AppShellVerbHandler coclass
32849 */
32850
32851DEFINE_GUID(CLSID_AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2);
32852
32853#ifdef __cplusplus
32854class DECLSPEC_UUID("4ed3a719-cea8-4bd9-910d-e252f997afc2") AppShellVerbHandler;
32855#ifdef __CRT_UUID_DECL
32856__CRT_UUID_DECL(AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2)
32857#endif
32858#endif
32859
32860/*****************************************************************************
32861 * ExecuteUnknown coclass
32862 */
32863
32864DEFINE_GUID(CLSID_ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7);
32865
32866#ifdef __cplusplus
32867class DECLSPEC_UUID("e44e9428-bdbc-4987-a099-40dc8fd255e7") ExecuteUnknown;
32868#ifdef __CRT_UUID_DECL
32869__CRT_UUID_DECL(ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7)
32870#endif
32871#endif
32872
32873/*****************************************************************************
32874 * PackageDebugSettings coclass
32875 */
32876
32877DEFINE_GUID(CLSID_PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d);
32878
32879#ifdef __cplusplus
32880class DECLSPEC_UUID("b1aec16f-2383-4852-b0e9-8f0b1dc66b4d") PackageDebugSettings;
32881#ifdef __CRT_UUID_DECL
32882__CRT_UUID_DECL(PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d)
32883#endif
32884#endif
32885
32886/*****************************************************************************
32887 * ApplicationActivationManager coclass
32888 */
32889
32890DEFINE_GUID(CLSID_ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c);
32891
32892#ifdef __cplusplus
32893class DECLSPEC_UUID("45ba127d-10a8-46ea-8ab7-56ea9078943c") ApplicationActivationManager;
32894#ifdef __CRT_UUID_DECL
32895__CRT_UUID_DECL(ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c)
32896#endif
32897#endif
32898
32899/*****************************************************************************
32900 * ApplicationDesignModeSettings coclass
32901 */
32902
32903DEFINE_GUID(CLSID_ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b);
32904
32905#ifdef __cplusplus
32906class DECLSPEC_UUID("958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b") ApplicationDesignModeSettings;
32907#ifdef __CRT_UUID_DECL
32908__CRT_UUID_DECL(ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b)
32909#endif
32910#endif
32911
32912/*****************************************************************************
32913 * ExecuteFolder coclass
32914 */
32915
32916DEFINE_GUID(CLSID_ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0);
32917
32918#ifdef __cplusplus
32919class DECLSPEC_UUID("11dbb47c-a525-400b-9e80-a54615a090c0") ExecuteFolder;
32920#ifdef __CRT_UUID_DECL
32921__CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0)
32922#endif
32923#endif
32924
32925/*****************************************************************************
32926 * VirtualDesktopManager coclass
32927 */
32928
32929DEFINE_GUID(CLSID_VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a);
32930
32931#ifdef __cplusplus
32932class DECLSPEC_UUID("aa509086-5ca9-4c25-8f95-589d3c07b48a") VirtualDesktopManager;
32933#ifdef __CRT_UUID_DECL
32934__CRT_UUID_DECL(VirtualDesktopManager, 0xaa509086, 0x5ca9, 0x4c25, 0x8f,0x95, 0x58,0x9d,0x3c,0x07,0xb4,0x8a)
32935#endif
32936#endif
32937
32938#endif /* __ShellObjects_LIBRARY_DEFINED__ */
32939
32940#if NTDDI_VERSION >= NTDDI_VISTA
32941 SHSTDAPI SHGetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, PROPVARIANT *ppropvar);
32942 SHSTDAPI SHSetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, REFPROPVARIANT propvar);
32943#endif
32944
32945#if NTDDI_VERSION >= NTDDI_WIN7
32946#if _WIN32_IE >= _WIN32_IE_IE70
32947typedef enum LIBRARYMANAGEDIALOGOPTIONS {
32948 LMD_DEFAULT = 0x0,
32949 LMD_ALLOWUNINDEXABLENETWORKLOCATIONS = 0x1
32950} LIBRARYMANAGEDIALOGOPTIONS;
32951
32952DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS)
32953
32954 SHSTDAPI SHShowManageLibraryUI(IShellItem *psiLibrary, HWND hwndOwner, LPCWSTR pszTitle, LPCWSTR pszInstruction, LIBRARYMANAGEDIALOGOPTIONS lmdOptions);
32955 SHSTDAPI SHResolveLibrary(IShellItem *psiLibrary);
32956#if defined(__cplusplus) && !defined(CINTERFACE)
32957 __forceinline HRESULT SHCreateLibrary(REFIID riid, void **ppv) {
32958 return CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, riid, ppv);
32959 }
32960
32961 __forceinline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) {
32962 IShellLibrary *plib;
32963 HRESULT hr;
32964
32965 *ppv = NULL;
32966 hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));
32967 if (SUCCEEDED(hr)) {
32968 hr = plib->LoadLibraryFromItem(psiLibrary, grfMode);
32969 if (SUCCEEDED(hr))
32970 hr = plib->QueryInterface(riid, ppv);
32971 plib->Release();
32972 }
32973 return hr;
32974 }
32975
32976 __forceinline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) {
32977 IShellLibrary *plib;
32978 HRESULT hr;
32979
32980 *ppv = NULL;
32981 hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));
32982 if (SUCCEEDED(hr)) {
32983 hr = plib->LoadLibraryFromKnownFolder(kfidLibrary, grfMode);
32984 if (SUCCEEDED(hr))
32985 hr = plib->QueryInterface(riid, ppv);
32986 plib->Release();
32987 }
32988 return hr;
32989 }
32990
32991 __forceinline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) {
32992 IShellItem *psiLibrary;
32993 HRESULT hr;
32994
32995 *ppv = NULL;
32996 hr = SHCreateItemFromParsingName(pszParsingName, NULL, IID_PPV_ARGS(&psiLibrary));
32997 if (SUCCEEDED(hr)) {
32998 hr = SHLoadLibraryFromItem(psiLibrary, grfMode, riid, ppv);
32999 psiLibrary->Release();
33000 }
33001 return hr;
33002 }
33003
33004 __forceinline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {
33005 IShellItem *psiFolder;
33006 HRESULT hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));
33007
33008 if (SUCCEEDED(hr)) {
33009 hr = plib->AddFolder(psiFolder);
33010 psiFolder->Release();
33011 }
33012 return hr;
33013 }
33014
33015 __forceinline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {
33016 PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);
33017 HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;
33018
33019 if (SUCCEEDED(hr)) {
33020 IShellItem *psiFolder;
33021
33022 hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));
33023 if (SUCCEEDED(hr)) {
33024 hr = plib->RemoveFolder(psiFolder);
33025 psiFolder->Release();
33026 }
33027 CoTaskMemFree(pidlFolder);
33028 }
33029 return hr;
33030 }
33031
33032 __forceinline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) {
33033 *ppszResolvedPath = NULL;
33034 PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);
33035 HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;
33036 if (SUCCEEDED(hr)) {
33037 IShellItem *psiFolder;
33038
33039 hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));
33040 if (SUCCEEDED(hr)) {
33041 IShellItem *psiResolved;
33042
33043 hr = plib->ResolveFolder(psiFolder, dwTimeout, IID_PPV_ARGS(&psiResolved));
33044 if (SUCCEEDED(hr)) {
33045 hr = psiResolved->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszResolvedPath);
33046 psiResolved->Release();
33047 }
33048 psiFolder->Release();
33049 }
33050 CoTaskMemFree(pidlFolder);
33051 }
33052 return hr;
33053 }
33054
33055 __forceinline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) {
33056 IShellItem *psiFolder;
33057 HRESULT hr;
33058
33059 if (ppszSavedToPath)
33060 *ppszSavedToPath = NULL;
33061 hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));
33062 if (SUCCEEDED(hr)) {
33063 IShellItem *psiSavedTo;
33064
33065 hr = plib->Save(psiFolder, pszLibraryName, lsf, &psiSavedTo);
33066 if (SUCCEEDED(hr)) {
33067 if (ppszSavedToPath)
33068 hr = psiSavedTo->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszSavedToPath);
33069 psiSavedTo->Release();
33070 }
33071 psiFolder->Release();
33072 }
33073 return hr;
33074 }
33075#endif
33076#endif
33077#endif
33078
33079#if NTDDI_VERSION >= NTDDI_VISTA
33080/*****************************************************************************
33081 * IAssocHandlerInvoker interface
33082 */
33083#ifndef __IAssocHandlerInvoker_INTERFACE_DEFINED__
33084#define __IAssocHandlerInvoker_INTERFACE_DEFINED__
33085
33086DEFINE_GUID(IID_IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee);
33087#if defined(__cplusplus) && !defined(CINTERFACE)
33088MIDL_INTERFACE("92218cab-ecaa-4335-8133-807fd234c2ee")
33089IAssocHandlerInvoker : public IUnknown
33090{
33091 virtual HRESULT STDMETHODCALLTYPE SupportsSelection(
33092 ) = 0;
33093
33094 virtual HRESULT STDMETHODCALLTYPE Invoke(
33095 ) = 0;
33096
33097};
33098#ifdef __CRT_UUID_DECL
33099__CRT_UUID_DECL(IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee)
33100#endif
33101#else
33102typedef struct IAssocHandlerInvokerVtbl {
33103 BEGIN_INTERFACE
33104
33105 /*** IUnknown methods ***/
33106 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33107 IAssocHandlerInvoker *This,
33108 REFIID riid,
33109 void **ppvObject);
33110
33111 ULONG (STDMETHODCALLTYPE *AddRef)(
33112 IAssocHandlerInvoker *This);
33113
33114 ULONG (STDMETHODCALLTYPE *Release)(
33115 IAssocHandlerInvoker *This);
33116
33117 /*** IAssocHandlerInvoker methods ***/
33118 HRESULT (STDMETHODCALLTYPE *SupportsSelection)(
33119 IAssocHandlerInvoker *This);
33120
33121 HRESULT (STDMETHODCALLTYPE *Invoke)(
33122 IAssocHandlerInvoker *This);
33123
33124 END_INTERFACE
33125} IAssocHandlerInvokerVtbl;
33126
33127interface IAssocHandlerInvoker {
33128 CONST_VTBL IAssocHandlerInvokerVtbl* lpVtbl;
33129};
33130
33131#ifdef COBJMACROS
33132#ifndef WIDL_C_INLINE_WRAPPERS
33133/*** IUnknown methods ***/
33134#define IAssocHandlerInvoker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33135#define IAssocHandlerInvoker_AddRef(This) (This)->lpVtbl->AddRef(This)
33136#define IAssocHandlerInvoker_Release(This) (This)->lpVtbl->Release(This)
33137/*** IAssocHandlerInvoker methods ***/
33138#define IAssocHandlerInvoker_SupportsSelection(This) (This)->lpVtbl->SupportsSelection(This)
33139#define IAssocHandlerInvoker_Invoke(This) (This)->lpVtbl->Invoke(This)
33140#else
33141/*** IUnknown methods ***/
33142static inline HRESULT IAssocHandlerInvoker_QueryInterface(IAssocHandlerInvoker* This,REFIID riid,void **ppvObject) {
33143 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33144}
33145static inline ULONG IAssocHandlerInvoker_AddRef(IAssocHandlerInvoker* This) {
33146 return This->lpVtbl->AddRef(This);
33147}
33148static inline ULONG IAssocHandlerInvoker_Release(IAssocHandlerInvoker* This) {
33149 return This->lpVtbl->Release(This);
33150}
33151/*** IAssocHandlerInvoker methods ***/
33152static inline HRESULT IAssocHandlerInvoker_SupportsSelection(IAssocHandlerInvoker* This) {
33153 return This->lpVtbl->SupportsSelection(This);
33154}
33155static inline HRESULT IAssocHandlerInvoker_Invoke(IAssocHandlerInvoker* This) {
33156 return This->lpVtbl->Invoke(This);
33157}
33158#endif
33159#endif
33160
33161#endif
33162
33163
33164#endif /* __IAssocHandlerInvoker_INTERFACE_DEFINED__ */
33165
33166
33167/*****************************************************************************
33168 * IAssocHandler interface
33169 */
33170#ifndef __IAssocHandler_INTERFACE_DEFINED__
33171#define __IAssocHandler_INTERFACE_DEFINED__
33172
33173DEFINE_GUID(IID_IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83);
33174#if defined(__cplusplus) && !defined(CINTERFACE)
33175MIDL_INTERFACE("f04061ac-1659-4a3f-a954-775aa57fc083")
33176IAssocHandler : public IUnknown
33177{
33178 virtual HRESULT STDMETHODCALLTYPE GetName(
33179 LPWSTR *ppsz) = 0;
33180
33181 virtual HRESULT STDMETHODCALLTYPE GetUIName(
33182 LPWSTR *ppsz) = 0;
33183
33184 virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
33185 LPWSTR *ppszPath,
33186 int *pIndex) = 0;
33187
33188 virtual HRESULT STDMETHODCALLTYPE IsRecommended(
33189 ) = 0;
33190
33191 virtual HRESULT STDMETHODCALLTYPE MakeDefault(
33192 LPCWSTR pszDescription) = 0;
33193
33194 virtual HRESULT STDMETHODCALLTYPE Invoke(
33195 IDataObject *pdo) = 0;
33196
33197 virtual HRESULT STDMETHODCALLTYPE CreateInvoker(
33198 IDataObject *pdo,
33199 IAssocHandlerInvoker **ppInvoker) = 0;
33200
33201};
33202#ifdef __CRT_UUID_DECL
33203__CRT_UUID_DECL(IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83)
33204#endif
33205#else
33206typedef struct IAssocHandlerVtbl {
33207 BEGIN_INTERFACE
33208
33209 /*** IUnknown methods ***/
33210 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33211 IAssocHandler *This,
33212 REFIID riid,
33213 void **ppvObject);
33214
33215 ULONG (STDMETHODCALLTYPE *AddRef)(
33216 IAssocHandler *This);
33217
33218 ULONG (STDMETHODCALLTYPE *Release)(
33219 IAssocHandler *This);
33220
33221 /*** IAssocHandler methods ***/
33222 HRESULT (STDMETHODCALLTYPE *GetName)(
33223 IAssocHandler *This,
33224 LPWSTR *ppsz);
33225
33226 HRESULT (STDMETHODCALLTYPE *GetUIName)(
33227 IAssocHandler *This,
33228 LPWSTR *ppsz);
33229
33230 HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
33231 IAssocHandler *This,
33232 LPWSTR *ppszPath,
33233 int *pIndex);
33234
33235 HRESULT (STDMETHODCALLTYPE *IsRecommended)(
33236 IAssocHandler *This);
33237
33238 HRESULT (STDMETHODCALLTYPE *MakeDefault)(
33239 IAssocHandler *This,
33240 LPCWSTR pszDescription);
33241
33242 HRESULT (STDMETHODCALLTYPE *Invoke)(
33243 IAssocHandler *This,
33244 IDataObject *pdo);
33245
33246 HRESULT (STDMETHODCALLTYPE *CreateInvoker)(
33247 IAssocHandler *This,
33248 IDataObject *pdo,
33249 IAssocHandlerInvoker **ppInvoker);
33250
33251 END_INTERFACE
33252} IAssocHandlerVtbl;
33253
33254interface IAssocHandler {
33255 CONST_VTBL IAssocHandlerVtbl* lpVtbl;
33256};
33257
33258#ifdef COBJMACROS
33259#ifndef WIDL_C_INLINE_WRAPPERS
33260/*** IUnknown methods ***/
33261#define IAssocHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33262#define IAssocHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
33263#define IAssocHandler_Release(This) (This)->lpVtbl->Release(This)
33264/*** IAssocHandler methods ***/
33265#define IAssocHandler_GetName(This,ppsz) (This)->lpVtbl->GetName(This,ppsz)
33266#define IAssocHandler_GetUIName(This,ppsz) (This)->lpVtbl->GetUIName(This,ppsz)
33267#define IAssocHandler_GetIconLocation(This,ppszPath,pIndex) (This)->lpVtbl->GetIconLocation(This,ppszPath,pIndex)
33268#define IAssocHandler_IsRecommended(This) (This)->lpVtbl->IsRecommended(This)
33269#define IAssocHandler_MakeDefault(This,pszDescription) (This)->lpVtbl->MakeDefault(This,pszDescription)
33270#define IAssocHandler_Invoke(This,pdo) (This)->lpVtbl->Invoke(This,pdo)
33271#define IAssocHandler_CreateInvoker(This,pdo,ppInvoker) (This)->lpVtbl->CreateInvoker(This,pdo,ppInvoker)
33272#else
33273/*** IUnknown methods ***/
33274static inline HRESULT IAssocHandler_QueryInterface(IAssocHandler* This,REFIID riid,void **ppvObject) {
33275 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33276}
33277static inline ULONG IAssocHandler_AddRef(IAssocHandler* This) {
33278 return This->lpVtbl->AddRef(This);
33279}
33280static inline ULONG IAssocHandler_Release(IAssocHandler* This) {
33281 return This->lpVtbl->Release(This);
33282}
33283/*** IAssocHandler methods ***/
33284static inline HRESULT IAssocHandler_GetName(IAssocHandler* This,LPWSTR *ppsz) {
33285 return This->lpVtbl->GetName(This,ppsz);
33286}
33287static inline HRESULT IAssocHandler_GetUIName(IAssocHandler* This,LPWSTR *ppsz) {
33288 return This->lpVtbl->GetUIName(This,ppsz);
33289}
33290static inline HRESULT IAssocHandler_GetIconLocation(IAssocHandler* This,LPWSTR *ppszPath,int *pIndex) {
33291 return This->lpVtbl->GetIconLocation(This,ppszPath,pIndex);
33292}
33293static inline HRESULT IAssocHandler_IsRecommended(IAssocHandler* This) {
33294 return This->lpVtbl->IsRecommended(This);
33295}
33296static inline HRESULT IAssocHandler_MakeDefault(IAssocHandler* This,LPCWSTR pszDescription) {
33297 return This->lpVtbl->MakeDefault(This,pszDescription);
33298}
33299static inline HRESULT IAssocHandler_Invoke(IAssocHandler* This,IDataObject *pdo) {
33300 return This->lpVtbl->Invoke(This,pdo);
33301}
33302static inline HRESULT IAssocHandler_CreateInvoker(IAssocHandler* This,IDataObject *pdo,IAssocHandlerInvoker **ppInvoker) {
33303 return This->lpVtbl->CreateInvoker(This,pdo,ppInvoker);
33304}
33305#endif
33306#endif
33307
33308#endif
33309
33310
33311#endif /* __IAssocHandler_INTERFACE_DEFINED__ */
33312
33313
33314/*****************************************************************************
33315 * IEnumAssocHandlers interface
33316 */
33317#ifndef __IEnumAssocHandlers_INTERFACE_DEFINED__
33318#define __IEnumAssocHandlers_INTERFACE_DEFINED__
33319
33320DEFINE_GUID(IID_IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda);
33321#if defined(__cplusplus) && !defined(CINTERFACE)
33322MIDL_INTERFACE("973810ae-9599-4b88-9e4d-6ee98c9552da")
33323IEnumAssocHandlers : public IUnknown
33324{
33325 virtual HRESULT STDMETHODCALLTYPE Next(
33326 ULONG celt,
33327 IAssocHandler **rgelt,
33328 ULONG *pceltFetched) = 0;
33329
33330};
33331#ifdef __CRT_UUID_DECL
33332__CRT_UUID_DECL(IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda)
33333#endif
33334#else
33335typedef struct IEnumAssocHandlersVtbl {
33336 BEGIN_INTERFACE
33337
33338 /*** IUnknown methods ***/
33339 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33340 IEnumAssocHandlers *This,
33341 REFIID riid,
33342 void **ppvObject);
33343
33344 ULONG (STDMETHODCALLTYPE *AddRef)(
33345 IEnumAssocHandlers *This);
33346
33347 ULONG (STDMETHODCALLTYPE *Release)(
33348 IEnumAssocHandlers *This);
33349
33350 /*** IEnumAssocHandlers methods ***/
33351 HRESULT (STDMETHODCALLTYPE *Next)(
33352 IEnumAssocHandlers *This,
33353 ULONG celt,
33354 IAssocHandler **rgelt,
33355 ULONG *pceltFetched);
33356
33357 END_INTERFACE
33358} IEnumAssocHandlersVtbl;
33359
33360interface IEnumAssocHandlers {
33361 CONST_VTBL IEnumAssocHandlersVtbl* lpVtbl;
33362};
33363
33364#ifdef COBJMACROS
33365#ifndef WIDL_C_INLINE_WRAPPERS
33366/*** IUnknown methods ***/
33367#define IEnumAssocHandlers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33368#define IEnumAssocHandlers_AddRef(This) (This)->lpVtbl->AddRef(This)
33369#define IEnumAssocHandlers_Release(This) (This)->lpVtbl->Release(This)
33370/*** IEnumAssocHandlers methods ***/
33371#define IEnumAssocHandlers_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
33372#else
33373/*** IUnknown methods ***/
33374static inline HRESULT IEnumAssocHandlers_QueryInterface(IEnumAssocHandlers* This,REFIID riid,void **ppvObject) {
33375 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33376}
33377static inline ULONG IEnumAssocHandlers_AddRef(IEnumAssocHandlers* This) {
33378 return This->lpVtbl->AddRef(This);
33379}
33380static inline ULONG IEnumAssocHandlers_Release(IEnumAssocHandlers* This) {
33381 return This->lpVtbl->Release(This);
33382}
33383/*** IEnumAssocHandlers methods ***/
33384static inline HRESULT IEnumAssocHandlers_Next(IEnumAssocHandlers* This,ULONG celt,IAssocHandler **rgelt,ULONG *pceltFetched) {
33385 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
33386}
33387#endif
33388#endif
33389
33390#endif
33391
33392
33393#endif /* __IEnumAssocHandlers_INTERFACE_DEFINED__ */
33394
33395
33396typedef enum ASSOC_FILTER {
33397 ASSOC_FILTER_NONE = 0x0,
33398 ASSOC_FILTER_RECOMMENDED = 0x1
33399} ASSOC_FILTER;
33400
33401DEFINE_ENUM_FLAG_OPERATORS(ASSOC_FILTER)
33402
33403 SHSTDAPI SHAssocEnumHandlers(PCWSTR pszExtra, ASSOC_FILTER afFilter, IEnumAssocHandlers **ppEnumHandler);
33404#endif
33405
33406#if NTDDI_VERSION >= NTDDI_WIN7
33407SHSTDAPI SHAssocEnumHandlersForProtocolByApplication(PCWSTR protocol, REFIID riid, void **enumHandlers);
33408#endif
33409
33410#if NTDDI_VERSION >= NTDDI_WIN8
33411/*****************************************************************************
33412 * IDataObjectProvider interface
33413 */
33414#ifndef __IDataObjectProvider_INTERFACE_DEFINED__
33415#define __IDataObjectProvider_INTERFACE_DEFINED__
33416
33417DEFINE_GUID(IID_IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01);
33418#if defined(__cplusplus) && !defined(CINTERFACE)
33419MIDL_INTERFACE("3d25f6d6-4b2a-433c-9184-7c33ad35d001")
33420IDataObjectProvider : public IUnknown
33421{
33422 virtual HRESULT STDMETHODCALLTYPE GetDataObject(
33423 IDataObject **dataObject) = 0;
33424
33425 virtual HRESULT STDMETHODCALLTYPE SetDataObject(
33426 IDataObject *dataObject) = 0;
33427
33428};
33429#ifdef __CRT_UUID_DECL
33430__CRT_UUID_DECL(IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01)
33431#endif
33432#else
33433typedef struct IDataObjectProviderVtbl {
33434 BEGIN_INTERFACE
33435
33436 /*** IUnknown methods ***/
33437 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33438 IDataObjectProvider *This,
33439 REFIID riid,
33440 void **ppvObject);
33441
33442 ULONG (STDMETHODCALLTYPE *AddRef)(
33443 IDataObjectProvider *This);
33444
33445 ULONG (STDMETHODCALLTYPE *Release)(
33446 IDataObjectProvider *This);
33447
33448 /*** IDataObjectProvider methods ***/
33449 HRESULT (STDMETHODCALLTYPE *GetDataObject)(
33450 IDataObjectProvider *This,
33451 IDataObject **dataObject);
33452
33453 HRESULT (STDMETHODCALLTYPE *SetDataObject)(
33454 IDataObjectProvider *This,
33455 IDataObject *dataObject);
33456
33457 END_INTERFACE
33458} IDataObjectProviderVtbl;
33459
33460interface IDataObjectProvider {
33461 CONST_VTBL IDataObjectProviderVtbl* lpVtbl;
33462};
33463
33464#ifdef COBJMACROS
33465#ifndef WIDL_C_INLINE_WRAPPERS
33466/*** IUnknown methods ***/
33467#define IDataObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33468#define IDataObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
33469#define IDataObjectProvider_Release(This) (This)->lpVtbl->Release(This)
33470/*** IDataObjectProvider methods ***/
33471#define IDataObjectProvider_GetDataObject(This,dataObject) (This)->lpVtbl->GetDataObject(This,dataObject)
33472#define IDataObjectProvider_SetDataObject(This,dataObject) (This)->lpVtbl->SetDataObject(This,dataObject)
33473#else
33474/*** IUnknown methods ***/
33475static inline HRESULT IDataObjectProvider_QueryInterface(IDataObjectProvider* This,REFIID riid,void **ppvObject) {
33476 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33477}
33478static inline ULONG IDataObjectProvider_AddRef(IDataObjectProvider* This) {
33479 return This->lpVtbl->AddRef(This);
33480}
33481static inline ULONG IDataObjectProvider_Release(IDataObjectProvider* This) {
33482 return This->lpVtbl->Release(This);
33483}
33484/*** IDataObjectProvider methods ***/
33485static inline HRESULT IDataObjectProvider_GetDataObject(IDataObjectProvider* This,IDataObject **dataObject) {
33486 return This->lpVtbl->GetDataObject(This,dataObject);
33487}
33488static inline HRESULT IDataObjectProvider_SetDataObject(IDataObjectProvider* This,IDataObject *dataObject) {
33489 return This->lpVtbl->SetDataObject(This,dataObject);
33490}
33491#endif
33492#endif
33493
33494#endif
33495
33496
33497#endif /* __IDataObjectProvider_INTERFACE_DEFINED__ */
33498
33499
33500/*****************************************************************************
33501 * IDataTransferManagerInterop interface
33502 */
33503#ifndef __IDataTransferManagerInterop_INTERFACE_DEFINED__
33504#define __IDataTransferManagerInterop_INTERFACE_DEFINED__
33505
33506DEFINE_GUID(IID_IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8);
33507#if defined(__cplusplus) && !defined(CINTERFACE)
33508MIDL_INTERFACE("3a3dcd6c-3eab-43dc-bcde-45671ce800c8")
33509IDataTransferManagerInterop : public IUnknown
33510{
33511 virtual HRESULT STDMETHODCALLTYPE GetForWindow(
33512 HWND appWindow,
33513 REFIID riid,
33514 void **dataTransferManager) = 0;
33515
33516 virtual HRESULT STDMETHODCALLTYPE ShowShareUIForWindow(
33517 HWND appWindow) = 0;
33518
33519};
33520#ifdef __CRT_UUID_DECL
33521__CRT_UUID_DECL(IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8)
33522#endif
33523#else
33524typedef struct IDataTransferManagerInteropVtbl {
33525 BEGIN_INTERFACE
33526
33527 /*** IUnknown methods ***/
33528 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33529 IDataTransferManagerInterop *This,
33530 REFIID riid,
33531 void **ppvObject);
33532
33533 ULONG (STDMETHODCALLTYPE *AddRef)(
33534 IDataTransferManagerInterop *This);
33535
33536 ULONG (STDMETHODCALLTYPE *Release)(
33537 IDataTransferManagerInterop *This);
33538
33539 /*** IDataTransferManagerInterop methods ***/
33540 HRESULT (STDMETHODCALLTYPE *GetForWindow)(
33541 IDataTransferManagerInterop *This,
33542 HWND appWindow,
33543 REFIID riid,
33544 void **dataTransferManager);
33545
33546 HRESULT (STDMETHODCALLTYPE *ShowShareUIForWindow)(
33547 IDataTransferManagerInterop *This,
33548 HWND appWindow);
33549
33550 END_INTERFACE
33551} IDataTransferManagerInteropVtbl;
33552
33553interface IDataTransferManagerInterop {
33554 CONST_VTBL IDataTransferManagerInteropVtbl* lpVtbl;
33555};
33556
33557#ifdef COBJMACROS
33558#ifndef WIDL_C_INLINE_WRAPPERS
33559/*** IUnknown methods ***/
33560#define IDataTransferManagerInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33561#define IDataTransferManagerInterop_AddRef(This) (This)->lpVtbl->AddRef(This)
33562#define IDataTransferManagerInterop_Release(This) (This)->lpVtbl->Release(This)
33563/*** IDataTransferManagerInterop methods ***/
33564#define IDataTransferManagerInterop_GetForWindow(This,appWindow,riid,dataTransferManager) (This)->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager)
33565#define IDataTransferManagerInterop_ShowShareUIForWindow(This,appWindow) (This)->lpVtbl->ShowShareUIForWindow(This,appWindow)
33566#else
33567/*** IUnknown methods ***/
33568static inline HRESULT IDataTransferManagerInterop_QueryInterface(IDataTransferManagerInterop* This,REFIID riid,void **ppvObject) {
33569 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33570}
33571static inline ULONG IDataTransferManagerInterop_AddRef(IDataTransferManagerInterop* This) {
33572 return This->lpVtbl->AddRef(This);
33573}
33574static inline ULONG IDataTransferManagerInterop_Release(IDataTransferManagerInterop* This) {
33575 return This->lpVtbl->Release(This);
33576}
33577/*** IDataTransferManagerInterop methods ***/
33578static inline HRESULT IDataTransferManagerInterop_GetForWindow(IDataTransferManagerInterop* This,HWND appWindow,REFIID riid,void **dataTransferManager) {
33579 return This->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager);
33580}
33581static inline HRESULT IDataTransferManagerInterop_ShowShareUIForWindow(IDataTransferManagerInterop* This,HWND appWindow) {
33582 return This->lpVtbl->ShowShareUIForWindow(This,appWindow);
33583}
33584#endif
33585#endif
33586
33587#endif
33588
33589
33590#endif /* __IDataTransferManagerInterop_INTERFACE_DEFINED__ */
33591
33592
33593/*****************************************************************************
33594 * IFrameworkInputPaneHandler interface
33595 */
33596#ifndef __IFrameworkInputPaneHandler_INTERFACE_DEFINED__
33597#define __IFrameworkInputPaneHandler_INTERFACE_DEFINED__
33598
33599DEFINE_GUID(IID_IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18);
33600#if defined(__cplusplus) && !defined(CINTERFACE)
33601MIDL_INTERFACE("226c537b-1e76-4d9e-a760-33db29922f18")
33602IFrameworkInputPaneHandler : public IUnknown
33603{
33604 virtual HRESULT STDMETHODCALLTYPE Showing(
33605 RECT *prcInputPaneScreenLocation,
33606 WINBOOL fEnsureFocusedElementInView) = 0;
33607
33608 virtual HRESULT STDMETHODCALLTYPE Hiding(
33609 WINBOOL fEnsureFocusedElementInView) = 0;
33610
33611};
33612#ifdef __CRT_UUID_DECL
33613__CRT_UUID_DECL(IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18)
33614#endif
33615#else
33616typedef struct IFrameworkInputPaneHandlerVtbl {
33617 BEGIN_INTERFACE
33618
33619 /*** IUnknown methods ***/
33620 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33621 IFrameworkInputPaneHandler *This,
33622 REFIID riid,
33623 void **ppvObject);
33624
33625 ULONG (STDMETHODCALLTYPE *AddRef)(
33626 IFrameworkInputPaneHandler *This);
33627
33628 ULONG (STDMETHODCALLTYPE *Release)(
33629 IFrameworkInputPaneHandler *This);
33630
33631 /*** IFrameworkInputPaneHandler methods ***/
33632 HRESULT (STDMETHODCALLTYPE *Showing)(
33633 IFrameworkInputPaneHandler *This,
33634 RECT *prcInputPaneScreenLocation,
33635 WINBOOL fEnsureFocusedElementInView);
33636
33637 HRESULT (STDMETHODCALLTYPE *Hiding)(
33638 IFrameworkInputPaneHandler *This,
33639 WINBOOL fEnsureFocusedElementInView);
33640
33641 END_INTERFACE
33642} IFrameworkInputPaneHandlerVtbl;
33643
33644interface IFrameworkInputPaneHandler {
33645 CONST_VTBL IFrameworkInputPaneHandlerVtbl* lpVtbl;
33646};
33647
33648#ifdef COBJMACROS
33649#ifndef WIDL_C_INLINE_WRAPPERS
33650/*** IUnknown methods ***/
33651#define IFrameworkInputPaneHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33652#define IFrameworkInputPaneHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
33653#define IFrameworkInputPaneHandler_Release(This) (This)->lpVtbl->Release(This)
33654/*** IFrameworkInputPaneHandler methods ***/
33655#define IFrameworkInputPaneHandler_Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView) (This)->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView)
33656#define IFrameworkInputPaneHandler_Hiding(This,fEnsureFocusedElementInView) (This)->lpVtbl->Hiding(This,fEnsureFocusedElementInView)
33657#else
33658/*** IUnknown methods ***/
33659static inline HRESULT IFrameworkInputPaneHandler_QueryInterface(IFrameworkInputPaneHandler* This,REFIID riid,void **ppvObject) {
33660 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33661}
33662static inline ULONG IFrameworkInputPaneHandler_AddRef(IFrameworkInputPaneHandler* This) {
33663 return This->lpVtbl->AddRef(This);
33664}
33665static inline ULONG IFrameworkInputPaneHandler_Release(IFrameworkInputPaneHandler* This) {
33666 return This->lpVtbl->Release(This);
33667}
33668/*** IFrameworkInputPaneHandler methods ***/
33669static inline HRESULT IFrameworkInputPaneHandler_Showing(IFrameworkInputPaneHandler* This,RECT *prcInputPaneScreenLocation,WINBOOL fEnsureFocusedElementInView) {
33670 return This->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView);
33671}
33672static inline HRESULT IFrameworkInputPaneHandler_Hiding(IFrameworkInputPaneHandler* This,WINBOOL fEnsureFocusedElementInView) {
33673 return This->lpVtbl->Hiding(This,fEnsureFocusedElementInView);
33674}
33675#endif
33676#endif
33677
33678#endif
33679
33680
33681#endif /* __IFrameworkInputPaneHandler_INTERFACE_DEFINED__ */
33682
33683
33684/*****************************************************************************
33685 * IFrameworkInputPane interface
33686 */
33687#ifndef __IFrameworkInputPane_INTERFACE_DEFINED__
33688#define __IFrameworkInputPane_INTERFACE_DEFINED__
33689
33690DEFINE_GUID(IID_IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96);
33691#if defined(__cplusplus) && !defined(CINTERFACE)
33692MIDL_INTERFACE("5752238b-24f0-495a-82f1-2fd593056796")
33693IFrameworkInputPane : public IUnknown
33694{
33695 virtual HRESULT STDMETHODCALLTYPE Advise(
33696 IUnknown *pWindow,
33697 IFrameworkInputPaneHandler *pHandler,
33698 DWORD *pdwCookie) = 0;
33699
33700 virtual HRESULT STDMETHODCALLTYPE AdviseWithHWND(
33701 HWND hwnd,
33702 IFrameworkInputPaneHandler *pHandler,
33703 DWORD *pdwCookie) = 0;
33704
33705 virtual HRESULT STDMETHODCALLTYPE Unadvise(
33706 DWORD dwCookie) = 0;
33707
33708 virtual HRESULT STDMETHODCALLTYPE Location(
33709 RECT *prcInputPaneScreenLocation) = 0;
33710
33711};
33712#ifdef __CRT_UUID_DECL
33713__CRT_UUID_DECL(IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96)
33714#endif
33715#else
33716typedef struct IFrameworkInputPaneVtbl {
33717 BEGIN_INTERFACE
33718
33719 /*** IUnknown methods ***/
33720 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33721 IFrameworkInputPane *This,
33722 REFIID riid,
33723 void **ppvObject);
33724
33725 ULONG (STDMETHODCALLTYPE *AddRef)(
33726 IFrameworkInputPane *This);
33727
33728 ULONG (STDMETHODCALLTYPE *Release)(
33729 IFrameworkInputPane *This);
33730
33731 /*** IFrameworkInputPane methods ***/
33732 HRESULT (STDMETHODCALLTYPE *Advise)(
33733 IFrameworkInputPane *This,
33734 IUnknown *pWindow,
33735 IFrameworkInputPaneHandler *pHandler,
33736 DWORD *pdwCookie);
33737
33738 HRESULT (STDMETHODCALLTYPE *AdviseWithHWND)(
33739 IFrameworkInputPane *This,
33740 HWND hwnd,
33741 IFrameworkInputPaneHandler *pHandler,
33742 DWORD *pdwCookie);
33743
33744 HRESULT (STDMETHODCALLTYPE *Unadvise)(
33745 IFrameworkInputPane *This,
33746 DWORD dwCookie);
33747
33748 HRESULT (STDMETHODCALLTYPE *Location)(
33749 IFrameworkInputPane *This,
33750 RECT *prcInputPaneScreenLocation);
33751
33752 END_INTERFACE
33753} IFrameworkInputPaneVtbl;
33754
33755interface IFrameworkInputPane {
33756 CONST_VTBL IFrameworkInputPaneVtbl* lpVtbl;
33757};
33758
33759#ifdef COBJMACROS
33760#ifndef WIDL_C_INLINE_WRAPPERS
33761/*** IUnknown methods ***/
33762#define IFrameworkInputPane_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33763#define IFrameworkInputPane_AddRef(This) (This)->lpVtbl->AddRef(This)
33764#define IFrameworkInputPane_Release(This) (This)->lpVtbl->Release(This)
33765/*** IFrameworkInputPane methods ***/
33766#define IFrameworkInputPane_Advise(This,pWindow,pHandler,pdwCookie) (This)->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie)
33767#define IFrameworkInputPane_AdviseWithHWND(This,hwnd,pHandler,pdwCookie) (This)->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie)
33768#define IFrameworkInputPane_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
33769#define IFrameworkInputPane_Location(This,prcInputPaneScreenLocation) (This)->lpVtbl->Location(This,prcInputPaneScreenLocation)
33770#else
33771/*** IUnknown methods ***/
33772static inline HRESULT IFrameworkInputPane_QueryInterface(IFrameworkInputPane* This,REFIID riid,void **ppvObject) {
33773 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33774}
33775static inline ULONG IFrameworkInputPane_AddRef(IFrameworkInputPane* This) {
33776 return This->lpVtbl->AddRef(This);
33777}
33778static inline ULONG IFrameworkInputPane_Release(IFrameworkInputPane* This) {
33779 return This->lpVtbl->Release(This);
33780}
33781/*** IFrameworkInputPane methods ***/
33782static inline HRESULT IFrameworkInputPane_Advise(IFrameworkInputPane* This,IUnknown *pWindow,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) {
33783 return This->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie);
33784}
33785static inline HRESULT IFrameworkInputPane_AdviseWithHWND(IFrameworkInputPane* This,HWND hwnd,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) {
33786 return This->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie);
33787}
33788static inline HRESULT IFrameworkInputPane_Unadvise(IFrameworkInputPane* This,DWORD dwCookie) {
33789 return This->lpVtbl->Unadvise(This,dwCookie);
33790}
33791static inline HRESULT IFrameworkInputPane_Location(IFrameworkInputPane* This,RECT *prcInputPaneScreenLocation) {
33792 return This->lpVtbl->Location(This,prcInputPaneScreenLocation);
33793}
33794#endif
33795#endif
33796
33797#endif
33798
33799
33800#endif /* __IFrameworkInputPane_INTERFACE_DEFINED__ */
33801
33802#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
33803
33804#ifndef PROP_CONTRACT_DELEGATE
33805#define PROP_CONTRACT_DELEGATE L"ContractDelegate"
33806#endif
33807
33808 __forceinline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) {
33809 if (hwndDelegate != NULL)
33810 SetPropW (hwndSource, PROP_CONTRACT_DELEGATE, (HANDLE)hwndDelegate);
33811 else
33812 RemovePropW(hwndSource, PROP_CONTRACT_DELEGATE);
33813 }
33814
33815#ifndef PROP_CONTRACT_DELEGATE
33816#define PROP_CONTRACT_DELEGATE L"ContractDelegate"
33817#endif
33818
33819 __forceinline HWND GetContractDelegateWindow(HWND hwndSource) { return (HWND)GetPropW(hwndSource, PROP_CONTRACT_DELEGATE); }
33820#endif
33821#endif
33822
33823#if NTDDI_VERSION >= NTDDI_WIN8
33824/*****************************************************************************
33825 * ISearchableApplication interface
33826 */
33827#ifndef __ISearchableApplication_INTERFACE_DEFINED__
33828#define __ISearchableApplication_INTERFACE_DEFINED__
33829
33830DEFINE_GUID(IID_ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e);
33831#if defined(__cplusplus) && !defined(CINTERFACE)
33832MIDL_INTERFACE("08922f8d-243a-49e3-a495-bd4f9cf8ab9e")
33833ISearchableApplication : public IUnknown
33834{
33835 virtual HRESULT STDMETHODCALLTYPE GetSearchWindow(
33836 HWND *hwnd) = 0;
33837
33838};
33839#ifdef __CRT_UUID_DECL
33840__CRT_UUID_DECL(ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e)
33841#endif
33842#else
33843typedef struct ISearchableApplicationVtbl {
33844 BEGIN_INTERFACE
33845
33846 /*** IUnknown methods ***/
33847 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33848 ISearchableApplication *This,
33849 REFIID riid,
33850 void **ppvObject);
33851
33852 ULONG (STDMETHODCALLTYPE *AddRef)(
33853 ISearchableApplication *This);
33854
33855 ULONG (STDMETHODCALLTYPE *Release)(
33856 ISearchableApplication *This);
33857
33858 /*** ISearchableApplication methods ***/
33859 HRESULT (STDMETHODCALLTYPE *GetSearchWindow)(
33860 ISearchableApplication *This,
33861 HWND *hwnd);
33862
33863 END_INTERFACE
33864} ISearchableApplicationVtbl;
33865
33866interface ISearchableApplication {
33867 CONST_VTBL ISearchableApplicationVtbl* lpVtbl;
33868};
33869
33870#ifdef COBJMACROS
33871#ifndef WIDL_C_INLINE_WRAPPERS
33872/*** IUnknown methods ***/
33873#define ISearchableApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33874#define ISearchableApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
33875#define ISearchableApplication_Release(This) (This)->lpVtbl->Release(This)
33876/*** ISearchableApplication methods ***/
33877#define ISearchableApplication_GetSearchWindow(This,hwnd) (This)->lpVtbl->GetSearchWindow(This,hwnd)
33878#else
33879/*** IUnknown methods ***/
33880static inline HRESULT ISearchableApplication_QueryInterface(ISearchableApplication* This,REFIID riid,void **ppvObject) {
33881 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33882}
33883static inline ULONG ISearchableApplication_AddRef(ISearchableApplication* This) {
33884 return This->lpVtbl->AddRef(This);
33885}
33886static inline ULONG ISearchableApplication_Release(ISearchableApplication* This) {
33887 return This->lpVtbl->Release(This);
33888}
33889/*** ISearchableApplication methods ***/
33890static inline HRESULT ISearchableApplication_GetSearchWindow(ISearchableApplication* This,HWND *hwnd) {
33891 return This->lpVtbl->GetSearchWindow(This,hwnd);
33892}
33893#endif
33894#endif
33895
33896#endif
33897
33898
33899#endif /* __ISearchableApplication_INTERFACE_DEFINED__ */
33900
33901
33902typedef enum UNDOCK_REASON {
33903 UR_RESOLUTION_CHANGE = 0,
33904 UR_MONITOR_DISCONNECT = 1
33905} UNDOCK_REASON;
33906
33907/*****************************************************************************
33908 * IAccessibilityDockingServiceCallback interface
33909 */
33910#ifndef __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__
33911#define __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__
33912
33913DEFINE_GUID(IID_IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b);
33914#if defined(__cplusplus) && !defined(CINTERFACE)
33915MIDL_INTERFACE("157733fd-a592-42e5-b594-248468c5a81b")
33916IAccessibilityDockingServiceCallback : public IUnknown
33917{
33918 virtual HRESULT STDMETHODCALLTYPE Undocked(
33919 UNDOCK_REASON undockReason) = 0;
33920
33921};
33922#ifdef __CRT_UUID_DECL
33923__CRT_UUID_DECL(IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b)
33924#endif
33925#else
33926typedef struct IAccessibilityDockingServiceCallbackVtbl {
33927 BEGIN_INTERFACE
33928
33929 /*** IUnknown methods ***/
33930 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
33931 IAccessibilityDockingServiceCallback *This,
33932 REFIID riid,
33933 void **ppvObject);
33934
33935 ULONG (STDMETHODCALLTYPE *AddRef)(
33936 IAccessibilityDockingServiceCallback *This);
33937
33938 ULONG (STDMETHODCALLTYPE *Release)(
33939 IAccessibilityDockingServiceCallback *This);
33940
33941 /*** IAccessibilityDockingServiceCallback methods ***/
33942 HRESULT (STDMETHODCALLTYPE *Undocked)(
33943 IAccessibilityDockingServiceCallback *This,
33944 UNDOCK_REASON undockReason);
33945
33946 END_INTERFACE
33947} IAccessibilityDockingServiceCallbackVtbl;
33948
33949interface IAccessibilityDockingServiceCallback {
33950 CONST_VTBL IAccessibilityDockingServiceCallbackVtbl* lpVtbl;
33951};
33952
33953#ifdef COBJMACROS
33954#ifndef WIDL_C_INLINE_WRAPPERS
33955/*** IUnknown methods ***/
33956#define IAccessibilityDockingServiceCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
33957#define IAccessibilityDockingServiceCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
33958#define IAccessibilityDockingServiceCallback_Release(This) (This)->lpVtbl->Release(This)
33959/*** IAccessibilityDockingServiceCallback methods ***/
33960#define IAccessibilityDockingServiceCallback_Undocked(This,undockReason) (This)->lpVtbl->Undocked(This,undockReason)
33961#else
33962/*** IUnknown methods ***/
33963static inline HRESULT IAccessibilityDockingServiceCallback_QueryInterface(IAccessibilityDockingServiceCallback* This,REFIID riid,void **ppvObject) {
33964 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
33965}
33966static inline ULONG IAccessibilityDockingServiceCallback_AddRef(IAccessibilityDockingServiceCallback* This) {
33967 return This->lpVtbl->AddRef(This);
33968}
33969static inline ULONG IAccessibilityDockingServiceCallback_Release(IAccessibilityDockingServiceCallback* This) {
33970 return This->lpVtbl->Release(This);
33971}
33972/*** IAccessibilityDockingServiceCallback methods ***/
33973static inline HRESULT IAccessibilityDockingServiceCallback_Undocked(IAccessibilityDockingServiceCallback* This,UNDOCK_REASON undockReason) {
33974 return This->lpVtbl->Undocked(This,undockReason);
33975}
33976#endif
33977#endif
33978
33979#endif
33980
33981
33982#endif /* __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__ */
33983
33984
33985/*****************************************************************************
33986 * IAccessibilityDockingService interface
33987 */
33988#ifndef __IAccessibilityDockingService_INTERFACE_DEFINED__
33989#define __IAccessibilityDockingService_INTERFACE_DEFINED__
33990
33991DEFINE_GUID(IID_IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76);
33992#if defined(__cplusplus) && !defined(CINTERFACE)
33993MIDL_INTERFACE("8849dc22-cedf-4c95-998d-051419dd3f76")
33994IAccessibilityDockingService : public IUnknown
33995{
33996 virtual HRESULT STDMETHODCALLTYPE GetAvailableSize(
33997 HMONITOR hMonitor,
33998 UINT *pcxFixed,
33999 UINT *pcyMax) = 0;
34000
34001 virtual HRESULT STDMETHODCALLTYPE DockWindow(
34002 HWND hwnd,
34003 HMONITOR hMonitor,
34004 UINT cyRequested,
34005 IAccessibilityDockingServiceCallback *pCallback) = 0;
34006
34007 virtual HRESULT STDMETHODCALLTYPE UndockWindow(
34008 HWND hwnd) = 0;
34009
34010};
34011#ifdef __CRT_UUID_DECL
34012__CRT_UUID_DECL(IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76)
34013#endif
34014#else
34015typedef struct IAccessibilityDockingServiceVtbl {
34016 BEGIN_INTERFACE
34017
34018 /*** IUnknown methods ***/
34019 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34020 IAccessibilityDockingService *This,
34021 REFIID riid,
34022 void **ppvObject);
34023
34024 ULONG (STDMETHODCALLTYPE *AddRef)(
34025 IAccessibilityDockingService *This);
34026
34027 ULONG (STDMETHODCALLTYPE *Release)(
34028 IAccessibilityDockingService *This);
34029
34030 /*** IAccessibilityDockingService methods ***/
34031 HRESULT (STDMETHODCALLTYPE *GetAvailableSize)(
34032 IAccessibilityDockingService *This,
34033 HMONITOR hMonitor,
34034 UINT *pcxFixed,
34035 UINT *pcyMax);
34036
34037 HRESULT (STDMETHODCALLTYPE *DockWindow)(
34038 IAccessibilityDockingService *This,
34039 HWND hwnd,
34040 HMONITOR hMonitor,
34041 UINT cyRequested,
34042 IAccessibilityDockingServiceCallback *pCallback);
34043
34044 HRESULT (STDMETHODCALLTYPE *UndockWindow)(
34045 IAccessibilityDockingService *This,
34046 HWND hwnd);
34047
34048 END_INTERFACE
34049} IAccessibilityDockingServiceVtbl;
34050
34051interface IAccessibilityDockingService {
34052 CONST_VTBL IAccessibilityDockingServiceVtbl* lpVtbl;
34053};
34054
34055#ifdef COBJMACROS
34056#ifndef WIDL_C_INLINE_WRAPPERS
34057/*** IUnknown methods ***/
34058#define IAccessibilityDockingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34059#define IAccessibilityDockingService_AddRef(This) (This)->lpVtbl->AddRef(This)
34060#define IAccessibilityDockingService_Release(This) (This)->lpVtbl->Release(This)
34061/*** IAccessibilityDockingService methods ***/
34062#define IAccessibilityDockingService_GetAvailableSize(This,hMonitor,pcxFixed,pcyMax) (This)->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax)
34063#define IAccessibilityDockingService_DockWindow(This,hwnd,hMonitor,cyRequested,pCallback) (This)->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback)
34064#define IAccessibilityDockingService_UndockWindow(This,hwnd) (This)->lpVtbl->UndockWindow(This,hwnd)
34065#else
34066/*** IUnknown methods ***/
34067static inline HRESULT IAccessibilityDockingService_QueryInterface(IAccessibilityDockingService* This,REFIID riid,void **ppvObject) {
34068 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34069}
34070static inline ULONG IAccessibilityDockingService_AddRef(IAccessibilityDockingService* This) {
34071 return This->lpVtbl->AddRef(This);
34072}
34073static inline ULONG IAccessibilityDockingService_Release(IAccessibilityDockingService* This) {
34074 return This->lpVtbl->Release(This);
34075}
34076/*** IAccessibilityDockingService methods ***/
34077static inline HRESULT IAccessibilityDockingService_GetAvailableSize(IAccessibilityDockingService* This,HMONITOR hMonitor,UINT *pcxFixed,UINT *pcyMax) {
34078 return This->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax);
34079}
34080static inline HRESULT IAccessibilityDockingService_DockWindow(IAccessibilityDockingService* This,HWND hwnd,HMONITOR hMonitor,UINT cyRequested,IAccessibilityDockingServiceCallback *pCallback) {
34081 return This->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback);
34082}
34083static inline HRESULT IAccessibilityDockingService_UndockWindow(IAccessibilityDockingService* This,HWND hwnd) {
34084 return This->lpVtbl->UndockWindow(This,hwnd);
34085}
34086#endif
34087#endif
34088
34089#endif
34090
34091
34092#endif /* __IAccessibilityDockingService_INTERFACE_DEFINED__ */
34093
34094
34095typedef enum MONITOR_APP_VISIBILITY {
34096 MAV_UNKNOWN = 0,
34097 MAV_NO_APP_VISIBLE = 1,
34098 MAV_APP_VISIBLE = 2
34099} MONITOR_APP_VISIBILITY;
34100
34101/*****************************************************************************
34102 * IAppVisibilityEvents interface
34103 */
34104#ifndef __IAppVisibilityEvents_INTERFACE_DEFINED__
34105#define __IAppVisibilityEvents_INTERFACE_DEFINED__
34106
34107DEFINE_GUID(IID_IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38);
34108#if defined(__cplusplus) && !defined(CINTERFACE)
34109MIDL_INTERFACE("6584ce6b-7d82-49c2-89c9-c6bc02ba8c38")
34110IAppVisibilityEvents : public IUnknown
34111{
34112 virtual HRESULT STDMETHODCALLTYPE AppVisibilityOnMonitorChanged(
34113 HMONITOR hMonitor,
34114 MONITOR_APP_VISIBILITY previousMode,
34115 MONITOR_APP_VISIBILITY currentMode) = 0;
34116
34117 virtual HRESULT STDMETHODCALLTYPE LauncherVisibilityChange(
34118 WINBOOL currentVisibleState) = 0;
34119
34120};
34121#ifdef __CRT_UUID_DECL
34122__CRT_UUID_DECL(IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38)
34123#endif
34124#else
34125typedef struct IAppVisibilityEventsVtbl {
34126 BEGIN_INTERFACE
34127
34128 /*** IUnknown methods ***/
34129 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34130 IAppVisibilityEvents *This,
34131 REFIID riid,
34132 void **ppvObject);
34133
34134 ULONG (STDMETHODCALLTYPE *AddRef)(
34135 IAppVisibilityEvents *This);
34136
34137 ULONG (STDMETHODCALLTYPE *Release)(
34138 IAppVisibilityEvents *This);
34139
34140 /*** IAppVisibilityEvents methods ***/
34141 HRESULT (STDMETHODCALLTYPE *AppVisibilityOnMonitorChanged)(
34142 IAppVisibilityEvents *This,
34143 HMONITOR hMonitor,
34144 MONITOR_APP_VISIBILITY previousMode,
34145 MONITOR_APP_VISIBILITY currentMode);
34146
34147 HRESULT (STDMETHODCALLTYPE *LauncherVisibilityChange)(
34148 IAppVisibilityEvents *This,
34149 WINBOOL currentVisibleState);
34150
34151 END_INTERFACE
34152} IAppVisibilityEventsVtbl;
34153
34154interface IAppVisibilityEvents {
34155 CONST_VTBL IAppVisibilityEventsVtbl* lpVtbl;
34156};
34157
34158#ifdef COBJMACROS
34159#ifndef WIDL_C_INLINE_WRAPPERS
34160/*** IUnknown methods ***/
34161#define IAppVisibilityEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34162#define IAppVisibilityEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
34163#define IAppVisibilityEvents_Release(This) (This)->lpVtbl->Release(This)
34164/*** IAppVisibilityEvents methods ***/
34165#define IAppVisibilityEvents_AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode) (This)->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode)
34166#define IAppVisibilityEvents_LauncherVisibilityChange(This,currentVisibleState) (This)->lpVtbl->LauncherVisibilityChange(This,currentVisibleState)
34167#else
34168/*** IUnknown methods ***/
34169static inline HRESULT IAppVisibilityEvents_QueryInterface(IAppVisibilityEvents* This,REFIID riid,void **ppvObject) {
34170 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34171}
34172static inline ULONG IAppVisibilityEvents_AddRef(IAppVisibilityEvents* This) {
34173 return This->lpVtbl->AddRef(This);
34174}
34175static inline ULONG IAppVisibilityEvents_Release(IAppVisibilityEvents* This) {
34176 return This->lpVtbl->Release(This);
34177}
34178/*** IAppVisibilityEvents methods ***/
34179static inline HRESULT IAppVisibilityEvents_AppVisibilityOnMonitorChanged(IAppVisibilityEvents* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY previousMode,MONITOR_APP_VISIBILITY currentMode) {
34180 return This->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode);
34181}
34182static inline HRESULT IAppVisibilityEvents_LauncherVisibilityChange(IAppVisibilityEvents* This,WINBOOL currentVisibleState) {
34183 return This->lpVtbl->LauncherVisibilityChange(This,currentVisibleState);
34184}
34185#endif
34186#endif
34187
34188#endif
34189
34190
34191#endif /* __IAppVisibilityEvents_INTERFACE_DEFINED__ */
34192
34193
34194/*****************************************************************************
34195 * IAppVisibility interface
34196 */
34197#ifndef __IAppVisibility_INTERFACE_DEFINED__
34198#define __IAppVisibility_INTERFACE_DEFINED__
34199
34200DEFINE_GUID(IID_IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13);
34201#if defined(__cplusplus) && !defined(CINTERFACE)
34202MIDL_INTERFACE("2246ea2d-caea-4444-a3c4-6de827e44313")
34203IAppVisibility : public IUnknown
34204{
34205 virtual HRESULT STDMETHODCALLTYPE GetAppVisibilityOnMonitor(
34206 HMONITOR hMonitor,
34207 MONITOR_APP_VISIBILITY *pMode) = 0;
34208
34209 virtual HRESULT STDMETHODCALLTYPE IsLauncherVisible(
34210 WINBOOL *pfVisible) = 0;
34211
34212 virtual HRESULT STDMETHODCALLTYPE Advise(
34213 IAppVisibilityEvents *pCallback,
34214 DWORD *pdwCookie) = 0;
34215
34216 virtual HRESULT STDMETHODCALLTYPE Unadvise(
34217 DWORD dwCookie) = 0;
34218
34219};
34220#ifdef __CRT_UUID_DECL
34221__CRT_UUID_DECL(IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13)
34222#endif
34223#else
34224typedef struct IAppVisibilityVtbl {
34225 BEGIN_INTERFACE
34226
34227 /*** IUnknown methods ***/
34228 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34229 IAppVisibility *This,
34230 REFIID riid,
34231 void **ppvObject);
34232
34233 ULONG (STDMETHODCALLTYPE *AddRef)(
34234 IAppVisibility *This);
34235
34236 ULONG (STDMETHODCALLTYPE *Release)(
34237 IAppVisibility *This);
34238
34239 /*** IAppVisibility methods ***/
34240 HRESULT (STDMETHODCALLTYPE *GetAppVisibilityOnMonitor)(
34241 IAppVisibility *This,
34242 HMONITOR hMonitor,
34243 MONITOR_APP_VISIBILITY *pMode);
34244
34245 HRESULT (STDMETHODCALLTYPE *IsLauncherVisible)(
34246 IAppVisibility *This,
34247 WINBOOL *pfVisible);
34248
34249 HRESULT (STDMETHODCALLTYPE *Advise)(
34250 IAppVisibility *This,
34251 IAppVisibilityEvents *pCallback,
34252 DWORD *pdwCookie);
34253
34254 HRESULT (STDMETHODCALLTYPE *Unadvise)(
34255 IAppVisibility *This,
34256 DWORD dwCookie);
34257
34258 END_INTERFACE
34259} IAppVisibilityVtbl;
34260
34261interface IAppVisibility {
34262 CONST_VTBL IAppVisibilityVtbl* lpVtbl;
34263};
34264
34265#ifdef COBJMACROS
34266#ifndef WIDL_C_INLINE_WRAPPERS
34267/*** IUnknown methods ***/
34268#define IAppVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34269#define IAppVisibility_AddRef(This) (This)->lpVtbl->AddRef(This)
34270#define IAppVisibility_Release(This) (This)->lpVtbl->Release(This)
34271/*** IAppVisibility methods ***/
34272#define IAppVisibility_GetAppVisibilityOnMonitor(This,hMonitor,pMode) (This)->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode)
34273#define IAppVisibility_IsLauncherVisible(This,pfVisible) (This)->lpVtbl->IsLauncherVisible(This,pfVisible)
34274#define IAppVisibility_Advise(This,pCallback,pdwCookie) (This)->lpVtbl->Advise(This,pCallback,pdwCookie)
34275#define IAppVisibility_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
34276#else
34277/*** IUnknown methods ***/
34278static inline HRESULT IAppVisibility_QueryInterface(IAppVisibility* This,REFIID riid,void **ppvObject) {
34279 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34280}
34281static inline ULONG IAppVisibility_AddRef(IAppVisibility* This) {
34282 return This->lpVtbl->AddRef(This);
34283}
34284static inline ULONG IAppVisibility_Release(IAppVisibility* This) {
34285 return This->lpVtbl->Release(This);
34286}
34287/*** IAppVisibility methods ***/
34288static inline HRESULT IAppVisibility_GetAppVisibilityOnMonitor(IAppVisibility* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY *pMode) {
34289 return This->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode);
34290}
34291static inline HRESULT IAppVisibility_IsLauncherVisible(IAppVisibility* This,WINBOOL *pfVisible) {
34292 return This->lpVtbl->IsLauncherVisible(This,pfVisible);
34293}
34294static inline HRESULT IAppVisibility_Advise(IAppVisibility* This,IAppVisibilityEvents *pCallback,DWORD *pdwCookie) {
34295 return This->lpVtbl->Advise(This,pCallback,pdwCookie);
34296}
34297static inline HRESULT IAppVisibility_Unadvise(IAppVisibility* This,DWORD dwCookie) {
34298 return This->lpVtbl->Unadvise(This,dwCookie);
34299}
34300#endif
34301#endif
34302
34303#endif
34304
34305
34306#endif /* __IAppVisibility_INTERFACE_DEFINED__ */
34307
34308
34309#if 0
34310typedef WCHAR *PZZWSTR;
34311#endif
34312
34313typedef enum PACKAGE_EXECUTION_STATE {
34314 PES_UNKNOWN = 0,
34315 PES_RUNNING = 1,
34316 PES_SUSPENDING = 2,
34317 PES_SUSPENDED = 3,
34318 PES_TERMINATED = 4
34319} PACKAGE_EXECUTION_STATE;
34320
34321/*****************************************************************************
34322 * IPackageExecutionStateChangeNotification interface
34323 */
34324#ifndef __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__
34325#define __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__
34326
34327DEFINE_GUID(IID_IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b);
34328#if defined(__cplusplus) && !defined(CINTERFACE)
34329MIDL_INTERFACE("1bb12a62-2ad8-432b-8ccf-0c2c52afcd5b")
34330IPackageExecutionStateChangeNotification : public IUnknown
34331{
34332 virtual HRESULT STDMETHODCALLTYPE OnStateChanged(
34333 LPCWSTR pszPackageFullName,
34334 PACKAGE_EXECUTION_STATE pesNewState) = 0;
34335
34336};
34337#ifdef __CRT_UUID_DECL
34338__CRT_UUID_DECL(IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b)
34339#endif
34340#else
34341typedef struct IPackageExecutionStateChangeNotificationVtbl {
34342 BEGIN_INTERFACE
34343
34344 /*** IUnknown methods ***/
34345 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34346 IPackageExecutionStateChangeNotification *This,
34347 REFIID riid,
34348 void **ppvObject);
34349
34350 ULONG (STDMETHODCALLTYPE *AddRef)(
34351 IPackageExecutionStateChangeNotification *This);
34352
34353 ULONG (STDMETHODCALLTYPE *Release)(
34354 IPackageExecutionStateChangeNotification *This);
34355
34356 /*** IPackageExecutionStateChangeNotification methods ***/
34357 HRESULT (STDMETHODCALLTYPE *OnStateChanged)(
34358 IPackageExecutionStateChangeNotification *This,
34359 LPCWSTR pszPackageFullName,
34360 PACKAGE_EXECUTION_STATE pesNewState);
34361
34362 END_INTERFACE
34363} IPackageExecutionStateChangeNotificationVtbl;
34364
34365interface IPackageExecutionStateChangeNotification {
34366 CONST_VTBL IPackageExecutionStateChangeNotificationVtbl* lpVtbl;
34367};
34368
34369#ifdef COBJMACROS
34370#ifndef WIDL_C_INLINE_WRAPPERS
34371/*** IUnknown methods ***/
34372#define IPackageExecutionStateChangeNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34373#define IPackageExecutionStateChangeNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
34374#define IPackageExecutionStateChangeNotification_Release(This) (This)->lpVtbl->Release(This)
34375/*** IPackageExecutionStateChangeNotification methods ***/
34376#define IPackageExecutionStateChangeNotification_OnStateChanged(This,pszPackageFullName,pesNewState) (This)->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState)
34377#else
34378/*** IUnknown methods ***/
34379static inline HRESULT IPackageExecutionStateChangeNotification_QueryInterface(IPackageExecutionStateChangeNotification* This,REFIID riid,void **ppvObject) {
34380 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34381}
34382static inline ULONG IPackageExecutionStateChangeNotification_AddRef(IPackageExecutionStateChangeNotification* This) {
34383 return This->lpVtbl->AddRef(This);
34384}
34385static inline ULONG IPackageExecutionStateChangeNotification_Release(IPackageExecutionStateChangeNotification* This) {
34386 return This->lpVtbl->Release(This);
34387}
34388/*** IPackageExecutionStateChangeNotification methods ***/
34389static inline HRESULT IPackageExecutionStateChangeNotification_OnStateChanged(IPackageExecutionStateChangeNotification* This,LPCWSTR pszPackageFullName,PACKAGE_EXECUTION_STATE pesNewState) {
34390 return This->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState);
34391}
34392#endif
34393#endif
34394
34395#endif
34396
34397
34398#endif /* __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__ */
34399
34400
34401/*****************************************************************************
34402 * IPackageDebugSettings interface
34403 */
34404#ifndef __IPackageDebugSettings_INTERFACE_DEFINED__
34405#define __IPackageDebugSettings_INTERFACE_DEFINED__
34406
34407DEFINE_GUID(IID_IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1);
34408#if defined(__cplusplus) && !defined(CINTERFACE)
34409MIDL_INTERFACE("f27c3930-8029-4ad1-94e3-3dba417810c1")
34410IPackageDebugSettings : public IUnknown
34411{
34412 virtual HRESULT STDMETHODCALLTYPE EnableDebugging(
34413 LPCWSTR packageFullName,
34414 LPCWSTR debuggerCommandLine,
34415 PZZWSTR environment) = 0;
34416
34417 virtual HRESULT STDMETHODCALLTYPE DisableDebugging(
34418 LPCWSTR packageFullName) = 0;
34419
34420 virtual HRESULT STDMETHODCALLTYPE Suspend(
34421 LPCWSTR packageFullName) = 0;
34422
34423 virtual HRESULT STDMETHODCALLTYPE Resume(
34424 LPCWSTR packageFullName) = 0;
34425
34426 virtual HRESULT STDMETHODCALLTYPE TerminateAllProcesses(
34427 LPCWSTR packageFullName) = 0;
34428
34429 virtual HRESULT STDMETHODCALLTYPE SetTargetSessionId(
34430 ULONG sessionId) = 0;
34431
34432 virtual HRESULT STDMETHODCALLTYPE EnumerateBackgroundTasks(
34433 LPCWSTR packageFullName,
34434 ULONG *taskCount,
34435 LPCGUID *taskIds,
34436 LPCWSTR **taskNames) = 0;
34437
34438 virtual HRESULT STDMETHODCALLTYPE ActivateBackgroundTask(
34439 LPCGUID taskId) = 0;
34440
34441 virtual HRESULT STDMETHODCALLTYPE StartServicing(
34442 LPCWSTR packageFullName) = 0;
34443
34444 virtual HRESULT STDMETHODCALLTYPE StopServicing(
34445 LPCWSTR packageFullName) = 0;
34446
34447 virtual HRESULT STDMETHODCALLTYPE StartSessionRedirection(
34448 LPCWSTR packageFullName,
34449 ULONG sessionId) = 0;
34450
34451 virtual HRESULT STDMETHODCALLTYPE StopSessionRedirection(
34452 LPCWSTR packageFullName) = 0;
34453
34454 virtual HRESULT STDMETHODCALLTYPE GetPackageExecutionState(
34455 LPCWSTR packageFullName,
34456 PACKAGE_EXECUTION_STATE *packageExecutionState) = 0;
34457
34458 virtual HRESULT STDMETHODCALLTYPE RegisterForPackageStateChanges(
34459 LPCWSTR packageFullName,
34460 IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,
34461 DWORD *pdwCookie) = 0;
34462
34463 virtual HRESULT STDMETHODCALLTYPE UnregisterForPackageStateChanges(
34464 DWORD dwCookie) = 0;
34465
34466};
34467#ifdef __CRT_UUID_DECL
34468__CRT_UUID_DECL(IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1)
34469#endif
34470#else
34471typedef struct IPackageDebugSettingsVtbl {
34472 BEGIN_INTERFACE
34473
34474 /*** IUnknown methods ***/
34475 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34476 IPackageDebugSettings *This,
34477 REFIID riid,
34478 void **ppvObject);
34479
34480 ULONG (STDMETHODCALLTYPE *AddRef)(
34481 IPackageDebugSettings *This);
34482
34483 ULONG (STDMETHODCALLTYPE *Release)(
34484 IPackageDebugSettings *This);
34485
34486 /*** IPackageDebugSettings methods ***/
34487 HRESULT (STDMETHODCALLTYPE *EnableDebugging)(
34488 IPackageDebugSettings *This,
34489 LPCWSTR packageFullName,
34490 LPCWSTR debuggerCommandLine,
34491 PZZWSTR environment);
34492
34493 HRESULT (STDMETHODCALLTYPE *DisableDebugging)(
34494 IPackageDebugSettings *This,
34495 LPCWSTR packageFullName);
34496
34497 HRESULT (STDMETHODCALLTYPE *Suspend)(
34498 IPackageDebugSettings *This,
34499 LPCWSTR packageFullName);
34500
34501 HRESULT (STDMETHODCALLTYPE *Resume)(
34502 IPackageDebugSettings *This,
34503 LPCWSTR packageFullName);
34504
34505 HRESULT (STDMETHODCALLTYPE *TerminateAllProcesses)(
34506 IPackageDebugSettings *This,
34507 LPCWSTR packageFullName);
34508
34509 HRESULT (STDMETHODCALLTYPE *SetTargetSessionId)(
34510 IPackageDebugSettings *This,
34511 ULONG sessionId);
34512
34513 HRESULT (STDMETHODCALLTYPE *EnumerateBackgroundTasks)(
34514 IPackageDebugSettings *This,
34515 LPCWSTR packageFullName,
34516 ULONG *taskCount,
34517 LPCGUID *taskIds,
34518 LPCWSTR **taskNames);
34519
34520 HRESULT (STDMETHODCALLTYPE *ActivateBackgroundTask)(
34521 IPackageDebugSettings *This,
34522 LPCGUID taskId);
34523
34524 HRESULT (STDMETHODCALLTYPE *StartServicing)(
34525 IPackageDebugSettings *This,
34526 LPCWSTR packageFullName);
34527
34528 HRESULT (STDMETHODCALLTYPE *StopServicing)(
34529 IPackageDebugSettings *This,
34530 LPCWSTR packageFullName);
34531
34532 HRESULT (STDMETHODCALLTYPE *StartSessionRedirection)(
34533 IPackageDebugSettings *This,
34534 LPCWSTR packageFullName,
34535 ULONG sessionId);
34536
34537 HRESULT (STDMETHODCALLTYPE *StopSessionRedirection)(
34538 IPackageDebugSettings *This,
34539 LPCWSTR packageFullName);
34540
34541 HRESULT (STDMETHODCALLTYPE *GetPackageExecutionState)(
34542 IPackageDebugSettings *This,
34543 LPCWSTR packageFullName,
34544 PACKAGE_EXECUTION_STATE *packageExecutionState);
34545
34546 HRESULT (STDMETHODCALLTYPE *RegisterForPackageStateChanges)(
34547 IPackageDebugSettings *This,
34548 LPCWSTR packageFullName,
34549 IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,
34550 DWORD *pdwCookie);
34551
34552 HRESULT (STDMETHODCALLTYPE *UnregisterForPackageStateChanges)(
34553 IPackageDebugSettings *This,
34554 DWORD dwCookie);
34555
34556 END_INTERFACE
34557} IPackageDebugSettingsVtbl;
34558
34559interface IPackageDebugSettings {
34560 CONST_VTBL IPackageDebugSettingsVtbl* lpVtbl;
34561};
34562
34563#ifdef COBJMACROS
34564#ifndef WIDL_C_INLINE_WRAPPERS
34565/*** IUnknown methods ***/
34566#define IPackageDebugSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34567#define IPackageDebugSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
34568#define IPackageDebugSettings_Release(This) (This)->lpVtbl->Release(This)
34569/*** IPackageDebugSettings methods ***/
34570#define IPackageDebugSettings_EnableDebugging(This,packageFullName,debuggerCommandLine,environment) (This)->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment)
34571#define IPackageDebugSettings_DisableDebugging(This,packageFullName) (This)->lpVtbl->DisableDebugging(This,packageFullName)
34572#define IPackageDebugSettings_Suspend(This,packageFullName) (This)->lpVtbl->Suspend(This,packageFullName)
34573#define IPackageDebugSettings_Resume(This,packageFullName) (This)->lpVtbl->Resume(This,packageFullName)
34574#define IPackageDebugSettings_TerminateAllProcesses(This,packageFullName) (This)->lpVtbl->TerminateAllProcesses(This,packageFullName)
34575#define IPackageDebugSettings_SetTargetSessionId(This,sessionId) (This)->lpVtbl->SetTargetSessionId(This,sessionId)
34576#define IPackageDebugSettings_EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames) (This)->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames)
34577#define IPackageDebugSettings_ActivateBackgroundTask(This,taskId) (This)->lpVtbl->ActivateBackgroundTask(This,taskId)
34578#define IPackageDebugSettings_StartServicing(This,packageFullName) (This)->lpVtbl->StartServicing(This,packageFullName)
34579#define IPackageDebugSettings_StopServicing(This,packageFullName) (This)->lpVtbl->StopServicing(This,packageFullName)
34580#define IPackageDebugSettings_StartSessionRedirection(This,packageFullName,sessionId) (This)->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId)
34581#define IPackageDebugSettings_StopSessionRedirection(This,packageFullName) (This)->lpVtbl->StopSessionRedirection(This,packageFullName)
34582#define IPackageDebugSettings_GetPackageExecutionState(This,packageFullName,packageExecutionState) (This)->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState)
34583#define IPackageDebugSettings_RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie) (This)->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie)
34584#define IPackageDebugSettings_UnregisterForPackageStateChanges(This,dwCookie) (This)->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie)
34585#else
34586/*** IUnknown methods ***/
34587static inline HRESULT IPackageDebugSettings_QueryInterface(IPackageDebugSettings* This,REFIID riid,void **ppvObject) {
34588 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34589}
34590static inline ULONG IPackageDebugSettings_AddRef(IPackageDebugSettings* This) {
34591 return This->lpVtbl->AddRef(This);
34592}
34593static inline ULONG IPackageDebugSettings_Release(IPackageDebugSettings* This) {
34594 return This->lpVtbl->Release(This);
34595}
34596/*** IPackageDebugSettings methods ***/
34597static inline HRESULT IPackageDebugSettings_EnableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName,LPCWSTR debuggerCommandLine,PZZWSTR environment) {
34598 return This->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment);
34599}
34600static inline HRESULT IPackageDebugSettings_DisableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34601 return This->lpVtbl->DisableDebugging(This,packageFullName);
34602}
34603static inline HRESULT IPackageDebugSettings_Suspend(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34604 return This->lpVtbl->Suspend(This,packageFullName);
34605}
34606static inline HRESULT IPackageDebugSettings_Resume(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34607 return This->lpVtbl->Resume(This,packageFullName);
34608}
34609static inline HRESULT IPackageDebugSettings_TerminateAllProcesses(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34610 return This->lpVtbl->TerminateAllProcesses(This,packageFullName);
34611}
34612static inline HRESULT IPackageDebugSettings_SetTargetSessionId(IPackageDebugSettings* This,ULONG sessionId) {
34613 return This->lpVtbl->SetTargetSessionId(This,sessionId);
34614}
34615static inline HRESULT IPackageDebugSettings_EnumerateBackgroundTasks(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG *taskCount,LPCGUID *taskIds,LPCWSTR **taskNames) {
34616 return This->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames);
34617}
34618static inline HRESULT IPackageDebugSettings_ActivateBackgroundTask(IPackageDebugSettings* This,LPCGUID taskId) {
34619 return This->lpVtbl->ActivateBackgroundTask(This,taskId);
34620}
34621static inline HRESULT IPackageDebugSettings_StartServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34622 return This->lpVtbl->StartServicing(This,packageFullName);
34623}
34624static inline HRESULT IPackageDebugSettings_StopServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34625 return This->lpVtbl->StopServicing(This,packageFullName);
34626}
34627static inline HRESULT IPackageDebugSettings_StartSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG sessionId) {
34628 return This->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId);
34629}
34630static inline HRESULT IPackageDebugSettings_StopSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName) {
34631 return This->lpVtbl->StopSessionRedirection(This,packageFullName);
34632}
34633static inline HRESULT IPackageDebugSettings_GetPackageExecutionState(IPackageDebugSettings* This,LPCWSTR packageFullName,PACKAGE_EXECUTION_STATE *packageExecutionState) {
34634 return This->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState);
34635}
34636static inline HRESULT IPackageDebugSettings_RegisterForPackageStateChanges(IPackageDebugSettings* This,LPCWSTR packageFullName,IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,DWORD *pdwCookie) {
34637 return This->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie);
34638}
34639static inline HRESULT IPackageDebugSettings_UnregisterForPackageStateChanges(IPackageDebugSettings* This,DWORD dwCookie) {
34640 return This->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie);
34641}
34642#endif
34643#endif
34644
34645#endif
34646
34647
34648#endif /* __IPackageDebugSettings_INTERFACE_DEFINED__ */
34649
34650
34651typedef enum AHE_TYPE {
34652 AHE_DESKTOP = 0,
34653 AHE_IMMERSIVE = 1
34654} AHE_TYPE;
34655
34656/*****************************************************************************
34657 * IExecuteCommandApplicationHostEnvironment interface
34658 */
34659#ifndef __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__
34660#define __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__
34661
34662DEFINE_GUID(IID_IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3);
34663#if defined(__cplusplus) && !defined(CINTERFACE)
34664MIDL_INTERFACE("18b21aa9-e184-4ff0-9f5e-f882d03771b3")
34665IExecuteCommandApplicationHostEnvironment : public IUnknown
34666{
34667 virtual HRESULT STDMETHODCALLTYPE GetValue(
34668 AHE_TYPE *pahe) = 0;
34669
34670};
34671#ifdef __CRT_UUID_DECL
34672__CRT_UUID_DECL(IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3)
34673#endif
34674#else
34675typedef struct IExecuteCommandApplicationHostEnvironmentVtbl {
34676 BEGIN_INTERFACE
34677
34678 /*** IUnknown methods ***/
34679 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34680 IExecuteCommandApplicationHostEnvironment *This,
34681 REFIID riid,
34682 void **ppvObject);
34683
34684 ULONG (STDMETHODCALLTYPE *AddRef)(
34685 IExecuteCommandApplicationHostEnvironment *This);
34686
34687 ULONG (STDMETHODCALLTYPE *Release)(
34688 IExecuteCommandApplicationHostEnvironment *This);
34689
34690 /*** IExecuteCommandApplicationHostEnvironment methods ***/
34691 HRESULT (STDMETHODCALLTYPE *GetValue)(
34692 IExecuteCommandApplicationHostEnvironment *This,
34693 AHE_TYPE *pahe);
34694
34695 END_INTERFACE
34696} IExecuteCommandApplicationHostEnvironmentVtbl;
34697
34698interface IExecuteCommandApplicationHostEnvironment {
34699 CONST_VTBL IExecuteCommandApplicationHostEnvironmentVtbl* lpVtbl;
34700};
34701
34702#ifdef COBJMACROS
34703#ifndef WIDL_C_INLINE_WRAPPERS
34704/*** IUnknown methods ***/
34705#define IExecuteCommandApplicationHostEnvironment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34706#define IExecuteCommandApplicationHostEnvironment_AddRef(This) (This)->lpVtbl->AddRef(This)
34707#define IExecuteCommandApplicationHostEnvironment_Release(This) (This)->lpVtbl->Release(This)
34708/*** IExecuteCommandApplicationHostEnvironment methods ***/
34709#define IExecuteCommandApplicationHostEnvironment_GetValue(This,pahe) (This)->lpVtbl->GetValue(This,pahe)
34710#else
34711/*** IUnknown methods ***/
34712static inline HRESULT IExecuteCommandApplicationHostEnvironment_QueryInterface(IExecuteCommandApplicationHostEnvironment* This,REFIID riid,void **ppvObject) {
34713 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34714}
34715static inline ULONG IExecuteCommandApplicationHostEnvironment_AddRef(IExecuteCommandApplicationHostEnvironment* This) {
34716 return This->lpVtbl->AddRef(This);
34717}
34718static inline ULONG IExecuteCommandApplicationHostEnvironment_Release(IExecuteCommandApplicationHostEnvironment* This) {
34719 return This->lpVtbl->Release(This);
34720}
34721/*** IExecuteCommandApplicationHostEnvironment methods ***/
34722static inline HRESULT IExecuteCommandApplicationHostEnvironment_GetValue(IExecuteCommandApplicationHostEnvironment* This,AHE_TYPE *pahe) {
34723 return This->lpVtbl->GetValue(This,pahe);
34724}
34725#endif
34726#endif
34727
34728#endif
34729
34730
34731#endif /* __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__ */
34732
34733
34734typedef enum EC_HOST_UI_MODE {
34735 ECHUIM_DESKTOP = 0,
34736 ECHUIM_IMMERSIVE = 1,
34737 ECHUIM_SYSTEM_LAUNCHER = 2
34738} EC_HOST_UI_MODE;
34739
34740/*****************************************************************************
34741 * IExecuteCommandHost interface
34742 */
34743#ifndef __IExecuteCommandHost_INTERFACE_DEFINED__
34744#define __IExecuteCommandHost_INTERFACE_DEFINED__
34745
34746DEFINE_GUID(IID_IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7);
34747#if defined(__cplusplus) && !defined(CINTERFACE)
34748MIDL_INTERFACE("4b6832a2-5f04-4c9d-b89d-727a15d103e7")
34749IExecuteCommandHost : public IUnknown
34750{
34751 virtual HRESULT STDMETHODCALLTYPE GetUIMode(
34752 EC_HOST_UI_MODE *pUIMode) = 0;
34753
34754};
34755#ifdef __CRT_UUID_DECL
34756__CRT_UUID_DECL(IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7)
34757#endif
34758#else
34759typedef struct IExecuteCommandHostVtbl {
34760 BEGIN_INTERFACE
34761
34762 /*** IUnknown methods ***/
34763 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34764 IExecuteCommandHost *This,
34765 REFIID riid,
34766 void **ppvObject);
34767
34768 ULONG (STDMETHODCALLTYPE *AddRef)(
34769 IExecuteCommandHost *This);
34770
34771 ULONG (STDMETHODCALLTYPE *Release)(
34772 IExecuteCommandHost *This);
34773
34774 /*** IExecuteCommandHost methods ***/
34775 HRESULT (STDMETHODCALLTYPE *GetUIMode)(
34776 IExecuteCommandHost *This,
34777 EC_HOST_UI_MODE *pUIMode);
34778
34779 END_INTERFACE
34780} IExecuteCommandHostVtbl;
34781
34782interface IExecuteCommandHost {
34783 CONST_VTBL IExecuteCommandHostVtbl* lpVtbl;
34784};
34785
34786#ifdef COBJMACROS
34787#ifndef WIDL_C_INLINE_WRAPPERS
34788/*** IUnknown methods ***/
34789#define IExecuteCommandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34790#define IExecuteCommandHost_AddRef(This) (This)->lpVtbl->AddRef(This)
34791#define IExecuteCommandHost_Release(This) (This)->lpVtbl->Release(This)
34792/*** IExecuteCommandHost methods ***/
34793#define IExecuteCommandHost_GetUIMode(This,pUIMode) (This)->lpVtbl->GetUIMode(This,pUIMode)
34794#else
34795/*** IUnknown methods ***/
34796static inline HRESULT IExecuteCommandHost_QueryInterface(IExecuteCommandHost* This,REFIID riid,void **ppvObject) {
34797 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34798}
34799static inline ULONG IExecuteCommandHost_AddRef(IExecuteCommandHost* This) {
34800 return This->lpVtbl->AddRef(This);
34801}
34802static inline ULONG IExecuteCommandHost_Release(IExecuteCommandHost* This) {
34803 return This->lpVtbl->Release(This);
34804}
34805/*** IExecuteCommandHost methods ***/
34806static inline HRESULT IExecuteCommandHost_GetUIMode(IExecuteCommandHost* This,EC_HOST_UI_MODE *pUIMode) {
34807 return This->lpVtbl->GetUIMode(This,pUIMode);
34808}
34809#endif
34810#endif
34811
34812#endif
34813
34814
34815#endif /* __IExecuteCommandHost_INTERFACE_DEFINED__ */
34816
34817
34818#define SID_ExecuteCommandHost IID_IExecuteCommandHost
34819
34820typedef enum APPLICATION_VIEW_STATE {
34821 AVS_FULLSCREEN_LANDSCAPE = 0,
34822 AVS_FILLED = 1,
34823 AVS_SNAPPED = 2,
34824 AVS_FULLSCREEN_PORTRAIT = 3
34825} APPLICATION_VIEW_STATE;
34826
34827typedef enum EDGE_GESTURE_KIND {
34828 EGK_TOUCH = 0,
34829 EGK_KEYBOARD = 1,
34830 EGK_MOUSE = 2
34831} EDGE_GESTURE_KIND;
34832
34833/*****************************************************************************
34834 * IApplicationDesignModeSettings interface
34835 */
34836#ifndef __IApplicationDesignModeSettings_INTERFACE_DEFINED__
34837#define __IApplicationDesignModeSettings_INTERFACE_DEFINED__
34838
34839DEFINE_GUID(IID_IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57);
34840#if defined(__cplusplus) && !defined(CINTERFACE)
34841MIDL_INTERFACE("2a3dee9a-e31d-46d6-8508-bcc597db3557")
34842IApplicationDesignModeSettings : public IUnknown
34843{
34844 virtual HRESULT STDMETHODCALLTYPE SetNativeDisplaySize(
34845 SIZE sizeNativeDisplay) = 0;
34846
34847 virtual HRESULT STDMETHODCALLTYPE SetScaleFactor(
34848 DEVICE_SCALE_FACTOR scaleFactor) = 0;
34849
34850 virtual HRESULT STDMETHODCALLTYPE SetApplicationViewState(
34851 APPLICATION_VIEW_STATE viewState) = 0;
34852
34853 virtual HRESULT STDMETHODCALLTYPE ComputeApplicationSize(
34854 SIZE *psizeApplication) = 0;
34855
34856 virtual HRESULT STDMETHODCALLTYPE IsApplicationViewStateSupported(
34857 APPLICATION_VIEW_STATE viewState,
34858 SIZE sizeNativeDisplay,
34859 DEVICE_SCALE_FACTOR scaleFactor,
34860 WINBOOL *pfSupported) = 0;
34861
34862 virtual HRESULT STDMETHODCALLTYPE TriggerEdgeGesture(
34863 EDGE_GESTURE_KIND edgeGestureKind) = 0;
34864
34865};
34866#ifdef __CRT_UUID_DECL
34867__CRT_UUID_DECL(IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57)
34868#endif
34869#else
34870typedef struct IApplicationDesignModeSettingsVtbl {
34871 BEGIN_INTERFACE
34872
34873 /*** IUnknown methods ***/
34874 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34875 IApplicationDesignModeSettings *This,
34876 REFIID riid,
34877 void **ppvObject);
34878
34879 ULONG (STDMETHODCALLTYPE *AddRef)(
34880 IApplicationDesignModeSettings *This);
34881
34882 ULONG (STDMETHODCALLTYPE *Release)(
34883 IApplicationDesignModeSettings *This);
34884
34885 /*** IApplicationDesignModeSettings methods ***/
34886 HRESULT (STDMETHODCALLTYPE *SetNativeDisplaySize)(
34887 IApplicationDesignModeSettings *This,
34888 SIZE sizeNativeDisplay);
34889
34890 HRESULT (STDMETHODCALLTYPE *SetScaleFactor)(
34891 IApplicationDesignModeSettings *This,
34892 DEVICE_SCALE_FACTOR scaleFactor);
34893
34894 HRESULT (STDMETHODCALLTYPE *SetApplicationViewState)(
34895 IApplicationDesignModeSettings *This,
34896 APPLICATION_VIEW_STATE viewState);
34897
34898 HRESULT (STDMETHODCALLTYPE *ComputeApplicationSize)(
34899 IApplicationDesignModeSettings *This,
34900 SIZE *psizeApplication);
34901
34902 HRESULT (STDMETHODCALLTYPE *IsApplicationViewStateSupported)(
34903 IApplicationDesignModeSettings *This,
34904 APPLICATION_VIEW_STATE viewState,
34905 SIZE sizeNativeDisplay,
34906 DEVICE_SCALE_FACTOR scaleFactor,
34907 WINBOOL *pfSupported);
34908
34909 HRESULT (STDMETHODCALLTYPE *TriggerEdgeGesture)(
34910 IApplicationDesignModeSettings *This,
34911 EDGE_GESTURE_KIND edgeGestureKind);
34912
34913 END_INTERFACE
34914} IApplicationDesignModeSettingsVtbl;
34915
34916interface IApplicationDesignModeSettings {
34917 CONST_VTBL IApplicationDesignModeSettingsVtbl* lpVtbl;
34918};
34919
34920#ifdef COBJMACROS
34921#ifndef WIDL_C_INLINE_WRAPPERS
34922/*** IUnknown methods ***/
34923#define IApplicationDesignModeSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
34924#define IApplicationDesignModeSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
34925#define IApplicationDesignModeSettings_Release(This) (This)->lpVtbl->Release(This)
34926/*** IApplicationDesignModeSettings methods ***/
34927#define IApplicationDesignModeSettings_SetNativeDisplaySize(This,sizeNativeDisplay) (This)->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay)
34928#define IApplicationDesignModeSettings_SetScaleFactor(This,scaleFactor) (This)->lpVtbl->SetScaleFactor(This,scaleFactor)
34929#define IApplicationDesignModeSettings_SetApplicationViewState(This,viewState) (This)->lpVtbl->SetApplicationViewState(This,viewState)
34930#define IApplicationDesignModeSettings_ComputeApplicationSize(This,psizeApplication) (This)->lpVtbl->ComputeApplicationSize(This,psizeApplication)
34931#define IApplicationDesignModeSettings_IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported) (This)->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported)
34932#define IApplicationDesignModeSettings_TriggerEdgeGesture(This,edgeGestureKind) (This)->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind)
34933#else
34934/*** IUnknown methods ***/
34935static inline HRESULT IApplicationDesignModeSettings_QueryInterface(IApplicationDesignModeSettings* This,REFIID riid,void **ppvObject) {
34936 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
34937}
34938static inline ULONG IApplicationDesignModeSettings_AddRef(IApplicationDesignModeSettings* This) {
34939 return This->lpVtbl->AddRef(This);
34940}
34941static inline ULONG IApplicationDesignModeSettings_Release(IApplicationDesignModeSettings* This) {
34942 return This->lpVtbl->Release(This);
34943}
34944/*** IApplicationDesignModeSettings methods ***/
34945static inline HRESULT IApplicationDesignModeSettings_SetNativeDisplaySize(IApplicationDesignModeSettings* This,SIZE sizeNativeDisplay) {
34946 return This->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay);
34947}
34948static inline HRESULT IApplicationDesignModeSettings_SetScaleFactor(IApplicationDesignModeSettings* This,DEVICE_SCALE_FACTOR scaleFactor) {
34949 return This->lpVtbl->SetScaleFactor(This,scaleFactor);
34950}
34951static inline HRESULT IApplicationDesignModeSettings_SetApplicationViewState(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState) {
34952 return This->lpVtbl->SetApplicationViewState(This,viewState);
34953}
34954static inline HRESULT IApplicationDesignModeSettings_ComputeApplicationSize(IApplicationDesignModeSettings* This,SIZE *psizeApplication) {
34955 return This->lpVtbl->ComputeApplicationSize(This,psizeApplication);
34956}
34957static inline HRESULT IApplicationDesignModeSettings_IsApplicationViewStateSupported(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState,SIZE sizeNativeDisplay,DEVICE_SCALE_FACTOR scaleFactor,WINBOOL *pfSupported) {
34958 return This->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported);
34959}
34960static inline HRESULT IApplicationDesignModeSettings_TriggerEdgeGesture(IApplicationDesignModeSettings* This,EDGE_GESTURE_KIND edgeGestureKind) {
34961 return This->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind);
34962}
34963#endif
34964#endif
34965
34966#endif
34967
34968
34969#endif /* __IApplicationDesignModeSettings_INTERFACE_DEFINED__ */
34970
34971
34972/*****************************************************************************
34973 * IInitializeWithWindow interface
34974 */
34975#ifndef __IInitializeWithWindow_INTERFACE_DEFINED__
34976#define __IInitializeWithWindow_INTERFACE_DEFINED__
34977
34978DEFINE_GUID(IID_IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1);
34979#if defined(__cplusplus) && !defined(CINTERFACE)
34980MIDL_INTERFACE("3e68d4bd-7135-4d10-8018-9fb6d9f33fa1")
34981IInitializeWithWindow : public IUnknown
34982{
34983 virtual HRESULT STDMETHODCALLTYPE Initialize(
34984 HWND hwnd) = 0;
34985
34986};
34987#ifdef __CRT_UUID_DECL
34988__CRT_UUID_DECL(IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1)
34989#endif
34990#else
34991typedef struct IInitializeWithWindowVtbl {
34992 BEGIN_INTERFACE
34993
34994 /*** IUnknown methods ***/
34995 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
34996 IInitializeWithWindow *This,
34997 REFIID riid,
34998 void **ppvObject);
34999
35000 ULONG (STDMETHODCALLTYPE *AddRef)(
35001 IInitializeWithWindow *This);
35002
35003 ULONG (STDMETHODCALLTYPE *Release)(
35004 IInitializeWithWindow *This);
35005
35006 /*** IInitializeWithWindow methods ***/
35007 HRESULT (STDMETHODCALLTYPE *Initialize)(
35008 IInitializeWithWindow *This,
35009 HWND hwnd);
35010
35011 END_INTERFACE
35012} IInitializeWithWindowVtbl;
35013
35014interface IInitializeWithWindow {
35015 CONST_VTBL IInitializeWithWindowVtbl* lpVtbl;
35016};
35017
35018#ifdef COBJMACROS
35019#ifndef WIDL_C_INLINE_WRAPPERS
35020/*** IUnknown methods ***/
35021#define IInitializeWithWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
35022#define IInitializeWithWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
35023#define IInitializeWithWindow_Release(This) (This)->lpVtbl->Release(This)
35024/*** IInitializeWithWindow methods ***/
35025#define IInitializeWithWindow_Initialize(This,hwnd) (This)->lpVtbl->Initialize(This,hwnd)
35026#else
35027/*** IUnknown methods ***/
35028static inline HRESULT IInitializeWithWindow_QueryInterface(IInitializeWithWindow* This,REFIID riid,void **ppvObject) {
35029 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
35030}
35031static inline ULONG IInitializeWithWindow_AddRef(IInitializeWithWindow* This) {
35032 return This->lpVtbl->AddRef(This);
35033}
35034static inline ULONG IInitializeWithWindow_Release(IInitializeWithWindow* This) {
35035 return This->lpVtbl->Release(This);
35036}
35037/*** IInitializeWithWindow methods ***/
35038static inline HRESULT IInitializeWithWindow_Initialize(IInitializeWithWindow* This,HWND hwnd) {
35039 return This->lpVtbl->Initialize(This,hwnd);
35040}
35041#endif
35042#endif
35043
35044#endif
35045
35046
35047#endif /* __IInitializeWithWindow_INTERFACE_DEFINED__ */
35048
35049
35050/*****************************************************************************
35051 * IHandlerInfo interface
35052 */
35053#ifndef __IHandlerInfo_INTERFACE_DEFINED__
35054#define __IHandlerInfo_INTERFACE_DEFINED__
35055
35056DEFINE_GUID(IID_IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a);
35057#if defined(__cplusplus) && !defined(CINTERFACE)
35058MIDL_INTERFACE("997706ef-f880-453b-8118-39e1a2d2655a")
35059IHandlerInfo : public IUnknown
35060{
35061 virtual HRESULT STDMETHODCALLTYPE GetApplicationDisplayName(
35062 LPWSTR *value) = 0;
35063
35064 virtual HRESULT STDMETHODCALLTYPE GetApplicationPublisher(
35065 LPWSTR *value) = 0;
35066
35067 virtual HRESULT STDMETHODCALLTYPE GetApplicationIconReference(
35068 LPWSTR *value) = 0;
35069
35070};
35071#ifdef __CRT_UUID_DECL
35072__CRT_UUID_DECL(IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a)
35073#endif
35074#else
35075typedef struct IHandlerInfoVtbl {
35076 BEGIN_INTERFACE
35077
35078 /*** IUnknown methods ***/
35079 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
35080 IHandlerInfo *This,
35081 REFIID riid,
35082 void **ppvObject);
35083
35084 ULONG (STDMETHODCALLTYPE *AddRef)(
35085 IHandlerInfo *This);
35086
35087 ULONG (STDMETHODCALLTYPE *Release)(
35088 IHandlerInfo *This);
35089
35090 /*** IHandlerInfo methods ***/
35091 HRESULT (STDMETHODCALLTYPE *GetApplicationDisplayName)(
35092 IHandlerInfo *This,
35093 LPWSTR *value);
35094
35095 HRESULT (STDMETHODCALLTYPE *GetApplicationPublisher)(
35096 IHandlerInfo *This,
35097 LPWSTR *value);
35098
35099 HRESULT (STDMETHODCALLTYPE *GetApplicationIconReference)(
35100 IHandlerInfo *This,
35101 LPWSTR *value);
35102
35103 END_INTERFACE
35104} IHandlerInfoVtbl;
35105
35106interface IHandlerInfo {
35107 CONST_VTBL IHandlerInfoVtbl* lpVtbl;
35108};
35109
35110#ifdef COBJMACROS
35111#ifndef WIDL_C_INLINE_WRAPPERS
35112/*** IUnknown methods ***/
35113#define IHandlerInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
35114#define IHandlerInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
35115#define IHandlerInfo_Release(This) (This)->lpVtbl->Release(This)
35116/*** IHandlerInfo methods ***/
35117#define IHandlerInfo_GetApplicationDisplayName(This,value) (This)->lpVtbl->GetApplicationDisplayName(This,value)
35118#define IHandlerInfo_GetApplicationPublisher(This,value) (This)->lpVtbl->GetApplicationPublisher(This,value)
35119#define IHandlerInfo_GetApplicationIconReference(This,value) (This)->lpVtbl->GetApplicationIconReference(This,value)
35120#else
35121/*** IUnknown methods ***/
35122static inline HRESULT IHandlerInfo_QueryInterface(IHandlerInfo* This,REFIID riid,void **ppvObject) {
35123 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
35124}
35125static inline ULONG IHandlerInfo_AddRef(IHandlerInfo* This) {
35126 return This->lpVtbl->AddRef(This);
35127}
35128static inline ULONG IHandlerInfo_Release(IHandlerInfo* This) {
35129 return This->lpVtbl->Release(This);
35130}
35131/*** IHandlerInfo methods ***/
35132static inline HRESULT IHandlerInfo_GetApplicationDisplayName(IHandlerInfo* This,LPWSTR *value) {
35133 return This->lpVtbl->GetApplicationDisplayName(This,value);
35134}
35135static inline HRESULT IHandlerInfo_GetApplicationPublisher(IHandlerInfo* This,LPWSTR *value) {
35136 return This->lpVtbl->GetApplicationPublisher(This,value);
35137}
35138static inline HRESULT IHandlerInfo_GetApplicationIconReference(IHandlerInfo* This,LPWSTR *value) {
35139 return This->lpVtbl->GetApplicationIconReference(This,value);
35140}
35141#endif
35142#endif
35143
35144#endif
35145
35146
35147#endif /* __IHandlerInfo_INTERFACE_DEFINED__ */
35148
35149
35150/*****************************************************************************
35151 * IHandlerActivationHost interface
35152 */
35153#ifndef __IHandlerActivationHost_INTERFACE_DEFINED__
35154#define __IHandlerActivationHost_INTERFACE_DEFINED__
35155
35156DEFINE_GUID(IID_IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78);
35157#if defined(__cplusplus) && !defined(CINTERFACE)
35158MIDL_INTERFACE("35094a87-8bb1-4237-96c6-c417eebdb078")
35159IHandlerActivationHost : public IUnknown
35160{
35161 virtual HRESULT STDMETHODCALLTYPE BeforeCoCreateInstance(
35162 REFCLSID clsidHandler,
35163 IShellItemArray *itemsBeingActivated,
35164 IHandlerInfo *handlerInfo) = 0;
35165
35166 virtual HRESULT STDMETHODCALLTYPE BeforeCreateProcess(
35167 LPCWSTR applicationPath,
35168 LPCWSTR commandLine,
35169 IHandlerInfo *handlerInfo) = 0;
35170
35171};
35172#ifdef __CRT_UUID_DECL
35173__CRT_UUID_DECL(IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78)
35174#endif
35175#else
35176typedef struct IHandlerActivationHostVtbl {
35177 BEGIN_INTERFACE
35178
35179 /*** IUnknown methods ***/
35180 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
35181 IHandlerActivationHost *This,
35182 REFIID riid,
35183 void **ppvObject);
35184
35185 ULONG (STDMETHODCALLTYPE *AddRef)(
35186 IHandlerActivationHost *This);
35187
35188 ULONG (STDMETHODCALLTYPE *Release)(
35189 IHandlerActivationHost *This);
35190
35191 /*** IHandlerActivationHost methods ***/
35192 HRESULT (STDMETHODCALLTYPE *BeforeCoCreateInstance)(
35193 IHandlerActivationHost *This,
35194 REFCLSID clsidHandler,
35195 IShellItemArray *itemsBeingActivated,
35196 IHandlerInfo *handlerInfo);
35197
35198 HRESULT (STDMETHODCALLTYPE *BeforeCreateProcess)(
35199 IHandlerActivationHost *This,
35200 LPCWSTR applicationPath,
35201 LPCWSTR commandLine,
35202 IHandlerInfo *handlerInfo);
35203
35204 END_INTERFACE
35205} IHandlerActivationHostVtbl;
35206
35207interface IHandlerActivationHost {
35208 CONST_VTBL IHandlerActivationHostVtbl* lpVtbl;
35209};
35210
35211#ifdef COBJMACROS
35212#ifndef WIDL_C_INLINE_WRAPPERS
35213/*** IUnknown methods ***/
35214#define IHandlerActivationHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
35215#define IHandlerActivationHost_AddRef(This) (This)->lpVtbl->AddRef(This)
35216#define IHandlerActivationHost_Release(This) (This)->lpVtbl->Release(This)
35217/*** IHandlerActivationHost methods ***/
35218#define IHandlerActivationHost_BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo) (This)->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo)
35219#define IHandlerActivationHost_BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo) (This)->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo)
35220#else
35221/*** IUnknown methods ***/
35222static inline HRESULT IHandlerActivationHost_QueryInterface(IHandlerActivationHost* This,REFIID riid,void **ppvObject) {
35223 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
35224}
35225static inline ULONG IHandlerActivationHost_AddRef(IHandlerActivationHost* This) {
35226 return This->lpVtbl->AddRef(This);
35227}
35228static inline ULONG IHandlerActivationHost_Release(IHandlerActivationHost* This) {
35229 return This->lpVtbl->Release(This);
35230}
35231/*** IHandlerActivationHost methods ***/
35232static inline HRESULT IHandlerActivationHost_BeforeCoCreateInstance(IHandlerActivationHost* This,REFCLSID clsidHandler,IShellItemArray *itemsBeingActivated,IHandlerInfo *handlerInfo) {
35233 return This->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo);
35234}
35235static inline HRESULT IHandlerActivationHost_BeforeCreateProcess(IHandlerActivationHost* This,LPCWSTR applicationPath,LPCWSTR commandLine,IHandlerInfo *handlerInfo) {
35236 return This->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo);
35237}
35238#endif
35239#endif
35240
35241#endif
35242
35243
35244#endif /* __IHandlerActivationHost_INTERFACE_DEFINED__ */
35245
35246
35247#define SID_SHandlerActivationHost IID_IHandlerActivationHost
35248
35249DEFINE_GUID(SID_ShellExecuteNamedPropertyStore, 0xeb84ada2, 0x00ff, 0x4992, 0x83, 0x24, 0xed, 0x5c, 0xe0, 0x61, 0xcb, 0x29);
35250#endif
35251
35252#endif
35253/* Begin additional prototypes for all interfaces */
35254
35255ULONG __RPC_USER PCIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PCIDLIST_ABSOLUTE *);
35256unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *);
35257unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *);
35258void __RPC_USER PCIDLIST_ABSOLUTE_UserFree (ULONG *, PCIDLIST_ABSOLUTE *);
35259ULONG __RPC_USER PIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PIDLIST_ABSOLUTE *);
35260unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PIDLIST_ABSOLUTE *);
35261unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_ABSOLUTE *);
35262void __RPC_USER PIDLIST_ABSOLUTE_UserFree (ULONG *, PIDLIST_ABSOLUTE *);
35263ULONG __RPC_USER PITEMID_CHILD_UserSize (ULONG *, ULONG, PITEMID_CHILD *);
35264unsigned char * __RPC_USER PITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PITEMID_CHILD *);
35265unsigned char * __RPC_USER PITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PITEMID_CHILD *);
35266void __RPC_USER PITEMID_CHILD_UserFree (ULONG *, PITEMID_CHILD *);
35267ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
35268unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
35269unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
35270void __RPC_USER HWND_UserFree (ULONG *, HWND *);
35271ULONG __RPC_USER PIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PIDLIST_RELATIVE *);
35272unsigned char * __RPC_USER PIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PIDLIST_RELATIVE *);
35273unsigned char * __RPC_USER PIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_RELATIVE *);
35274void __RPC_USER PIDLIST_RELATIVE_UserFree (ULONG *, PIDLIST_RELATIVE *);
35275ULONG __RPC_USER PCUIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PCUIDLIST_RELATIVE *);
35276unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PCUIDLIST_RELATIVE *);
35277unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PCUIDLIST_RELATIVE *);
35278void __RPC_USER PCUIDLIST_RELATIVE_UserFree (ULONG *, PCUIDLIST_RELATIVE *);
35279ULONG __RPC_USER PCUITEMID_CHILD_UserSize (ULONG *, ULONG, PCUITEMID_CHILD *);
35280unsigned char * __RPC_USER PCUITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PCUITEMID_CHILD *);
35281unsigned char * __RPC_USER PCUITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PCUITEMID_CHILD *);
35282void __RPC_USER PCUITEMID_CHILD_UserFree (ULONG *, PCUITEMID_CHILD *);
35283ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
35284unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
35285unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
35286void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
35287ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
35288unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
35289unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
35290void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
35291ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
35292unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
35293unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
35294void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
35295ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
35296unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
35297unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
35298void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
35299ULONG __RPC_USER HMENU_UserSize (ULONG *, ULONG, HMENU *);
35300unsigned char * __RPC_USER HMENU_UserMarshal (ULONG *, unsigned char *, HMENU *);
35301unsigned char * __RPC_USER HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *);
35302void __RPC_USER HMENU_UserFree (ULONG *, HMENU *);
35303ULONG __RPC_USER HGLOBAL_UserSize (ULONG *, ULONG, HGLOBAL *);
35304unsigned char * __RPC_USER HGLOBAL_UserMarshal (ULONG *, unsigned char *, HGLOBAL *);
35305unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *);
35306void __RPC_USER HGLOBAL_UserFree (ULONG *, HGLOBAL *);
35307ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *);
35308unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *);
35309unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
35310void __RPC_USER HICON_UserFree (ULONG *, HICON *);
35311ULONG __RPC_USER HACCEL_UserSize (ULONG *, ULONG, HACCEL *);
35312unsigned char * __RPC_USER HACCEL_UserMarshal (ULONG *, unsigned char *, HACCEL *);
35313unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
35314void __RPC_USER HACCEL_UserFree (ULONG *, HACCEL *);
35315ULONG __RPC_USER HMONITOR_UserSize (ULONG *, ULONG, HMONITOR *);
35316unsigned char * __RPC_USER HMONITOR_UserMarshal (ULONG *, unsigned char *, HMONITOR *);
35317unsigned char * __RPC_USER HMONITOR_UserUnmarshal(ULONG *, unsigned char *, HMONITOR *);
35318void __RPC_USER HMONITOR_UserFree (ULONG *, HMONITOR *);
35319
35320/* End additional prototypes */
35321
35322#ifdef __cplusplus
35323}
35324#endif
35325
35326#endif /* __shobjidl_h__ */