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__
27typedef struct IComponentData IComponentData;
28#endif
29
30#ifndef __IComponent_FWD_DEFINED__
31#define __IComponent_FWD_DEFINED__
32typedef struct IComponent IComponent;
33#endif
34
35#ifndef __IResultDataCompare_FWD_DEFINED__
36#define __IResultDataCompare_FWD_DEFINED__
37typedef struct IResultDataCompare IResultDataCompare;
38#endif
39
40#ifndef __IResultOwnerData_FWD_DEFINED__
41#define __IResultOwnerData_FWD_DEFINED__
42typedef struct IResultOwnerData IResultOwnerData;
43#endif
44
45#ifndef __IConsole_FWD_DEFINED__
46#define __IConsole_FWD_DEFINED__
47typedef struct IConsole IConsole;
48#endif
49
50#ifndef __IHeaderCtrl_FWD_DEFINED__
51#define __IHeaderCtrl_FWD_DEFINED__
52typedef struct IHeaderCtrl IHeaderCtrl;
53#endif
54
55#ifndef __IContextMenuCallback_FWD_DEFINED__
56#define __IContextMenuCallback_FWD_DEFINED__
57typedef struct IContextMenuCallback IContextMenuCallback;
58#endif
59
60#ifndef __IContextMenuProvider_FWD_DEFINED__
61#define __IContextMenuProvider_FWD_DEFINED__
62typedef struct IContextMenuProvider IContextMenuProvider;
63#endif
64
65#ifndef __IExtendContextMenu_FWD_DEFINED__
66#define __IExtendContextMenu_FWD_DEFINED__
67typedef struct IExtendContextMenu IExtendContextMenu;
68#endif
69
70#ifndef __IImageList_FWD_DEFINED__
71#define __IImageList_FWD_DEFINED__
72typedef struct IImageList IImageList;
73#endif
74
75#ifndef __IResultData_FWD_DEFINED__
76#define __IResultData_FWD_DEFINED__
77typedef struct IResultData IResultData;
78#endif
79
80#ifndef __IConsoleNameSpace_FWD_DEFINED__
81#define __IConsoleNameSpace_FWD_DEFINED__
82typedef struct IConsoleNameSpace IConsoleNameSpace;
83#endif
84
85#ifndef __IConsoleNameSpace2_FWD_DEFINED__
86#define __IConsoleNameSpace2_FWD_DEFINED__
87typedef struct IConsoleNameSpace2 IConsoleNameSpace2;
88#endif
89
90#ifndef __IPropertySheetCallback_FWD_DEFINED__
91#define __IPropertySheetCallback_FWD_DEFINED__
92typedef struct IPropertySheetCallback IPropertySheetCallback;
93#endif
94
95#ifndef __IPropertySheetProvider_FWD_DEFINED__
96#define __IPropertySheetProvider_FWD_DEFINED__
97typedef struct IPropertySheetProvider IPropertySheetProvider;
98#endif
99
100#ifndef __IExtendPropertySheet_FWD_DEFINED__
101#define __IExtendPropertySheet_FWD_DEFINED__
102typedef struct IExtendPropertySheet IExtendPropertySheet;
103#endif
104
105#ifndef __IControlbar_FWD_DEFINED__
106#define __IControlbar_FWD_DEFINED__
107typedef struct IControlbar IControlbar;
108#endif
109
110#ifndef __IExtendControlbar_FWD_DEFINED__
111#define __IExtendControlbar_FWD_DEFINED__
112typedef struct IExtendControlbar IExtendControlbar;
113#endif
114
115#ifndef __IToolbar_FWD_DEFINED__
116#define __IToolbar_FWD_DEFINED__
117typedef struct IToolbar IToolbar;
118#endif
119
120#ifndef __IConsoleVerb_FWD_DEFINED__
121#define __IConsoleVerb_FWD_DEFINED__
122typedef struct IConsoleVerb IConsoleVerb;
123#endif
124
125#ifndef __ISnapinAbout_FWD_DEFINED__
126#define __ISnapinAbout_FWD_DEFINED__
127typedef struct ISnapinAbout ISnapinAbout;
128#endif
129
130#ifndef __IMenuButton_FWD_DEFINED__
131#define __IMenuButton_FWD_DEFINED__
132typedef struct IMenuButton IMenuButton;
133#endif
134
135#ifndef __ISnapinHelp_FWD_DEFINED__
136#define __ISnapinHelp_FWD_DEFINED__
137typedef struct ISnapinHelp ISnapinHelp;
138#endif
139
140#ifndef __IExtendPropertySheet2_FWD_DEFINED__
141#define __IExtendPropertySheet2_FWD_DEFINED__
142typedef struct IExtendPropertySheet2 IExtendPropertySheet2;
143#endif
144
145#ifndef __IHeaderCtrl2_FWD_DEFINED__
146#define __IHeaderCtrl2_FWD_DEFINED__
147typedef struct IHeaderCtrl2 IHeaderCtrl2;
148#endif
149
150#ifndef __ISnapinHelp2_FWD_DEFINED__
151#define __ISnapinHelp2_FWD_DEFINED__
152typedef struct ISnapinHelp2 ISnapinHelp2;
153#endif
154
155#ifndef __IEnumTASK_FWD_DEFINED__
156#define __IEnumTASK_FWD_DEFINED__
157typedef struct IEnumTASK IEnumTASK;
158#endif
159
160#ifndef __IExtendTaskPad_FWD_DEFINED__
161#define __IExtendTaskPad_FWD_DEFINED__
162typedef struct IExtendTaskPad IExtendTaskPad;
163#endif
164
165#ifndef __IConsole2_FWD_DEFINED__
166#define __IConsole2_FWD_DEFINED__
167typedef struct IConsole2 IConsole2;
168#endif
169
170#ifndef __IDisplayHelp_FWD_DEFINED__
171#define __IDisplayHelp_FWD_DEFINED__
172typedef struct IDisplayHelp IDisplayHelp;
173#endif
174
175#ifndef __IRequiredExtensions_FWD_DEFINED__
176#define __IRequiredExtensions_FWD_DEFINED__
177typedef struct IRequiredExtensions IRequiredExtensions;
178#endif
179
180#ifndef __IStringTable_FWD_DEFINED__
181#define __IStringTable_FWD_DEFINED__
182typedef struct IStringTable IStringTable;
183#endif
184
185#ifndef __IColumnData_FWD_DEFINED__
186#define __IColumnData_FWD_DEFINED__
187typedef struct IColumnData IColumnData;
188#endif
189
190#ifndef __IMessageView_FWD_DEFINED__
191#define __IMessageView_FWD_DEFINED__
192typedef struct IMessageView IMessageView;
193#endif
194
195#ifndef __IResultDataCompareEx_FWD_DEFINED__
196#define __IResultDataCompareEx_FWD_DEFINED__
197typedef struct IResultDataCompareEx IResultDataCompareEx;
198#endif
199
200#ifndef __IComponentData2_FWD_DEFINED__
201#define __IComponentData2_FWD_DEFINED__
202typedef struct IComponentData2 IComponentData2;
203#endif
204
205#ifndef __IComponent2_FWD_DEFINED__
206#define __IComponent2_FWD_DEFINED__
207typedef struct IComponent2 IComponent2;
208#endif
209
210#ifndef __IContextMenuCallback2_FWD_DEFINED__
211#define __IContextMenuCallback2_FWD_DEFINED__
212typedef struct IContextMenuCallback2 IContextMenuCallback2;
213#endif
214
215#ifndef __IMMCVersionInfo_FWD_DEFINED__
216#define __IMMCVersionInfo_FWD_DEFINED__
217typedef struct IMMCVersionInfo IMMCVersionInfo;
218#endif
219
220#ifndef __MMCVersionInfo_FWD_DEFINED__
221#define __MMCVersionInfo_FWD_DEFINED__
222#ifdef __cplusplus
223typedef class MMCVersionInfo MMCVersionInfo;
224#else
225typedef struct MMCVersionInfo MMCVersionInfo;
226#endif
227#endif
228
229#ifndef __ConsolePower_FWD_DEFINED__
230#define __ConsolePower_FWD_DEFINED__
231#ifdef __cplusplus
232typedef class ConsolePower ConsolePower;
233#else
234typedef struct ConsolePower ConsolePower;
235#endif
236#endif
237
238#ifndef __IExtendView_FWD_DEFINED__
239#define __IExtendView_FWD_DEFINED__
240typedef struct IExtendView IExtendView;
241#endif
242
243#ifndef __IViewExtensionCallback_FWD_DEFINED__
244#define __IViewExtensionCallback_FWD_DEFINED__
245typedef struct IViewExtensionCallback IViewExtensionCallback;
246#endif
247
248#ifndef __IConsolePower_FWD_DEFINED__
249#define __IConsolePower_FWD_DEFINED__
250typedef struct IConsolePower IConsolePower;
251#endif
252
253#ifndef __IConsolePowerSink_FWD_DEFINED__
254#define __IConsolePowerSink_FWD_DEFINED__
255typedef struct IConsolePowerSink IConsolePowerSink;
256#endif
257
258#ifndef __INodeProperties_FWD_DEFINED__
259#define __INodeProperties_FWD_DEFINED__
260typedef struct INodeProperties INodeProperties;
261#endif
262
263#ifndef __IConsole3_FWD_DEFINED__
264#define __IConsole3_FWD_DEFINED__
265typedef struct IConsole3 IConsole3;
266#endif
267
268#ifndef __IResultData2_FWD_DEFINED__
269#define __IResultData2_FWD_DEFINED__
270typedef struct IResultData2 IResultData2;
271#endif
272
273#include "basetsd.h"
274#include "oaidl.h"
275
276#ifdef __cplusplus
277extern "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