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