1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __mmc_h__
23 #define __mmc_h__
24 
25 #ifndef __IComponentData_FWD_DEFINED__
26 #define __IComponentData_FWD_DEFINED__
27 typedef struct IComponentData IComponentData;
28 #endif
29 
30 #ifndef __IComponent_FWD_DEFINED__
31 #define __IComponent_FWD_DEFINED__
32 typedef struct IComponent IComponent;
33 #endif
34 
35 #ifndef __IResultDataCompare_FWD_DEFINED__
36 #define __IResultDataCompare_FWD_DEFINED__
37 typedef struct IResultDataCompare IResultDataCompare;
38 #endif
39 
40 #ifndef __IResultOwnerData_FWD_DEFINED__
41 #define __IResultOwnerData_FWD_DEFINED__
42 typedef struct IResultOwnerData IResultOwnerData;
43 #endif
44 
45 #ifndef __IConsole_FWD_DEFINED__
46 #define __IConsole_FWD_DEFINED__
47 typedef struct IConsole IConsole;
48 #endif
49 
50 #ifndef __IHeaderCtrl_FWD_DEFINED__
51 #define __IHeaderCtrl_FWD_DEFINED__
52 typedef struct IHeaderCtrl IHeaderCtrl;
53 #endif
54 
55 #ifndef __IContextMenuCallback_FWD_DEFINED__
56 #define __IContextMenuCallback_FWD_DEFINED__
57 typedef struct IContextMenuCallback IContextMenuCallback;
58 #endif
59 
60 #ifndef __IContextMenuProvider_FWD_DEFINED__
61 #define __IContextMenuProvider_FWD_DEFINED__
62 typedef struct IContextMenuProvider IContextMenuProvider;
63 #endif
64 
65 #ifndef __IExtendContextMenu_FWD_DEFINED__
66 #define __IExtendContextMenu_FWD_DEFINED__
67 typedef struct IExtendContextMenu IExtendContextMenu;
68 #endif
69 
70 #ifndef __IImageList_FWD_DEFINED__
71 #define __IImageList_FWD_DEFINED__
72 typedef struct IImageList IImageList;
73 #endif
74 
75 #ifndef __IResultData_FWD_DEFINED__
76 #define __IResultData_FWD_DEFINED__
77 typedef struct IResultData IResultData;
78 #endif
79 
80 #ifndef __IConsoleNameSpace_FWD_DEFINED__
81 #define __IConsoleNameSpace_FWD_DEFINED__
82 typedef struct IConsoleNameSpace IConsoleNameSpace;
83 #endif
84 
85 #ifndef __IConsoleNameSpace2_FWD_DEFINED__
86 #define __IConsoleNameSpace2_FWD_DEFINED__
87 typedef struct IConsoleNameSpace2 IConsoleNameSpace2;
88 #endif
89 
90 #ifndef __IPropertySheetCallback_FWD_DEFINED__
91 #define __IPropertySheetCallback_FWD_DEFINED__
92 typedef struct IPropertySheetCallback IPropertySheetCallback;
93 #endif
94 
95 #ifndef __IPropertySheetProvider_FWD_DEFINED__
96 #define __IPropertySheetProvider_FWD_DEFINED__
97 typedef struct IPropertySheetProvider IPropertySheetProvider;
98 #endif
99 
100 #ifndef __IExtendPropertySheet_FWD_DEFINED__
101 #define __IExtendPropertySheet_FWD_DEFINED__
102 typedef struct IExtendPropertySheet IExtendPropertySheet;
103 #endif
104 
105 #ifndef __IControlbar_FWD_DEFINED__
106 #define __IControlbar_FWD_DEFINED__
107 typedef struct IControlbar IControlbar;
108 #endif
109 
110 #ifndef __IExtendControlbar_FWD_DEFINED__
111 #define __IExtendControlbar_FWD_DEFINED__
112 typedef struct IExtendControlbar IExtendControlbar;
113 #endif
114 
115 #ifndef __IToolbar_FWD_DEFINED__
116 #define __IToolbar_FWD_DEFINED__
117 typedef struct IToolbar IToolbar;
118 #endif
119 
120 #ifndef __IConsoleVerb_FWD_DEFINED__
121 #define __IConsoleVerb_FWD_DEFINED__
122 typedef struct IConsoleVerb IConsoleVerb;
123 #endif
124 
125 #ifndef __ISnapinAbout_FWD_DEFINED__
126 #define __ISnapinAbout_FWD_DEFINED__
127 typedef struct ISnapinAbout ISnapinAbout;
128 #endif
129 
130 #ifndef __IMenuButton_FWD_DEFINED__
131 #define __IMenuButton_FWD_DEFINED__
132 typedef struct IMenuButton IMenuButton;
133 #endif
134 
135 #ifndef __ISnapinHelp_FWD_DEFINED__
136 #define __ISnapinHelp_FWD_DEFINED__
137 typedef struct ISnapinHelp ISnapinHelp;
138 #endif
139 
140 #ifndef __IExtendPropertySheet2_FWD_DEFINED__
141 #define __IExtendPropertySheet2_FWD_DEFINED__
142 typedef struct IExtendPropertySheet2 IExtendPropertySheet2;
143 #endif
144 
145 #ifndef __IHeaderCtrl2_FWD_DEFINED__
146 #define __IHeaderCtrl2_FWD_DEFINED__
147 typedef struct IHeaderCtrl2 IHeaderCtrl2;
148 #endif
149 
150 #ifndef __ISnapinHelp2_FWD_DEFINED__
151 #define __ISnapinHelp2_FWD_DEFINED__
152 typedef struct ISnapinHelp2 ISnapinHelp2;
153 #endif
154 
155 #ifndef __IEnumTASK_FWD_DEFINED__
156 #define __IEnumTASK_FWD_DEFINED__
157 typedef struct IEnumTASK IEnumTASK;
158 #endif
159 
160 #ifndef __IExtendTaskPad_FWD_DEFINED__
161 #define __IExtendTaskPad_FWD_DEFINED__
162 typedef struct IExtendTaskPad IExtendTaskPad;
163 #endif
164 
165 #ifndef __IConsole2_FWD_DEFINED__
166 #define __IConsole2_FWD_DEFINED__
167 typedef struct IConsole2 IConsole2;
168 #endif
169 
170 #ifndef __IDisplayHelp_FWD_DEFINED__
171 #define __IDisplayHelp_FWD_DEFINED__
172 typedef struct IDisplayHelp IDisplayHelp;
173 #endif
174 
175 #ifndef __IRequiredExtensions_FWD_DEFINED__
176 #define __IRequiredExtensions_FWD_DEFINED__
177 typedef struct IRequiredExtensions IRequiredExtensions;
178 #endif
179 
180 #ifndef __IStringTable_FWD_DEFINED__
181 #define __IStringTable_FWD_DEFINED__
182 typedef struct IStringTable IStringTable;
183 #endif
184 
185 #ifndef __IColumnData_FWD_DEFINED__
186 #define __IColumnData_FWD_DEFINED__
187 typedef struct IColumnData IColumnData;
188 #endif
189 
190 #ifndef __IMessageView_FWD_DEFINED__
191 #define __IMessageView_FWD_DEFINED__
192 typedef struct IMessageView IMessageView;
193 #endif
194 
195 #ifndef __IResultDataCompareEx_FWD_DEFINED__
196 #define __IResultDataCompareEx_FWD_DEFINED__
197 typedef struct IResultDataCompareEx IResultDataCompareEx;
198 #endif
199 
200 #ifndef __IComponentData2_FWD_DEFINED__
201 #define __IComponentData2_FWD_DEFINED__
202 typedef struct IComponentData2 IComponentData2;
203 #endif
204 
205 #ifndef __IComponent2_FWD_DEFINED__
206 #define __IComponent2_FWD_DEFINED__
207 typedef struct IComponent2 IComponent2;
208 #endif
209 
210 #ifndef __IContextMenuCallback2_FWD_DEFINED__
211 #define __IContextMenuCallback2_FWD_DEFINED__
212 typedef struct IContextMenuCallback2 IContextMenuCallback2;
213 #endif
214 
215 #ifndef __IMMCVersionInfo_FWD_DEFINED__
216 #define __IMMCVersionInfo_FWD_DEFINED__
217 typedef struct IMMCVersionInfo IMMCVersionInfo;
218 #endif
219 
220 #ifndef __MMCVersionInfo_FWD_DEFINED__
221 #define __MMCVersionInfo_FWD_DEFINED__
222 #ifdef __cplusplus
223 typedef class MMCVersionInfo MMCVersionInfo;
224 #else
225 typedef struct MMCVersionInfo MMCVersionInfo;
226 #endif
227 #endif
228 
229 #ifndef __ConsolePower_FWD_DEFINED__
230 #define __ConsolePower_FWD_DEFINED__
231 #ifdef __cplusplus
232 typedef class ConsolePower ConsolePower;
233 #else
234 typedef struct ConsolePower ConsolePower;
235 #endif
236 #endif
237 
238 #ifndef __IExtendView_FWD_DEFINED__
239 #define __IExtendView_FWD_DEFINED__
240 typedef struct IExtendView IExtendView;
241 #endif
242 
243 #ifndef __IViewExtensionCallback_FWD_DEFINED__
244 #define __IViewExtensionCallback_FWD_DEFINED__
245 typedef struct IViewExtensionCallback IViewExtensionCallback;
246 #endif
247 
248 #ifndef __IConsolePower_FWD_DEFINED__
249 #define __IConsolePower_FWD_DEFINED__
250 typedef struct IConsolePower IConsolePower;
251 #endif
252 
253 #ifndef __IConsolePowerSink_FWD_DEFINED__
254 #define __IConsolePowerSink_FWD_DEFINED__
255 typedef struct IConsolePowerSink IConsolePowerSink;
256 #endif
257 
258 #ifndef __INodeProperties_FWD_DEFINED__
259 #define __INodeProperties_FWD_DEFINED__
260 typedef struct INodeProperties INodeProperties;
261 #endif
262 
263 #ifndef __IConsole3_FWD_DEFINED__
264 #define __IConsole3_FWD_DEFINED__
265 typedef struct IConsole3 IConsole3;
266 #endif
267 
268 #ifndef __IResultData2_FWD_DEFINED__
269 #define __IResultData2_FWD_DEFINED__
270 typedef struct IResultData2 IResultData2;
271 #endif
272 
273 #include "basetsd.h"
274 #include "oaidl.h"
275 
276 #ifdef __cplusplus
277 extern "C" {
278 #endif
279 
280 #ifndef __MIDL_user_allocate_free_DEFINED__
281 #define __MIDL_user_allocate_free_DEFINED__
282   void *__RPC_API MIDL_user_allocate(size_t);
283   void __RPC_API MIDL_user_free(void *);
284 #endif
285 
286 #ifndef MMC_VER
287 #define MMC_VER 0x0200
288 #endif
289 
290   typedef IConsole *LPCONSOLE;
291   typedef IHeaderCtrl *LPHEADERCTRL;
292   typedef IToolbar *LPTOOLBAR;
293   typedef IImageList *LPIMAGELIST;
294   typedef IResultData *LPRESULTDATA;
295   typedef IConsoleNameSpace *LPCONSOLENAMESPACE;
296   typedef IPropertySheetProvider *LPPROPERTYSHEETPROVIDER;
297   typedef IPropertySheetCallback *LPPROPERTYSHEETCALLBACK;
298   typedef IContextMenuProvider *LPCONTEXTMENUPROVIDER;
299   typedef IContextMenuCallback *LPCONTEXTMENUCALLBACK;
300   typedef IControlbar *LPCONTROLBAR;
301   typedef IConsoleVerb *LPCONSOLEVERB;
302   typedef IMenuButton *LPMENUBUTTON;
303 
304 #if (MMC_VER >= 0x0110)
305   typedef IConsole2 *LPCONSOLE2;
306   typedef IHeaderCtrl2 *LPHEADERCTRL2;
307   typedef IConsoleNameSpace2 *LPCONSOLENAMESPACE2;
308   typedef IDisplayHelp *LPDISPLAYHELP;
309   typedef IStringTable *LPSTRINGTABLE;
310 #endif
311 #if (MMC_VER >= 0x0120)
312   typedef IColumnData *LPCOLUMNDATA;
313   typedef IResultDataCompareEx *LPRESULTDATACOMPAREEX;
314 #endif
315 
316   typedef IComponent *LPCOMPONENT;
317   typedef IComponentData *LPCOMPONENTDATA;
318   typedef IExtendPropertySheet *LPEXTENDPROPERTYSHEET;
319   typedef IExtendContextMenu *LPEXTENDCONTEXTMENU;
320   typedef IExtendControlbar *LPEXTENDCONTROLBAR;
321   typedef IResultDataCompare *LPRESULTDATACOMPARE;
322   typedef IResultOwnerData *LPRESULTOWNERDATA;
323   typedef ISnapinAbout *LPSNAPABOUT;
324   typedef ISnapinAbout *LPSNAPINABOUT;
325   typedef ISnapinHelp *LPSNAPHELP;
326   typedef ISnapinHelp *LPSNAPINHELP;
327 
328 #if (MMC_VER >= 0x0110)
329   typedef IEnumTASK *LPENUMTASK;
330   typedef IExtendPropertySheet2 *LPEXTENDPROPERTYSHEET2;
331   typedef ISnapinHelp2 *LPSNAPINHELP2;
332   typedef IExtendTaskPad *LPEXTENDTASKPAD;
333   typedef IRequiredExtensions *LPREQUIREDEXTENSIONS;
334 #endif
335 #if (MMC_VER >= 0x0200)
336   typedef IComponent2 *LPCOMPONENT2;
337   typedef IComponentData2 *LPCOMPONENTDATA2;
338   typedef IExtendView *LPEXTENDVIEW;
339   typedef IViewExtensionCallback *LPVIEWEXTENSIONCALLBACK;
340   typedef IConsolePower *LPCONSOLEPOWER;
341   typedef IConsolePowerSink *LPCONSOLEPOWERSINK;
342   typedef IConsole3 *LPCONSOLE3;
343   typedef INodeProperties *LPNODEPROPERTIES;
344   typedef IResultData2 *LPRESULTDATA2;
345 #endif
346 
347   typedef BSTR *PBSTR;
348 
349 #define MMCLV_AUTO (-1)
350 #define MMCLV_NOPARAM (-2)
351 #define MMCLV_NOICON (-1)
352 #define MMCLV_VIEWSTYLE_ICON (0)
353 #define MMCLV_VIEWSTYLE_SMALLICON (0x2)
354 #define MMCLV_VIEWSTYLE_LIST (0x3)
355 #define MMCLV_VIEWSTYLE_REPORT (0x1)
356 #define MMCLV_VIEWSTYLE_FILTERED (0x4)
357 #define MMCLV_NOPTR (0)
358 #define MMCLV_UPDATE_NOINVALIDATEALL (0x1)
359 #define MMCLV_UPDATE_NOSCROLL (0x2)
360 
361   static unsigned short *MMC_CALLBACK = (unsigned short *)-1;
362 
363 #if (MMC_VER >= 0x0120)
364 #define MMC_IMAGECALLBACK (-1)
365 #define MMC_TEXTCALLBACK MMC_CALLBACK
366 #endif
367 
368   typedef LONG_PTR HSCOPEITEM;
369   typedef __LONG32 COMPONENTID;
370   typedef LONG_PTR HRESULTITEM;
371 
372 #define RDI_STR (0x2)
373 #define RDI_IMAGE (0x4)
374 #define RDI_STATE (0x8)
375 #define RDI_PARAM (0x10)
376 #define RDI_INDEX (0x20)
377 #define RDI_INDENT (0x40)
378 
379   typedef enum _MMC_RESULT_VIEW_STYLE {
380     MMC_SINGLESEL = 0x0001,MMC_SHOWSELALWAYS = 0x0002,MMC_NOSORTHEADER = 0x0004,
381 #if (MMC_VER >= 0x0120)
382     MMC_ENSUREFOCUSVISIBLE = 0x0008
383 #endif
384   } MMC_RESULT_VIEW_STYLE;
385 
386 #define MMC_VIEW_OPTIONS_NONE (0)
387 #define MMC_VIEW_OPTIONS_NOLISTVIEWS (0x1)
388 #define MMC_VIEW_OPTIONS_MULTISELECT (0x2)
389 #define MMC_VIEW_OPTIONS_OWNERDATALIST (0x4)
390 #define MMC_VIEW_OPTIONS_FILTERED (0x8)
391 #define MMC_VIEW_OPTIONS_CREATENEW (0x10)
392 #if (MMC_VER >= 0x0110)
393 #define MMC_VIEW_OPTIONS_USEFONTLINKING (0x20)
394 #endif
395 #if (MMC_VER >= 0x0120)
396 #define MMC_VIEW_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST (0x40)
397 #define MMC_VIEW_OPTIONS_LEXICAL_SORT (0x80)
398 #endif
399 
400 #define MMC_PSO_NOAPPLYNOW (0x1)
401 #define MMC_PSO_HASHELP (0x2)
402 #define MMC_PSO_NEWWIZARDTYPE (0x4)
403 #define MMC_PSO_NO_PROPTITLE (0x8)
404 
405   typedef enum _MMC_CONTROL_TYPE {
406     TOOLBAR = 0,MENUBUTTON,COMBOBOXBAR
407   } MMC_CONTROL_TYPE;
408 
409   typedef enum _MMC_CONSOLE_VERB {
410     MMC_VERB_NONE = 0x0000,MMC_VERB_OPEN = 0x8000,MMC_VERB_COPY = 0x8001,MMC_VERB_PASTE = 0x8002,MMC_VERB_DELETE = 0x8003,MMC_VERB_PROPERTIES = 0x8004,
411     MMC_VERB_RENAME = 0x8005,MMC_VERB_REFRESH = 0x8006,MMC_VERB_PRINT = 0x8007,
412 #if (MMC_VER >= 0x0110)
413     MMC_VERB_CUT = 0x8008,MMC_VERB_MAX,MMC_VERB_FIRST = MMC_VERB_OPEN,MMC_VERB_LAST = MMC_VERB_MAX - 1
414 #endif
415   } MMC_CONSOLE_VERB;
416 
417 #include <pshpack8.h>
418 
419   typedef struct _MMCButton {
420     int nBitmap;
421     int idCommand;
422     BYTE fsState;
423     BYTE fsType;
424     LPOLESTR lpButtonText;
425     LPOLESTR lpTooltipText;
426   } MMCBUTTON;
427 
428 #include <poppack.h>
429 
430   typedef MMCBUTTON *LPMMCBUTTON;
431 
432   typedef enum _MMC_BUTTON_STATE {
433     ENABLED = 0x1,CHECKED = 0x2,HIDDEN = 0x4,INDETERMINATE = 0x8,BUTTONPRESSED = 0x10
434   } MMC_BUTTON_STATE;
435 
436   typedef struct _RESULTDATAITEM {
437     DWORD mask;
438     WINBOOL bScopeItem;
439     HRESULTITEM itemID;
440     int nIndex;
441     int nCol;
442     LPOLESTR str;
443     int nImage;
444     UINT nState;
445     LPARAM lParam;
446     int iIndent;
447   } RESULTDATAITEM;
448 
449   typedef RESULTDATAITEM *LPRESULTDATAITEM;
450 
451 #define RFI_PARTIAL (0x1)
452 #define RFI_WRAP (0x2)
453 
454   typedef struct _RESULTFINDINFO {
455     LPOLESTR psz;
456     int nStart;
457     DWORD dwOptions;
458   } RESULTFINDINFO;
459 
460   typedef RESULTFINDINFO *LPRESULTFINDINFO;
461 
462 #define RSI_DESCENDING (0x1)
463 #define RSI_NOSORTICON (0x2)
464 
465 #define SDI_STR (0x2)
466 #define SDI_IMAGE (0x4)
467 #define SDI_OPENIMAGE (0x8)
468 #define SDI_STATE (0x10)
469 #define SDI_PARAM (0x20)
470 #define SDI_CHILDREN (0x40)
471 #define SDI_PARENT (0)
472 #define SDI_PREVIOUS (0x10000000)
473 #define SDI_NEXT (0x20000000)
474 #define SDI_FIRST (0x8000000)
475 
476   typedef struct _SCOPEDATAITEM {
477     DWORD mask;
478     LPOLESTR displayname;
479     int nImage;
480     int nOpenImage;
481     UINT nState;
482     int cChildren;
483     LPARAM lParam;
484     HSCOPEITEM relativeID;
485     HSCOPEITEM ID;
486   } SCOPEDATAITEM;
487 
488   typedef SCOPEDATAITEM *LPSCOPEDATAITEM;
489 
490   typedef enum _MMC_SCOPE_ITEM_STATE {
491     MMC_SCOPE_ITEM_STATE_NORMAL = 0x1,MMC_SCOPE_ITEM_STATE_BOLD = 0x2,MMC_SCOPE_ITEM_STATE_EXPANDEDONCE = 0x3
492   } MMC_SCOPE_ITEM_STATE;
493 
494   typedef struct _CONTEXTMENUITEM {
495     LPWSTR strName;
496     LPWSTR strStatusBarText;
497     LONG lCommandID;
498     LONG lInsertionPointID;
499     LONG fFlags;
500     LONG fSpecialFlags;
501   } CONTEXTMENUITEM;
502 
503   typedef CONTEXTMENUITEM *LPCONTEXTMENUITEM;
504 
505   typedef enum _MMC_MENU_COMMAND_IDS {
506     MMCC_STANDARD_VIEW_SELECT = -1
507   } MMC_MENU_COMMAND_IDS;
508 
509   typedef struct _MENUBUTTONDATA {
510     int idCommand;
511     int x;
512     int y;
513   } MENUBUTTONDATA;
514 
515   typedef MENUBUTTONDATA *LPMENUBUTTONDATA;
516   typedef LONG_PTR MMC_COOKIE;
517 
518 #define MMC_MULTI_SELECT_COOKIE (-2)
519 #define MMC_WINDOW_COOKIE (-3)
520 #if (MMC_VER >= 0x0110)
521 #define SPECIAL_COOKIE_MIN (-10)
522 #define SPECIAL_COOKIE_MAX (-1)
523 
524   typedef enum _MMC_FILTER_TYPE {
525     MMC_STRING_FILTER = 0,MMC_INT_FILTER = 0x1,MMC_FILTER_NOVALUE = 0x8000
526   } MMC_FILTER_TYPE;
527 
528   typedef struct _MMC_FILTERDATA {
529     LPOLESTR pszText;
530     INT cchTextMax;
531     LONG lValue;
532   } MMC_FILTERDATA;
533 
534   typedef enum _MMC_FILTER_CHANGE_CODE {
535     MFCC_DISABLE = 0,MFCC_ENABLE = 1,MFCC_VALUE_CHANGE = 2
536   } MMC_FILTER_CHANGE_CODE;
537 
538   typedef struct _MMC_RESTORE_VIEW {
539     DWORD dwSize;
540     MMC_COOKIE cookie;
541     LPOLESTR pViewType;
542     __LONG32 lViewOptions;
543   } MMC_RESTORE_VIEW;
544 
545   typedef struct _MMC_EXPANDSYNC_STRUCT {
546     WINBOOL bHandled;
547     WINBOOL bExpanding;
548     HSCOPEITEM hItem;
549   } MMC_EXPANDSYNC_STRUCT;
550 #endif
551 #if (MMC_VER >= 0x0120)
552   typedef struct _MMC_VISIBLE_COLUMNS {
553     INT nVisibleColumns;
554     INT rgVisibleCols[1 ];
555   } MMC_VISIBLE_COLUMNS;
556 #endif
557   typedef enum _MMC_NOTIFY_TYPE {
558     MMCN_ACTIVATE = 0x8001,MMCN_ADD_IMAGES = 0x8002,MMCN_BTN_CLICK = 0x8003,MMCN_CLICK = 0x8004,MMCN_COLUMN_CLICK = 0x8005,
559     MMCN_CONTEXTMENU = 0x8006,MMCN_CUTORMOVE = 0x8007,MMCN_DBLCLICK = 0x8008,MMCN_DELETE = 0x8009,MMCN_DESELECT_ALL = 0x800A,MMCN_EXPAND = 0x800B,
560     MMCN_HELP = 0x800C,MMCN_MENU_BTNCLICK = 0x800D,MMCN_MINIMIZED = 0x800E,MMCN_PASTE = 0x800F,MMCN_PROPERTY_CHANGE = 0x8010,MMCN_QUERY_PASTE = 0x8011,
561     MMCN_REFRESH = 0x8012,MMCN_REMOVE_CHILDREN = 0x8013,MMCN_RENAME = 0x8014,MMCN_SELECT = 0x8015,MMCN_SHOW = 0x8016,MMCN_VIEW_CHANGE = 0x8017,
562     MMCN_SNAPINHELP = 0x8018,MMCN_CONTEXTHELP = 0x8019,MMCN_INITOCX = 0x801A,
563 #if (MMC_VER >= 0x0110)
564     MMCN_FILTER_CHANGE = 0x801B,MMCN_FILTERBTN_CLICK = 0x801C,MMCN_RESTORE_VIEW = 0x801D,MMCN_PRINT = 0x801E,MMCN_PRELOAD = 0x801F,
565     MMCN_LISTPAD = 0x8020,MMCN_EXPANDSYNC = 0x8021,
566 #if (MMC_VER >= 0x0120)
567     MMCN_COLUMNS_CHANGED = 0x8022,
568 #if (MMC_VER >= 0x0200)
569     MMCN_CANPASTE_OUTOFPROC = 0x8023,
570 #endif
571 #endif
572 #endif
573   } MMC_NOTIFY_TYPE;
574 
575   typedef enum _DATA_OBJECT_TYPES {
576     CCT_SCOPE = 0x8000,CCT_RESULT = 0x8001,CCT_SNAPIN_MANAGER = 0x8002,CCT_UNINITIALIZED = 0xffff
577   } DATA_OBJECT_TYPES;
578 
579 #define MMC_NW_OPTION_NONE (0)
580 #define MMC_NW_OPTION_NOSCOPEPANE (0x1)
581 #define MMC_NW_OPTION_NOTOOLBARS (0x2)
582 #define MMC_NW_OPTION_SHORTTITLE (0x4)
583 #define MMC_NW_OPTION_CUSTOMTITLE (0x8)
584 #define MMC_NW_OPTION_NOPERSIST (0x10)
585 
586 #define CCF_NODETYPE (L"CCF_NODETYPE")
587 #define CCF_SZNODETYPE (L"CCF_SZNODETYPE")
588 #define CCF_DISPLAY_NAME (L"CCF_DISPLAY_NAME")
589 #define CCF_SNAPIN_CLASSID (L"CCF_SNAPIN_CLASSID")
590 #define CCF_WINDOW_TITLE (L"CCF_WINDOW_TITLE")
591 #define CCF_MMC_MULTISELECT_DATAOBJECT (L"CCF_MMC_MULTISELECT_DATAOBJECT")
592 
593   typedef struct _SMMCDataObjects {
594     DWORD count;
595     LPDATAOBJECT lpDataObject[1 ];
596   } SMMCDataObjects;
597 
598 #define CCF_MULTI_SELECT_SNAPINS (L"CCF_MULTI_SELECT_SNAPINS")
599 
600   typedef struct _SMMCObjectTypes {
601     DWORD count;
602     GUID guid[1 ];
603   } SMMCObjectTypes;
604 
605 #define CCF_OBJECT_TYPES_IN_MULTI_SELECT (L"CCF_OBJECT_TYPES_IN_MULTI_SELECT")
606 
607 #if (MMC_VER >= 0x0110)
608   typedef SMMCObjectTypes SMMCDynamicExtensions;
609 
610 #define CCF_MMC_DYNAMIC_EXTENSIONS (L"CCF_MMC_DYNAMIC_EXTENSIONS")
611 #define CCF_SNAPIN_PRELOADS (L"CCF_SNAPIN_PRELOADS")
612 
613   typedef struct _SNodeID {
614     DWORD cBytes;
615     BYTE id[1 ];
616   } SNodeID;
617 
618 #if (MMC_VER >= 0x0120)
619   typedef struct _SNodeID2
620   {
621     DWORD dwFlags;
622     DWORD cBytes;
623     BYTE id[1 ];
624   } SNodeID2;
625 
626 #define MMC_NODEID_SLOW_RETRIEVAL (0x1)
627 #define CCF_NODEID2 (L"CCF_NODEID2")
628 #endif
629 #define CCF_NODEID (L"CCF_NODEID")
630 
631 #if (MMC_VER >= 0x0120)
632   typedef struct _SColumnSetID
633   {
634     DWORD dwFlags;
635     DWORD cBytes;
636     BYTE id[1 ];
637   } SColumnSetID;
638 
639 #define CCF_COLUMN_SET_ID (L"CCF_COLUMN_SET_ID")
640 #endif
641 #endif
642   STDAPI MMCPropertyChangeNotify(LONG_PTR lNotifyHandle,LPARAM param);
643 #if (MMC_VER >= 0x0110)
644   STDAPI MMCPropertyHelp(LPOLESTR pszHelpTopic);
645 #endif
646   STDAPI MMCFreeNotifyHandle(LONG_PTR lNotifyHandle);
647   STDAPI MMCPropPageCallback(void *vpsp);
648   EXTERN_C const CLSID CLSID_NodeManager;
649 #if (MMC_VER >= 0x0120)
650   EXTERN_C const CLSID CLSID_MessageView;
651 #endif
652 #define DOBJ_NULL (LPDATAOBJECT) 0
653 #define DOBJ_CUSTOMOCX (LPDATAOBJECT) -1
654 #define DOBJ_CUSTOMWEB (LPDATAOBJECT) -2
655 #if (MMC_VER >= 0x0110)
656 #if (MMC_VER >= 0x0120)
657 #define DOBJ_NOCONSOLE (LPDATAOBJECT) -3
658 #endif
659 #define SPECIAL_DOBJ_MIN -10
660 #define SPECIAL_DOBJ_MAX 0
661 #endif
662 #define IS_SPECIAL_DATAOBJECT(d) (((LONG_PTR)(d) >= SPECIAL_DOBJ_MIN) && ((LONG_PTR)(d) <= SPECIAL_DOBJ_MAX))
663 #define IS_SPECIAL_COOKIE(c) (((c) >= SPECIAL_COOKIE_MIN) && ((c) <= SPECIAL_COOKIE_MAX))
664 
665   extern RPC_IF_HANDLE __MIDL_itf_mmc_0000_v0_0_c_ifspec;
666   extern RPC_IF_HANDLE __MIDL_itf_mmc_0000_v0_0_s_ifspec;
667 
668 #ifndef __IComponentData_INTERFACE_DEFINED__
669 #define __IComponentData_INTERFACE_DEFINED__
670   EXTERN_C const IID IID_IComponentData;
671 #if defined(__cplusplus) && !defined(CINTERFACE)
672   struct IComponentData : public IUnknown {
673   public:
674     virtual HRESULT WINAPI Initialize(LPUNKNOWN pUnknown) = 0;
675     virtual HRESULT WINAPI CreateComponent(LPCOMPONENT *ppComponent) = 0;
676     virtual HRESULT WINAPI Notify(LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param) = 0;
677     virtual HRESULT WINAPI Destroy(void) = 0;
678     virtual HRESULT WINAPI QueryDataObject(MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject) = 0;
679     virtual HRESULT WINAPI GetDisplayInfo(SCOPEDATAITEM *pScopeDataItem) = 0;
680     virtual HRESULT WINAPI CompareObjects(LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB) = 0;
681   };
682 #else
683   typedef struct IComponentDataVtbl {
684     BEGIN_INTERFACE
685       HRESULT (WINAPI *QueryInterface)(IComponentData *This,REFIID riid,void **ppvObject);
686       ULONG (WINAPI *AddRef)(IComponentData *This);
687       ULONG (WINAPI *Release)(IComponentData *This);
688       HRESULT (WINAPI *Initialize)(IComponentData *This,LPUNKNOWN pUnknown);
689       HRESULT (WINAPI *CreateComponent)(IComponentData *This,LPCOMPONENT *ppComponent);
690       HRESULT (WINAPI *Notify)(IComponentData *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
691       HRESULT (WINAPI *Destroy)(IComponentData *This);
692       HRESULT (WINAPI *QueryDataObject)(IComponentData *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
693       HRESULT (WINAPI *GetDisplayInfo)(IComponentData *This,SCOPEDATAITEM *pScopeDataItem);
694       HRESULT (WINAPI *CompareObjects)(IComponentData *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
695     END_INTERFACE
696   } IComponentDataVtbl;
697   struct IComponentData {
698     CONST_VTBL struct IComponentDataVtbl *lpVtbl;
699   };
700 #ifdef COBJMACROS
701 #define IComponentData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
702 #define IComponentData_AddRef(This) (This)->lpVtbl->AddRef(This)
703 #define IComponentData_Release(This) (This)->lpVtbl->Release(This)
704 #define IComponentData_Initialize(This,pUnknown) (This)->lpVtbl->Initialize(This,pUnknown)
705 #define IComponentData_CreateComponent(This,ppComponent) (This)->lpVtbl->CreateComponent(This,ppComponent)
706 #define IComponentData_Notify(This,lpDataObject,event,arg,param) (This)->lpVtbl->Notify(This,lpDataObject,event,arg,param)
707 #define IComponentData_Destroy(This) (This)->lpVtbl->Destroy(This)
708 #define IComponentData_QueryDataObject(This,cookie,type,ppDataObject) (This)->lpVtbl->QueryDataObject(This,cookie,type,ppDataObject)
709 #define IComponentData_GetDisplayInfo(This,pScopeDataItem) (This)->lpVtbl->GetDisplayInfo(This,pScopeDataItem)
710 #define IComponentData_CompareObjects(This,lpDataObjectA,lpDataObjectB) (This)->lpVtbl->CompareObjects(This,lpDataObjectA,lpDataObjectB)
711 #endif
712 #endif
713   HRESULT WINAPI IComponentData_Initialize_Proxy(IComponentData *This,LPUNKNOWN pUnknown);
714   void __RPC_STUB IComponentData_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
715   HRESULT WINAPI IComponentData_CreateComponent_Proxy(IComponentData *This,LPCOMPONENT *ppComponent);
716   void __RPC_STUB IComponentData_CreateComponent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
717   HRESULT WINAPI IComponentData_Notify_Proxy(IComponentData *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
718   void __RPC_STUB IComponentData_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
719   HRESULT WINAPI IComponentData_Destroy_Proxy(IComponentData *This);
720   void __RPC_STUB IComponentData_Destroy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
721   HRESULT WINAPI IComponentData_QueryDataObject_Proxy(IComponentData *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
722   void __RPC_STUB IComponentData_QueryDataObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
723   HRESULT WINAPI IComponentData_GetDisplayInfo_Proxy(IComponentData *This,SCOPEDATAITEM *pScopeDataItem);
724   void __RPC_STUB IComponentData_GetDisplayInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
725   HRESULT WINAPI IComponentData_CompareObjects_Proxy(IComponentData *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
726   void __RPC_STUB IComponentData_CompareObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
727 #endif
728 
729 #ifndef __IComponent_INTERFACE_DEFINED__
730 #define __IComponent_INTERFACE_DEFINED__
731   EXTERN_C const IID IID_IComponent;
732 #if defined(__cplusplus) && !defined(CINTERFACE)
733   struct IComponent : public IUnknown {
734   public:
735     virtual HRESULT WINAPI Initialize(LPCONSOLE lpConsole) = 0;
736     virtual HRESULT WINAPI Notify(LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param) = 0;
737     virtual HRESULT WINAPI Destroy(MMC_COOKIE cookie) = 0;
738     virtual HRESULT WINAPI QueryDataObject(MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject) = 0;
739     virtual HRESULT WINAPI GetResultViewType(MMC_COOKIE cookie,LPOLESTR *ppViewType,__LONG32 *pViewOptions) = 0;
740     virtual HRESULT WINAPI GetDisplayInfo(RESULTDATAITEM *pResultDataItem) = 0;
741     virtual HRESULT WINAPI CompareObjects(LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB) = 0;
742   };
743 #else
744   typedef struct IComponentVtbl {
745     BEGIN_INTERFACE
746       HRESULT (WINAPI *QueryInterface)(IComponent *This,REFIID riid,void **ppvObject);
747       ULONG (WINAPI *AddRef)(IComponent *This);
748       ULONG (WINAPI *Release)(IComponent *This);
749       HRESULT (WINAPI *Initialize)(IComponent *This,LPCONSOLE lpConsole);
750       HRESULT (WINAPI *Notify)(IComponent *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
751       HRESULT (WINAPI *Destroy)(IComponent *This,MMC_COOKIE cookie);
752       HRESULT (WINAPI *QueryDataObject)(IComponent *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
753       HRESULT (WINAPI *GetResultViewType)(IComponent *This,MMC_COOKIE cookie,LPOLESTR *ppViewType,__LONG32 *pViewOptions);
754       HRESULT (WINAPI *GetDisplayInfo)(IComponent *This,RESULTDATAITEM *pResultDataItem);
755       HRESULT (WINAPI *CompareObjects)(IComponent *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
756     END_INTERFACE
757   } IComponentVtbl;
758   struct IComponent {
759     CONST_VTBL struct IComponentVtbl *lpVtbl;
760   };
761 #ifdef COBJMACROS
762 #define IComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
763 #define IComponent_AddRef(This) (This)->lpVtbl->AddRef(This)
764 #define IComponent_Release(This) (This)->lpVtbl->Release(This)
765 #define IComponent_Initialize(This,lpConsole) (This)->lpVtbl->Initialize(This,lpConsole)
766 #define IComponent_Notify(This,lpDataObject,event,arg,param) (This)->lpVtbl->Notify(This,lpDataObject,event,arg,param)
767 #define IComponent_Destroy(This,cookie) (This)->lpVtbl->Destroy(This,cookie)
768 #define IComponent_QueryDataObject(This,cookie,type,ppDataObject) (This)->lpVtbl->QueryDataObject(This,cookie,type,ppDataObject)
769 #define IComponent_GetResultViewType(This,cookie,ppViewType,pViewOptions) (This)->lpVtbl->GetResultViewType(This,cookie,ppViewType,pViewOptions)
770 #define IComponent_GetDisplayInfo(This,pResultDataItem) (This)->lpVtbl->GetDisplayInfo(This,pResultDataItem)
771 #define IComponent_CompareObjects(This,lpDataObjectA,lpDataObjectB) (This)->lpVtbl->CompareObjects(This,lpDataObjectA,lpDataObjectB)
772 #endif
773 #endif
774   HRESULT WINAPI IComponent_Initialize_Proxy(IComponent *This,LPCONSOLE lpConsole);
775   void __RPC_STUB IComponent_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
776   HRESULT WINAPI IComponent_Notify_Proxy(IComponent *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
777   void __RPC_STUB IComponent_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
778   HRESULT WINAPI IComponent_Destroy_Proxy(IComponent *This,MMC_COOKIE cookie);
779   void __RPC_STUB IComponent_Destroy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
780   HRESULT WINAPI IComponent_QueryDataObject_Proxy(IComponent *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
781   void __RPC_STUB IComponent_QueryDataObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
782   HRESULT WINAPI IComponent_GetResultViewType_Proxy(IComponent *This,MMC_COOKIE cookie,LPOLESTR *ppViewType,__LONG32 *pViewOptions);
783   void __RPC_STUB IComponent_GetResultViewType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
784   HRESULT WINAPI IComponent_GetDisplayInfo_Proxy(IComponent *This,RESULTDATAITEM *pResultDataItem);
785   void __RPC_STUB IComponent_GetDisplayInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
786   HRESULT WINAPI IComponent_CompareObjects_Proxy(IComponent *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
787   void __RPC_STUB IComponent_CompareObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
788 #endif
789 
790 #ifndef __IResultDataCompare_INTERFACE_DEFINED__
791 #define __IResultDataCompare_INTERFACE_DEFINED__
792   EXTERN_C const IID IID_IResultDataCompare;
793 #if defined(__cplusplus) && !defined(CINTERFACE)
794   struct IResultDataCompare : public IUnknown {
795   public:
796     virtual HRESULT WINAPI Compare(LPARAM lUserParam,MMC_COOKIE cookieA,MMC_COOKIE cookieB,int *pnResult) = 0;
797   };
798 #else
799   typedef struct IResultDataCompareVtbl {
800     BEGIN_INTERFACE
801       HRESULT (WINAPI *QueryInterface)(IResultDataCompare *This,REFIID riid,void **ppvObject);
802       ULONG (WINAPI *AddRef)(IResultDataCompare *This);
803       ULONG (WINAPI *Release)(IResultDataCompare *This);
804       HRESULT (WINAPI *Compare)(IResultDataCompare *This,LPARAM lUserParam,MMC_COOKIE cookieA,MMC_COOKIE cookieB,int *pnResult);
805     END_INTERFACE
806   } IResultDataCompareVtbl;
807   struct IResultDataCompare {
808     CONST_VTBL struct IResultDataCompareVtbl *lpVtbl;
809   };
810 #ifdef COBJMACROS
811 #define IResultDataCompare_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
812 #define IResultDataCompare_AddRef(This) (This)->lpVtbl->AddRef(This)
813 #define IResultDataCompare_Release(This) (This)->lpVtbl->Release(This)
814 #define IResultDataCompare_Compare(This,lUserParam,cookieA,cookieB,pnResult) (This)->lpVtbl->Compare(This,lUserParam,cookieA,cookieB,pnResult)
815 #endif
816 #endif
817   HRESULT WINAPI IResultDataCompare_Compare_Proxy(IResultDataCompare *This,LPARAM lUserParam,MMC_COOKIE cookieA,MMC_COOKIE cookieB,int *pnResult);
818   void __RPC_STUB IResultDataCompare_Compare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
819 #endif
820 
821 #ifndef __IResultOwnerData_INTERFACE_DEFINED__
822 #define __IResultOwnerData_INTERFACE_DEFINED__
823   EXTERN_C const IID IID_IResultOwnerData;
824 #if defined(__cplusplus) && !defined(CINTERFACE)
825   struct IResultOwnerData : public IUnknown {
826   public:
827     virtual HRESULT WINAPI FindItem(LPRESULTFINDINFO pFindInfo,int *pnFoundIndex) = 0;
828     virtual HRESULT WINAPI CacheHint(int nStartIndex,int nEndIndex) = 0;
829     virtual HRESULT WINAPI SortItems(int nColumn,DWORD dwSortOptions,LPARAM lUserParam) = 0;
830   };
831 #else
832   typedef struct IResultOwnerDataVtbl {
833     BEGIN_INTERFACE
834       HRESULT (WINAPI *QueryInterface)(IResultOwnerData *This,REFIID riid,void **ppvObject);
835       ULONG (WINAPI *AddRef)(IResultOwnerData *This);
836       ULONG (WINAPI *Release)(IResultOwnerData *This);
837       HRESULT (WINAPI *FindItem)(IResultOwnerData *This,LPRESULTFINDINFO pFindInfo,int *pnFoundIndex);
838       HRESULT (WINAPI *CacheHint)(IResultOwnerData *This,int nStartIndex,int nEndIndex);
839       HRESULT (WINAPI *SortItems)(IResultOwnerData *This,int nColumn,DWORD dwSortOptions,LPARAM lUserParam);
840     END_INTERFACE
841   } IResultOwnerDataVtbl;
842   struct IResultOwnerData {
843     CONST_VTBL struct IResultOwnerDataVtbl *lpVtbl;
844   };
845 #ifdef COBJMACROS
846 #define IResultOwnerData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
847 #define IResultOwnerData_AddRef(This) (This)->lpVtbl->AddRef(This)
848 #define IResultOwnerData_Release(This) (This)->lpVtbl->Release(This)
849 #define IResultOwnerData_FindItem(This,pFindInfo,pnFoundIndex) (This)->lpVtbl->FindItem(This,pFindInfo,pnFoundIndex)
850 #define IResultOwnerData_CacheHint(This,nStartIndex,nEndIndex) (This)->lpVtbl->CacheHint(This,nStartIndex,nEndIndex)
851 #define IResultOwnerData_SortItems(This,nColumn,dwSortOptions,lUserParam) (This)->lpVtbl->SortItems(This,nColumn,dwSortOptions,lUserParam)
852 #endif
853 #endif
854   HRESULT WINAPI IResultOwnerData_FindItem_Proxy(IResultOwnerData *This,LPRESULTFINDINFO pFindInfo,int *pnFoundIndex);
855   void __RPC_STUB IResultOwnerData_FindItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
856   HRESULT WINAPI IResultOwnerData_CacheHint_Proxy(IResultOwnerData *This,int nStartIndex,int nEndIndex);
857   void __RPC_STUB IResultOwnerData_CacheHint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
858   HRESULT WINAPI IResultOwnerData_SortItems_Proxy(IResultOwnerData *This,int nColumn,DWORD dwSortOptions,LPARAM lUserParam);
859   void __RPC_STUB IResultOwnerData_SortItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
860 #endif
861 
862 #ifndef __IConsole_INTERFACE_DEFINED__
863 #define __IConsole_INTERFACE_DEFINED__
864   EXTERN_C const IID IID_IConsole;
865 #if defined(__cplusplus) && !defined(CINTERFACE)
866   struct IConsole : public IUnknown {
867   public:
868     virtual HRESULT WINAPI SetHeader(LPHEADERCTRL pHeader) = 0;
869     virtual HRESULT WINAPI SetToolbar(LPTOOLBAR pToolbar) = 0;
870     virtual HRESULT WINAPI QueryResultView(LPUNKNOWN *pUnknown) = 0;
871     virtual HRESULT WINAPI QueryScopeImageList(LPIMAGELIST *ppImageList) = 0;
872     virtual HRESULT WINAPI QueryResultImageList(LPIMAGELIST *ppImageList) = 0;
873     virtual HRESULT WINAPI UpdateAllViews(LPDATAOBJECT lpDataObject,LPARAM data,LONG_PTR hint) = 0;
874     virtual HRESULT WINAPI MessageBox(LPCWSTR lpszText,LPCWSTR lpszTitle,UINT fuStyle,int *piRetval) = 0;
875     virtual HRESULT WINAPI QueryConsoleVerb(LPCONSOLEVERB *ppConsoleVerb) = 0;
876     virtual HRESULT WINAPI SelectScopeItem(HSCOPEITEM hScopeItem) = 0;
877     virtual HRESULT WINAPI GetMainWindow(HWND *phwnd) = 0;
878     virtual HRESULT WINAPI NewWindow(HSCOPEITEM hScopeItem,unsigned __LONG32 lOptions) = 0;
879   };
880 #else
881   typedef struct IConsoleVtbl {
882     BEGIN_INTERFACE
883       HRESULT (WINAPI *QueryInterface)(IConsole *This,REFIID riid,void **ppvObject);
884       ULONG (WINAPI *AddRef)(IConsole *This);
885       ULONG (WINAPI *Release)(IConsole *This);
886       HRESULT (WINAPI *SetHeader)(IConsole *This,LPHEADERCTRL pHeader);
887       HRESULT (WINAPI *SetToolbar)(IConsole *This,LPTOOLBAR pToolbar);
888       HRESULT (WINAPI *QueryResultView)(IConsole *This,LPUNKNOWN *pUnknown);
889       HRESULT (WINAPI *QueryScopeImageList)(IConsole *This,LPIMAGELIST *ppImageList);
890       HRESULT (WINAPI *QueryResultImageList)(IConsole *This,LPIMAGELIST *ppImageList);
891       HRESULT (WINAPI *UpdateAllViews)(IConsole *This,LPDATAOBJECT lpDataObject,LPARAM data,LONG_PTR hint);
892       HRESULT (WINAPI *MessageBox)(IConsole *This,LPCWSTR lpszText,LPCWSTR lpszTitle,UINT fuStyle,int *piRetval);
893       HRESULT (WINAPI *QueryConsoleVerb)(IConsole *This,LPCONSOLEVERB *ppConsoleVerb);
894       HRESULT (WINAPI *SelectScopeItem)(IConsole *This,HSCOPEITEM hScopeItem);
895       HRESULT (WINAPI *GetMainWindow)(IConsole *This,HWND *phwnd);
896       HRESULT (WINAPI *NewWindow)(IConsole *This,HSCOPEITEM hScopeItem,unsigned __LONG32 lOptions);
897     END_INTERFACE
898   } IConsoleVtbl;
899   struct IConsole {
900     CONST_VTBL struct IConsoleVtbl *lpVtbl;
901   };
902 #ifdef COBJMACROS
903 #define IConsole_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
904 #define IConsole_AddRef(This) (This)->lpVtbl->AddRef(This)
905 #define IConsole_Release(This) (This)->lpVtbl->Release(This)
906 #define IConsole_SetHeader(This,pHeader) (This)->lpVtbl->SetHeader(This,pHeader)
907 #define IConsole_SetToolbar(This,pToolbar) (This)->lpVtbl->SetToolbar(This,pToolbar)
908 #define IConsole_QueryResultView(This,pUnknown) (This)->lpVtbl->QueryResultView(This,pUnknown)
909 #define IConsole_QueryScopeImageList(This,ppImageList) (This)->lpVtbl->QueryScopeImageList(This,ppImageList)
910 #define IConsole_QueryResultImageList(This,ppImageList) (This)->lpVtbl->QueryResultImageList(This,ppImageList)
911 #define IConsole_UpdateAllViews(This,lpDataObject,data,hint) (This)->lpVtbl->UpdateAllViews(This,lpDataObject,data,hint)
912 #define IConsole_MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval) (This)->lpVtbl->MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval)
913 #define IConsole_QueryConsoleVerb(This,ppConsoleVerb) (This)->lpVtbl->QueryConsoleVerb(This,ppConsoleVerb)
914 #define IConsole_SelectScopeItem(This,hScopeItem) (This)->lpVtbl->SelectScopeItem(This,hScopeItem)
915 #define IConsole_GetMainWindow(This,phwnd) (This)->lpVtbl->GetMainWindow(This,phwnd)
916 #define IConsole_NewWindow(This,hScopeItem,lOptions) (This)->lpVtbl->NewWindow(This,hScopeItem,lOptions)
917 #endif
918 #endif
919   HRESULT WINAPI IConsole_SetHeader_Proxy(IConsole *This,LPHEADERCTRL pHeader);
920   void __RPC_STUB IConsole_SetHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
921   HRESULT WINAPI IConsole_SetToolbar_Proxy(IConsole *This,LPTOOLBAR pToolbar);
922   void __RPC_STUB IConsole_SetToolbar_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
923   HRESULT WINAPI IConsole_QueryResultView_Proxy(IConsole *This,LPUNKNOWN *pUnknown);
924   void __RPC_STUB IConsole_QueryResultView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
925   HRESULT WINAPI IConsole_QueryScopeImageList_Proxy(IConsole *This,LPIMAGELIST *ppImageList);
926   void __RPC_STUB IConsole_QueryScopeImageList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
927   HRESULT WINAPI IConsole_QueryResultImageList_Proxy(IConsole *This,LPIMAGELIST *ppImageList);
928   void __RPC_STUB IConsole_QueryResultImageList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
929   HRESULT WINAPI IConsole_UpdateAllViews_Proxy(IConsole *This,LPDATAOBJECT lpDataObject,LPARAM data,LONG_PTR hint);
930   void __RPC_STUB IConsole_UpdateAllViews_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
931   HRESULT WINAPI IConsole_MessageBox_Proxy(IConsole *This,LPCWSTR lpszText,LPCWSTR lpszTitle,UINT fuStyle,int *piRetval);
932   void __RPC_STUB IConsole_MessageBox_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
933   HRESULT WINAPI IConsole_QueryConsoleVerb_Proxy(IConsole *This,LPCONSOLEVERB *ppConsoleVerb);
934   void __RPC_STUB IConsole_QueryConsoleVerb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
935   HRESULT WINAPI IConsole_SelectScopeItem_Proxy(IConsole *This,HSCOPEITEM hScopeItem);
936   void __RPC_STUB IConsole_SelectScopeItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
937   HRESULT WINAPI IConsole_GetMainWindow_Proxy(IConsole *This,HWND *phwnd);
938   void __RPC_STUB IConsole_GetMainWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
939   HRESULT WINAPI IConsole_NewWindow_Proxy(IConsole *This,HSCOPEITEM hScopeItem,unsigned __LONG32 lOptions);
940   void __RPC_STUB IConsole_NewWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
941 #endif
942 
943 #ifndef __IHeaderCtrl_INTERFACE_DEFINED__
944 #define __IHeaderCtrl_INTERFACE_DEFINED__
945 #define AUTO_WIDTH (-1)
946 #if (MMC_VER >= 0x0120)
947 #define HIDE_COLUMN (-4)
948 #endif
949   EXTERN_C const IID IID_IHeaderCtrl;
950 #if defined(__cplusplus) && !defined(CINTERFACE)
951   struct IHeaderCtrl : public IUnknown {
952   public:
953     virtual HRESULT WINAPI InsertColumn(int nCol,LPCWSTR title,int nFormat,int nWidth) = 0;
954     virtual HRESULT WINAPI DeleteColumn(int nCol) = 0;
955     virtual HRESULT WINAPI SetColumnText(int nCol,LPCWSTR title) = 0;
956     virtual HRESULT WINAPI GetColumnText(int nCol,LPOLESTR *pText) = 0;
957     virtual HRESULT WINAPI SetColumnWidth(int nCol,int nWidth) = 0;
958     virtual HRESULT WINAPI GetColumnWidth(int nCol,int *pWidth) = 0;
959   };
960 #else
961   typedef struct IHeaderCtrlVtbl {
962     BEGIN_INTERFACE
963       HRESULT (WINAPI *QueryInterface)(IHeaderCtrl *This,REFIID riid,void **ppvObject);
964       ULONG (WINAPI *AddRef)(IHeaderCtrl *This);
965       ULONG (WINAPI *Release)(IHeaderCtrl *This);
966       HRESULT (WINAPI *InsertColumn)(IHeaderCtrl *This,int nCol,LPCWSTR title,int nFormat,int nWidth);
967       HRESULT (WINAPI *DeleteColumn)(IHeaderCtrl *This,int nCol);
968       HRESULT (WINAPI *SetColumnText)(IHeaderCtrl *This,int nCol,LPCWSTR title);
969       HRESULT (WINAPI *GetColumnText)(IHeaderCtrl *This,int nCol,LPOLESTR *pText);
970       HRESULT (WINAPI *SetColumnWidth)(IHeaderCtrl *This,int nCol,int nWidth);
971       HRESULT (WINAPI *GetColumnWidth)(IHeaderCtrl *This,int nCol,int *pWidth);
972     END_INTERFACE
973   } IHeaderCtrlVtbl;
974   struct IHeaderCtrl {
975     CONST_VTBL struct IHeaderCtrlVtbl *lpVtbl;
976   };
977 #ifdef COBJMACROS
978 #define IHeaderCtrl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
979 #define IHeaderCtrl_AddRef(This) (This)->lpVtbl->AddRef(This)
980 #define IHeaderCtrl_Release(This) (This)->lpVtbl->Release(This)
981 #define IHeaderCtrl_InsertColumn(This,nCol,title,nFormat,nWidth) (This)->lpVtbl->InsertColumn(This,nCol,title,nFormat,nWidth)
982 #define IHeaderCtrl_DeleteColumn(This,nCol) (This)->lpVtbl->DeleteColumn(This,nCol)
983 #define IHeaderCtrl_SetColumnText(This,nCol,title) (This)->lpVtbl->SetColumnText(This,nCol,title)
984 #define IHeaderCtrl_GetColumnText(This,nCol,pText) (This)->lpVtbl->GetColumnText(This,nCol,pText)
985 #define IHeaderCtrl_SetColumnWidth(This,nCol,nWidth) (This)->lpVtbl->SetColumnWidth(This,nCol,nWidth)
986 #define IHeaderCtrl_GetColumnWidth(This,nCol,pWidth) (This)->lpVtbl->GetColumnWidth(This,nCol,pWidth)
987 #endif
988 #endif
989   HRESULT WINAPI IHeaderCtrl_InsertColumn_Proxy(IHeaderCtrl *This,int nCol,LPCWSTR title,int nFormat,int nWidth);
990   void __RPC_STUB IHeaderCtrl_InsertColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
991   HRESULT WINAPI IHeaderCtrl_DeleteColumn_Proxy(IHeaderCtrl *This,int nCol);
992   void __RPC_STUB IHeaderCtrl_DeleteColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
993   HRESULT WINAPI IHeaderCtrl_SetColumnText_Proxy(IHeaderCtrl *This,int nCol,LPCWSTR title);
994   void __RPC_STUB IHeaderCtrl_SetColumnText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
995   HRESULT WINAPI IHeaderCtrl_GetColumnText_Proxy(IHeaderCtrl *This,int nCol,LPOLESTR *pText);
996   void __RPC_STUB IHeaderCtrl_GetColumnText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
997   HRESULT WINAPI IHeaderCtrl_SetColumnWidth_Proxy(IHeaderCtrl *This,int nCol,int nWidth);
998   void __RPC_STUB IHeaderCtrl_SetColumnWidth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
999   HRESULT WINAPI IHeaderCtrl_GetColumnWidth_Proxy(IHeaderCtrl *This,int nCol,int *pWidth);
1000   void __RPC_STUB IHeaderCtrl_GetColumnWidth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1001 #endif
1002 
1003   enum __MIDL___MIDL_itf_mmc_0121_0001 {
1004     CCM_INSERTIONPOINTID_MASK_SPECIAL = 0xffff0000,CCM_INSERTIONPOINTID_MASK_SHARED = 0x80000000,CCM_INSERTIONPOINTID_MASK_CREATE_PRIMARY = 0x40000000,
1005     CCM_INSERTIONPOINTID_MASK_ADD_PRIMARY = 0x20000000,CCM_INSERTIONPOINTID_MASK_ADD_3RDPARTY = 0x10000000,
1006     CCM_INSERTIONPOINTID_MASK_RESERVED = 0xfff0000,CCM_INSERTIONPOINTID_MASK_FLAGINDEX = 0x1f,CCM_INSERTIONPOINTID_PRIMARY_TOP = 0xa0000000,
1007     CCM_INSERTIONPOINTID_PRIMARY_NEW = 0xa0000001,CCM_INSERTIONPOINTID_PRIMARY_TASK = 0xa0000002,CCM_INSERTIONPOINTID_PRIMARY_VIEW = 0xa0000003,
1008     CCM_INSERTIONPOINTID_3RDPARTY_NEW = 0x90000001,CCM_INSERTIONPOINTID_3RDPARTY_TASK = 0x90000002,CCM_INSERTIONPOINTID_ROOT_MENU = 0x80000000
1009   };
1010 
1011   enum __MIDL___MIDL_itf_mmc_0121_0002 {
1012     CCM_INSERTIONALLOWED_TOP = 1 << (CCM_INSERTIONPOINTID_PRIMARY_TOP & CCM_INSERTIONPOINTID_MASK_FLAGINDEX),
1013     CCM_INSERTIONALLOWED_NEW = 1 << (CCM_INSERTIONPOINTID_PRIMARY_NEW & CCM_INSERTIONPOINTID_MASK_FLAGINDEX),
1014     CCM_INSERTIONALLOWED_TASK = 1 << (CCM_INSERTIONPOINTID_PRIMARY_TASK & CCM_INSERTIONPOINTID_MASK_FLAGINDEX),
1015     CCM_INSERTIONALLOWED_VIEW = 1 << (CCM_INSERTIONPOINTID_PRIMARY_VIEW & CCM_INSERTIONPOINTID_MASK_FLAGINDEX)
1016   };
1017 
1018   enum __MIDL___MIDL_itf_mmc_0121_0003 {
1019     CCM_COMMANDID_MASK_RESERVED = 0xffff0000
1020   };
1021 
1022   enum __MIDL___MIDL_itf_mmc_0121_0004 {
1023     CCM_SPECIAL_SEPARATOR = 0x1,CCM_SPECIAL_SUBMENU = 0x2,CCM_SPECIAL_DEFAULT_ITEM = 0x4,CCM_SPECIAL_INSERTION_POINT = 0x8,
1024     CCM_SPECIAL_TESTONLY = 0x10
1025   };
1026 
1027   extern RPC_IF_HANDLE __MIDL_itf_mmc_0121_v0_0_c_ifspec;
1028   extern RPC_IF_HANDLE __MIDL_itf_mmc_0121_v0_0_s_ifspec;
1029 
1030 #ifndef __IContextMenuCallback_INTERFACE_DEFINED__
1031 #define __IContextMenuCallback_INTERFACE_DEFINED__
1032   EXTERN_C const IID IID_IContextMenuCallback;
1033 #if defined(__cplusplus) && !defined(CINTERFACE)
1034   struct IContextMenuCallback : public IUnknown {
1035   public:
1036     virtual HRESULT WINAPI AddItem(CONTEXTMENUITEM *pItem) = 0;
1037   };
1038 #else
1039   typedef struct IContextMenuCallbackVtbl {
1040     BEGIN_INTERFACE
1041       HRESULT (WINAPI *QueryInterface)(IContextMenuCallback *This,REFIID riid,void **ppvObject);
1042       ULONG (WINAPI *AddRef)(IContextMenuCallback *This);
1043       ULONG (WINAPI *Release)(IContextMenuCallback *This);
1044       HRESULT (WINAPI *AddItem)(IContextMenuCallback *This,CONTEXTMENUITEM *pItem);
1045     END_INTERFACE
1046   } IContextMenuCallbackVtbl;
1047   struct IContextMenuCallback {
1048     CONST_VTBL struct IContextMenuCallbackVtbl *lpVtbl;
1049   };
1050 #ifdef COBJMACROS
1051 #define IContextMenuCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1052 #define IContextMenuCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1053 #define IContextMenuCallback_Release(This) (This)->lpVtbl->Release(This)
1054 #define IContextMenuCallback_AddItem(This,pItem) (This)->lpVtbl->AddItem(This,pItem)
1055 #endif
1056 #endif
1057   HRESULT WINAPI IContextMenuCallback_AddItem_Proxy(IContextMenuCallback *This,CONTEXTMENUITEM *pItem);
1058   void __RPC_STUB IContextMenuCallback_AddItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1059 #endif
1060 
1061 #ifndef __IContextMenuProvider_INTERFACE_DEFINED__
1062 #define __IContextMenuProvider_INTERFACE_DEFINED__
1063   EXTERN_C const IID IID_IContextMenuProvider;
1064 #if defined(__cplusplus) && !defined(CINTERFACE)
1065   struct IContextMenuProvider : public IContextMenuCallback {
1066   public:
1067     virtual HRESULT WINAPI EmptyMenuList(void) = 0;
1068     virtual HRESULT WINAPI AddPrimaryExtensionItems(LPUNKNOWN piExtension,LPDATAOBJECT piDataObject) = 0;
1069     virtual HRESULT WINAPI AddThirdPartyExtensionItems(LPDATAOBJECT piDataObject) = 0;
1070     virtual HRESULT WINAPI ShowContextMenu(HWND hwndParent,__LONG32 xPos,__LONG32 yPos,__LONG32 *plSelected) = 0;
1071   };
1072 #else
1073   typedef struct IContextMenuProviderVtbl {
1074     BEGIN_INTERFACE
1075       HRESULT (WINAPI *QueryInterface)(IContextMenuProvider *This,REFIID riid,void **ppvObject);
1076       ULONG (WINAPI *AddRef)(IContextMenuProvider *This);
1077       ULONG (WINAPI *Release)(IContextMenuProvider *This);
1078       HRESULT (WINAPI *AddItem)(IContextMenuProvider *This,CONTEXTMENUITEM *pItem);
1079       HRESULT (WINAPI *EmptyMenuList)(IContextMenuProvider *This);
1080       HRESULT (WINAPI *AddPrimaryExtensionItems)(IContextMenuProvider *This,LPUNKNOWN piExtension,LPDATAOBJECT piDataObject);
1081       HRESULT (WINAPI *AddThirdPartyExtensionItems)(IContextMenuProvider *This,LPDATAOBJECT piDataObject);
1082       HRESULT (WINAPI *ShowContextMenu)(IContextMenuProvider *This,HWND hwndParent,__LONG32 xPos,__LONG32 yPos,__LONG32 *plSelected);
1083     END_INTERFACE
1084   } IContextMenuProviderVtbl;
1085   struct IContextMenuProvider {
1086     CONST_VTBL struct IContextMenuProviderVtbl *lpVtbl;
1087   };
1088 #ifdef COBJMACROS
1089 #define IContextMenuProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1090 #define IContextMenuProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1091 #define IContextMenuProvider_Release(This) (This)->lpVtbl->Release(This)
1092 #define IContextMenuProvider_AddItem(This,pItem) (This)->lpVtbl->AddItem(This,pItem)
1093 #define IContextMenuProvider_EmptyMenuList(This) (This)->lpVtbl->EmptyMenuList(This)
1094 #define IContextMenuProvider_AddPrimaryExtensionItems(This,piExtension,piDataObject) (This)->lpVtbl->AddPrimaryExtensionItems(This,piExtension,piDataObject)
1095 #define IContextMenuProvider_AddThirdPartyExtensionItems(This,piDataObject) (This)->lpVtbl->AddThirdPartyExtensionItems(This,piDataObject)
1096 #define IContextMenuProvider_ShowContextMenu(This,hwndParent,xPos,yPos,plSelected) (This)->lpVtbl->ShowContextMenu(This,hwndParent,xPos,yPos,plSelected)
1097 #endif
1098 #endif
1099   HRESULT WINAPI IContextMenuProvider_EmptyMenuList_Proxy(IContextMenuProvider *This);
1100   void __RPC_STUB IContextMenuProvider_EmptyMenuList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1101   HRESULT WINAPI IContextMenuProvider_AddPrimaryExtensionItems_Proxy(IContextMenuProvider *This,LPUNKNOWN piExtension,LPDATAOBJECT piDataObject);
1102   void __RPC_STUB IContextMenuProvider_AddPrimaryExtensionItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1103   HRESULT WINAPI IContextMenuProvider_AddThirdPartyExtensionItems_Proxy(IContextMenuProvider *This,LPDATAOBJECT piDataObject);
1104   void __RPC_STUB IContextMenuProvider_AddThirdPartyExtensionItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1105   HRESULT WINAPI IContextMenuProvider_ShowContextMenu_Proxy(IContextMenuProvider *This,HWND hwndParent,__LONG32 xPos,__LONG32 yPos,__LONG32 *plSelected);
1106   void __RPC_STUB IContextMenuProvider_ShowContextMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1107 #endif
1108 
1109 #ifndef __IExtendContextMenu_INTERFACE_DEFINED__
1110 #define __IExtendContextMenu_INTERFACE_DEFINED__
1111   EXTERN_C const IID IID_IExtendContextMenu;
1112 #if defined(__cplusplus) && !defined(CINTERFACE)
1113   struct IExtendContextMenu : public IUnknown {
1114   public:
1115     virtual HRESULT WINAPI AddMenuItems(LPDATAOBJECT piDataObject,LPCONTEXTMENUCALLBACK piCallback,__LONG32 *pInsertionAllowed) = 0;
1116     virtual HRESULT WINAPI Command(__LONG32 lCommandID,LPDATAOBJECT piDataObject) = 0;
1117   };
1118 #else
1119   typedef struct IExtendContextMenuVtbl {
1120     BEGIN_INTERFACE
1121       HRESULT (WINAPI *QueryInterface)(IExtendContextMenu *This,REFIID riid,void **ppvObject);
1122       ULONG (WINAPI *AddRef)(IExtendContextMenu *This);
1123       ULONG (WINAPI *Release)(IExtendContextMenu *This);
1124       HRESULT (WINAPI *AddMenuItems)(IExtendContextMenu *This,LPDATAOBJECT piDataObject,LPCONTEXTMENUCALLBACK piCallback,__LONG32 *pInsertionAllowed);
1125       HRESULT (WINAPI *Command)(IExtendContextMenu *This,__LONG32 lCommandID,LPDATAOBJECT piDataObject);
1126     END_INTERFACE
1127   } IExtendContextMenuVtbl;
1128   struct IExtendContextMenu {
1129     CONST_VTBL struct IExtendContextMenuVtbl *lpVtbl;
1130   };
1131 #ifdef COBJMACROS
1132 #define IExtendContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1133 #define IExtendContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
1134 #define IExtendContextMenu_Release(This) (This)->lpVtbl->Release(This)
1135 #define IExtendContextMenu_AddMenuItems(This,piDataObject,piCallback,pInsertionAllowed) (This)->lpVtbl->AddMenuItems(This,piDataObject,piCallback,pInsertionAllowed)
1136 #define IExtendContextMenu_Command(This,lCommandID,piDataObject) (This)->lpVtbl->Command(This,lCommandID,piDataObject)
1137 #endif
1138 #endif
1139   HRESULT WINAPI IExtendContextMenu_AddMenuItems_Proxy(IExtendContextMenu *This,LPDATAOBJECT piDataObject,LPCONTEXTMENUCALLBACK piCallback,__LONG32 *pInsertionAllowed);
1140   void __RPC_STUB IExtendContextMenu_AddMenuItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1141   HRESULT WINAPI IExtendContextMenu_Command_Proxy(IExtendContextMenu *This,__LONG32 lCommandID,LPDATAOBJECT piDataObject);
1142   void __RPC_STUB IExtendContextMenu_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1143 #endif
1144 
1145 #if (MMC_VER >= 0x0120)
1146 #define ILSIF_LEAVE_LARGE_ICON 0x40000000
1147 #define ILSIF_LEAVE_SMALL_ICON 0x20000000
1148 #define ILSIF_LEAVE_MASK (ILSIF_LEAVE_LARGE_ICON | ILSIF_LEAVE_SMALL_ICON)
1149 #define ILSI_LARGE_ICON(nLoc) (nLoc | ILSIF_LEAVE_SMALL_ICON)
1150 #define ILSI_SMALL_ICON(nLoc) (nLoc | ILSIF_LEAVE_LARGE_ICON)
1151 #endif
1152 
1153   extern RPC_IF_HANDLE __MIDL_itf_mmc_0124_v0_0_c_ifspec;
1154   extern RPC_IF_HANDLE __MIDL_itf_mmc_0124_v0_0_s_ifspec;
1155 #ifndef __IImageList_INTERFACE_DEFINED__
1156 #define __IImageList_INTERFACE_DEFINED__
1157   EXTERN_C const IID IID_IImageList;
1158 #if defined(__cplusplus) && !defined(CINTERFACE)
1159   struct IImageList : public IUnknown {
1160   public:
1161     virtual HRESULT WINAPI ImageListSetIcon(LONG_PTR *pIcon,__LONG32 nLoc) = 0;
1162     virtual HRESULT WINAPI ImageListSetStrip(LONG_PTR *pBMapSm,LONG_PTR *pBMapLg,__LONG32 nStartLoc,COLORREF cMask) = 0;
1163   };
1164 #else
1165   typedef struct IImageListVtbl {
1166     BEGIN_INTERFACE
1167       HRESULT (WINAPI *QueryInterface)(IImageList *This,REFIID riid,void **ppvObject);
1168       ULONG (WINAPI *AddRef)(IImageList *This);
1169       ULONG (WINAPI *Release)(IImageList *This);
1170       HRESULT (WINAPI *ImageListSetIcon)(IImageList *This,LONG_PTR *pIcon,__LONG32 nLoc);
1171       HRESULT (WINAPI *ImageListSetStrip)(IImageList *This,LONG_PTR *pBMapSm,LONG_PTR *pBMapLg,__LONG32 nStartLoc,COLORREF cMask);
1172     END_INTERFACE
1173   } IImageListVtbl;
1174   struct IImageList {
1175     CONST_VTBL struct IImageListVtbl *lpVtbl;
1176   };
1177 #ifdef COBJMACROS
1178 #define IImageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1179 #define IImageList_AddRef(This) (This)->lpVtbl->AddRef(This)
1180 #define IImageList_Release(This) (This)->lpVtbl->Release(This)
1181 #define IImageList_ImageListSetIcon(This,pIcon,nLoc) (This)->lpVtbl->ImageListSetIcon(This,pIcon,nLoc)
1182 #define IImageList_ImageListSetStrip(This,pBMapSm,pBMapLg,nStartLoc,cMask) (This)->lpVtbl->ImageListSetStrip(This,pBMapSm,pBMapLg,nStartLoc,cMask)
1183 #endif
1184 #endif
1185   HRESULT WINAPI IImageList_ImageListSetIcon_Proxy(IImageList *This,LONG_PTR *pIcon,__LONG32 nLoc);
1186   void __RPC_STUB IImageList_ImageListSetIcon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1187   HRESULT WINAPI IImageList_ImageListSetStrip_Proxy(IImageList *This,LONG_PTR *pBMapSm,LONG_PTR *pBMapLg,__LONG32 nStartLoc,COLORREF cMask);
1188   void __RPC_STUB IImageList_ImageListSetStrip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1189 #endif
1190 
1191 #ifndef __IResultData_INTERFACE_DEFINED__
1192 #define __IResultData_INTERFACE_DEFINED__
1193   EXTERN_C const IID IID_IResultData;
1194 #if defined(__cplusplus) && !defined(CINTERFACE)
1195   struct IResultData : public IUnknown {
1196   public:
1197     virtual HRESULT WINAPI InsertItem(LPRESULTDATAITEM item) = 0;
1198     virtual HRESULT WINAPI DeleteItem(HRESULTITEM itemID,int nCol) = 0;
1199     virtual HRESULT WINAPI FindItemByLParam(LPARAM lParam,HRESULTITEM *pItemID) = 0;
1200     virtual HRESULT WINAPI DeleteAllRsltItems(void) = 0;
1201     virtual HRESULT WINAPI SetItem(LPRESULTDATAITEM item) = 0;
1202     virtual HRESULT WINAPI GetItem(LPRESULTDATAITEM item) = 0;
1203     virtual HRESULT WINAPI GetNextItem(LPRESULTDATAITEM item) = 0;
1204     virtual HRESULT WINAPI ModifyItemState(int nIndex,HRESULTITEM itemID,UINT uAdd,UINT uRemove) = 0;
1205     virtual HRESULT WINAPI ModifyViewStyle(MMC_RESULT_VIEW_STYLE add,MMC_RESULT_VIEW_STYLE remove) = 0;
1206     virtual HRESULT WINAPI SetViewMode(__LONG32 lViewMode) = 0;
1207     virtual HRESULT WINAPI GetViewMode(__LONG32 *lViewMode) = 0;
1208     virtual HRESULT WINAPI UpdateItem(HRESULTITEM itemID) = 0;
1209     virtual HRESULT WINAPI Sort(int nColumn,DWORD dwSortOptions,LPARAM lUserParam) = 0;
1210     virtual HRESULT WINAPI SetDescBarText(LPOLESTR DescText) = 0;
1211     virtual HRESULT WINAPI SetItemCount(int nItemCount,DWORD dwOptions) = 0;
1212   };
1213 #else
1214   typedef struct IResultDataVtbl {
1215     BEGIN_INTERFACE
1216       HRESULT (WINAPI *QueryInterface)(IResultData *This,REFIID riid,void **ppvObject);
1217       ULONG (WINAPI *AddRef)(IResultData *This);
1218       ULONG (WINAPI *Release)(IResultData *This);
1219       HRESULT (WINAPI *InsertItem)(IResultData *This,LPRESULTDATAITEM item);
1220       HRESULT (WINAPI *DeleteItem)(IResultData *This,HRESULTITEM itemID,int nCol);
1221       HRESULT (WINAPI *FindItemByLParam)(IResultData *This,LPARAM lParam,HRESULTITEM *pItemID);
1222       HRESULT (WINAPI *DeleteAllRsltItems)(IResultData *This);
1223       HRESULT (WINAPI *SetItem)(IResultData *This,LPRESULTDATAITEM item);
1224       HRESULT (WINAPI *GetItem)(IResultData *This,LPRESULTDATAITEM item);
1225       HRESULT (WINAPI *GetNextItem)(IResultData *This,LPRESULTDATAITEM item);
1226       HRESULT (WINAPI *ModifyItemState)(IResultData *This,int nIndex,HRESULTITEM itemID,UINT uAdd,UINT uRemove);
1227       HRESULT (WINAPI *ModifyViewStyle)(IResultData *This,MMC_RESULT_VIEW_STYLE add,MMC_RESULT_VIEW_STYLE remove);
1228       HRESULT (WINAPI *SetViewMode)(IResultData *This,__LONG32 lViewMode);
1229       HRESULT (WINAPI *GetViewMode)(IResultData *This,__LONG32 *lViewMode);
1230       HRESULT (WINAPI *UpdateItem)(IResultData *This,HRESULTITEM itemID);
1231       HRESULT (WINAPI *Sort)(IResultData *This,int nColumn,DWORD dwSortOptions,LPARAM lUserParam);
1232       HRESULT (WINAPI *SetDescBarText)(IResultData *This,LPOLESTR DescText);
1233       HRESULT (WINAPI *SetItemCount)(IResultData *This,int nItemCount,DWORD dwOptions);
1234     END_INTERFACE
1235   } IResultDataVtbl;
1236   struct IResultData {
1237     CONST_VTBL struct IResultDataVtbl *lpVtbl;
1238   };
1239 #ifdef COBJMACROS
1240 #define IResultData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1241 #define IResultData_AddRef(This) (This)->lpVtbl->AddRef(This)
1242 #define IResultData_Release(This) (This)->lpVtbl->Release(This)
1243 #define IResultData_InsertItem(This,item) (This)->lpVtbl->InsertItem(This,item)
1244 #define IResultData_DeleteItem(This,itemID,nCol) (This)->lpVtbl->DeleteItem(This,itemID,nCol)
1245 #define IResultData_FindItemByLParam(This,lParam,pItemID) (This)->lpVtbl->FindItemByLParam(This,lParam,pItemID)
1246 #define IResultData_DeleteAllRsltItems(This) (This)->lpVtbl->DeleteAllRsltItems(This)
1247 #define IResultData_SetItem(This,item) (This)->lpVtbl->SetItem(This,item)
1248 #define IResultData_GetItem(This,item) (This)->lpVtbl->GetItem(This,item)
1249 #define IResultData_GetNextItem(This,item) (This)->lpVtbl->GetNextItem(This,item)
1250 #define IResultData_ModifyItemState(This,nIndex,itemID,uAdd,uRemove) (This)->lpVtbl->ModifyItemState(This,nIndex,itemID,uAdd,uRemove)
1251 #define IResultData_ModifyViewStyle(This,add,remove) (This)->lpVtbl->ModifyViewStyle(This,add,remove)
1252 #define IResultData_SetViewMode(This,lViewMode) (This)->lpVtbl->SetViewMode(This,lViewMode)
1253 #define IResultData_GetViewMode(This,lViewMode) (This)->lpVtbl->GetViewMode(This,lViewMode)
1254 #define IResultData_UpdateItem(This,itemID) (This)->lpVtbl->UpdateItem(This,itemID)
1255 #define IResultData_Sort(This,nColumn,dwSortOptions,lUserParam) (This)->lpVtbl->Sort(This,nColumn,dwSortOptions,lUserParam)
1256 #define IResultData_SetDescBarText(This,DescText) (This)->lpVtbl->SetDescBarText(This,DescText)
1257 #define IResultData_SetItemCount(This,nItemCount,dwOptions) (This)->lpVtbl->SetItemCount(This,nItemCount,dwOptions)
1258 #endif
1259 #endif
1260   HRESULT WINAPI IResultData_InsertItem_Proxy(IResultData *This,LPRESULTDATAITEM item);
1261   void __RPC_STUB IResultData_InsertItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1262   HRESULT WINAPI IResultData_DeleteItem_Proxy(IResultData *This,HRESULTITEM itemID,int nCol);
1263   void __RPC_STUB IResultData_DeleteItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1264   HRESULT WINAPI IResultData_FindItemByLParam_Proxy(IResultData *This,LPARAM lParam,HRESULTITEM *pItemID);
1265   void __RPC_STUB IResultData_FindItemByLParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1266   HRESULT WINAPI IResultData_DeleteAllRsltItems_Proxy(IResultData *This);
1267   void __RPC_STUB IResultData_DeleteAllRsltItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1268   HRESULT WINAPI IResultData_SetItem_Proxy(IResultData *This,LPRESULTDATAITEM item);
1269   void __RPC_STUB IResultData_SetItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1270   HRESULT WINAPI IResultData_GetItem_Proxy(IResultData *This,LPRESULTDATAITEM item);
1271   void __RPC_STUB IResultData_GetItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1272   HRESULT WINAPI IResultData_GetNextItem_Proxy(IResultData *This,LPRESULTDATAITEM item);
1273   void __RPC_STUB IResultData_GetNextItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1274   HRESULT WINAPI IResultData_ModifyItemState_Proxy(IResultData *This,int nIndex,HRESULTITEM itemID,UINT uAdd,UINT uRemove);
1275   void __RPC_STUB IResultData_ModifyItemState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1276   HRESULT WINAPI IResultData_ModifyViewStyle_Proxy(IResultData *This,MMC_RESULT_VIEW_STYLE add,MMC_RESULT_VIEW_STYLE remove);
1277   void __RPC_STUB IResultData_ModifyViewStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1278   HRESULT WINAPI IResultData_SetViewMode_Proxy(IResultData *This,__LONG32 lViewMode);
1279   void __RPC_STUB IResultData_SetViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1280   HRESULT WINAPI IResultData_GetViewMode_Proxy(IResultData *This,__LONG32 *lViewMode);
1281   void __RPC_STUB IResultData_GetViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1282   HRESULT WINAPI IResultData_UpdateItem_Proxy(IResultData *This,HRESULTITEM itemID);
1283   void __RPC_STUB IResultData_UpdateItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1284   HRESULT WINAPI IResultData_Sort_Proxy(IResultData *This,int nColumn,DWORD dwSortOptions,LPARAM lUserParam);
1285   void __RPC_STUB IResultData_Sort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1286   HRESULT WINAPI IResultData_SetDescBarText_Proxy(IResultData *This,LPOLESTR DescText);
1287   void __RPC_STUB IResultData_SetDescBarText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1288   HRESULT WINAPI IResultData_SetItemCount_Proxy(IResultData *This,int nItemCount,DWORD dwOptions);
1289   void __RPC_STUB IResultData_SetItemCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1290 #endif
1291 
1292 #ifndef __IConsoleNameSpace_INTERFACE_DEFINED__
1293 #define __IConsoleNameSpace_INTERFACE_DEFINED__
1294   EXTERN_C const IID IID_IConsoleNameSpace;
1295 #if defined(__cplusplus) && !defined(CINTERFACE)
1296   struct IConsoleNameSpace : public IUnknown {
1297   public:
1298     virtual HRESULT WINAPI InsertItem(LPSCOPEDATAITEM item) = 0;
1299     virtual HRESULT WINAPI DeleteItem(HSCOPEITEM hItem,__LONG32 fDeleteThis) = 0;
1300     virtual HRESULT WINAPI SetItem(LPSCOPEDATAITEM item) = 0;
1301     virtual HRESULT WINAPI GetItem(LPSCOPEDATAITEM item) = 0;
1302     virtual HRESULT WINAPI GetChildItem(HSCOPEITEM item,HSCOPEITEM *pItemChild,MMC_COOKIE *pCookie) = 0;
1303     virtual HRESULT WINAPI GetNextItem(HSCOPEITEM item,HSCOPEITEM *pItemNext,MMC_COOKIE *pCookie) = 0;
1304     virtual HRESULT WINAPI GetParentItem(HSCOPEITEM item,HSCOPEITEM *pItemParent,MMC_COOKIE *pCookie) = 0;
1305   };
1306 #else
1307   typedef struct IConsoleNameSpaceVtbl {
1308     BEGIN_INTERFACE
1309       HRESULT (WINAPI *QueryInterface)(IConsoleNameSpace *This,REFIID riid,void **ppvObject);
1310       ULONG (WINAPI *AddRef)(IConsoleNameSpace *This);
1311       ULONG (WINAPI *Release)(IConsoleNameSpace *This);
1312       HRESULT (WINAPI *InsertItem)(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1313       HRESULT (WINAPI *DeleteItem)(IConsoleNameSpace *This,HSCOPEITEM hItem,__LONG32 fDeleteThis);
1314       HRESULT (WINAPI *SetItem)(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1315       HRESULT (WINAPI *GetItem)(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1316       HRESULT (WINAPI *GetChildItem)(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemChild,MMC_COOKIE *pCookie);
1317       HRESULT (WINAPI *GetNextItem)(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemNext,MMC_COOKIE *pCookie);
1318       HRESULT (WINAPI *GetParentItem)(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemParent,MMC_COOKIE *pCookie);
1319     END_INTERFACE
1320   } IConsoleNameSpaceVtbl;
1321   struct IConsoleNameSpace {
1322     CONST_VTBL struct IConsoleNameSpaceVtbl *lpVtbl;
1323   };
1324 #ifdef COBJMACROS
1325 #define IConsoleNameSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1326 #define IConsoleNameSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
1327 #define IConsoleNameSpace_Release(This) (This)->lpVtbl->Release(This)
1328 #define IConsoleNameSpace_InsertItem(This,item) (This)->lpVtbl->InsertItem(This,item)
1329 #define IConsoleNameSpace_DeleteItem(This,hItem,fDeleteThis) (This)->lpVtbl->DeleteItem(This,hItem,fDeleteThis)
1330 #define IConsoleNameSpace_SetItem(This,item) (This)->lpVtbl->SetItem(This,item)
1331 #define IConsoleNameSpace_GetItem(This,item) (This)->lpVtbl->GetItem(This,item)
1332 #define IConsoleNameSpace_GetChildItem(This,item,pItemChild,pCookie) (This)->lpVtbl->GetChildItem(This,item,pItemChild,pCookie)
1333 #define IConsoleNameSpace_GetNextItem(This,item,pItemNext,pCookie) (This)->lpVtbl->GetNextItem(This,item,pItemNext,pCookie)
1334 #define IConsoleNameSpace_GetParentItem(This,item,pItemParent,pCookie) (This)->lpVtbl->GetParentItem(This,item,pItemParent,pCookie)
1335 #endif
1336 #endif
1337   HRESULT WINAPI IConsoleNameSpace_InsertItem_Proxy(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1338   void __RPC_STUB IConsoleNameSpace_InsertItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1339   HRESULT WINAPI IConsoleNameSpace_DeleteItem_Proxy(IConsoleNameSpace *This,HSCOPEITEM hItem,__LONG32 fDeleteThis);
1340   void __RPC_STUB IConsoleNameSpace_DeleteItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1341   HRESULT WINAPI IConsoleNameSpace_SetItem_Proxy(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1342   void __RPC_STUB IConsoleNameSpace_SetItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1343   HRESULT WINAPI IConsoleNameSpace_GetItem_Proxy(IConsoleNameSpace *This,LPSCOPEDATAITEM item);
1344   void __RPC_STUB IConsoleNameSpace_GetItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1345   HRESULT WINAPI IConsoleNameSpace_GetChildItem_Proxy(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemChild,MMC_COOKIE *pCookie);
1346   void __RPC_STUB IConsoleNameSpace_GetChildItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1347   HRESULT WINAPI IConsoleNameSpace_GetNextItem_Proxy(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemNext,MMC_COOKIE *pCookie);
1348   void __RPC_STUB IConsoleNameSpace_GetNextItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1349   HRESULT WINAPI IConsoleNameSpace_GetParentItem_Proxy(IConsoleNameSpace *This,HSCOPEITEM item,HSCOPEITEM *pItemParent,MMC_COOKIE *pCookie);
1350   void __RPC_STUB IConsoleNameSpace_GetParentItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1351 #endif
1352 
1353 #ifndef __IConsoleNameSpace2_INTERFACE_DEFINED__
1354 #define __IConsoleNameSpace2_INTERFACE_DEFINED__
1355   EXTERN_C const IID IID_IConsoleNameSpace2;
1356 #if defined(__cplusplus) && !defined(CINTERFACE)
1357   struct IConsoleNameSpace2 : public IConsoleNameSpace {
1358   public:
1359     virtual HRESULT WINAPI Expand(HSCOPEITEM hItem) = 0;
1360     virtual HRESULT WINAPI AddExtension(HSCOPEITEM hItem,LPCLSID lpClsid) = 0;
1361   };
1362 #else
1363   typedef struct IConsoleNameSpace2Vtbl {
1364     BEGIN_INTERFACE
1365       HRESULT (WINAPI *QueryInterface)(IConsoleNameSpace2 *This,REFIID riid,void **ppvObject);
1366       ULONG (WINAPI *AddRef)(IConsoleNameSpace2 *This);
1367       ULONG (WINAPI *Release)(IConsoleNameSpace2 *This);
1368       HRESULT (WINAPI *InsertItem)(IConsoleNameSpace2 *This,LPSCOPEDATAITEM item);
1369       HRESULT (WINAPI *DeleteItem)(IConsoleNameSpace2 *This,HSCOPEITEM hItem,__LONG32 fDeleteThis);
1370       HRESULT (WINAPI *SetItem)(IConsoleNameSpace2 *This,LPSCOPEDATAITEM item);
1371       HRESULT (WINAPI *GetItem)(IConsoleNameSpace2 *This,LPSCOPEDATAITEM item);
1372       HRESULT (WINAPI *GetChildItem)(IConsoleNameSpace2 *This,HSCOPEITEM item,HSCOPEITEM *pItemChild,MMC_COOKIE *pCookie);
1373       HRESULT (WINAPI *GetNextItem)(IConsoleNameSpace2 *This,HSCOPEITEM item,HSCOPEITEM *pItemNext,MMC_COOKIE *pCookie);
1374       HRESULT (WINAPI *GetParentItem)(IConsoleNameSpace2 *This,HSCOPEITEM item,HSCOPEITEM *pItemParent,MMC_COOKIE *pCookie);
1375       HRESULT (WINAPI *Expand)(IConsoleNameSpace2 *This,HSCOPEITEM hItem);
1376       HRESULT (WINAPI *AddExtension)(IConsoleNameSpace2 *This,HSCOPEITEM hItem,LPCLSID lpClsid);
1377     END_INTERFACE
1378   } IConsoleNameSpace2Vtbl;
1379   struct IConsoleNameSpace2 {
1380     CONST_VTBL struct IConsoleNameSpace2Vtbl *lpVtbl;
1381   };
1382 #ifdef COBJMACROS
1383 #define IConsoleNameSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1384 #define IConsoleNameSpace2_AddRef(This) (This)->lpVtbl->AddRef(This)
1385 #define IConsoleNameSpace2_Release(This) (This)->lpVtbl->Release(This)
1386 #define IConsoleNameSpace2_InsertItem(This,item) (This)->lpVtbl->InsertItem(This,item)
1387 #define IConsoleNameSpace2_DeleteItem(This,hItem,fDeleteThis) (This)->lpVtbl->DeleteItem(This,hItem,fDeleteThis)
1388 #define IConsoleNameSpace2_SetItem(This,item) (This)->lpVtbl->SetItem(This,item)
1389 #define IConsoleNameSpace2_GetItem(This,item) (This)->lpVtbl->GetItem(This,item)
1390 #define IConsoleNameSpace2_GetChildItem(This,item,pItemChild,pCookie) (This)->lpVtbl->GetChildItem(This,item,pItemChild,pCookie)
1391 #define IConsoleNameSpace2_GetNextItem(This,item,pItemNext,pCookie) (This)->lpVtbl->GetNextItem(This,item,pItemNext,pCookie)
1392 #define IConsoleNameSpace2_GetParentItem(This,item,pItemParent,pCookie) (This)->lpVtbl->GetParentItem(This,item,pItemParent,pCookie)
1393 #define IConsoleNameSpace2_Expand(This,hItem) (This)->lpVtbl->Expand(This,hItem)
1394 #define IConsoleNameSpace2_AddExtension(This,hItem,lpClsid) (This)->lpVtbl->AddExtension(This,hItem,lpClsid)
1395 #endif
1396 #endif
1397   HRESULT WINAPI IConsoleNameSpace2_Expand_Proxy(IConsoleNameSpace2 *This,HSCOPEITEM hItem);
1398   void __RPC_STUB IConsoleNameSpace2_Expand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1399   HRESULT WINAPI IConsoleNameSpace2_AddExtension_Proxy(IConsoleNameSpace2 *This,HSCOPEITEM hItem,LPCLSID lpClsid);
1400   void __RPC_STUB IConsoleNameSpace2_AddExtension_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1401 #endif
1402 
1403   typedef struct _PSP *HPROPSHEETPAGE;
1404 
1405   extern RPC_IF_HANDLE __MIDL_itf_mmc_0129_v0_0_c_ifspec;
1406   extern RPC_IF_HANDLE __MIDL_itf_mmc_0129_v0_0_s_ifspec;
1407 #ifndef __IPropertySheetCallback_INTERFACE_DEFINED__
1408 #define __IPropertySheetCallback_INTERFACE_DEFINED__
1409   EXTERN_C const IID IID_IPropertySheetCallback;
1410 #if defined(__cplusplus) && !defined(CINTERFACE)
1411   struct IPropertySheetCallback : public IUnknown {
1412   public:
1413     virtual HRESULT WINAPI AddPage(HPROPSHEETPAGE hPage) = 0;
1414     virtual HRESULT WINAPI RemovePage(HPROPSHEETPAGE hPage) = 0;
1415   };
1416 #else
1417   typedef struct IPropertySheetCallbackVtbl {
1418     BEGIN_INTERFACE
1419       HRESULT (WINAPI *QueryInterface)(IPropertySheetCallback *This,REFIID riid,void **ppvObject);
1420       ULONG (WINAPI *AddRef)(IPropertySheetCallback *This);
1421       ULONG (WINAPI *Release)(IPropertySheetCallback *This);
1422       HRESULT (WINAPI *AddPage)(IPropertySheetCallback *This,HPROPSHEETPAGE hPage);
1423       HRESULT (WINAPI *RemovePage)(IPropertySheetCallback *This,HPROPSHEETPAGE hPage);
1424     END_INTERFACE
1425   } IPropertySheetCallbackVtbl;
1426   struct IPropertySheetCallback {
1427     CONST_VTBL struct IPropertySheetCallbackVtbl *lpVtbl;
1428   };
1429 #ifdef COBJMACROS
1430 #define IPropertySheetCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1431 #define IPropertySheetCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1432 #define IPropertySheetCallback_Release(This) (This)->lpVtbl->Release(This)
1433 #define IPropertySheetCallback_AddPage(This,hPage) (This)->lpVtbl->AddPage(This,hPage)
1434 #define IPropertySheetCallback_RemovePage(This,hPage) (This)->lpVtbl->RemovePage(This,hPage)
1435 #endif
1436 #endif
1437   HRESULT WINAPI IPropertySheetCallback_AddPage_Proxy(IPropertySheetCallback *This,HPROPSHEETPAGE hPage);
1438   void __RPC_STUB IPropertySheetCallback_AddPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1439   HRESULT WINAPI IPropertySheetCallback_RemovePage_Proxy(IPropertySheetCallback *This,HPROPSHEETPAGE hPage);
1440   void __RPC_STUB IPropertySheetCallback_RemovePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1441 #endif
1442 
1443 #ifndef __IPropertySheetProvider_INTERFACE_DEFINED__
1444 #define __IPropertySheetProvider_INTERFACE_DEFINED__
1445   EXTERN_C const IID IID_IPropertySheetProvider;
1446 #if defined(__cplusplus) && !defined(CINTERFACE)
1447   struct IPropertySheetProvider : public IUnknown {
1448   public:
1449     virtual HRESULT WINAPI CreatePropertySheet(LPCWSTR title,boolean type,MMC_COOKIE cookie,LPDATAOBJECT pIDataObjectm,DWORD dwOptions) = 0;
1450     virtual HRESULT WINAPI FindPropertySheet(MMC_COOKIE cookie,LPCOMPONENT lpComponent,LPDATAOBJECT lpDataObject) = 0;
1451     virtual HRESULT WINAPI AddPrimaryPages(LPUNKNOWN lpUnknown,WINBOOL bCreateHandle,HWND hNotifyWindow,WINBOOL bScopePane) = 0;
1452     virtual HRESULT WINAPI AddExtensionPages(void) = 0;
1453     virtual HRESULT WINAPI Show(LONG_PTR window,int page) = 0;
1454   };
1455 #else
1456   typedef struct IPropertySheetProviderVtbl {
1457     BEGIN_INTERFACE
1458       HRESULT (WINAPI *QueryInterface)(IPropertySheetProvider *This,REFIID riid,void **ppvObject);
1459       ULONG (WINAPI *AddRef)(IPropertySheetProvider *This);
1460       ULONG (WINAPI *Release)(IPropertySheetProvider *This);
1461       HRESULT (WINAPI *CreatePropertySheet)(IPropertySheetProvider *This,LPCWSTR title,boolean type,MMC_COOKIE cookie,LPDATAOBJECT pIDataObjectm,DWORD dwOptions);
1462       HRESULT (WINAPI *FindPropertySheet)(IPropertySheetProvider *This,MMC_COOKIE cookie,LPCOMPONENT lpComponent,LPDATAOBJECT lpDataObject);
1463       HRESULT (WINAPI *AddPrimaryPages)(IPropertySheetProvider *This,LPUNKNOWN lpUnknown,WINBOOL bCreateHandle,HWND hNotifyWindow,WINBOOL bScopePane);
1464       HRESULT (WINAPI *AddExtensionPages)(IPropertySheetProvider *This);
1465       HRESULT (WINAPI *Show)(IPropertySheetProvider *This,LONG_PTR window,int page);
1466     END_INTERFACE
1467   } IPropertySheetProviderVtbl;
1468   struct IPropertySheetProvider {
1469     CONST_VTBL struct IPropertySheetProviderVtbl *lpVtbl;
1470   };
1471 #ifdef COBJMACROS
1472 #define IPropertySheetProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1473 #define IPropertySheetProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1474 #define IPropertySheetProvider_Release(This) (This)->lpVtbl->Release(This)
1475 #define IPropertySheetProvider_CreatePropertySheet(This,title,type,cookie,pIDataObjectm,dwOptions) (This)->lpVtbl->CreatePropertySheet(This,title,type,cookie,pIDataObjectm,dwOptions)
1476 #define IPropertySheetProvider_FindPropertySheet(This,cookie,lpComponent,lpDataObject) (This)->lpVtbl->FindPropertySheet(This,cookie,lpComponent,lpDataObject)
1477 #define IPropertySheetProvider_AddPrimaryPages(This,lpUnknown,bCreateHandle,hNotifyWindow,bScopePane) (This)->lpVtbl->AddPrimaryPages(This,lpUnknown,bCreateHandle,hNotifyWindow,bScopePane)
1478 #define IPropertySheetProvider_AddExtensionPages(This) (This)->lpVtbl->AddExtensionPages(This)
1479 #define IPropertySheetProvider_Show(This,window,page) (This)->lpVtbl->Show(This,window,page)
1480 #endif
1481 #endif
1482   HRESULT WINAPI IPropertySheetProvider_CreatePropertySheet_Proxy(IPropertySheetProvider *This,LPCWSTR title,boolean type,MMC_COOKIE cookie,LPDATAOBJECT pIDataObjectm,DWORD dwOptions);
1483   void __RPC_STUB IPropertySheetProvider_CreatePropertySheet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1484   HRESULT WINAPI IPropertySheetProvider_FindPropertySheet_Proxy(IPropertySheetProvider *This,MMC_COOKIE cookie,LPCOMPONENT lpComponent,LPDATAOBJECT lpDataObject);
1485   void __RPC_STUB IPropertySheetProvider_FindPropertySheet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1486   HRESULT WINAPI IPropertySheetProvider_AddPrimaryPages_Proxy(IPropertySheetProvider *This,LPUNKNOWN lpUnknown,WINBOOL bCreateHandle,HWND hNotifyWindow,WINBOOL bScopePane);
1487   void __RPC_STUB IPropertySheetProvider_AddPrimaryPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1488   HRESULT WINAPI IPropertySheetProvider_AddExtensionPages_Proxy(IPropertySheetProvider *This);
1489   void __RPC_STUB IPropertySheetProvider_AddExtensionPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1490   HRESULT WINAPI IPropertySheetProvider_Show_Proxy(IPropertySheetProvider *This,LONG_PTR window,int page);
1491   void __RPC_STUB IPropertySheetProvider_Show_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1492 #endif
1493 
1494 #ifndef __IExtendPropertySheet_INTERFACE_DEFINED__
1495 #define __IExtendPropertySheet_INTERFACE_DEFINED__
1496   EXTERN_C const IID IID_IExtendPropertySheet;
1497 #if defined(__cplusplus) && !defined(CINTERFACE)
1498   struct IExtendPropertySheet : public IUnknown {
1499   public:
1500     virtual HRESULT WINAPI CreatePropertyPages(LPPROPERTYSHEETCALLBACK lpProvider,LONG_PTR handle,LPDATAOBJECT lpIDataObject) = 0;
1501     virtual HRESULT WINAPI QueryPagesFor(LPDATAOBJECT lpDataObject) = 0;
1502   };
1503 #else
1504   typedef struct IExtendPropertySheetVtbl {
1505     BEGIN_INTERFACE
1506       HRESULT (WINAPI *QueryInterface)(IExtendPropertySheet *This,REFIID riid,void **ppvObject);
1507       ULONG (WINAPI *AddRef)(IExtendPropertySheet *This);
1508       ULONG (WINAPI *Release)(IExtendPropertySheet *This);
1509       HRESULT (WINAPI *CreatePropertyPages)(IExtendPropertySheet *This,LPPROPERTYSHEETCALLBACK lpProvider,LONG_PTR handle,LPDATAOBJECT lpIDataObject);
1510       HRESULT (WINAPI *QueryPagesFor)(IExtendPropertySheet *This,LPDATAOBJECT lpDataObject);
1511     END_INTERFACE
1512   } IExtendPropertySheetVtbl;
1513   struct IExtendPropertySheet {
1514     CONST_VTBL struct IExtendPropertySheetVtbl *lpVtbl;
1515   };
1516 #ifdef COBJMACROS
1517 #define IExtendPropertySheet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1518 #define IExtendPropertySheet_AddRef(This) (This)->lpVtbl->AddRef(This)
1519 #define IExtendPropertySheet_Release(This) (This)->lpVtbl->Release(This)
1520 #define IExtendPropertySheet_CreatePropertyPages(This,lpProvider,handle,lpIDataObject) (This)->lpVtbl->CreatePropertyPages(This,lpProvider,handle,lpIDataObject)
1521 #define IExtendPropertySheet_QueryPagesFor(This,lpDataObject) (This)->lpVtbl->QueryPagesFor(This,lpDataObject)
1522 #endif
1523 #endif
1524   HRESULT WINAPI IExtendPropertySheet_CreatePropertyPages_Proxy(IExtendPropertySheet *This,LPPROPERTYSHEETCALLBACK lpProvider,LONG_PTR handle,LPDATAOBJECT lpIDataObject);
1525   void __RPC_STUB IExtendPropertySheet_CreatePropertyPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1526   HRESULT WINAPI IExtendPropertySheet_QueryPagesFor_Proxy(IExtendPropertySheet *This,LPDATAOBJECT lpDataObject);
1527   void __RPC_STUB IExtendPropertySheet_QueryPagesFor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1528 #endif
1529 
1530 #ifndef __IControlbar_INTERFACE_DEFINED__
1531 #define __IControlbar_INTERFACE_DEFINED__
1532   EXTERN_C const IID IID_IControlbar;
1533 #if defined(__cplusplus) && !defined(CINTERFACE)
1534   struct IControlbar : public IUnknown {
1535   public:
1536     virtual HRESULT WINAPI Create(MMC_CONTROL_TYPE nType,LPEXTENDCONTROLBAR pExtendControlbar,LPUNKNOWN *ppUnknown) = 0;
1537     virtual HRESULT WINAPI Attach(MMC_CONTROL_TYPE nType,LPUNKNOWN lpUnknown) = 0;
1538     virtual HRESULT WINAPI Detach(LPUNKNOWN lpUnknown) = 0;
1539   };
1540 #else
1541   typedef struct IControlbarVtbl {
1542     BEGIN_INTERFACE
1543       HRESULT (WINAPI *QueryInterface)(IControlbar *This,REFIID riid,void **ppvObject);
1544       ULONG (WINAPI *AddRef)(IControlbar *This);
1545       ULONG (WINAPI *Release)(IControlbar *This);
1546       HRESULT (WINAPI *Create)(IControlbar *This,MMC_CONTROL_TYPE nType,LPEXTENDCONTROLBAR pExtendControlbar,LPUNKNOWN *ppUnknown);
1547       HRESULT (WINAPI *Attach)(IControlbar *This,MMC_CONTROL_TYPE nType,LPUNKNOWN lpUnknown);
1548       HRESULT (WINAPI *Detach)(IControlbar *This,LPUNKNOWN lpUnknown);
1549     END_INTERFACE
1550   } IControlbarVtbl;
1551   struct IControlbar {
1552     CONST_VTBL struct IControlbarVtbl *lpVtbl;
1553   };
1554 #ifdef COBJMACROS
1555 #define IControlbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1556 #define IControlbar_AddRef(This) (This)->lpVtbl->AddRef(This)
1557 #define IControlbar_Release(This) (This)->lpVtbl->Release(This)
1558 #define IControlbar_Create(This,nType,pExtendControlbar,ppUnknown) (This)->lpVtbl->Create(This,nType,pExtendControlbar,ppUnknown)
1559 #define IControlbar_Attach(This,nType,lpUnknown) (This)->lpVtbl->Attach(This,nType,lpUnknown)
1560 #define IControlbar_Detach(This,lpUnknown) (This)->lpVtbl->Detach(This,lpUnknown)
1561 #endif
1562 #endif
1563   HRESULT WINAPI IControlbar_Create_Proxy(IControlbar *This,MMC_CONTROL_TYPE nType,LPEXTENDCONTROLBAR pExtendControlbar,LPUNKNOWN *ppUnknown);
1564   void __RPC_STUB IControlbar_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1565   HRESULT WINAPI IControlbar_Attach_Proxy(IControlbar *This,MMC_CONTROL_TYPE nType,LPUNKNOWN lpUnknown);
1566   void __RPC_STUB IControlbar_Attach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1567   HRESULT WINAPI IControlbar_Detach_Proxy(IControlbar *This,LPUNKNOWN lpUnknown);
1568   void __RPC_STUB IControlbar_Detach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1569 #endif
1570 
1571 #ifndef __IExtendControlbar_INTERFACE_DEFINED__
1572 #define __IExtendControlbar_INTERFACE_DEFINED__
1573   EXTERN_C const IID IID_IExtendControlbar;
1574 #if defined(__cplusplus) && !defined(CINTERFACE)
1575   struct IExtendControlbar : public IUnknown {
1576   public:
1577     virtual HRESULT WINAPI SetControlbar(LPCONTROLBAR pControlbar) = 0;
1578     virtual HRESULT WINAPI ControlbarNotify(MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param) = 0;
1579   };
1580 #else
1581   typedef struct IExtendControlbarVtbl {
1582     BEGIN_INTERFACE
1583       HRESULT (WINAPI *QueryInterface)(IExtendControlbar *This,REFIID riid,void **ppvObject);
1584       ULONG (WINAPI *AddRef)(IExtendControlbar *This);
1585       ULONG (WINAPI *Release)(IExtendControlbar *This);
1586       HRESULT (WINAPI *SetControlbar)(IExtendControlbar *This,LPCONTROLBAR pControlbar);
1587       HRESULT (WINAPI *ControlbarNotify)(IExtendControlbar *This,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
1588     END_INTERFACE
1589   } IExtendControlbarVtbl;
1590   struct IExtendControlbar {
1591     CONST_VTBL struct IExtendControlbarVtbl *lpVtbl;
1592   };
1593 #ifdef COBJMACROS
1594 #define IExtendControlbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1595 #define IExtendControlbar_AddRef(This) (This)->lpVtbl->AddRef(This)
1596 #define IExtendControlbar_Release(This) (This)->lpVtbl->Release(This)
1597 #define IExtendControlbar_SetControlbar(This,pControlbar) (This)->lpVtbl->SetControlbar(This,pControlbar)
1598 #define IExtendControlbar_ControlbarNotify(This,event,arg,param) (This)->lpVtbl->ControlbarNotify(This,event,arg,param)
1599 #endif
1600 #endif
1601   HRESULT WINAPI IExtendControlbar_SetControlbar_Proxy(IExtendControlbar *This,LPCONTROLBAR pControlbar);
1602   void __RPC_STUB IExtendControlbar_SetControlbar_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1603   HRESULT WINAPI IExtendControlbar_ControlbarNotify_Proxy(IExtendControlbar *This,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
1604   void __RPC_STUB IExtendControlbar_ControlbarNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1605 #endif
1606 
1607 #ifndef __IToolbar_INTERFACE_DEFINED__
1608 #define __IToolbar_INTERFACE_DEFINED__
1609   EXTERN_C const IID IID_IToolbar;
1610 #if defined(__cplusplus) && !defined(CINTERFACE)
1611   struct IToolbar : public IUnknown {
1612   public:
1613     virtual HRESULT WINAPI AddBitmap(int nImages,HBITMAP hbmp,int cxSize,int cySize,COLORREF crMask) = 0;
1614     virtual HRESULT WINAPI AddButtons(int nButtons,LPMMCBUTTON lpButtons) = 0;
1615     virtual HRESULT WINAPI InsertButton(int nIndex,LPMMCBUTTON lpButton) = 0;
1616     virtual HRESULT WINAPI DeleteButton(int nIndex) = 0;
1617     virtual HRESULT WINAPI GetButtonState(int idCommand,MMC_BUTTON_STATE nState,WINBOOL *pState) = 0;
1618     virtual HRESULT WINAPI SetButtonState(int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState) = 0;
1619   };
1620 #else
1621   typedef struct IToolbarVtbl {
1622     BEGIN_INTERFACE
1623       HRESULT (WINAPI *QueryInterface)(IToolbar *This,REFIID riid,void **ppvObject);
1624       ULONG (WINAPI *AddRef)(IToolbar *This);
1625       ULONG (WINAPI *Release)(IToolbar *This);
1626       HRESULT (WINAPI *AddBitmap)(IToolbar *This,int nImages,HBITMAP hbmp,int cxSize,int cySize,COLORREF crMask);
1627       HRESULT (WINAPI *AddButtons)(IToolbar *This,int nButtons,LPMMCBUTTON lpButtons);
1628       HRESULT (WINAPI *InsertButton)(IToolbar *This,int nIndex,LPMMCBUTTON lpButton);
1629       HRESULT (WINAPI *DeleteButton)(IToolbar *This,int nIndex);
1630       HRESULT (WINAPI *GetButtonState)(IToolbar *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL *pState);
1631       HRESULT (WINAPI *SetButtonState)(IToolbar *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState);
1632     END_INTERFACE
1633   } IToolbarVtbl;
1634   struct IToolbar {
1635     CONST_VTBL struct IToolbarVtbl *lpVtbl;
1636   };
1637 #ifdef COBJMACROS
1638 #define IToolbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1639 #define IToolbar_AddRef(This) (This)->lpVtbl->AddRef(This)
1640 #define IToolbar_Release(This) (This)->lpVtbl->Release(This)
1641 #define IToolbar_AddBitmap(This,nImages,hbmp,cxSize,cySize,crMask) (This)->lpVtbl->AddBitmap(This,nImages,hbmp,cxSize,cySize,crMask)
1642 #define IToolbar_AddButtons(This,nButtons,lpButtons) (This)->lpVtbl->AddButtons(This,nButtons,lpButtons)
1643 #define IToolbar_InsertButton(This,nIndex,lpButton) (This)->lpVtbl->InsertButton(This,nIndex,lpButton)
1644 #define IToolbar_DeleteButton(This,nIndex) (This)->lpVtbl->DeleteButton(This,nIndex)
1645 #define IToolbar_GetButtonState(This,idCommand,nState,pState) (This)->lpVtbl->GetButtonState(This,idCommand,nState,pState)
1646 #define IToolbar_SetButtonState(This,idCommand,nState,bState) (This)->lpVtbl->SetButtonState(This,idCommand,nState,bState)
1647 #endif
1648 #endif
1649   HRESULT WINAPI IToolbar_AddBitmap_Proxy(IToolbar *This,int nImages,HBITMAP hbmp,int cxSize,int cySize,COLORREF crMask);
1650   void __RPC_STUB IToolbar_AddBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1651   HRESULT WINAPI IToolbar_AddButtons_Proxy(IToolbar *This,int nButtons,LPMMCBUTTON lpButtons);
1652   void __RPC_STUB IToolbar_AddButtons_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1653   HRESULT WINAPI IToolbar_InsertButton_Proxy(IToolbar *This,int nIndex,LPMMCBUTTON lpButton);
1654   void __RPC_STUB IToolbar_InsertButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1655   HRESULT WINAPI IToolbar_DeleteButton_Proxy(IToolbar *This,int nIndex);
1656   void __RPC_STUB IToolbar_DeleteButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1657   HRESULT WINAPI IToolbar_GetButtonState_Proxy(IToolbar *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL *pState);
1658   void __RPC_STUB IToolbar_GetButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1659   HRESULT WINAPI IToolbar_SetButtonState_Proxy(IToolbar *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState);
1660   void __RPC_STUB IToolbar_SetButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1661 #endif
1662 
1663 #ifndef __IConsoleVerb_INTERFACE_DEFINED__
1664 #define __IConsoleVerb_INTERFACE_DEFINED__
1665   EXTERN_C const IID IID_IConsoleVerb;
1666 #if defined(__cplusplus) && !defined(CINTERFACE)
1667   struct IConsoleVerb : public IUnknown {
1668   public:
1669     virtual HRESULT WINAPI GetVerbState(MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL *pState) = 0;
1670     virtual HRESULT WINAPI SetVerbState(MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL bState) = 0;
1671     virtual HRESULT WINAPI SetDefaultVerb(MMC_CONSOLE_VERB eCmdID) = 0;
1672     virtual HRESULT WINAPI GetDefaultVerb(MMC_CONSOLE_VERB *peCmdID) = 0;
1673   };
1674 #else
1675   typedef struct IConsoleVerbVtbl {
1676     BEGIN_INTERFACE
1677       HRESULT (WINAPI *QueryInterface)(IConsoleVerb *This,REFIID riid,void **ppvObject);
1678       ULONG (WINAPI *AddRef)(IConsoleVerb *This);
1679       ULONG (WINAPI *Release)(IConsoleVerb *This);
1680       HRESULT (WINAPI *GetVerbState)(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL *pState);
1681       HRESULT (WINAPI *SetVerbState)(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL bState);
1682       HRESULT (WINAPI *SetDefaultVerb)(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID);
1683       HRESULT (WINAPI *GetDefaultVerb)(IConsoleVerb *This,MMC_CONSOLE_VERB *peCmdID);
1684     END_INTERFACE
1685   } IConsoleVerbVtbl;
1686   struct IConsoleVerb {
1687     CONST_VTBL struct IConsoleVerbVtbl *lpVtbl;
1688   };
1689 #ifdef COBJMACROS
1690 #define IConsoleVerb_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1691 #define IConsoleVerb_AddRef(This) (This)->lpVtbl->AddRef(This)
1692 #define IConsoleVerb_Release(This) (This)->lpVtbl->Release(This)
1693 #define IConsoleVerb_GetVerbState(This,eCmdID,nState,pState) (This)->lpVtbl->GetVerbState(This,eCmdID,nState,pState)
1694 #define IConsoleVerb_SetVerbState(This,eCmdID,nState,bState) (This)->lpVtbl->SetVerbState(This,eCmdID,nState,bState)
1695 #define IConsoleVerb_SetDefaultVerb(This,eCmdID) (This)->lpVtbl->SetDefaultVerb(This,eCmdID)
1696 #define IConsoleVerb_GetDefaultVerb(This,peCmdID) (This)->lpVtbl->GetDefaultVerb(This,peCmdID)
1697 #endif
1698 #endif
1699   HRESULT WINAPI IConsoleVerb_GetVerbState_Proxy(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL *pState);
1700   void __RPC_STUB IConsoleVerb_GetVerbState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1701   HRESULT WINAPI IConsoleVerb_SetVerbState_Proxy(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID,MMC_BUTTON_STATE nState,WINBOOL bState);
1702   void __RPC_STUB IConsoleVerb_SetVerbState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1703   HRESULT WINAPI IConsoleVerb_SetDefaultVerb_Proxy(IConsoleVerb *This,MMC_CONSOLE_VERB eCmdID);
1704   void __RPC_STUB IConsoleVerb_SetDefaultVerb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1705   HRESULT WINAPI IConsoleVerb_GetDefaultVerb_Proxy(IConsoleVerb *This,MMC_CONSOLE_VERB *peCmdID);
1706   void __RPC_STUB IConsoleVerb_GetDefaultVerb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1707 #endif
1708 
1709 #ifndef __ISnapinAbout_INTERFACE_DEFINED__
1710 #define __ISnapinAbout_INTERFACE_DEFINED__
1711   EXTERN_C const IID IID_ISnapinAbout;
1712 #if defined(__cplusplus) && !defined(CINTERFACE)
1713   struct ISnapinAbout : public IUnknown {
1714   public:
1715     virtual HRESULT WINAPI GetSnapinDescription(LPOLESTR *lpDescription) = 0;
1716     virtual HRESULT WINAPI GetProvider(LPOLESTR *lpName) = 0;
1717     virtual HRESULT WINAPI GetSnapinVersion(LPOLESTR *lpVersion) = 0;
1718     virtual HRESULT WINAPI GetSnapinImage(HICON *hAppIcon) = 0;
1719     virtual HRESULT WINAPI GetStaticFolderImage(HBITMAP *hSmallImage,HBITMAP *hSmallImageOpen,HBITMAP *hLargeImage,COLORREF *cMask) = 0;
1720   };
1721 #else
1722   typedef struct ISnapinAboutVtbl {
1723     BEGIN_INTERFACE
1724       HRESULT (WINAPI *QueryInterface)(ISnapinAbout *This,REFIID riid,void **ppvObject);
1725       ULONG (WINAPI *AddRef)(ISnapinAbout *This);
1726       ULONG (WINAPI *Release)(ISnapinAbout *This);
1727       HRESULT (WINAPI *GetSnapinDescription)(ISnapinAbout *This,LPOLESTR *lpDescription);
1728       HRESULT (WINAPI *GetProvider)(ISnapinAbout *This,LPOLESTR *lpName);
1729       HRESULT (WINAPI *GetSnapinVersion)(ISnapinAbout *This,LPOLESTR *lpVersion);
1730       HRESULT (WINAPI *GetSnapinImage)(ISnapinAbout *This,HICON *hAppIcon);
1731       HRESULT (WINAPI *GetStaticFolderImage)(ISnapinAbout *This,HBITMAP *hSmallImage,HBITMAP *hSmallImageOpen,HBITMAP *hLargeImage,COLORREF *cMask);
1732     END_INTERFACE
1733   } ISnapinAboutVtbl;
1734   struct ISnapinAbout {
1735     CONST_VTBL struct ISnapinAboutVtbl *lpVtbl;
1736   };
1737 #ifdef COBJMACROS
1738 #define ISnapinAbout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1739 #define ISnapinAbout_AddRef(This) (This)->lpVtbl->AddRef(This)
1740 #define ISnapinAbout_Release(This) (This)->lpVtbl->Release(This)
1741 #define ISnapinAbout_GetSnapinDescription(This,lpDescription) (This)->lpVtbl->GetSnapinDescription(This,lpDescription)
1742 #define ISnapinAbout_GetProvider(This,lpName) (This)->lpVtbl->GetProvider(This,lpName)
1743 #define ISnapinAbout_GetSnapinVersion(This,lpVersion) (This)->lpVtbl->GetSnapinVersion(This,lpVersion)
1744 #define ISnapinAbout_GetSnapinImage(This,hAppIcon) (This)->lpVtbl->GetSnapinImage(This,hAppIcon)
1745 #define ISnapinAbout_GetStaticFolderImage(This,hSmallImage,hSmallImageOpen,hLargeImage,cMask) (This)->lpVtbl->GetStaticFolderImage(This,hSmallImage,hSmallImageOpen,hLargeImage,cMask)
1746 #endif
1747 #endif
1748   HRESULT WINAPI ISnapinAbout_GetSnapinDescription_Proxy(ISnapinAbout *This,LPOLESTR *lpDescription);
1749   void __RPC_STUB ISnapinAbout_GetSnapinDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1750   HRESULT WINAPI ISnapinAbout_GetProvider_Proxy(ISnapinAbout *This,LPOLESTR *lpName);
1751   void __RPC_STUB ISnapinAbout_GetProvider_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1752   HRESULT WINAPI ISnapinAbout_GetSnapinVersion_Proxy(ISnapinAbout *This,LPOLESTR *lpVersion);
1753   void __RPC_STUB ISnapinAbout_GetSnapinVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1754   HRESULT WINAPI ISnapinAbout_GetSnapinImage_Proxy(ISnapinAbout *This,HICON *hAppIcon);
1755   void __RPC_STUB ISnapinAbout_GetSnapinImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1756   HRESULT WINAPI ISnapinAbout_GetStaticFolderImage_Proxy(ISnapinAbout *This,HBITMAP *hSmallImage,HBITMAP *hSmallImageOpen,HBITMAP *hLargeImage,COLORREF *cMask);
1757   void __RPC_STUB ISnapinAbout_GetStaticFolderImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1758 #endif
1759 
1760 #ifndef __IMenuButton_INTERFACE_DEFINED__
1761 #define __IMenuButton_INTERFACE_DEFINED__
1762   EXTERN_C const IID IID_IMenuButton;
1763 #if defined(__cplusplus) && !defined(CINTERFACE)
1764   struct IMenuButton : public IUnknown {
1765   public:
1766     virtual HRESULT WINAPI AddButton(int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText) = 0;
1767     virtual HRESULT WINAPI SetButton(int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText) = 0;
1768     virtual HRESULT WINAPI SetButtonState(int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState) = 0;
1769   };
1770 #else
1771   typedef struct IMenuButtonVtbl {
1772     BEGIN_INTERFACE
1773       HRESULT (WINAPI *QueryInterface)(IMenuButton *This,REFIID riid,void **ppvObject);
1774       ULONG (WINAPI *AddRef)(IMenuButton *This);
1775       ULONG (WINAPI *Release)(IMenuButton *This);
1776       HRESULT (WINAPI *AddButton)(IMenuButton *This,int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText);
1777       HRESULT (WINAPI *SetButton)(IMenuButton *This,int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText);
1778       HRESULT (WINAPI *SetButtonState)(IMenuButton *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState);
1779     END_INTERFACE
1780   } IMenuButtonVtbl;
1781   struct IMenuButton {
1782     CONST_VTBL struct IMenuButtonVtbl *lpVtbl;
1783   };
1784 #ifdef COBJMACROS
1785 #define IMenuButton_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1786 #define IMenuButton_AddRef(This) (This)->lpVtbl->AddRef(This)
1787 #define IMenuButton_Release(This) (This)->lpVtbl->Release(This)
1788 #define IMenuButton_AddButton(This,idCommand,lpButtonText,lpTooltipText) (This)->lpVtbl->AddButton(This,idCommand,lpButtonText,lpTooltipText)
1789 #define IMenuButton_SetButton(This,idCommand,lpButtonText,lpTooltipText) (This)->lpVtbl->SetButton(This,idCommand,lpButtonText,lpTooltipText)
1790 #define IMenuButton_SetButtonState(This,idCommand,nState,bState) (This)->lpVtbl->SetButtonState(This,idCommand,nState,bState)
1791 #endif
1792 #endif
1793   HRESULT WINAPI IMenuButton_AddButton_Proxy(IMenuButton *This,int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText);
1794   void __RPC_STUB IMenuButton_AddButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1795   HRESULT WINAPI IMenuButton_SetButton_Proxy(IMenuButton *This,int idCommand,LPOLESTR lpButtonText,LPOLESTR lpTooltipText);
1796   void __RPC_STUB IMenuButton_SetButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1797   HRESULT WINAPI IMenuButton_SetButtonState_Proxy(IMenuButton *This,int idCommand,MMC_BUTTON_STATE nState,WINBOOL bState);
1798   void __RPC_STUB IMenuButton_SetButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1799 #endif
1800 
1801 #ifndef __ISnapinHelp_INTERFACE_DEFINED__
1802 #define __ISnapinHelp_INTERFACE_DEFINED__
1803   EXTERN_C const IID IID_ISnapinHelp;
1804 #if defined(__cplusplus) && !defined(CINTERFACE)
1805   struct ISnapinHelp : public IUnknown {
1806   public:
1807     virtual HRESULT WINAPI GetHelpTopic(LPOLESTR *lpCompiledHelpFile) = 0;
1808   };
1809 #else
1810   typedef struct ISnapinHelpVtbl {
1811     BEGIN_INTERFACE
1812       HRESULT (WINAPI *QueryInterface)(ISnapinHelp *This,REFIID riid,void **ppvObject);
1813       ULONG (WINAPI *AddRef)(ISnapinHelp *This);
1814       ULONG (WINAPI *Release)(ISnapinHelp *This);
1815       HRESULT (WINAPI *GetHelpTopic)(ISnapinHelp *This,LPOLESTR *lpCompiledHelpFile);
1816     END_INTERFACE
1817   } ISnapinHelpVtbl;
1818   struct ISnapinHelp {
1819     CONST_VTBL struct ISnapinHelpVtbl *lpVtbl;
1820   };
1821 #ifdef COBJMACROS
1822 #define ISnapinHelp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1823 #define ISnapinHelp_AddRef(This) (This)->lpVtbl->AddRef(This)
1824 #define ISnapinHelp_Release(This) (This)->lpVtbl->Release(This)
1825 #define ISnapinHelp_GetHelpTopic(This,lpCompiledHelpFile) (This)->lpVtbl->GetHelpTopic(This,lpCompiledHelpFile)
1826 #endif
1827 #endif
1828   HRESULT WINAPI ISnapinHelp_GetHelpTopic_Proxy(ISnapinHelp *This,LPOLESTR *lpCompiledHelpFile);
1829   void __RPC_STUB ISnapinHelp_GetHelpTopic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1830 #endif
1831 
1832 #if (MMC_VER >= 0x0110)
1833   extern RPC_IF_HANDLE __MIDL_itf_mmc_0139_v0_0_c_ifspec;
1834   extern RPC_IF_HANDLE __MIDL_itf_mmc_0139_v0_0_s_ifspec;
1835 #ifndef __IExtendPropertySheet2_INTERFACE_DEFINED__
1836 #define __IExtendPropertySheet2_INTERFACE_DEFINED__
1837   EXTERN_C const IID IID_IExtendPropertySheet2;
1838 #if defined(__cplusplus) && !defined(CINTERFACE)
1839   struct IExtendPropertySheet2 : public IExtendPropertySheet {
1840   public:
1841     virtual HRESULT WINAPI GetWatermarks(LPDATAOBJECT lpIDataObject,HBITMAP *lphWatermark,HBITMAP *lphHeader,HPALETTE *lphPalette,WINBOOL *bStretch) = 0;
1842   };
1843 #else
1844   typedef struct IExtendPropertySheet2Vtbl {
1845     BEGIN_INTERFACE
1846       HRESULT (WINAPI *QueryInterface)(IExtendPropertySheet2 *This,REFIID riid,void **ppvObject);
1847       ULONG (WINAPI *AddRef)(IExtendPropertySheet2 *This);
1848       ULONG (WINAPI *Release)(IExtendPropertySheet2 *This);
1849       HRESULT (WINAPI *CreatePropertyPages)(IExtendPropertySheet2 *This,LPPROPERTYSHEETCALLBACK lpProvider,LONG_PTR handle,LPDATAOBJECT lpIDataObject);
1850       HRESULT (WINAPI *QueryPagesFor)(IExtendPropertySheet2 *This,LPDATAOBJECT lpDataObject);
1851       HRESULT (WINAPI *GetWatermarks)(IExtendPropertySheet2 *This,LPDATAOBJECT lpIDataObject,HBITMAP *lphWatermark,HBITMAP *lphHeader,HPALETTE *lphPalette,WINBOOL *bStretch);
1852     END_INTERFACE
1853   } IExtendPropertySheet2Vtbl;
1854   struct IExtendPropertySheet2 {
1855     CONST_VTBL struct IExtendPropertySheet2Vtbl *lpVtbl;
1856   };
1857 #ifdef COBJMACROS
1858 #define IExtendPropertySheet2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1859 #define IExtendPropertySheet2_AddRef(This) (This)->lpVtbl->AddRef(This)
1860 #define IExtendPropertySheet2_Release(This) (This)->lpVtbl->Release(This)
1861 #define IExtendPropertySheet2_CreatePropertyPages(This,lpProvider,handle,lpIDataObject) (This)->lpVtbl->CreatePropertyPages(This,lpProvider,handle,lpIDataObject)
1862 #define IExtendPropertySheet2_QueryPagesFor(This,lpDataObject) (This)->lpVtbl->QueryPagesFor(This,lpDataObject)
1863 #define IExtendPropertySheet2_GetWatermarks(This,lpIDataObject,lphWatermark,lphHeader,lphPalette,bStretch) (This)->lpVtbl->GetWatermarks(This,lpIDataObject,lphWatermark,lphHeader,lphPalette,bStretch)
1864 #endif
1865 #endif
1866   HRESULT WINAPI IExtendPropertySheet2_GetWatermarks_Proxy(IExtendPropertySheet2 *This,LPDATAOBJECT lpIDataObject,HBITMAP *lphWatermark,HBITMAP *lphHeader,HPALETTE *lphPalette,WINBOOL *bStretch);
1867   void __RPC_STUB IExtendPropertySheet2_GetWatermarks_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1868 #endif
1869 
1870 #ifndef __IHeaderCtrl2_INTERFACE_DEFINED__
1871 #define __IHeaderCtrl2_INTERFACE_DEFINED__
1872   EXTERN_C const IID IID_IHeaderCtrl2;
1873 #if defined(__cplusplus) && !defined(CINTERFACE)
1874   struct IHeaderCtrl2 : public IHeaderCtrl {
1875   public:
1876     virtual HRESULT WINAPI SetChangeTimeOut(unsigned __LONG32 uTimeout) = 0;
1877     virtual HRESULT WINAPI SetColumnFilter(UINT nColumn,DWORD dwType,MMC_FILTERDATA *pFilterData) = 0;
1878     virtual HRESULT WINAPI GetColumnFilter(UINT nColumn,LPDWORD pdwType,MMC_FILTERDATA *pFilterData) = 0;
1879   };
1880 #else
1881   typedef struct IHeaderCtrl2Vtbl {
1882     BEGIN_INTERFACE
1883       HRESULT (WINAPI *QueryInterface)(IHeaderCtrl2 *This,REFIID riid,void **ppvObject);
1884       ULONG (WINAPI *AddRef)(IHeaderCtrl2 *This);
1885       ULONG (WINAPI *Release)(IHeaderCtrl2 *This);
1886       HRESULT (WINAPI *InsertColumn)(IHeaderCtrl2 *This,int nCol,LPCWSTR title,int nFormat,int nWidth);
1887       HRESULT (WINAPI *DeleteColumn)(IHeaderCtrl2 *This,int nCol);
1888       HRESULT (WINAPI *SetColumnText)(IHeaderCtrl2 *This,int nCol,LPCWSTR title);
1889       HRESULT (WINAPI *GetColumnText)(IHeaderCtrl2 *This,int nCol,LPOLESTR *pText);
1890       HRESULT (WINAPI *SetColumnWidth)(IHeaderCtrl2 *This,int nCol,int nWidth);
1891       HRESULT (WINAPI *GetColumnWidth)(IHeaderCtrl2 *This,int nCol,int *pWidth);
1892       HRESULT (WINAPI *SetChangeTimeOut)(IHeaderCtrl2 *This,unsigned __LONG32 uTimeout);
1893       HRESULT (WINAPI *SetColumnFilter)(IHeaderCtrl2 *This,UINT nColumn,DWORD dwType,MMC_FILTERDATA *pFilterData);
1894       HRESULT (WINAPI *GetColumnFilter)(IHeaderCtrl2 *This,UINT nColumn,LPDWORD pdwType,MMC_FILTERDATA *pFilterData);
1895     END_INTERFACE
1896   } IHeaderCtrl2Vtbl;
1897   struct IHeaderCtrl2 {
1898     CONST_VTBL struct IHeaderCtrl2Vtbl *lpVtbl;
1899   };
1900 #ifdef COBJMACROS
1901 #define IHeaderCtrl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1902 #define IHeaderCtrl2_AddRef(This) (This)->lpVtbl->AddRef(This)
1903 #define IHeaderCtrl2_Release(This) (This)->lpVtbl->Release(This)
1904 #define IHeaderCtrl2_InsertColumn(This,nCol,title,nFormat,nWidth) (This)->lpVtbl->InsertColumn(This,nCol,title,nFormat,nWidth)
1905 #define IHeaderCtrl2_DeleteColumn(This,nCol) (This)->lpVtbl->DeleteColumn(This,nCol)
1906 #define IHeaderCtrl2_SetColumnText(This,nCol,title) (This)->lpVtbl->SetColumnText(This,nCol,title)
1907 #define IHeaderCtrl2_GetColumnText(This,nCol,pText) (This)->lpVtbl->GetColumnText(This,nCol,pText)
1908 #define IHeaderCtrl2_SetColumnWidth(This,nCol,nWidth) (This)->lpVtbl->SetColumnWidth(This,nCol,nWidth)
1909 #define IHeaderCtrl2_GetColumnWidth(This,nCol,pWidth) (This)->lpVtbl->GetColumnWidth(This,nCol,pWidth)
1910 #define IHeaderCtrl2_SetChangeTimeOut(This,uTimeout) (This)->lpVtbl->SetChangeTimeOut(This,uTimeout)
1911 #define IHeaderCtrl2_SetColumnFilter(This,nColumn,dwType,pFilterData) (This)->lpVtbl->SetColumnFilter(This,nColumn,dwType,pFilterData)
1912 #define IHeaderCtrl2_GetColumnFilter(This,nColumn,pdwType,pFilterData) (This)->lpVtbl->GetColumnFilter(This,nColumn,pdwType,pFilterData)
1913 #endif
1914 #endif
1915   HRESULT WINAPI IHeaderCtrl2_SetChangeTimeOut_Proxy(IHeaderCtrl2 *This,unsigned __LONG32 uTimeout);
1916   void __RPC_STUB IHeaderCtrl2_SetChangeTimeOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1917   HRESULT WINAPI IHeaderCtrl2_SetColumnFilter_Proxy(IHeaderCtrl2 *This,UINT nColumn,DWORD dwType,MMC_FILTERDATA *pFilterData);
1918   void __RPC_STUB IHeaderCtrl2_SetColumnFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1919   HRESULT WINAPI IHeaderCtrl2_GetColumnFilter_Proxy(IHeaderCtrl2 *This,UINT nColumn,LPDWORD pdwType,MMC_FILTERDATA *pFilterData);
1920   void __RPC_STUB IHeaderCtrl2_GetColumnFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1921 #endif
1922 
1923 #ifndef __ISnapinHelp2_INTERFACE_DEFINED__
1924 #define __ISnapinHelp2_INTERFACE_DEFINED__
1925   EXTERN_C const IID IID_ISnapinHelp2;
1926 #if defined(__cplusplus) && !defined(CINTERFACE)
1927   struct ISnapinHelp2 : public ISnapinHelp {
1928   public:
1929     virtual HRESULT WINAPI GetLinkedTopics(LPOLESTR *lpCompiledHelpFiles) = 0;
1930   };
1931 #else
1932   typedef struct ISnapinHelp2Vtbl {
1933     BEGIN_INTERFACE
1934       HRESULT (WINAPI *QueryInterface)(ISnapinHelp2 *This,REFIID riid,void **ppvObject);
1935       ULONG (WINAPI *AddRef)(ISnapinHelp2 *This);
1936       ULONG (WINAPI *Release)(ISnapinHelp2 *This);
1937       HRESULT (WINAPI *GetHelpTopic)(ISnapinHelp2 *This,LPOLESTR *lpCompiledHelpFile);
1938       HRESULT (WINAPI *GetLinkedTopics)(ISnapinHelp2 *This,LPOLESTR *lpCompiledHelpFiles);
1939     END_INTERFACE
1940   } ISnapinHelp2Vtbl;
1941   struct ISnapinHelp2 {
1942     CONST_VTBL struct ISnapinHelp2Vtbl *lpVtbl;
1943   };
1944 #ifdef COBJMACROS
1945 #define ISnapinHelp2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1946 #define ISnapinHelp2_AddRef(This) (This)->lpVtbl->AddRef(This)
1947 #define ISnapinHelp2_Release(This) (This)->lpVtbl->Release(This)
1948 #define ISnapinHelp2_GetHelpTopic(This,lpCompiledHelpFile) (This)->lpVtbl->GetHelpTopic(This,lpCompiledHelpFile)
1949 #define ISnapinHelp2_GetLinkedTopics(This,lpCompiledHelpFiles) (This)->lpVtbl->GetLinkedTopics(This,lpCompiledHelpFiles)
1950 #endif
1951 #endif
1952   HRESULT WINAPI ISnapinHelp2_GetLinkedTopics_Proxy(ISnapinHelp2 *This,LPOLESTR *lpCompiledHelpFiles);
1953   void __RPC_STUB ISnapinHelp2_GetLinkedTopics_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1954 #endif
1955 
1956   typedef enum _MMC_TASK_DISPLAY_TYPE {
1957     MMC_TASK_DISPLAY_UNINITIALIZED = 0,MMC_TASK_DISPLAY_TYPE_SYMBOL,MMC_TASK_DISPLAY_TYPE_VANILLA_GIF,
1958     MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF,MMC_TASK_DISPLAY_TYPE_BITMAP
1959   } MMC_TASK_DISPLAY_TYPE;
1960 
1961   typedef struct _MMC_TASK_DISPLAY_SYMBOL {
1962     LPOLESTR szFontFamilyName;
1963     LPOLESTR szURLtoEOT;
1964     LPOLESTR szSymbolString;
1965   } MMC_TASK_DISPLAY_SYMBOL;
1966 
1967   typedef struct _MMC_TASK_DISPLAY_BITMAP {
1968     LPOLESTR szMouseOverBitmap;
1969     LPOLESTR szMouseOffBitmap;
1970   } MMC_TASK_DISPLAY_BITMAP;
1971 
1972   typedef struct _MMC_TASK_DISPLAY_OBJECT {
1973     MMC_TASK_DISPLAY_TYPE eDisplayType;
1974     __C89_NAMELESS union {
1975       MMC_TASK_DISPLAY_BITMAP uBitmap;
1976       MMC_TASK_DISPLAY_SYMBOL uSymbol;
1977     };
1978   } MMC_TASK_DISPLAY_OBJECT;
1979 
1980   typedef enum _MMC_ACTION_TYPE {
1981     MMC_ACTION_UNINITIALIZED = -1,MMC_ACTION_ID = 0,MMC_ACTION_LINK,MMC_ACTION_SCRIPT
1982   } MMC_ACTION_TYPE;
1983 
1984   typedef struct _MMC_TASK {
1985     MMC_TASK_DISPLAY_OBJECT sDisplayObject;
1986     LPOLESTR szText;
1987     LPOLESTR szHelpString;
1988     MMC_ACTION_TYPE eActionType;
1989     __C89_NAMELESS union {
1990       LONG_PTR nCommandID;
1991       LPOLESTR szActionURL;
1992       LPOLESTR szScript;
1993     };
1994   } MMC_TASK;
1995 
1996   typedef struct _MMC_LISTPAD_INFO {
1997     LPOLESTR szTitle;
1998     LPOLESTR szButtonText;
1999     LONG_PTR nCommandID;
2000   } MMC_LISTPAD_INFO;
2001 
2002   typedef DWORD MMC_STRING_ID;
2003 
2004   extern RPC_IF_HANDLE __MIDL_itf_mmc_0142_v0_0_c_ifspec;
2005   extern RPC_IF_HANDLE __MIDL_itf_mmc_0142_v0_0_s_ifspec;
2006 
2007 #ifndef __IEnumTASK_INTERFACE_DEFINED__
2008 #define __IEnumTASK_INTERFACE_DEFINED__
2009   EXTERN_C const IID IID_IEnumTASK;
2010 #if defined(__cplusplus) && !defined(CINTERFACE)
2011   struct IEnumTASK : public IUnknown {
2012   public:
2013     virtual HRESULT WINAPI Next(ULONG celt,MMC_TASK *rgelt,ULONG *pceltFetched) = 0;
2014     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
2015     virtual HRESULT WINAPI Reset(void) = 0;
2016     virtual HRESULT WINAPI Clone(IEnumTASK **ppenum) = 0;
2017   };
2018 #else
2019   typedef struct IEnumTASKVtbl {
2020     BEGIN_INTERFACE
2021       HRESULT (WINAPI *QueryInterface)(IEnumTASK *This,REFIID riid,void **ppvObject);
2022       ULONG (WINAPI *AddRef)(IEnumTASK *This);
2023       ULONG (WINAPI *Release)(IEnumTASK *This);
2024       HRESULT (WINAPI *Next)(IEnumTASK *This,ULONG celt,MMC_TASK *rgelt,ULONG *pceltFetched);
2025       HRESULT (WINAPI *Skip)(IEnumTASK *This,ULONG celt);
2026       HRESULT (WINAPI *Reset)(IEnumTASK *This);
2027       HRESULT (WINAPI *Clone)(IEnumTASK *This,IEnumTASK **ppenum);
2028     END_INTERFACE
2029   } IEnumTASKVtbl;
2030   struct IEnumTASK {
2031     CONST_VTBL struct IEnumTASKVtbl *lpVtbl;
2032   };
2033 #ifdef COBJMACROS
2034 #define IEnumTASK_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2035 #define IEnumTASK_AddRef(This) (This)->lpVtbl->AddRef(This)
2036 #define IEnumTASK_Release(This) (This)->lpVtbl->Release(This)
2037 #define IEnumTASK_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
2038 #define IEnumTASK_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
2039 #define IEnumTASK_Reset(This) (This)->lpVtbl->Reset(This)
2040 #define IEnumTASK_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
2041 #endif
2042 #endif
2043   HRESULT WINAPI IEnumTASK_Next_Proxy(IEnumTASK *This,ULONG celt,MMC_TASK *rgelt,ULONG *pceltFetched);
2044   void __RPC_STUB IEnumTASK_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2045   HRESULT WINAPI IEnumTASK_Skip_Proxy(IEnumTASK *This,ULONG celt);
2046   void __RPC_STUB IEnumTASK_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2047   HRESULT WINAPI IEnumTASK_Reset_Proxy(IEnumTASK *This);
2048   void __RPC_STUB IEnumTASK_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2049   HRESULT WINAPI IEnumTASK_Clone_Proxy(IEnumTASK *This,IEnumTASK **ppenum);
2050   void __RPC_STUB IEnumTASK_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2051 #endif
2052 
2053 #ifndef __IExtendTaskPad_INTERFACE_DEFINED__
2054 #define __IExtendTaskPad_INTERFACE_DEFINED__
2055   EXTERN_C const IID IID_IExtendTaskPad;
2056 #if defined(__cplusplus) && !defined(CINTERFACE)
2057   struct IExtendTaskPad : public IUnknown {
2058   public:
2059     virtual HRESULT WINAPI TaskNotify(IDataObject *pdo,VARIANT *arg,VARIANT *param) = 0;
2060     virtual HRESULT WINAPI EnumTasks(IDataObject *pdo,LPOLESTR szTaskGroup,IEnumTASK **ppEnumTASK) = 0;
2061     virtual HRESULT WINAPI GetTitle(LPOLESTR pszGroup,LPOLESTR *pszTitle) = 0;
2062     virtual HRESULT WINAPI GetDescriptiveText(LPOLESTR pszGroup,LPOLESTR *pszDescriptiveText) = 0;
2063     virtual HRESULT WINAPI GetBackground(LPOLESTR pszGroup,MMC_TASK_DISPLAY_OBJECT *pTDO) = 0;
2064     virtual HRESULT WINAPI GetListPadInfo(LPOLESTR pszGroup,MMC_LISTPAD_INFO *lpListPadInfo) = 0;
2065   };
2066 #else
2067   typedef struct IExtendTaskPadVtbl {
2068     BEGIN_INTERFACE
2069       HRESULT (WINAPI *QueryInterface)(IExtendTaskPad *This,REFIID riid,void **ppvObject);
2070       ULONG (WINAPI *AddRef)(IExtendTaskPad *This);
2071       ULONG (WINAPI *Release)(IExtendTaskPad *This);
2072       HRESULT (WINAPI *TaskNotify)(IExtendTaskPad *This,IDataObject *pdo,VARIANT *arg,VARIANT *param);
2073       HRESULT (WINAPI *EnumTasks)(IExtendTaskPad *This,IDataObject *pdo,LPOLESTR szTaskGroup,IEnumTASK **ppEnumTASK);
2074       HRESULT (WINAPI *GetTitle)(IExtendTaskPad *This,LPOLESTR pszGroup,LPOLESTR *pszTitle);
2075       HRESULT (WINAPI *GetDescriptiveText)(IExtendTaskPad *This,LPOLESTR pszGroup,LPOLESTR *pszDescriptiveText);
2076       HRESULT (WINAPI *GetBackground)(IExtendTaskPad *This,LPOLESTR pszGroup,MMC_TASK_DISPLAY_OBJECT *pTDO);
2077       HRESULT (WINAPI *GetListPadInfo)(IExtendTaskPad *This,LPOLESTR pszGroup,MMC_LISTPAD_INFO *lpListPadInfo);
2078     END_INTERFACE
2079   } IExtendTaskPadVtbl;
2080   struct IExtendTaskPad {
2081     CONST_VTBL struct IExtendTaskPadVtbl *lpVtbl;
2082   };
2083 #ifdef COBJMACROS
2084 #define IExtendTaskPad_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2085 #define IExtendTaskPad_AddRef(This) (This)->lpVtbl->AddRef(This)
2086 #define IExtendTaskPad_Release(This) (This)->lpVtbl->Release(This)
2087 #define IExtendTaskPad_TaskNotify(This,pdo,arg,param) (This)->lpVtbl->TaskNotify(This,pdo,arg,param)
2088 #define IExtendTaskPad_EnumTasks(This,pdo,szTaskGroup,ppEnumTASK) (This)->lpVtbl->EnumTasks(This,pdo,szTaskGroup,ppEnumTASK)
2089 #define IExtendTaskPad_GetTitle(This,pszGroup,pszTitle) (This)->lpVtbl->GetTitle(This,pszGroup,pszTitle)
2090 #define IExtendTaskPad_GetDescriptiveText(This,pszGroup,pszDescriptiveText) (This)->lpVtbl->GetDescriptiveText(This,pszGroup,pszDescriptiveText)
2091 #define IExtendTaskPad_GetBackground(This,pszGroup,pTDO) (This)->lpVtbl->GetBackground(This,pszGroup,pTDO)
2092 #define IExtendTaskPad_GetListPadInfo(This,pszGroup,lpListPadInfo) (This)->lpVtbl->GetListPadInfo(This,pszGroup,lpListPadInfo)
2093 #endif
2094 #endif
2095   HRESULT WINAPI IExtendTaskPad_TaskNotify_Proxy(IExtendTaskPad *This,IDataObject *pdo,VARIANT *arg,VARIANT *param);
2096   void __RPC_STUB IExtendTaskPad_TaskNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2097   HRESULT WINAPI IExtendTaskPad_EnumTasks_Proxy(IExtendTaskPad *This,IDataObject *pdo,LPOLESTR szTaskGroup,IEnumTASK **ppEnumTASK);
2098   void __RPC_STUB IExtendTaskPad_EnumTasks_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2099   HRESULT WINAPI IExtendTaskPad_GetTitle_Proxy(IExtendTaskPad *This,LPOLESTR pszGroup,LPOLESTR *pszTitle);
2100   void __RPC_STUB IExtendTaskPad_GetTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2101   HRESULT WINAPI IExtendTaskPad_GetDescriptiveText_Proxy(IExtendTaskPad *This,LPOLESTR pszGroup,LPOLESTR *pszDescriptiveText);
2102   void __RPC_STUB IExtendTaskPad_GetDescriptiveText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2103   HRESULT WINAPI IExtendTaskPad_GetBackground_Proxy(IExtendTaskPad *This,LPOLESTR pszGroup,MMC_TASK_DISPLAY_OBJECT *pTDO);
2104   void __RPC_STUB IExtendTaskPad_GetBackground_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2105   HRESULT WINAPI IExtendTaskPad_GetListPadInfo_Proxy(IExtendTaskPad *This,LPOLESTR pszGroup,MMC_LISTPAD_INFO *lpListPadInfo);
2106   void __RPC_STUB IExtendTaskPad_GetListPadInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2107 #endif
2108 
2109 #ifndef __IConsole2_INTERFACE_DEFINED__
2110 #define __IConsole2_INTERFACE_DEFINED__
2111   EXTERN_C const IID IID_IConsole2;
2112 #if defined(__cplusplus) && !defined(CINTERFACE)
2113   struct IConsole2 : public IConsole {
2114   public:
2115     virtual HRESULT WINAPI Expand(HSCOPEITEM hItem,WINBOOL bExpand) = 0;
2116     virtual HRESULT WINAPI IsTaskpadViewPreferred(void) = 0;
2117     virtual HRESULT WINAPI SetStatusText(LPOLESTR pszStatusText) = 0;
2118   };
2119 #else
2120   typedef struct IConsole2Vtbl {
2121     BEGIN_INTERFACE
2122       HRESULT (WINAPI *QueryInterface)(IConsole2 *This,REFIID riid,void **ppvObject);
2123       ULONG (WINAPI *AddRef)(IConsole2 *This);
2124       ULONG (WINAPI *Release)(IConsole2 *This);
2125       HRESULT (WINAPI *SetHeader)(IConsole2 *This,LPHEADERCTRL pHeader);
2126       HRESULT (WINAPI *SetToolbar)(IConsole2 *This,LPTOOLBAR pToolbar);
2127       HRESULT (WINAPI *QueryResultView)(IConsole2 *This,LPUNKNOWN *pUnknown);
2128       HRESULT (WINAPI *QueryScopeImageList)(IConsole2 *This,LPIMAGELIST *ppImageList);
2129       HRESULT (WINAPI *QueryResultImageList)(IConsole2 *This,LPIMAGELIST *ppImageList);
2130       HRESULT (WINAPI *UpdateAllViews)(IConsole2 *This,LPDATAOBJECT lpDataObject,LPARAM data,LONG_PTR hint);
2131       HRESULT (WINAPI *MessageBox)(IConsole2 *This,LPCWSTR lpszText,LPCWSTR lpszTitle,UINT fuStyle,int *piRetval);
2132       HRESULT (WINAPI *QueryConsoleVerb)(IConsole2 *This,LPCONSOLEVERB *ppConsoleVerb);
2133       HRESULT (WINAPI *SelectScopeItem)(IConsole2 *This,HSCOPEITEM hScopeItem);
2134       HRESULT (WINAPI *GetMainWindow)(IConsole2 *This,HWND *phwnd);
2135       HRESULT (WINAPI *NewWindow)(IConsole2 *This,HSCOPEITEM hScopeItem,unsigned __LONG32 lOptions);
2136       HRESULT (WINAPI *Expand)(IConsole2 *This,HSCOPEITEM hItem,WINBOOL bExpand);
2137       HRESULT (WINAPI *IsTaskpadViewPreferred)(IConsole2 *This);
2138       HRESULT (WINAPI *SetStatusText)(IConsole2 *This,LPOLESTR pszStatusText);
2139     END_INTERFACE
2140   } IConsole2Vtbl;
2141   struct IConsole2 {
2142     CONST_VTBL struct IConsole2Vtbl *lpVtbl;
2143   };
2144 #ifdef COBJMACROS
2145 #define IConsole2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2146 #define IConsole2_AddRef(This) (This)->lpVtbl->AddRef(This)
2147 #define IConsole2_Release(This) (This)->lpVtbl->Release(This)
2148 #define IConsole2_SetHeader(This,pHeader) (This)->lpVtbl->SetHeader(This,pHeader)
2149 #define IConsole2_SetToolbar(This,pToolbar) (This)->lpVtbl->SetToolbar(This,pToolbar)
2150 #define IConsole2_QueryResultView(This,pUnknown) (This)->lpVtbl->QueryResultView(This,pUnknown)
2151 #define IConsole2_QueryScopeImageList(This,ppImageList) (This)->lpVtbl->QueryScopeImageList(This,ppImageList)
2152 #define IConsole2_QueryResultImageList(This,ppImageList) (This)->lpVtbl->QueryResultImageList(This,ppImageList)
2153 #define IConsole2_UpdateAllViews(This,lpDataObject,data,hint) (This)->lpVtbl->UpdateAllViews(This,lpDataObject,data,hint)
2154 #define IConsole2_MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval) (This)->lpVtbl->MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval)
2155 #define IConsole2_QueryConsoleVerb(This,ppConsoleVerb) (This)->lpVtbl->QueryConsoleVerb(This,ppConsoleVerb)
2156 #define IConsole2_SelectScopeItem(This,hScopeItem) (This)->lpVtbl->SelectScopeItem(This,hScopeItem)
2157 #define IConsole2_GetMainWindow(This,phwnd) (This)->lpVtbl->GetMainWindow(This,phwnd)
2158 #define IConsole2_NewWindow(This,hScopeItem,lOptions) (This)->lpVtbl->NewWindow(This,hScopeItem,lOptions)
2159 #define IConsole2_Expand(This,hItem,bExpand) (This)->lpVtbl->Expand(This,hItem,bExpand)
2160 #define IConsole2_IsTaskpadViewPreferred(This) (This)->lpVtbl->IsTaskpadViewPreferred(This)
2161 #define IConsole2_SetStatusText(This,pszStatusText) (This)->lpVtbl->SetStatusText(This,pszStatusText)
2162 #endif
2163 #endif
2164   HRESULT WINAPI IConsole2_Expand_Proxy(IConsole2 *This,HSCOPEITEM hItem,WINBOOL bExpand);
2165   void __RPC_STUB IConsole2_Expand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2166   HRESULT WINAPI IConsole2_IsTaskpadViewPreferred_Proxy(IConsole2 *This);
2167   void __RPC_STUB IConsole2_IsTaskpadViewPreferred_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2168   HRESULT WINAPI IConsole2_SetStatusText_Proxy(IConsole2 *This,LPOLESTR pszStatusText);
2169   void __RPC_STUB IConsole2_SetStatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2170 #endif
2171 
2172 #ifndef __IDisplayHelp_INTERFACE_DEFINED__
2173 #define __IDisplayHelp_INTERFACE_DEFINED__
2174   EXTERN_C const IID IID_IDisplayHelp;
2175 #if defined(__cplusplus) && !defined(CINTERFACE)
2176   struct IDisplayHelp : public IUnknown {
2177   public:
2178     virtual HRESULT WINAPI ShowTopic(LPOLESTR pszHelpTopic) = 0;
2179   };
2180 #else
2181   typedef struct IDisplayHelpVtbl {
2182     BEGIN_INTERFACE
2183       HRESULT (WINAPI *QueryInterface)(IDisplayHelp *This,REFIID riid,void **ppvObject);
2184       ULONG (WINAPI *AddRef)(IDisplayHelp *This);
2185       ULONG (WINAPI *Release)(IDisplayHelp *This);
2186       HRESULT (WINAPI *ShowTopic)(IDisplayHelp *This,LPOLESTR pszHelpTopic);
2187     END_INTERFACE
2188   } IDisplayHelpVtbl;
2189   struct IDisplayHelp {
2190     CONST_VTBL struct IDisplayHelpVtbl *lpVtbl;
2191   };
2192 #ifdef COBJMACROS
2193 #define IDisplayHelp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2194 #define IDisplayHelp_AddRef(This) (This)->lpVtbl->AddRef(This)
2195 #define IDisplayHelp_Release(This) (This)->lpVtbl->Release(This)
2196 #define IDisplayHelp_ShowTopic(This,pszHelpTopic) (This)->lpVtbl->ShowTopic(This,pszHelpTopic)
2197 #endif
2198 #endif
2199   HRESULT WINAPI IDisplayHelp_ShowTopic_Proxy(IDisplayHelp *This,LPOLESTR pszHelpTopic);
2200   void __RPC_STUB IDisplayHelp_ShowTopic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2201 #endif
2202 
2203 #ifndef __IRequiredExtensions_INTERFACE_DEFINED__
2204 #define __IRequiredExtensions_INTERFACE_DEFINED__
2205   EXTERN_C const IID IID_IRequiredExtensions;
2206 #if defined(__cplusplus) && !defined(CINTERFACE)
2207   struct IRequiredExtensions : public IUnknown {
2208   public:
2209     virtual HRESULT WINAPI EnableAllExtensions(void) = 0;
2210     virtual HRESULT WINAPI GetFirstExtension(LPCLSID pExtCLSID) = 0;
2211     virtual HRESULT WINAPI GetNextExtension(LPCLSID pExtCLSID) = 0;
2212   };
2213 #else
2214   typedef struct IRequiredExtensionsVtbl {
2215     BEGIN_INTERFACE
2216       HRESULT (WINAPI *QueryInterface)(IRequiredExtensions *This,REFIID riid,void **ppvObject);
2217       ULONG (WINAPI *AddRef)(IRequiredExtensions *This);
2218       ULONG (WINAPI *Release)(IRequiredExtensions *This);
2219       HRESULT (WINAPI *EnableAllExtensions)(IRequiredExtensions *This);
2220       HRESULT (WINAPI *GetFirstExtension)(IRequiredExtensions *This,LPCLSID pExtCLSID);
2221       HRESULT (WINAPI *GetNextExtension)(IRequiredExtensions *This,LPCLSID pExtCLSID);
2222     END_INTERFACE
2223   } IRequiredExtensionsVtbl;
2224   struct IRequiredExtensions {
2225     CONST_VTBL struct IRequiredExtensionsVtbl *lpVtbl;
2226   };
2227 #ifdef COBJMACROS
2228 #define IRequiredExtensions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2229 #define IRequiredExtensions_AddRef(This) (This)->lpVtbl->AddRef(This)
2230 #define IRequiredExtensions_Release(This) (This)->lpVtbl->Release(This)
2231 #define IRequiredExtensions_EnableAllExtensions(This) (This)->lpVtbl->EnableAllExtensions(This)
2232 #define IRequiredExtensions_GetFirstExtension(This,pExtCLSID) (This)->lpVtbl->GetFirstExtension(This,pExtCLSID)
2233 #define IRequiredExtensions_GetNextExtension(This,pExtCLSID) (This)->lpVtbl->GetNextExtension(This,pExtCLSID)
2234 #endif
2235 #endif
2236   HRESULT WINAPI IRequiredExtensions_EnableAllExtensions_Proxy(IRequiredExtensions *This);
2237   void __RPC_STUB IRequiredExtensions_EnableAllExtensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2238   HRESULT WINAPI IRequiredExtensions_GetFirstExtension_Proxy(IRequiredExtensions *This,LPCLSID pExtCLSID);
2239   void __RPC_STUB IRequiredExtensions_GetFirstExtension_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2240   HRESULT WINAPI IRequiredExtensions_GetNextExtension_Proxy(IRequiredExtensions *This,LPCLSID pExtCLSID);
2241   void __RPC_STUB IRequiredExtensions_GetNextExtension_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2242 #endif
2243 
2244 #ifndef __IStringTable_INTERFACE_DEFINED__
2245 #define __IStringTable_INTERFACE_DEFINED__
2246   EXTERN_C const IID IID_IStringTable;
2247 #if defined(__cplusplus) && !defined(CINTERFACE)
2248   struct IStringTable : public IUnknown {
2249   public:
2250     virtual HRESULT WINAPI AddString(LPCOLESTR pszAdd,MMC_STRING_ID *pStringID) = 0;
2251     virtual HRESULT WINAPI GetString(MMC_STRING_ID StringID,ULONG cchBuffer,LPOLESTR lpBuffer,ULONG *pcchOut) = 0;
2252     virtual HRESULT WINAPI GetStringLength(MMC_STRING_ID StringID,ULONG *pcchString) = 0;
2253     virtual HRESULT WINAPI DeleteString(MMC_STRING_ID StringID) = 0;
2254     virtual HRESULT WINAPI DeleteAllStrings(void) = 0;
2255     virtual HRESULT WINAPI FindString(LPCOLESTR pszFind,MMC_STRING_ID *pStringID) = 0;
2256     virtual HRESULT WINAPI Enumerate(IEnumString **ppEnum) = 0;
2257   };
2258 #else
2259   typedef struct IStringTableVtbl {
2260     BEGIN_INTERFACE
2261       HRESULT (WINAPI *QueryInterface)(IStringTable *This,REFIID riid,void **ppvObject);
2262       ULONG (WINAPI *AddRef)(IStringTable *This);
2263       ULONG (WINAPI *Release)(IStringTable *This);
2264       HRESULT (WINAPI *AddString)(IStringTable *This,LPCOLESTR pszAdd,MMC_STRING_ID *pStringID);
2265       HRESULT (WINAPI *GetString)(IStringTable *This,MMC_STRING_ID StringID,ULONG cchBuffer,LPOLESTR lpBuffer,ULONG *pcchOut);
2266       HRESULT (WINAPI *GetStringLength)(IStringTable *This,MMC_STRING_ID StringID,ULONG *pcchString);
2267       HRESULT (WINAPI *DeleteString)(IStringTable *This,MMC_STRING_ID StringID);
2268       HRESULT (WINAPI *DeleteAllStrings)(IStringTable *This);
2269       HRESULT (WINAPI *FindString)(IStringTable *This,LPCOLESTR pszFind,MMC_STRING_ID *pStringID);
2270       HRESULT (WINAPI *Enumerate)(IStringTable *This,IEnumString **ppEnum);
2271     END_INTERFACE
2272   } IStringTableVtbl;
2273   struct IStringTable {
2274     CONST_VTBL struct IStringTableVtbl *lpVtbl;
2275   };
2276 #ifdef COBJMACROS
2277 #define IStringTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2278 #define IStringTable_AddRef(This) (This)->lpVtbl->AddRef(This)
2279 #define IStringTable_Release(This) (This)->lpVtbl->Release(This)
2280 #define IStringTable_AddString(This,pszAdd,pStringID) (This)->lpVtbl->AddString(This,pszAdd,pStringID)
2281 #define IStringTable_GetString(This,StringID,cchBuffer,lpBuffer,pcchOut) (This)->lpVtbl->GetString(This,StringID,cchBuffer,lpBuffer,pcchOut)
2282 #define IStringTable_GetStringLength(This,StringID,pcchString) (This)->lpVtbl->GetStringLength(This,StringID,pcchString)
2283 #define IStringTable_DeleteString(This,StringID) (This)->lpVtbl->DeleteString(This,StringID)
2284 #define IStringTable_DeleteAllStrings(This) (This)->lpVtbl->DeleteAllStrings(This)
2285 #define IStringTable_FindString(This,pszFind,pStringID) (This)->lpVtbl->FindString(This,pszFind,pStringID)
2286 #define IStringTable_Enumerate(This,ppEnum) (This)->lpVtbl->Enumerate(This,ppEnum)
2287 #endif
2288 #endif
2289   HRESULT WINAPI IStringTable_AddString_Proxy(IStringTable *This,LPCOLESTR pszAdd,MMC_STRING_ID *pStringID);
2290   void __RPC_STUB IStringTable_AddString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2291   HRESULT WINAPI IStringTable_GetString_Proxy(IStringTable *This,MMC_STRING_ID StringID,ULONG cchBuffer,LPOLESTR lpBuffer,ULONG *pcchOut);
2292   void __RPC_STUB IStringTable_GetString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2293   HRESULT WINAPI IStringTable_GetStringLength_Proxy(IStringTable *This,MMC_STRING_ID StringID,ULONG *pcchString);
2294   void __RPC_STUB IStringTable_GetStringLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2295   HRESULT WINAPI IStringTable_DeleteString_Proxy(IStringTable *This,MMC_STRING_ID StringID);
2296   void __RPC_STUB IStringTable_DeleteString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2297   HRESULT WINAPI IStringTable_DeleteAllStrings_Proxy(IStringTable *This);
2298   void __RPC_STUB IStringTable_DeleteAllStrings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2299   HRESULT WINAPI IStringTable_FindString_Proxy(IStringTable *This,LPCOLESTR pszFind,MMC_STRING_ID *pStringID);
2300   void __RPC_STUB IStringTable_FindString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2301   HRESULT WINAPI IStringTable_Enumerate_Proxy(IStringTable *This,IEnumString **ppEnum);
2302   void __RPC_STUB IStringTable_Enumerate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2303 #endif
2304 #endif
2305 
2306 #if (MMC_VER >= 0x0120)
2307 #define HDI_HIDDEN (0x1)
2308   typedef struct _MMC_COLUMN_DATA {
2309     int nColIndex;
2310     DWORD dwFlags;
2311     int nWidth;
2312     ULONG_PTR ulReserved;
2313   } MMC_COLUMN_DATA;
2314 
2315   typedef struct _MMC_COLUMN_SET_DATA {
2316     int cbSize;
2317     int nNumCols;
2318     MMC_COLUMN_DATA *pColData;
2319   } MMC_COLUMN_SET_DATA;
2320 
2321   typedef struct _MMC_SORT_DATA {
2322     int nColIndex;
2323     DWORD dwSortOptions;
2324     ULONG_PTR ulReserved;
2325   } MMC_SORT_DATA;
2326 
2327   typedef struct _MMC_SORT_SET_DATA {
2328     int cbSize;
2329     int nNumItems;
2330     MMC_SORT_DATA *pSortData;
2331   } MMC_SORT_SET_DATA;
2332 
2333   extern RPC_IF_HANDLE __MIDL_itf_mmc_0148_v0_0_c_ifspec;
2334   extern RPC_IF_HANDLE __MIDL_itf_mmc_0148_v0_0_s_ifspec;
2335 
2336 #ifndef __IColumnData_INTERFACE_DEFINED__
2337 #define __IColumnData_INTERFACE_DEFINED__
2338   EXTERN_C const IID IID_IColumnData;
2339 #if defined(__cplusplus) && !defined(CINTERFACE)
2340   struct IColumnData : public IUnknown {
2341   public:
2342     virtual HRESULT WINAPI SetColumnConfigData(SColumnSetID *pColID,MMC_COLUMN_SET_DATA *pColSetData) = 0;
2343     virtual HRESULT WINAPI GetColumnConfigData(SColumnSetID *pColID,MMC_COLUMN_SET_DATA **ppColSetData) = 0;
2344     virtual HRESULT WINAPI SetColumnSortData(SColumnSetID *pColID,MMC_SORT_SET_DATA *pColSortData) = 0;
2345     virtual HRESULT WINAPI GetColumnSortData(SColumnSetID *pColID,MMC_SORT_SET_DATA **ppColSortData) = 0;
2346   };
2347 #else
2348   typedef struct IColumnDataVtbl {
2349     BEGIN_INTERFACE
2350       HRESULT (WINAPI *QueryInterface)(IColumnData *This,REFIID riid,void **ppvObject);
2351       ULONG (WINAPI *AddRef)(IColumnData *This);
2352       ULONG (WINAPI *Release)(IColumnData *This);
2353       HRESULT (WINAPI *SetColumnConfigData)(IColumnData *This,SColumnSetID *pColID,MMC_COLUMN_SET_DATA *pColSetData);
2354       HRESULT (WINAPI *GetColumnConfigData)(IColumnData *This,SColumnSetID *pColID,MMC_COLUMN_SET_DATA **ppColSetData);
2355       HRESULT (WINAPI *SetColumnSortData)(IColumnData *This,SColumnSetID *pColID,MMC_SORT_SET_DATA *pColSortData);
2356       HRESULT (WINAPI *GetColumnSortData)(IColumnData *This,SColumnSetID *pColID,MMC_SORT_SET_DATA **ppColSortData);
2357     END_INTERFACE
2358   } IColumnDataVtbl;
2359   struct IColumnData {
2360     CONST_VTBL struct IColumnDataVtbl *lpVtbl;
2361   };
2362 #ifdef COBJMACROS
2363 #define IColumnData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2364 #define IColumnData_AddRef(This) (This)->lpVtbl->AddRef(This)
2365 #define IColumnData_Release(This) (This)->lpVtbl->Release(This)
2366 #define IColumnData_SetColumnConfigData(This,pColID,pColSetData) (This)->lpVtbl->SetColumnConfigData(This,pColID,pColSetData)
2367 #define IColumnData_GetColumnConfigData(This,pColID,ppColSetData) (This)->lpVtbl->GetColumnConfigData(This,pColID,ppColSetData)
2368 #define IColumnData_SetColumnSortData(This,pColID,pColSortData) (This)->lpVtbl->SetColumnSortData(This,pColID,pColSortData)
2369 #define IColumnData_GetColumnSortData(This,pColID,ppColSortData) (This)->lpVtbl->GetColumnSortData(This,pColID,ppColSortData)
2370 #endif
2371 #endif
2372   HRESULT WINAPI IColumnData_SetColumnConfigData_Proxy(IColumnData *This,SColumnSetID *pColID,MMC_COLUMN_SET_DATA *pColSetData);
2373   void __RPC_STUB IColumnData_SetColumnConfigData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2374   HRESULT WINAPI IColumnData_GetColumnConfigData_Proxy(IColumnData *This,SColumnSetID *pColID,MMC_COLUMN_SET_DATA **ppColSetData);
2375   void __RPC_STUB IColumnData_GetColumnConfigData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2376   HRESULT WINAPI IColumnData_SetColumnSortData_Proxy(IColumnData *This,SColumnSetID *pColID,MMC_SORT_SET_DATA *pColSortData);
2377   void __RPC_STUB IColumnData_SetColumnSortData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2378   HRESULT WINAPI IColumnData_GetColumnSortData_Proxy(IColumnData *This,SColumnSetID *pColID,MMC_SORT_SET_DATA **ppColSortData);
2379   void __RPC_STUB IColumnData_GetColumnSortData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2380 #endif
2381 
2382 #ifndef __IMessageView_INTERFACE_DEFINED__
2383 #define __IMessageView_INTERFACE_DEFINED__
2384   typedef enum tagIconIdentifier {
2385     Icon_None = 0,Icon_Error = 32513,Icon_Question = 32514,Icon_Warning = 32515,Icon_Information = 32516,Icon_First = Icon_Error,
2386     Icon_Last = Icon_Information
2387   } IconIdentifier;
2388 
2389   EXTERN_C const IID IID_IMessageView;
2390 #if defined(__cplusplus) && !defined(CINTERFACE)
2391   struct IMessageView : public IUnknown {
2392   public:
2393     virtual HRESULT WINAPI SetTitleText(LPCOLESTR pszTitleText) = 0;
2394     virtual HRESULT WINAPI SetBodyText(LPCOLESTR pszBodyText) = 0;
2395     virtual HRESULT WINAPI SetIcon(IconIdentifier id) = 0;
2396     virtual HRESULT WINAPI Clear(void) = 0;
2397   };
2398 #else
2399   typedef struct IMessageViewVtbl {
2400     BEGIN_INTERFACE
2401       HRESULT (WINAPI *QueryInterface)(IMessageView *This,REFIID riid,void **ppvObject);
2402       ULONG (WINAPI *AddRef)(IMessageView *This);
2403       ULONG (WINAPI *Release)(IMessageView *This);
2404       HRESULT (WINAPI *SetTitleText)(IMessageView *This,LPCOLESTR pszTitleText);
2405       HRESULT (WINAPI *SetBodyText)(IMessageView *This,LPCOLESTR pszBodyText);
2406       HRESULT (WINAPI *SetIcon)(IMessageView *This,IconIdentifier id);
2407       HRESULT (WINAPI *Clear)(IMessageView *This);
2408     END_INTERFACE
2409   } IMessageViewVtbl;
2410   struct IMessageView {
2411     CONST_VTBL struct IMessageViewVtbl *lpVtbl;
2412   };
2413 #ifdef COBJMACROS
2414 #define IMessageView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2415 #define IMessageView_AddRef(This) (This)->lpVtbl->AddRef(This)
2416 #define IMessageView_Release(This) (This)->lpVtbl->Release(This)
2417 #define IMessageView_SetTitleText(This,pszTitleText) (This)->lpVtbl->SetTitleText(This,pszTitleText)
2418 #define IMessageView_SetBodyText(This,pszBodyText) (This)->lpVtbl->SetBodyText(This,pszBodyText)
2419 #define IMessageView_SetIcon(This,id) (This)->lpVtbl->SetIcon(This,id)
2420 #define IMessageView_Clear(This) (This)->lpVtbl->Clear(This)
2421 #endif
2422 #endif
2423   HRESULT WINAPI IMessageView_SetTitleText_Proxy(IMessageView *This,LPCOLESTR pszTitleText);
2424   void __RPC_STUB IMessageView_SetTitleText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2425   HRESULT WINAPI IMessageView_SetBodyText_Proxy(IMessageView *This,LPCOLESTR pszBodyText);
2426   void __RPC_STUB IMessageView_SetBodyText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2427   HRESULT WINAPI IMessageView_SetIcon_Proxy(IMessageView *This,IconIdentifier id);
2428   void __RPC_STUB IMessageView_SetIcon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2429   HRESULT WINAPI IMessageView_Clear_Proxy(IMessageView *This);
2430   void __RPC_STUB IMessageView_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2431 #endif
2432 
2433   typedef struct _RDCITEMHDR {
2434     DWORD dwFlags;
2435     MMC_COOKIE cookie;
2436     LPARAM lpReserved;
2437   } RDITEMHDR;
2438 
2439 #define RDCI_ScopeItem (0x80000000)
2440 
2441   typedef struct _RDCOMPARE {
2442     DWORD cbSize;
2443     DWORD dwFlags;
2444     int nColumn;
2445     LPARAM lUserParam;
2446     RDITEMHDR *prdch1;
2447     RDITEMHDR *prdch2;
2448   } RDCOMPARE;
2449 
2450   extern RPC_IF_HANDLE __MIDL_itf_mmc_0150_v0_0_c_ifspec;
2451   extern RPC_IF_HANDLE __MIDL_itf_mmc_0150_v0_0_s_ifspec;
2452 
2453 #ifndef __IResultDataCompareEx_INTERFACE_DEFINED__
2454 #define __IResultDataCompareEx_INTERFACE_DEFINED__
2455   EXTERN_C const IID IID_IResultDataCompareEx;
2456 #if defined(__cplusplus) && !defined(CINTERFACE)
2457   struct IResultDataCompareEx : public IUnknown {
2458   public:
2459     virtual HRESULT WINAPI Compare(RDCOMPARE *prdc,int *pnResult) = 0;
2460   };
2461 #else
2462   typedef struct IResultDataCompareExVtbl {
2463     BEGIN_INTERFACE
2464       HRESULT (WINAPI *QueryInterface)(IResultDataCompareEx *This,REFIID riid,void **ppvObject);
2465       ULONG (WINAPI *AddRef)(IResultDataCompareEx *This);
2466       ULONG (WINAPI *Release)(IResultDataCompareEx *This);
2467       HRESULT (WINAPI *Compare)(IResultDataCompareEx *This,RDCOMPARE *prdc,int *pnResult);
2468     END_INTERFACE
2469   } IResultDataCompareExVtbl;
2470   struct IResultDataCompareEx {
2471     CONST_VTBL struct IResultDataCompareExVtbl *lpVtbl;
2472   };
2473 #ifdef COBJMACROS
2474 #define IResultDataCompareEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2475 #define IResultDataCompareEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2476 #define IResultDataCompareEx_Release(This) (This)->lpVtbl->Release(This)
2477 #define IResultDataCompareEx_Compare(This,prdc,pnResult) (This)->lpVtbl->Compare(This,prdc,pnResult)
2478 #endif
2479 #endif
2480   HRESULT WINAPI IResultDataCompareEx_Compare_Proxy(IResultDataCompareEx *This,RDCOMPARE *prdc,int *pnResult);
2481   void __RPC_STUB IResultDataCompareEx_Compare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2482 #endif
2483 #endif
2484 
2485 #if (MMC_VER >= 0x0200)
2486   typedef enum _MMC_VIEW_TYPE {
2487     MMC_VIEW_TYPE_LIST = 0,MMC_VIEW_TYPE_HTML,MMC_VIEW_TYPE_OCX
2488   } MMC_VIEW_TYPE;
2489 
2490 #define RVTI_MISC_OPTIONS_NOLISTVIEWS (0x1)
2491 #define RVTI_LIST_OPTIONS_NONE (0)
2492 #define RVTI_LIST_OPTIONS_OWNERDATALIST (0x2)
2493 #define RVTI_LIST_OPTIONS_MULTISELECT (0x4)
2494 #define RVTI_LIST_OPTIONS_FILTERED (0x8)
2495 #define RVTI_LIST_OPTIONS_USEFONTLINKING (0x20)
2496 #define RVTI_LIST_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST (0x40)
2497 #define RVTI_LIST_OPTIONS_LEXICAL_SORT (0x80)
2498 #define RVTI_LIST_OPTIONS_ALLOWPASTE (0x100)
2499 #define RVTI_HTML_OPTIONS_NONE (0)
2500 #define RVTI_HTML_OPTIONS_NOLISTVIEW (0x1)
2501 #define RVTI_OCX_OPTIONS_NONE (0)
2502 #define RVTI_OCX_OPTIONS_NOLISTVIEW (0x1)
2503 #define RVTI_OCX_OPTIONS_CACHE_OCX (0x2)
2504 
2505   typedef struct _RESULT_VIEW_TYPE_INFO {
2506     LPOLESTR pstrPersistableViewDescription;
2507     MMC_VIEW_TYPE eViewType;
2508     DWORD dwMiscOptions;
2509     __C89_NAMELESS union {
2510       DWORD dwListOptions;
2511       __C89_NAMELESS struct {
2512 	DWORD dwHTMLOptions;
2513 	LPOLESTR pstrURL;
2514       };
2515       __C89_NAMELESS struct {
2516 	DWORD dwOCXOptions;
2517 	LPUNKNOWN pUnkControl;
2518       };
2519     };
2520   } RESULT_VIEW_TYPE_INFO;
2521 
2522   typedef struct _RESULT_VIEW_TYPE_INFO *PRESULT_VIEW_TYPE_INFO;
2523 
2524 #define CCF_DESCRIPTION (L"CCF_DESCRIPTION")
2525 #define CCF_HTML_DETAILS (L"CCF_HTML_DETAILS")
2526 
2527   typedef struct _CONTEXTMENUITEM2 {
2528     LPWSTR strName;
2529     LPWSTR strStatusBarText;
2530     LONG lCommandID;
2531     LONG lInsertionPointID;
2532     LONG fFlags;
2533     LONG fSpecialFlags;
2534     LPWSTR strLanguageIndependentName;
2535   } CONTEXTMENUITEM2;
2536 
2537   typedef CONTEXTMENUITEM2 *LPCONTEXTMENUITEM2;
2538 
2539   typedef struct _MMC_EXT_VIEW_DATA {
2540     GUID viewID;
2541     LPCOLESTR pszURL;
2542     LPCOLESTR pszViewTitle;
2543     LPCOLESTR pszTooltipText;
2544     WINBOOL bReplacesDefaultView;
2545   } MMC_EXT_VIEW_DATA;
2546 
2547   typedef struct _MMC_EXT_VIEW_DATA *PMMC_EXT_VIEW_DATA;
2548 
2549 #define MMC_DEFAULT_OPERATION_COPY (0x1)
2550 
2551   extern RPC_IF_HANDLE __MIDL_itf_mmc_0151_v0_0_c_ifspec;
2552   extern RPC_IF_HANDLE __MIDL_itf_mmc_0151_v0_0_s_ifspec;
2553 
2554 #ifndef __IComponentData2_INTERFACE_DEFINED__
2555 #define __IComponentData2_INTERFACE_DEFINED__
2556   EXTERN_C const IID IID_IComponentData2;
2557 #if defined(__cplusplus) && !defined(CINTERFACE)
2558   struct IComponentData2 : public IComponentData {
2559   public:
2560     virtual HRESULT WINAPI QueryDispatch(MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch) = 0;
2561   };
2562 #else
2563   typedef struct IComponentData2Vtbl {
2564     BEGIN_INTERFACE
2565       HRESULT (WINAPI *QueryInterface)(IComponentData2 *This,REFIID riid,void **ppvObject);
2566       ULONG (WINAPI *AddRef)(IComponentData2 *This);
2567       ULONG (WINAPI *Release)(IComponentData2 *This);
2568       HRESULT (WINAPI *Initialize)(IComponentData2 *This,LPUNKNOWN pUnknown);
2569       HRESULT (WINAPI *CreateComponent)(IComponentData2 *This,LPCOMPONENT *ppComponent);
2570       HRESULT (WINAPI *Notify)(IComponentData2 *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
2571       HRESULT (WINAPI *Destroy)(IComponentData2 *This);
2572       HRESULT (WINAPI *QueryDataObject)(IComponentData2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
2573       HRESULT (WINAPI *GetDisplayInfo)(IComponentData2 *This,SCOPEDATAITEM *pScopeDataItem);
2574       HRESULT (WINAPI *CompareObjects)(IComponentData2 *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
2575       HRESULT (WINAPI *QueryDispatch)(IComponentData2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch);
2576     END_INTERFACE
2577   } IComponentData2Vtbl;
2578   struct IComponentData2 {
2579     CONST_VTBL struct IComponentData2Vtbl *lpVtbl;
2580   };
2581 #ifdef COBJMACROS
2582 #define IComponentData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2583 #define IComponentData2_AddRef(This) (This)->lpVtbl->AddRef(This)
2584 #define IComponentData2_Release(This) (This)->lpVtbl->Release(This)
2585 #define IComponentData2_Initialize(This,pUnknown) (This)->lpVtbl->Initialize(This,pUnknown)
2586 #define IComponentData2_CreateComponent(This,ppComponent) (This)->lpVtbl->CreateComponent(This,ppComponent)
2587 #define IComponentData2_Notify(This,lpDataObject,event,arg,param) (This)->lpVtbl->Notify(This,lpDataObject,event,arg,param)
2588 #define IComponentData2_Destroy(This) (This)->lpVtbl->Destroy(This)
2589 #define IComponentData2_QueryDataObject(This,cookie,type,ppDataObject) (This)->lpVtbl->QueryDataObject(This,cookie,type,ppDataObject)
2590 #define IComponentData2_GetDisplayInfo(This,pScopeDataItem) (This)->lpVtbl->GetDisplayInfo(This,pScopeDataItem)
2591 #define IComponentData2_CompareObjects(This,lpDataObjectA,lpDataObjectB) (This)->lpVtbl->CompareObjects(This,lpDataObjectA,lpDataObjectB)
2592 #define IComponentData2_QueryDispatch(This,cookie,type,ppDispatch) (This)->lpVtbl->QueryDispatch(This,cookie,type,ppDispatch)
2593 #endif
2594 #endif
2595   HRESULT WINAPI IComponentData2_QueryDispatch_Proxy(IComponentData2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch);
2596   void __RPC_STUB IComponentData2_QueryDispatch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2597 #endif
2598 
2599 #ifndef __IComponent2_INTERFACE_DEFINED__
2600 #define __IComponent2_INTERFACE_DEFINED__
2601   EXTERN_C const IID IID_IComponent2;
2602 #if defined(__cplusplus) && !defined(CINTERFACE)
2603   struct IComponent2 : public IComponent {
2604   public:
2605     virtual HRESULT WINAPI QueryDispatch(MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch) = 0;
2606     virtual HRESULT WINAPI GetResultViewType2(MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType) = 0;
2607     virtual HRESULT WINAPI RestoreResultView(MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType) = 0;
2608   };
2609 #else
2610   typedef struct IComponent2Vtbl {
2611     BEGIN_INTERFACE
2612       HRESULT (WINAPI *QueryInterface)(IComponent2 *This,REFIID riid,void **ppvObject);
2613       ULONG (WINAPI *AddRef)(IComponent2 *This);
2614       ULONG (WINAPI *Release)(IComponent2 *This);
2615       HRESULT (WINAPI *Initialize)(IComponent2 *This,LPCONSOLE lpConsole);
2616       HRESULT (WINAPI *Notify)(IComponent2 *This,LPDATAOBJECT lpDataObject,MMC_NOTIFY_TYPE event,LPARAM arg,LPARAM param);
2617       HRESULT (WINAPI *Destroy)(IComponent2 *This,MMC_COOKIE cookie);
2618       HRESULT (WINAPI *QueryDataObject)(IComponent2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDATAOBJECT *ppDataObject);
2619       HRESULT (WINAPI *GetResultViewType)(IComponent2 *This,MMC_COOKIE cookie,LPOLESTR *ppViewType,__LONG32 *pViewOptions);
2620       HRESULT (WINAPI *GetDisplayInfo)(IComponent2 *This,RESULTDATAITEM *pResultDataItem);
2621       HRESULT (WINAPI *CompareObjects)(IComponent2 *This,LPDATAOBJECT lpDataObjectA,LPDATAOBJECT lpDataObjectB);
2622       HRESULT (WINAPI *QueryDispatch)(IComponent2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch);
2623       HRESULT (WINAPI *GetResultViewType2)(IComponent2 *This,MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType);
2624       HRESULT (WINAPI *RestoreResultView)(IComponent2 *This,MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType);
2625     END_INTERFACE
2626   } IComponent2Vtbl;
2627   struct IComponent2 {
2628     CONST_VTBL struct IComponent2Vtbl *lpVtbl;
2629   };
2630 #ifdef COBJMACROS
2631 #define IComponent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2632 #define IComponent2_AddRef(This) (This)->lpVtbl->AddRef(This)
2633 #define IComponent2_Release(This) (This)->lpVtbl->Release(This)
2634 #define IComponent2_Initialize(This,lpConsole) (This)->lpVtbl->Initialize(This,lpConsole)
2635 #define IComponent2_Notify(This,lpDataObject,event,arg,param) (This)->lpVtbl->Notify(This,lpDataObject,event,arg,param)
2636 #define IComponent2_Destroy(This,cookie) (This)->lpVtbl->Destroy(This,cookie)
2637 #define IComponent2_QueryDataObject(This,cookie,type,ppDataObject) (This)->lpVtbl->QueryDataObject(This,cookie,type,ppDataObject)
2638 #define IComponent2_GetResultViewType(This,cookie,ppViewType,pViewOptions) (This)->lpVtbl->GetResultViewType(This,cookie,ppViewType,pViewOptions)
2639 #define IComponent2_GetDisplayInfo(This,pResultDataItem) (This)->lpVtbl->GetDisplayInfo(This,pResultDataItem)
2640 #define IComponent2_CompareObjects(This,lpDataObjectA,lpDataObjectB) (This)->lpVtbl->CompareObjects(This,lpDataObjectA,lpDataObjectB)
2641 #define IComponent2_QueryDispatch(This,cookie,type,ppDispatch) (This)->lpVtbl->QueryDispatch(This,cookie,type,ppDispatch)
2642 #define IComponent2_GetResultViewType2(This,cookie,pResultViewType) (This)->lpVtbl->GetResultViewType2(This,cookie,pResultViewType)
2643 #define IComponent2_RestoreResultView(This,cookie,pResultViewType) (This)->lpVtbl->RestoreResultView(This,cookie,pResultViewType)
2644 #endif
2645 #endif
2646   HRESULT WINAPI IComponent2_QueryDispatch_Proxy(IComponent2 *This,MMC_COOKIE cookie,DATA_OBJECT_TYPES type,LPDISPATCH *ppDispatch);
2647   void __RPC_STUB IComponent2_QueryDispatch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2648   HRESULT WINAPI IComponent2_GetResultViewType2_Proxy(IComponent2 *This,MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType);
2649   void __RPC_STUB IComponent2_GetResultViewType2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2650   HRESULT WINAPI IComponent2_RestoreResultView_Proxy(IComponent2 *This,MMC_COOKIE cookie,PRESULT_VIEW_TYPE_INFO pResultViewType);
2651   void __RPC_STUB IComponent2_RestoreResultView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2652 #endif
2653 
2654 #ifndef __IContextMenuCallback2_INTERFACE_DEFINED__
2655 #define __IContextMenuCallback2_INTERFACE_DEFINED__
2656   EXTERN_C const IID IID_IContextMenuCallback2;
2657 #if defined(__cplusplus) && !defined(CINTERFACE)
2658   struct IContextMenuCallback2 : public IUnknown {
2659   public:
2660     virtual HRESULT WINAPI AddItem(CONTEXTMENUITEM2 *pItem) = 0;
2661   };
2662 #else
2663   typedef struct IContextMenuCallback2Vtbl {
2664     BEGIN_INTERFACE
2665       HRESULT (WINAPI *QueryInterface)(IContextMenuCallback2 *This,REFIID riid,void **ppvObject);
2666       ULONG (WINAPI *AddRef)(IContextMenuCallback2 *This);
2667       ULONG (WINAPI *Release)(IContextMenuCallback2 *This);
2668       HRESULT (WINAPI *AddItem)(IContextMenuCallback2 *This,CONTEXTMENUITEM2 *pItem);
2669     END_INTERFACE
2670   } IContextMenuCallback2Vtbl;
2671   struct IContextMenuCallback2 {
2672     CONST_VTBL struct IContextMenuCallback2Vtbl *lpVtbl;
2673   };
2674 #ifdef COBJMACROS
2675 #define IContextMenuCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2676 #define IContextMenuCallback2_AddRef(This) (This)->lpVtbl->AddRef(This)
2677 #define IContextMenuCallback2_Release(This) (This)->lpVtbl->Release(This)
2678 #define IContextMenuCallback2_AddItem(This,pItem) (This)->lpVtbl->AddItem(This,pItem)
2679 #endif
2680 #endif
2681   HRESULT WINAPI IContextMenuCallback2_AddItem_Proxy(IContextMenuCallback2 *This,CONTEXTMENUITEM2 *pItem);
2682   void __RPC_STUB IContextMenuCallback2_AddItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2683 #endif
2684 
2685 #ifndef __IMMCVersionInfo_INTERFACE_DEFINED__
2686 #define __IMMCVersionInfo_INTERFACE_DEFINED__
2687   EXTERN_C const IID IID_IMMCVersionInfo;
2688 #if defined(__cplusplus) && !defined(CINTERFACE)
2689   struct IMMCVersionInfo : public IUnknown {
2690   public:
2691     virtual HRESULT WINAPI GetMMCVersion(__LONG32 *pVersionMajor,__LONG32 *pVersionMinor) = 0;
2692   };
2693 #else
2694   typedef struct IMMCVersionInfoVtbl {
2695     BEGIN_INTERFACE
2696       HRESULT (WINAPI *QueryInterface)(IMMCVersionInfo *This,REFIID riid,void **ppvObject);
2697       ULONG (WINAPI *AddRef)(IMMCVersionInfo *This);
2698       ULONG (WINAPI *Release)(IMMCVersionInfo *This);
2699       HRESULT (WINAPI *GetMMCVersion)(IMMCVersionInfo *This,__LONG32 *pVersionMajor,__LONG32 *pVersionMinor);
2700     END_INTERFACE
2701   } IMMCVersionInfoVtbl;
2702   struct IMMCVersionInfo {
2703     CONST_VTBL struct IMMCVersionInfoVtbl *lpVtbl;
2704   };
2705 #ifdef COBJMACROS
2706 #define IMMCVersionInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2707 #define IMMCVersionInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2708 #define IMMCVersionInfo_Release(This) (This)->lpVtbl->Release(This)
2709 #define IMMCVersionInfo_GetMMCVersion(This,pVersionMajor,pVersionMinor) (This)->lpVtbl->GetMMCVersion(This,pVersionMajor,pVersionMinor)
2710 #endif
2711 #endif
2712   HRESULT WINAPI IMMCVersionInfo_GetMMCVersion_Proxy(IMMCVersionInfo *This,__LONG32 *pVersionMajor,__LONG32 *pVersionMinor);
2713   void __RPC_STUB IMMCVersionInfo_GetMMCVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2714 #endif
2715 
2716 #ifndef __MMCVersionLib_LIBRARY_DEFINED__
2717 #define __MMCVersionLib_LIBRARY_DEFINED__
2718   EXTERN_C const IID LIBID_MMCVersionLib;
2719   EXTERN_C const CLSID CLSID_MMCVersionInfo;
2720 #ifdef __cplusplus
2721   class MMCVersionInfo;
2722 #endif
2723   EXTERN_C const CLSID CLSID_ConsolePower;
2724 #ifdef __cplusplus
2725   class ConsolePower;
2726 #endif
2727 #endif
2728 
2729 #ifndef __IExtendView_INTERFACE_DEFINED__
2730 #define __IExtendView_INTERFACE_DEFINED__
2731   EXTERN_C const IID IID_IExtendView;
2732 #if defined(__cplusplus) && !defined(CINTERFACE)
2733   struct IExtendView : public IUnknown {
2734   public:
2735     virtual HRESULT WINAPI GetViews(LPDATAOBJECT pDataObject,LPVIEWEXTENSIONCALLBACK pViewExtensionCallback) = 0;
2736   };
2737 #else
2738   typedef struct IExtendViewVtbl {
2739     BEGIN_INTERFACE
2740       HRESULT (WINAPI *QueryInterface)(IExtendView *This,REFIID riid,void **ppvObject);
2741       ULONG (WINAPI *AddRef)(IExtendView *This);
2742       ULONG (WINAPI *Release)(IExtendView *This);
2743       HRESULT (WINAPI *GetViews)(IExtendView *This,LPDATAOBJECT pDataObject,LPVIEWEXTENSIONCALLBACK pViewExtensionCallback);
2744     END_INTERFACE
2745   } IExtendViewVtbl;
2746   struct IExtendView {
2747     CONST_VTBL struct IExtendViewVtbl *lpVtbl;
2748   };
2749 #ifdef COBJMACROS
2750 #define IExtendView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2751 #define IExtendView_AddRef(This) (This)->lpVtbl->AddRef(This)
2752 #define IExtendView_Release(This) (This)->lpVtbl->Release(This)
2753 #define IExtendView_GetViews(This,pDataObject,pViewExtensionCallback) (This)->lpVtbl->GetViews(This,pDataObject,pViewExtensionCallback)
2754 #endif
2755 #endif
2756   HRESULT WINAPI IExtendView_GetViews_Proxy(IExtendView *This,LPDATAOBJECT pDataObject,LPVIEWEXTENSIONCALLBACK pViewExtensionCallback);
2757   void __RPC_STUB IExtendView_GetViews_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2758 #endif
2759 
2760 #ifndef __IViewExtensionCallback_INTERFACE_DEFINED__
2761 #define __IViewExtensionCallback_INTERFACE_DEFINED__
2762   EXTERN_C const IID IID_IViewExtensionCallback;
2763 #if defined(__cplusplus) && !defined(CINTERFACE)
2764   struct IViewExtensionCallback : public IUnknown {
2765   public:
2766     virtual HRESULT WINAPI AddView(PMMC_EXT_VIEW_DATA pExtViewData) = 0;
2767   };
2768 #else
2769   typedef struct IViewExtensionCallbackVtbl {
2770     BEGIN_INTERFACE
2771       HRESULT (WINAPI *QueryInterface)(IViewExtensionCallback *This,REFIID riid,void **ppvObject);
2772       ULONG (WINAPI *AddRef)(IViewExtensionCallback *This);
2773       ULONG (WINAPI *Release)(IViewExtensionCallback *This);
2774       HRESULT (WINAPI *AddView)(IViewExtensionCallback *This,PMMC_EXT_VIEW_DATA pExtViewData);
2775     END_INTERFACE
2776   } IViewExtensionCallbackVtbl;
2777   struct IViewExtensionCallback {
2778     CONST_VTBL struct IViewExtensionCallbackVtbl *lpVtbl;
2779   };
2780 #ifdef COBJMACROS
2781 #define IViewExtensionCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2782 #define IViewExtensionCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
2783 #define IViewExtensionCallback_Release(This) (This)->lpVtbl->Release(This)
2784 #define IViewExtensionCallback_AddView(This,pExtViewData) (This)->lpVtbl->AddView(This,pExtViewData)
2785 #endif
2786 #endif
2787   HRESULT WINAPI IViewExtensionCallback_AddView_Proxy(IViewExtensionCallback *This,PMMC_EXT_VIEW_DATA pExtViewData);
2788   void __RPC_STUB IViewExtensionCallback_AddView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2789 #endif
2790 
2791 #ifndef __IConsolePower_INTERFACE_DEFINED__
2792 #define __IConsolePower_INTERFACE_DEFINED__
2793   EXTERN_C const IID IID_IConsolePower;
2794 #if defined(__cplusplus) && !defined(CINTERFACE)
2795   struct IConsolePower : public IUnknown {
2796   public:
2797     virtual HRESULT WINAPI SetExecutionState(DWORD dwAdd,DWORD dwRemove) = 0;
2798     virtual HRESULT WINAPI ResetIdleTimer(DWORD dwFlags) = 0;
2799   };
2800 #else
2801   typedef struct IConsolePowerVtbl {
2802     BEGIN_INTERFACE
2803       HRESULT (WINAPI *QueryInterface)(IConsolePower *This,REFIID riid,void **ppvObject);
2804       ULONG (WINAPI *AddRef)(IConsolePower *This);
2805       ULONG (WINAPI *Release)(IConsolePower *This);
2806       HRESULT (WINAPI *SetExecutionState)(IConsolePower *This,DWORD dwAdd,DWORD dwRemove);
2807       HRESULT (WINAPI *ResetIdleTimer)(IConsolePower *This,DWORD dwFlags);
2808     END_INTERFACE
2809   } IConsolePowerVtbl;
2810   struct IConsolePower {
2811     CONST_VTBL struct IConsolePowerVtbl *lpVtbl;
2812   };
2813 #ifdef COBJMACROS
2814 #define IConsolePower_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2815 #define IConsolePower_AddRef(This) (This)->lpVtbl->AddRef(This)
2816 #define IConsolePower_Release(This) (This)->lpVtbl->Release(This)
2817 #define IConsolePower_SetExecutionState(This,dwAdd,dwRemove) (This)->lpVtbl->SetExecutionState(This,dwAdd,dwRemove)
2818 #define IConsolePower_ResetIdleTimer(This,dwFlags) (This)->lpVtbl->ResetIdleTimer(This,dwFlags)
2819 #endif
2820 #endif
2821   HRESULT WINAPI IConsolePower_SetExecutionState_Proxy(IConsolePower *This,DWORD dwAdd,DWORD dwRemove);
2822   void __RPC_STUB IConsolePower_SetExecutionState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2823   HRESULT WINAPI IConsolePower_ResetIdleTimer_Proxy(IConsolePower *This,DWORD dwFlags);
2824   void __RPC_STUB IConsolePower_ResetIdleTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2825 #endif
2826 
2827 #ifndef __IConsolePowerSink_INTERFACE_DEFINED__
2828 #define __IConsolePowerSink_INTERFACE_DEFINED__
2829   EXTERN_C const IID IID_IConsolePowerSink;
2830 #if defined(__cplusplus) && !defined(CINTERFACE)
2831   struct IConsolePowerSink : public IUnknown {
2832   public:
2833     virtual HRESULT WINAPI OnPowerBroadcast(UINT nEvent,LPARAM lParam,LRESULT *plReturn) = 0;
2834   };
2835 #else
2836   typedef struct IConsolePowerSinkVtbl {
2837     BEGIN_INTERFACE
2838       HRESULT (WINAPI *QueryInterface)(IConsolePowerSink *This,REFIID riid,void **ppvObject);
2839       ULONG (WINAPI *AddRef)(IConsolePowerSink *This);
2840       ULONG (WINAPI *Release)(IConsolePowerSink *This);
2841       HRESULT (WINAPI *OnPowerBroadcast)(IConsolePowerSink *This,UINT nEvent,LPARAM lParam,LRESULT *plReturn);
2842     END_INTERFACE
2843   } IConsolePowerSinkVtbl;
2844   struct IConsolePowerSink {
2845     CONST_VTBL struct IConsolePowerSinkVtbl *lpVtbl;
2846   };
2847 #ifdef COBJMACROS
2848 #define IConsolePowerSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2849 #define IConsolePowerSink_AddRef(This) (This)->lpVtbl->AddRef(This)
2850 #define IConsolePowerSink_Release(This) (This)->lpVtbl->Release(This)
2851 #define IConsolePowerSink_OnPowerBroadcast(This,nEvent,lParam,plReturn) (This)->lpVtbl->OnPowerBroadcast(This,nEvent,lParam,plReturn)
2852 #endif
2853 #endif
2854   HRESULT WINAPI IConsolePowerSink_OnPowerBroadcast_Proxy(IConsolePowerSink *This,UINT nEvent,LPARAM lParam,LRESULT *plReturn);
2855   void __RPC_STUB IConsolePowerSink_OnPowerBroadcast_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2856 #endif
2857 
2858 #ifndef __INodeProperties_INTERFACE_DEFINED__
2859 #define __INodeProperties_INTERFACE_DEFINED__
2860   EXTERN_C const IID IID_INodeProperties;
2861 #if defined(__cplusplus) && !defined(CINTERFACE)
2862   struct INodeProperties : public IUnknown {
2863   public:
2864     virtual HRESULT WINAPI GetProperty(LPDATAOBJECT pDataObject,BSTR szPropertyName,PBSTR pbstrProperty) = 0;
2865   };
2866 #else
2867   typedef struct INodePropertiesVtbl {
2868     BEGIN_INTERFACE
2869       HRESULT (WINAPI *QueryInterface)(INodeProperties *This,REFIID riid,void **ppvObject);
2870       ULONG (WINAPI *AddRef)(INodeProperties *This);
2871       ULONG (WINAPI *Release)(INodeProperties *This);
2872       HRESULT (WINAPI *GetProperty)(INodeProperties *This,LPDATAOBJECT pDataObject,BSTR szPropertyName,PBSTR pbstrProperty);
2873     END_INTERFACE
2874   } INodePropertiesVtbl;
2875   struct INodeProperties {
2876     CONST_VTBL struct INodePropertiesVtbl *lpVtbl;
2877   };
2878 #ifdef COBJMACROS
2879 #define INodeProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2880 #define INodeProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
2881 #define INodeProperties_Release(This) (This)->lpVtbl->Release(This)
2882 #define INodeProperties_GetProperty(This,pDataObject,szPropertyName,pbstrProperty) (This)->lpVtbl->GetProperty(This,pDataObject,szPropertyName,pbstrProperty)
2883 #endif
2884 #endif
2885   HRESULT WINAPI INodeProperties_GetProperty_Proxy(INodeProperties *This,LPDATAOBJECT pDataObject,BSTR szPropertyName,PBSTR pbstrProperty);
2886   void __RPC_STUB INodeProperties_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2887 #endif
2888 
2889 #ifndef __IConsole3_INTERFACE_DEFINED__
2890 #define __IConsole3_INTERFACE_DEFINED__
2891   EXTERN_C const IID IID_IConsole3;
2892 #if defined(__cplusplus) && !defined(CINTERFACE)
2893   struct IConsole3 : public IConsole2 {
2894   public:
2895     virtual HRESULT WINAPI RenameScopeItem(HSCOPEITEM hScopeItem) = 0;
2896   };
2897 #else
2898   typedef struct IConsole3Vtbl {
2899     BEGIN_INTERFACE
2900       HRESULT (WINAPI *QueryInterface)(IConsole3 *This,REFIID riid,void **ppvObject);
2901       ULONG (WINAPI *AddRef)(IConsole3 *This);
2902       ULONG (WINAPI *Release)(IConsole3 *This);
2903       HRESULT (WINAPI *SetHeader)(IConsole3 *This,LPHEADERCTRL pHeader);
2904       HRESULT (WINAPI *SetToolbar)(IConsole3 *This,LPTOOLBAR pToolbar);
2905       HRESULT (WINAPI *QueryResultView)(IConsole3 *This,LPUNKNOWN *pUnknown);
2906       HRESULT (WINAPI *QueryScopeImageList)(IConsole3 *This,LPIMAGELIST *ppImageList);
2907       HRESULT (WINAPI *QueryResultImageList)(IConsole3 *This,LPIMAGELIST *ppImageList);
2908       HRESULT (WINAPI *UpdateAllViews)(IConsole3 *This,LPDATAOBJECT lpDataObject,LPARAM data,LONG_PTR hint);
2909       HRESULT (WINAPI *MessageBox)(IConsole3 *This,LPCWSTR lpszText,LPCWSTR lpszTitle,UINT fuStyle,int *piRetval);
2910       HRESULT (WINAPI *QueryConsoleVerb)(IConsole3 *This,LPCONSOLEVERB *ppConsoleVerb);
2911       HRESULT (WINAPI *SelectScopeItem)(IConsole3 *This,HSCOPEITEM hScopeItem);
2912       HRESULT (WINAPI *GetMainWindow)(IConsole3 *This,HWND *phwnd);
2913       HRESULT (WINAPI *NewWindow)(IConsole3 *This,HSCOPEITEM hScopeItem,unsigned __LONG32 lOptions);
2914       HRESULT (WINAPI *Expand)(IConsole3 *This,HSCOPEITEM hItem,WINBOOL bExpand);
2915       HRESULT (WINAPI *IsTaskpadViewPreferred)(IConsole3 *This);
2916       HRESULT (WINAPI *SetStatusText)(IConsole3 *This,LPOLESTR pszStatusText);
2917       HRESULT (WINAPI *RenameScopeItem)(IConsole3 *This,HSCOPEITEM hScopeItem);
2918     END_INTERFACE
2919   } IConsole3Vtbl;
2920   struct IConsole3 {
2921     CONST_VTBL struct IConsole3Vtbl *lpVtbl;
2922   };
2923 #ifdef COBJMACROS
2924 #define IConsole3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2925 #define IConsole3_AddRef(This) (This)->lpVtbl->AddRef(This)
2926 #define IConsole3_Release(This) (This)->lpVtbl->Release(This)
2927 #define IConsole3_SetHeader(This,pHeader) (This)->lpVtbl->SetHeader(This,pHeader)
2928 #define IConsole3_SetToolbar(This,pToolbar) (This)->lpVtbl->SetToolbar(This,pToolbar)
2929 #define IConsole3_QueryResultView(This,pUnknown) (This)->lpVtbl->QueryResultView(This,pUnknown)
2930 #define IConsole3_QueryScopeImageList(This,ppImageList) (This)->lpVtbl->QueryScopeImageList(This,ppImageList)
2931 #define IConsole3_QueryResultImageList(This,ppImageList) (This)->lpVtbl->QueryResultImageList(This,ppImageList)
2932 #define IConsole3_UpdateAllViews(This,lpDataObject,data,hint) (This)->lpVtbl->UpdateAllViews(This,lpDataObject,data,hint)
2933 #define IConsole3_MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval) (This)->lpVtbl->MessageBox(This,lpszText,lpszTitle,fuStyle,piRetval)
2934 #define IConsole3_QueryConsoleVerb(This,ppConsoleVerb) (This)->lpVtbl->QueryConsoleVerb(This,ppConsoleVerb)
2935 #define IConsole3_SelectScopeItem(This,hScopeItem) (This)->lpVtbl->SelectScopeItem(This,hScopeItem)
2936 #define IConsole3_GetMainWindow(This,phwnd) (This)->lpVtbl->GetMainWindow(This,phwnd)
2937 #define IConsole3_NewWindow(This,hScopeItem,lOptions) (This)->lpVtbl->NewWindow(This,hScopeItem,lOptions)
2938 #define IConsole3_Expand(This,hItem,bExpand) (This)->lpVtbl->Expand(This,hItem,bExpand)
2939 #define IConsole3_IsTaskpadViewPreferred(This) (This)->lpVtbl->IsTaskpadViewPreferred(This)
2940 #define IConsole3_SetStatusText(This,pszStatusText) (This)->lpVtbl->SetStatusText(This,pszStatusText)
2941 #define IConsole3_RenameScopeItem(This,hScopeItem) (This)->lpVtbl->RenameScopeItem(This,hScopeItem)
2942 #endif
2943 #endif
2944   HRESULT WINAPI IConsole3_RenameScopeItem_Proxy(IConsole3 *This,HSCOPEITEM hScopeItem);
2945   void __RPC_STUB IConsole3_RenameScopeItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2946 #endif
2947 
2948 #ifndef __IResultData2_INTERFACE_DEFINED__
2949 #define __IResultData2_INTERFACE_DEFINED__
2950   EXTERN_C const IID IID_IResultData2;
2951 #if defined(__cplusplus) && !defined(CINTERFACE)
2952   struct IResultData2 : public IResultData {
2953   public:
2954     virtual HRESULT WINAPI RenameResultItem(HRESULTITEM itemID) = 0;
2955   };
2956 #else
2957   typedef struct IResultData2Vtbl {
2958     BEGIN_INTERFACE
2959       HRESULT (WINAPI *QueryInterface)(IResultData2 *This,REFIID riid,void **ppvObject);
2960       ULONG (WINAPI *AddRef)(IResultData2 *This);
2961       ULONG (WINAPI *Release)(IResultData2 *This);
2962       HRESULT (WINAPI *InsertItem)(IResultData2 *This,LPRESULTDATAITEM item);
2963       HRESULT (WINAPI *DeleteItem)(IResultData2 *This,HRESULTITEM itemID,int nCol);
2964       HRESULT (WINAPI *FindItemByLParam)(IResultData2 *This,LPARAM lParam,HRESULTITEM *pItemID);
2965       HRESULT (WINAPI *DeleteAllRsltItems)(IResultData2 *This);
2966       HRESULT (WINAPI *SetItem)(IResultData2 *This,LPRESULTDATAITEM item);
2967       HRESULT (WINAPI *GetItem)(IResultData2 *This,LPRESULTDATAITEM item);
2968       HRESULT (WINAPI *GetNextItem)(IResultData2 *This,LPRESULTDATAITEM item);
2969       HRESULT (WINAPI *ModifyItemState)(IResultData2 *This,int nIndex,HRESULTITEM itemID,UINT uAdd,UINT uRemove);
2970       HRESULT (WINAPI *ModifyViewStyle)(IResultData2 *This,MMC_RESULT_VIEW_STYLE add,MMC_RESULT_VIEW_STYLE remove);
2971       HRESULT (WINAPI *SetViewMode)(IResultData2 *This,__LONG32 lViewMode);
2972       HRESULT (WINAPI *GetViewMode)(IResultData2 *This,__LONG32 *lViewMode);
2973       HRESULT (WINAPI *UpdateItem)(IResultData2 *This,HRESULTITEM itemID);
2974       HRESULT (WINAPI *Sort)(IResultData2 *This,int nColumn,DWORD dwSortOptions,LPARAM lUserParam);
2975       HRESULT (WINAPI *SetDescBarText)(IResultData2 *This,LPOLESTR DescText);
2976       HRESULT (WINAPI *SetItemCount)(IResultData2 *This,int nItemCount,DWORD dwOptions);
2977       HRESULT (WINAPI *RenameResultItem)(IResultData2 *This,HRESULTITEM itemID);
2978     END_INTERFACE
2979   } IResultData2Vtbl;
2980   struct IResultData2 {
2981     CONST_VTBL struct IResultData2Vtbl *lpVtbl;
2982   };
2983 #ifdef COBJMACROS
2984 #define IResultData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2985 #define IResultData2_AddRef(This) (This)->lpVtbl->AddRef(This)
2986 #define IResultData2_Release(This) (This)->lpVtbl->Release(This)
2987 #define IResultData2_InsertItem(This,item) (This)->lpVtbl->InsertItem(This,item)
2988 #define IResultData2_DeleteItem(This,itemID,nCol) (This)->lpVtbl->DeleteItem(This,itemID,nCol)
2989 #define IResultData2_FindItemByLParam(This,lParam,pItemID) (This)->lpVtbl->FindItemByLParam(This,lParam,pItemID)
2990 #define IResultData2_DeleteAllRsltItems(This) (This)->lpVtbl->DeleteAllRsltItems(This)
2991 #define IResultData2_SetItem(This,item) (This)->lpVtbl->SetItem(This,item)
2992 #define IResultData2_GetItem(This,item) (This)->lpVtbl->GetItem(This,item)
2993 #define IResultData2_GetNextItem(This,item) (This)->lpVtbl->GetNextItem(This,item)
2994 #define IResultData2_ModifyItemState(This,nIndex,itemID,uAdd,uRemove) (This)->lpVtbl->ModifyItemState(This,nIndex,itemID,uAdd,uRemove)
2995 #define IResultData2_ModifyViewStyle(This,add,remove) (This)->lpVtbl->ModifyViewStyle(This,add,remove)
2996 #define IResultData2_SetViewMode(This,lViewMode) (This)->lpVtbl->SetViewMode(This,lViewMode)
2997 #define IResultData2_GetViewMode(This,lViewMode) (This)->lpVtbl->GetViewMode(This,lViewMode)
2998 #define IResultData2_UpdateItem(This,itemID) (This)->lpVtbl->UpdateItem(This,itemID)
2999 #define IResultData2_Sort(This,nColumn,dwSortOptions,lUserParam) (This)->lpVtbl->Sort(This,nColumn,dwSortOptions,lUserParam)
3000 #define IResultData2_SetDescBarText(This,DescText) (This)->lpVtbl->SetDescBarText(This,DescText)
3001 #define IResultData2_SetItemCount(This,nItemCount,dwOptions) (This)->lpVtbl->SetItemCount(This,nItemCount,dwOptions)
3002 #define IResultData2_RenameResultItem(This,itemID) (This)->lpVtbl->RenameResultItem(This,itemID)
3003 #endif
3004 #endif
3005   HRESULT WINAPI IResultData2_RenameResultItem_Proxy(IResultData2 *This,HRESULTITEM itemID);
3006   void __RPC_STUB IResultData2_RenameResultItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3007 #endif
3008 #endif
3009 
3010   extern RPC_IF_HANDLE __MIDL_itf_mmc_0163_v0_0_c_ifspec;
3011   extern RPC_IF_HANDLE __MIDL_itf_mmc_0163_v0_0_s_ifspec;
3012 
3013   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
3014   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
3015   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
3016   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
3017   ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);
3018   unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);
3019   unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);
3020   void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);
3021   ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);
3022   unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);
3023   unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);
3024   void __RPC_API HICON_UserFree(ULONG *,HICON *);
3025   ULONG __RPC_API HPALETTE_UserSize(ULONG *,ULONG,HPALETTE *);
3026   unsigned char *__RPC_API HPALETTE_UserMarshal(ULONG *,unsigned char *,HPALETTE *);
3027   unsigned char *__RPC_API HPALETTE_UserUnmarshal(ULONG *,unsigned char *,HPALETTE *);
3028   void __RPC_API HPALETTE_UserFree(ULONG *,HPALETTE *);
3029   ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *);
3030   unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *);
3031   unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *);
3032   void __RPC_API HWND_UserFree(ULONG *,HWND *);
3033 
3034 #ifdef __cplusplus
3035 }
3036 #endif
3037 #endif
3038