Author: pschweitzer
Date: Sun Feb 12 14:09:40 2012
New Revision: 55561
URL:
http://svn.reactos.org/svn/reactos?rev=55561&view=rev
Log:
[PSDK]
Add mmc.idl
Added:
branches/iut-mmc/include/psdk/mmc.idl (with props)
Modified:
branches/iut-mmc/include/psdk/CMakeLists.txt
branches/iut-mmc/include/psdk/psdk.rbuild
Modified: branches/iut-mmc/include/psdk/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/branches/iut-mmc/include/psdk/CMakeLists…
==============================================================================
--- branches/iut-mmc/include/psdk/CMakeLists.txt [iso-8859-1] (original)
+++ branches/iut-mmc/include/psdk/CMakeLists.txt [iso-8859-1] Sun Feb 12 14:09:40 2012
@@ -46,6 +46,7 @@
mimeinfo.idl
mimeole.idl
mlang.idl
+ mmc.idl
mscoree.idl
msctf.idl
msdadc.idl
Added: branches/iut-mmc/include/psdk/mmc.idl
URL:
http://svn.reactos.org/svn/reactos/branches/iut-mmc/include/psdk/mmc.idl?re…
==============================================================================
--- branches/iut-mmc/include/psdk/mmc.idl (added)
+++ branches/iut-mmc/include/psdk/mmc.idl [iso-8859-1] Sun Feb 12 14:09:40 2012
@@ -1,0 +1,1535 @@
+cpp_quote("#ifndef MMC_VER")
+cpp_quote("#define MMC_VER 0x0210")
+cpp_quote("#endif")
+
+#ifndef DO_NO_IMPORTS
+import "basetsd.h";
+import "oaidl.idl";
+#endif
+
+/* Interfaces implemented by mmcndmgr.dll */
+interface IConsole;
+interface IHeaderCtrl;
+interface IToolbar;
+interface IImageList;
+interface IResultData;
+interface IConsoleNameSpace;
+interface IPropertySheetProvider;
+interface IPropertySheetCallback;
+interface IContextMenuProvider;
+interface IContextMenuCallback;
+interface IControlbar;
+interface IConsoleVerb;
+interface IMenuButton;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+interface IConsole2;
+interface IHeaderCtrl2;
+interface IConsoleNameSpace2;
+interface IDisplayHelp;
+interface IStringTable;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+interface IColumnData;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+cpp_quote("#if (MMC_VER >= 0x0200)")
+interface IConsole3;
+interface IConsolePower;
+interface INodeProperties;
+interface IResultData2;
+cpp_quote("#endif // MMC_VER >= 0x0200")
+
+/* Interfaces implemented by the MMC snap-ins */
+interface IComponent;
+interface IComponentData;
+interface IExtendPropertySheet;
+interface IExtendContextMenu;
+interface IExtendControlbar;
+interface IResultDataCompare;
+interface ISnapinAbout;
+interface IResultOwnerData;
+interface ISnapinHelp;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+interface IEnumTASK;
+interface IExtendPropertySheet2;
+interface ISnapinHelp2;
+interface IExtendTaskPad;
+interface IRequiredExtensions;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+interface IResultDataCompareEx;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+cpp_quote("#if (MMC_VER >= 0x0200)")
+interface IComponent2;
+interface IComponentData2;
+interface IExtendView;
+interface IViewExtensionCallback;
+interface IConsolePowerSink;
+interface IConsole3;
+interface INodeProperties;
+interface IResultData2;
+cpp_quote("#endif // MMC_VER >= 0x0200")
+
+typedef IConsole* LPCONSOLE;
+typedef IHeaderCtrl* LPHEADERCTRL;
+typedef IToolbar* LPTOOLBAR;
+typedef IImageList* LPIMAGELIST;
+typedef IResultData* LPRESULTDATA;
+typedef IConsoleNameSpace* LPCONSOLENAMESPACE;
+typedef IPropertySheetProvider* LPPROPERTYSHEETPROVIDER;
+typedef IPropertySheetCallback* LPPROPERTYSHEETCALLBACK;
+typedef IContextMenuProvider* LPCONTEXTMENUPROVIDER;
+typedef IContextMenuCallback* LPCONTEXTMENUCALLBACK;
+typedef IControlbar* LPCONTROLBAR;
+typedef IConsoleVerb* LPCONSOLEVERB;
+typedef IMenuButton* LPMENUBUTTON;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+typedef IConsole2* LPCONSOLE2;
+typedef IHeaderCtrl2* LPHEADERCTRL2;
+typedef IConsoleNameSpace2* LPCONSOLENAMESPACE2;
+typedef IDisplayHelp* LPDISPLAYHELP;
+typedef IStringTable* LPSTRINGTABLE;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+typedef IColumnData* LPCOLUMNDATA;
+typedef IResultDataCompareEx* LPRESULTDATACOMPAREEX;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+typedef IComponent* LPCOMPONENT;
+typedef IComponentData* LPCOMPONENTDATA;
+typedef IExtendPropertySheet* LPEXTENDPROPERTYSHEET;
+typedef IExtendContextMenu* LPEXTENDCONTEXTMENU;
+typedef IExtendControlbar* LPEXTENDCONTROLBAR;
+typedef IResultDataCompare* LPRESULTDATACOMPARE;
+typedef IResultOwnerData* LPRESULTOWNERDATA;
+typedef ISnapinAbout* LPSNAPABOUT;
+typedef ISnapinAbout* LPSNAPINABOUT;
+typedef ISnapinHelp* LPSNAPHELP;
+typedef ISnapinHelp* LPSNAPINHELP;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+typedef IEnumTASK* LPENUMTASK;
+typedef IExtendPropertySheet2* LPEXTENDPROPERTYSHEET2;
+typedef ISnapinHelp2* LPSNAPINHELP2;
+typedef IExtendTaskPad* LPEXTENDTASKPAD;
+typedef IRequiredExtensions* LPREQUIREDEXTENSIONS;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+
+cpp_quote("#if (MMC_VER >= 0x0200)")
+typedef IComponent2* LPCOMPONENT2;
+typedef IComponentData2* LPCOMPONENTDATA2;
+typedef IExtendView* LPEXTENDVIEW;
+typedef IViewExtensionCallback* LPVIEWEXTENSIONCALLBACK;
+typedef IConsolePower* LPCONSOLEPOWER;
+typedef IConsolePowerSink* LPCONSOLEPOWERSINK;
+typedef IConsole3* LPCONSOLE3;
+typedef INodeProperties* LPNODEPROPERTIES;
+typedef IResultData2* LPRESULTDATA2;
+cpp_quote("#endif // MMC_VER >= 0x0200")
+
+typedef BSTR* PBSTR;
+
+#define LVS_ICON 0x0000
+#define LVS_REPORT 0x0001
+#define LVS_SMALLICON 0x0002
+#define LVS_LIST 0x0003
+#define LVSICF_NOINVALIDATEALL 0x00000001
+#define LVSICF_NOSCROLL 0x00000002
+
+const long MMCLV_AUTO = -1;
+const long MMCLV_NOPARAM = -2;
+const long MMCLV_NOICON = -1;
+
+const long MMCLV_VIEWSTYLE_ICON = LVS_ICON;
+const long MMCLV_VIEWSTYLE_SMALLICON = LVS_SMALLICON;
+const long MMCLV_VIEWSTYLE_LIST = LVS_LIST;
+const long MMCLV_VIEWSTYLE_REPORT = LVS_REPORT;
+const long MMCLV_VIEWSTYLE_FILTERED = 0x0004;
+
+const void* MMCLV_NOPTR = 0x0;
+const long MMCLV_UPDATE_NOINVALIDATEALL = LVSICF_NOINVALIDATEALL;
+const long MMCLV_UPDATE_NOSCROLL = LVSICF_NOSCROLL;
+
+static unsigned short* MMC_CALLBACK = ((unsigned short *)(-1));
+cpp_quote("#if (MMC_VER >= 0x0120)")
+cpp_quote("#define MMC_IMAGECALLBACK (-1)")
+cpp_quote("#define MMC_TEXTCALLBACK MMC_CALLBACK")
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+typedef LONG_PTR HSCOPEITEM;
+typedef long COMPONENTID;
+typedef LONG_PTR HRESULTITEM;
+
+const DWORD RDI_STR = 0x0002;
+const DWORD RDI_IMAGE = 0x0004;
+const DWORD RDI_STATE = 0x0008;
+const DWORD RDI_PARAM = 0x0010;
+const DWORD RDI_INDEX = 0x0020;
+const DWORD RDI_INDENT = 0x0040;
+
+cpp_quote("typedef enum _MMC_RESULT_VIEW_STYLE ")
+cpp_quote("{ ")
+cpp_quote(" MMC_SINGLESEL = 0x0001, ")
+cpp_quote(" MMC_SHOWSELALWAYS = 0x0002, ")
+cpp_quote(" MMC_NOSORTHEADER = 0x0004, ")
+cpp_quote("#if (MMC_VER >= 0x0120) ")
+cpp_quote(" MMC_ENSUREFOCUSVISIBLE = 0x0008 ")
+cpp_quote("#endif // MMC_VER >= 0x0120 ")
+cpp_quote("} MMC_RESULT_VIEW_STYLE; ")
+
+cpp_quote("#if 0")
+typedef enum _MMC_RESULT_VIEW_STYLE
+{
+ _MMC_VIEW_STYLE__dummy_
+} MMC_RESULT_VIEW_STYLE;
+cpp_quote("#endif")
+
+
+const long MMC_VIEW_OPTIONS_NONE = 0x00000000;
+const long MMC_VIEW_OPTIONS_NOLISTVIEWS = 0x00000001;
+const long MMC_VIEW_OPTIONS_MULTISELECT = 0x00000002;
+const long MMC_VIEW_OPTIONS_OWNERDATALIST = 0x00000004;
+const long MMC_VIEW_OPTIONS_FILTERED = 0x00000008;
+const long MMC_VIEW_OPTIONS_CREATENEW = 0x00000010;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+const long MMC_VIEW_OPTIONS_USEFONTLINKING = 0x00000020;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+const long MMC_VIEW_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST = 0x00000040;
+const long MMC_VIEW_OPTIONS_LEXICAL_SORT = 0x00000080;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+const DWORD MMC_PSO_NOAPPLYNOW = 0x00000001;
+const DWORD MMC_PSO_HASHELP = 0x00000002;
+const DWORD MMC_PSO_NEWWIZARDTYPE = 0x00000004;
+const DWORD MMC_PSO_NO_PROPTITLE = 0x00000008;
+
+typedef enum _MMC_CONTROL_TYPE
+{
+ TOOLBAR,
+ MENUBUTTON,
+ COMBOBOXBAR
+} MMC_CONTROL_TYPE;
+
+cpp_quote("typedef enum _MMC_CONSOLE_VERB ")
+cpp_quote("{ ")
+cpp_quote(" MMC_VERB_NONE = 0x0000, ")
+cpp_quote(" MMC_VERB_OPEN = 0x8000, ")
+cpp_quote(" MMC_VERB_COPY = 0x8001, ")
+cpp_quote(" MMC_VERB_PASTE = 0x8002, ")
+cpp_quote(" MMC_VERB_DELETE = 0x8003, ")
+cpp_quote(" MMC_VERB_PROPERTIES = 0x8004, ")
+cpp_quote(" MMC_VERB_RENAME = 0x8005, ")
+cpp_quote(" MMC_VERB_REFRESH = 0x8006, ")
+cpp_quote(" MMC_VERB_PRINT = 0x8007, ")
+cpp_quote("#if (MMC_VER >= 0x0110) ")
+cpp_quote(" MMC_VERB_CUT = 0x8008, // Used only to explicitly
disable/hide")
+cpp_quote(" // the cut verb, when copy &
paste are enabled.")
+cpp_quote(" ")
+cpp_quote(" // must be last ")
+cpp_quote(" MMC_VERB_MAX, ")
+cpp_quote(" MMC_VERB_FIRST = MMC_VERB_OPEN, ")
+cpp_quote(" MMC_VERB_LAST = MMC_VERB_MAX - 1 ")
+cpp_quote("#endif // MMC_VER >= 0x0110 ")
+cpp_quote("} MMC_CONSOLE_VERB; ")
+
+cpp_quote("#if 0")
+typedef enum _MMC_CONSOLE_VERB
+{
+ MMC_VERB__dummy_
+} MMC_CONSOLE_VERB;
+cpp_quote("#endif")
+
+cpp_quote("#include <pshpack8.h>")
+typedef struct _MMCButton
+{
+ int nBitmap;
+ int idCommand;
+ BYTE fsState;
+ BYTE fsType;
+ LPOLESTR lpButtonText;
+ LPOLESTR lpTooltipText;
+
+} MMCBUTTON, *LPMMCBUTTON;
+cpp_quote("#include <poppack.h>")
+
+typedef enum _MMC_BUTTON_STATE
+{
+ ENABLED = 0x01,
+ CHECKED = 0x02,
+ HIDDEN = 0x04,
+ INDETERMINATE = 0x08,
+ BUTTONPRESSED = 0x10,
+
+} MMC_BUTTON_STATE;
+
+typedef struct _RESULTDATAITEM
+{
+ DWORD mask;
+ BOOL bScopeItem;
+ HRESULTITEM itemID;
+ int nIndex;
+ int nCol;
+ LPOLESTR str;
+ int nImage;
+ UINT nState;
+ LPARAM lParam;
+ int iIndent;
+} RESULTDATAITEM, *LPRESULTDATAITEM;
+
+const DWORD RFI_PARTIAL = 0x0001;
+const DWORD RFI_WRAP = 0x0002;
+
+typedef struct _RESULTFINDINFO
+{
+ LPOLESTR psz;
+ int nStart;
+ DWORD dwOptions;
+} RESULTFINDINFO, *LPRESULTFINDINFO;
+
+const DWORD RSI_DESCENDING = 0x0001;
+const DWORD RSI_NOSORTICON = 0x0002;
+
+const DWORD SDI_STR = 0x00002;
+const DWORD SDI_IMAGE = 0x00004;
+const DWORD SDI_OPENIMAGE = 0x00008;
+const DWORD SDI_STATE = 0x00010;
+const DWORD SDI_PARAM = 0x00020;
+const DWORD SDI_CHILDREN = 0x00040;
+
+const DWORD SDI_PARENT = 0x00000000;
+const DWORD SDI_PREVIOUS = 0x10000000;
+const DWORD SDI_NEXT = 0x20000000;
+const DWORD SDI_FIRST = 0x08000000;
+
+typedef struct _SCOPEDATAITEM
+{
+ DWORD mask;
+ LPOLESTR displayname;
+ int nImage;
+ int nOpenImage;
+ UINT nState;
+ int cChildren;
+ LPARAM lParam;
+ HSCOPEITEM relativeID;
+ HSCOPEITEM ID;
+} SCOPEDATAITEM, *LPSCOPEDATAITEM;
+
+typedef enum _MMC_SCOPE_ITEM_STATE
+{
+ MMC_SCOPE_ITEM_STATE_NORMAL = 0x0001,
+ MMC_SCOPE_ITEM_STATE_BOLD = 0x0002,
+ MMC_SCOPE_ITEM_STATE_EXPANDEDONCE = 0x0003,
+
+} MMC_SCOPE_ITEM_STATE;
+
+typedef struct _CONTEXTMENUITEM
+{
+ LPWSTR strName;
+ LPWSTR strStatusBarText;
+ LONG lCommandID;
+ LONG lInsertionPointID;
+ LONG fFlags;
+ LONG fSpecialFlags;
+} CONTEXTMENUITEM, *LPCONTEXTMENUITEM;
+
+typedef enum _MMC_MENU_COMMAND_IDS
+{
+ MMCC_STANDARD_VIEW_SELECT = -1
+} MMC_MENU_COMMAND_IDS;
+
+typedef struct _MENUBUTTONDATA
+{
+ int idCommand;
+ int x;
+ int y;
+} MENUBUTTONDATA, *LPMENUBUTTONDATA;
+
+typedef LONG_PTR MMC_COOKIE;
+
+const MMC_COOKIE MMC_MULTI_SELECT_COOKIE = -2;
+const MMC_COOKIE MMC_WINDOW_COOKIE = -3;
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+const MMC_COOKIE SPECIAL_COOKIE_MIN = -10;
+const MMC_COOKIE SPECIAL_COOKIE_MAX = -1;
+
+#define HDFT_ISSTRING 0x0000
+#define HDFT_ISNUMBER 0x0001
+#define HDFT_HASNOVALUE 0x8000
+
+typedef enum _MMC_FILTER_TYPE
+{
+ MMC_STRING_FILTER = HDFT_ISSTRING,
+ MMC_INT_FILTER = HDFT_ISNUMBER,
+ MMC_FILTER_NOVALUE= HDFT_HASNOVALUE
+} MMC_FILTER_TYPE;
+
+typedef struct _MMC_FILTERDATA
+{
+ LPOLESTR pszText;
+ INT cchTextMax;
+ LONG lValue;
+} MMC_FILTERDATA;
+
+typedef enum _MMC_FILTER_CHANGE_CODE
+{
+ MFCC_DISABLE = 0,
+ MFCC_ENABLE = 1,
+ MFCC_VALUE_CHANGE = 2
+} MMC_FILTER_CHANGE_CODE;
+
+typedef struct _MMC_RESTORE_VIEW
+{
+ DWORD dwSize;
+ MMC_COOKIE cookie;
+ LPOLESTR pViewType;
+ long lViewOptions;
+} MMC_RESTORE_VIEW;
+
+typedef struct _MMC_EXPANDSYNC_STRUCT
+{
+ BOOL bHandled;
+ BOOL bExpanding;
+ HSCOPEITEM hItem;
+} MMC_EXPANDSYNC_STRUCT;
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+typedef struct _MMC_VISIBLE_COLUMNS
+{
+ INT nVisibleColumns;
+ INT rgVisibleCols[1];
+} MMC_VISIBLE_COLUMNS;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+cpp_quote("typedef enum _MMC_NOTIFY_TYPE ")
+cpp_quote("{ ")
+cpp_quote(" MMCN_ACTIVATE = 0x8001, ")
+cpp_quote(" MMCN_ADD_IMAGES = 0x8002, ")
+cpp_quote(" MMCN_BTN_CLICK = 0x8003, ")
+cpp_quote(" MMCN_CLICK = 0x8004, // NOT USED ")
+cpp_quote(" MMCN_COLUMN_CLICK = 0x8005, ")
+cpp_quote(" MMCN_CONTEXTMENU = 0x8006, // NOT USED ")
+cpp_quote(" MMCN_CUTORMOVE = 0x8007, ")
+cpp_quote(" MMCN_DBLCLICK = 0x8008, ")
+cpp_quote(" MMCN_DELETE = 0x8009, ")
+cpp_quote(" MMCN_DESELECT_ALL = 0x800A, ")
+cpp_quote(" MMCN_EXPAND = 0x800B, ")
+cpp_quote(" MMCN_HELP = 0x800C, // NOT USED ")
+cpp_quote(" MMCN_MENU_BTNCLICK = 0x800D, ")
+cpp_quote(" MMCN_MINIMIZED = 0x800E, ")
+cpp_quote(" MMCN_PASTE = 0x800F, ")
+cpp_quote(" MMCN_PROPERTY_CHANGE = 0x8010, ")
+cpp_quote(" MMCN_QUERY_PASTE = 0x8011, ")
+cpp_quote(" MMCN_REFRESH = 0x8012, ")
+cpp_quote(" MMCN_REMOVE_CHILDREN = 0x8013, ")
+cpp_quote(" MMCN_RENAME = 0x8014, ")
+cpp_quote(" MMCN_SELECT = 0x8015, ")
+cpp_quote(" MMCN_SHOW = 0x8016, ")
+cpp_quote(" MMCN_VIEW_CHANGE = 0x8017, ")
+cpp_quote(" MMCN_SNAPINHELP = 0x8018, ")
+cpp_quote(" MMCN_CONTEXTHELP = 0x8019, ")
+cpp_quote(" MMCN_INITOCX = 0x801A, ")
+cpp_quote("#if (MMC_VER >= 0x0110) ")
+cpp_quote(" MMCN_FILTER_CHANGE = 0x801B, ")
+cpp_quote(" MMCN_FILTERBTN_CLICK = 0x801C, ")
+cpp_quote(" MMCN_RESTORE_VIEW = 0x801D, ")
+cpp_quote(" MMCN_PRINT = 0x801E, ")
+cpp_quote(" MMCN_PRELOAD = 0x801F, ")
+cpp_quote(" MMCN_LISTPAD = 0x8020, ")
+cpp_quote(" MMCN_EXPANDSYNC = 0x8021, ")
+cpp_quote("#if (MMC_VER >= 0x0120) ")
+cpp_quote(" MMCN_COLUMNS_CHANGED = 0x8022, ")
+cpp_quote("#if (MMC_VER >= 0x0200) ")
+cpp_quote(" MMCN_CANPASTE_OUTOFPROC = 0x8023, ")
+cpp_quote("#endif // MMC_VER >= 0x0200 ")
+cpp_quote("#endif // MMC_VER >= 0x0120 ")
+cpp_quote("#endif // MMC_VER >= 0x0110 ")
+cpp_quote("} MMC_NOTIFY_TYPE; ")
+
+cpp_quote("#if 0")
+typedef enum _MMC_NOTIFY_TYPE
+{
+ MMCN__dummy_
+} MMC_NOTIFY_TYPE;
+cpp_quote("#endif")
+
+typedef enum _DATA_OBJECT_TYPES
+{
+ CCT_SCOPE = 0x8000,
+ CCT_RESULT = 0x8001,
+ CCT_SNAPIN_MANAGER = 0x8002,
+ CCT_UNINITIALIZED = 0xFFFF,
+} DATA_OBJECT_TYPES;
+
+const unsigned long MMC_NW_OPTION_NONE = 0x0000;
+const unsigned long MMC_NW_OPTION_NOSCOPEPANE = 0x0001;
+const unsigned long MMC_NW_OPTION_NOTOOLBARS = 0x0002;
+const unsigned long MMC_NW_OPTION_SHORTTITLE = 0x0004;
+const unsigned long MMC_NW_OPTION_CUSTOMTITLE = 0x0008;
+const unsigned long MMC_NW_OPTION_NOPERSIST = 0x0010;
+const unsigned long MMC_NW_OPTION_NOACTIONPANE = 0x0020;
+
+const wchar_t* CCF_NODETYPE = L"CCF_NODETYPE";
+const wchar_t* CCF_SZNODETYPE = L"CCF_SZNODETYPE";
+const wchar_t* CCF_DISPLAY_NAME = L"CCF_DISPLAY_NAME";
+const wchar_t* CCF_SNAPIN_CLASSID = L"CCF_SNAPIN_CLASSID";
+
+cpp_quote("#if (MMC_VER >= 0x0210)")
+const wchar_t* CCF_SNAPIN_CLASS = L"CCF_SNAPIN_CLASS";
+cpp_quote("#endif // MMC_VER >= 0x0210")
+
+const wchar_t* CCF_WINDOW_TITLE = L"CCF_WINDOW_TITLE";
+const wchar_t* CCF_MMC_MULTISELECT_DATAOBJECT =
L"CCF_MMC_MULTISELECT_DATAOBJECT";
+
+typedef struct _SMMCDataObjects
+{
+ DWORD count;
+ LPDATAOBJECT lpDataObject[1];
+
+} SMMCDataObjects;
+const wchar_t* CCF_MULTI_SELECT_SNAPINS = L"CCF_MULTI_SELECT_SNAPINS";
+
+typedef struct _SMMCObjectTypes
+{
+ DWORD count;
+ GUID guid[1];
+
+} SMMCObjectTypes;
+
+const wchar_t* CCF_OBJECT_TYPES_IN_MULTI_SELECT =
L"CCF_OBJECT_TYPES_IN_MULTI_SELECT";
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+typedef SMMCObjectTypes SMMCDynamicExtensions;
+
+const wchar_t* CCF_MMC_DYNAMIC_EXTENSIONS = L"CCF_MMC_DYNAMIC_EXTENSIONS";
+const wchar_t* CCF_SNAPIN_PRELOADS = L"CCF_SNAPIN_PRELOADS";
+
+typedef struct _SNodeID
+{
+ DWORD cBytes;
+ BYTE id[1];
+} SNodeID;
+
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+typedef struct _SNodeID2
+{
+ DWORD dwFlags;
+ DWORD cBytes;
+ BYTE id[1];
+} SNodeID2;
+
+const DWORD MMC_NODEID_SLOW_RETRIEVAL = 0x01;
+
+const wchar_t* CCF_NODEID2 = L"CCF_NODEID2";
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+const wchar_t* CCF_NODEID = L"CCF_NODEID";
+
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+typedef struct _SColumnSetID
+{
+ DWORD dwFlags;
+ DWORD cBytes;
+ BYTE id[1];
+} SColumnSetID;
+
+const wchar_t* CCF_COLUMN_SET_ID = L"CCF_COLUMN_SET_ID";
+cpp_quote("#endif // MMC_VER >= 0x0120")
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+/* From mmc.lib */
+cpp_quote("STDAPI MMCPropertyChangeNotify(LONG_PTR lNotifyHandle, LPARAM
param);")
+cpp_quote("#if (MMC_VER >= 0x0110)")
+cpp_quote("STDAPI MMCPropertyHelp(LPOLESTR pszHelpTopic);")
+cpp_quote("#endif // MMC_VER >= 0x0110")
+cpp_quote("STDAPI MMCFreeNotifyHandle(LONG_PTR lNotifyHandle);")
+cpp_quote("// MMCPropPageCallback is only available in mmc.lib. See
MMCAfxPropPageCallback if linking against mmcutil.lib.")
+cpp_quote("STDAPI MMCPropPageCallback(void* vpsp);")
+cpp_quote("EXTERN_C const CLSID CLSID_NodeManager;")
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+cpp_quote("EXTERN_C const CLSID CLSID_MessageView;")
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+cpp_quote("#if (MMC_VER >= 0x0210)")
+cpp_quote("// Snap-in implemented callback responsible for calling
AFX_MANAGE_STATE() for the snapin-in's module.")
+cpp_quote("typedef void (STDAPICALLTYPE *PFNAfxManageStateCallback)();")
+cpp_quote("// Sets up a PROPSHEETPAGE structure for calling the snap-in's
PFNAfxManageStateCallback.")
+cpp_quote("// MMCAfxPropPageCallback is available in both mmc.lib and
mmcutil.lib.")
+cpp_quote("// Returns:")
+cpp_quote("// S_OK - success")
+cpp_quote("// E_POINTER - vpsp or pfnCallback is null")
+cpp_quote("// E_INVALIDARG - vpsp->pfnCallback must be the same for all property
pages")
+cpp_quote("// E_INVALIDARG - pfnManageStateCallback must be the same for all
property pages")
+cpp_quote("// E_UNEXPECTED - vpsp has already been passed to
MMCAfxPropPageCallback")
+cpp_quote("STDAPI MMCAfxPropPageCallback(void* vpsp, PFNAfxManageStateCallback
pfnManageStateCallback);")
+cpp_quote("#endif // MMC_VER >= 0x0210")
+
+cpp_quote("#define DOBJ_NULL (LPDATAOBJECT) 0")
+cpp_quote("#define DOBJ_CUSTOMOCX (LPDATAOBJECT) -1")
+cpp_quote("#define DOBJ_CUSTOMWEB (LPDATAOBJECT) -2")
+cpp_quote("#if (MMC_VER >= 0x0110)")
+cpp_quote("#if (MMC_VER >= 0x0120)")
+cpp_quote("#define DOBJ_NOCONSOLE (LPDATAOBJECT) -3")
+cpp_quote("#endif // MMC_VER >= 0x0120")
+cpp_quote("#define SPECIAL_DOBJ_MIN -10")
+cpp_quote("#define SPECIAL_DOBJ_MAX 0")
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+cpp_quote("#define IS_SPECIAL_DATAOBJECT(d) (((LONG_PTR)(d) >= SPECIAL_DOBJ_MIN)
&& ((LONG_PTR)(d) <= SPECIAL_DOBJ_MAX))")
+cpp_quote("#define IS_SPECIAL_COOKIE(c) (((c) >= SPECIAL_COOKIE_MIN)
&& ((c) <= SPECIAL_COOKIE_MAX))")
+
+ [
+ object,
+ uuid(955AB28A-5218-11D0-A985-00C04FD8D565),
+ pointer_default(unique)
+ ]
+ interface IComponentData : IUnknown
+ {
+ HRESULT Initialize([in] LPUNKNOWN pUnknown);
+ HRESULT CreateComponent([out] LPCOMPONENT* ppComponent);
+ HRESULT Notify([in] LPDATAOBJECT lpDataObject, [in] MMC_NOTIFY_TYPE event,
+ [in] LPARAM arg, [in] LPARAM param);
+ HRESULT Destroy();
+ HRESULT QueryDataObject([in] MMC_COOKIE cookie, [in] DATA_OBJECT_TYPES type,
+ [out] LPDATAOBJECT* ppDataObject);
+ HRESULT GetDisplayInfo([in,out] SCOPEDATAITEM* pScopeDataItem);
+ HRESULT CompareObjects([in] LPDATAOBJECT lpDataObjectA, [in] LPDATAOBJECT
lpDataObjectB);
+ };
+
+ [
+ object,
+ uuid(43136EB2-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IComponent : IUnknown
+ {
+ HRESULT Initialize([in] LPCONSOLE lpConsole);
+ HRESULT Notify([in] LPDATAOBJECT lpDataObject, [in] MMC_NOTIFY_TYPE event,
+ [in] LPARAM arg, [in] LPARAM param);
+ HRESULT Destroy([in] MMC_COOKIE cookie);
+ HRESULT QueryDataObject([in] MMC_COOKIE cookie, [in] DATA_OBJECT_TYPES type,
+ [out] LPDATAOBJECT* ppDataObject);
+ HRESULT GetResultViewType([in] MMC_COOKIE cookie, [out] LPOLESTR* ppViewType,
+ [out] long* pViewOptions);
+ HRESULT GetDisplayInfo([in,out] RESULTDATAITEM* pResultDataItem);
+ HRESULT CompareObjects([in] LPDATAOBJECT lpDataObjectA, [in] LPDATAOBJECT
lpDataObjectB);
+ };
+
+ [
+ object,
+ uuid(E8315A52-7A1A-11D0-A2D2-00C04FD909DD),
+ pointer_default(unique)
+ ]
+ interface IResultDataCompare : IUnknown
+ {
+ HRESULT Compare([in] LPARAM lUserParam, [in] MMC_COOKIE cookieA,
+ [in] MMC_COOKIE cookieB, [in, out] int* pnResult);
+ }
+
+ [
+ object,
+ uuid(9CB396D8-EA83-11d0-AEF1-00C04FB6DD2C),
+ pointer_default(unique)
+ ]
+ interface IResultOwnerData : IUnknown
+ {
+ HRESULT FindItem([in] LPRESULTFINDINFO pFindInfo, [out] int* pnFoundIndex);
+ HRESULT CacheHint ([in] int nStartIndex, [in] int nEndIndex);
+ HRESULT SortItems([in] int nColumn, [in] DWORD dwSortOptions, [in] LPARAM
lUserParam);
+ }
+
+ [
+ object,
+ uuid(43136EB1-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IConsole : IUnknown
+ {
+ HRESULT SetHeader([in] LPHEADERCTRL pHeader);
+ HRESULT SetToolbar([in] LPTOOLBAR pToolbar);
+ HRESULT QueryResultView([out] LPUNKNOWN* pUnknown);
+ HRESULT QueryScopeImageList([out] LPIMAGELIST* ppImageList);
+ HRESULT QueryResultImageList([out] LPIMAGELIST* ppImageList);
+ HRESULT UpdateAllViews([in] LPDATAOBJECT lpDataObject,
+ [in] LPARAM data, [in] LONG_PTR hint);
+ HRESULT MessageBox([in] LPCWSTR lpszText, [in] LPCWSTR lpszTitle,
+ [in] UINT fuStyle, [out] int* piRetval);
+ HRESULT QueryConsoleVerb([out] LPCONSOLEVERB * ppConsoleVerb);
+ HRESULT SelectScopeItem([in] HSCOPEITEM hScopeItem);
+ HRESULT GetMainWindow([out] HWND* phwnd);
+ HRESULT NewWindow([in] HSCOPEITEM hScopeItem, [in] unsigned long lOptions);
+
+ };
+
+ [
+ object,
+ uuid(43136EB3-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IHeaderCtrl : IUnknown
+ {
+ const int AUTO_WIDTH = -1;
+cpp_quote("#if (MMC_VER >= 0x0120)")
+ const int HIDE_COLUMN = -4;
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+ HRESULT InsertColumn([in] int nCol, [in,] LPCWSTR title, [in] int nFormat, [in]
int nWidth);
+ HRESULT DeleteColumn([in] int nCol);
+ HRESULT SetColumnText([in] int nCol, [in] LPCWSTR title);
+ HRESULT GetColumnText([in] int nCol, [out] LPOLESTR* pText);
+ HRESULT SetColumnWidth([in] int nCol, [in] int nWidth);
+ HRESULT GetColumnWidth([in] int nCol, [out] int* pWidth);
+ };
+
+enum
+{
+ CCM_INSERTIONPOINTID_MASK_SPECIAL = 0xFFFF0000,
+ CCM_INSERTIONPOINTID_MASK_SHARED = 0x80000000,
+ CCM_INSERTIONPOINTID_MASK_CREATE_PRIMARY = 0x40000000,
+ CCM_INSERTIONPOINTID_MASK_ADD_PRIMARY = 0x20000000,
+ CCM_INSERTIONPOINTID_MASK_ADD_3RDPARTY = 0x10000000,
+ CCM_INSERTIONPOINTID_MASK_RESERVED = 0x0FFF0000,
+ CCM_INSERTIONPOINTID_MASK_FLAGINDEX = 0x0000001F,
+
+ CCM_INSERTIONPOINTID_PRIMARY_TOP = 0xA0000000,
+ CCM_INSERTIONPOINTID_PRIMARY_NEW = 0xA0000001,
+ CCM_INSERTIONPOINTID_PRIMARY_TASK = 0xA0000002,
+ CCM_INSERTIONPOINTID_PRIMARY_VIEW = 0xA0000003,
+ CCM_INSERTIONPOINTID_PRIMARY_HELP = 0xA0000004,
+ CCM_INSERTIONPOINTID_3RDPARTY_NEW = 0x90000001,
+ CCM_INSERTIONPOINTID_3RDPARTY_TASK = 0x90000002,
+ CCM_INSERTIONPOINTID_ROOT_MENU = 0x80000000
+};
+
+#define INSERTALLOWED_FLAG(insertionID) \
+ (1L << (insertionID & CCM_INSERTIONPOINTID_MASK_FLAGINDEX))
+enum
+{
+ CCM_INSERTIONALLOWED_TOP = INSERTALLOWED_FLAG(CCM_INSERTIONPOINTID_PRIMARY_TOP),
+ CCM_INSERTIONALLOWED_NEW = INSERTALLOWED_FLAG(CCM_INSERTIONPOINTID_PRIMARY_NEW),
+ CCM_INSERTIONALLOWED_TASK = INSERTALLOWED_FLAG(CCM_INSERTIONPOINTID_PRIMARY_TASK),
+ CCM_INSERTIONALLOWED_VIEW = INSERTALLOWED_FLAG(CCM_INSERTIONPOINTID_PRIMARY_VIEW)
+};
+
+
+enum
+{
+ CCM_COMMANDID_MASK_RESERVED = 0xFFFF0000
+};
+
+enum
+{
+ CCM_SPECIAL_SEPARATOR = 0x0001,
+ CCM_SPECIAL_SUBMENU = 0x0002,
+ CCM_SPECIAL_DEFAULT_ITEM = 0x0004,
+ CCM_SPECIAL_INSERTION_POINT = 0x0008,
+ CCM_SPECIAL_TESTONLY = 0x0010
+};
+
+ [
+ object,
+ uuid(43136EB7-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IContextMenuCallback : IUnknown
+ {
+ HRESULT AddItem([in] CONTEXTMENUITEM* pItem);
+ };
+
+ [
+ object,
+ uuid(43136EB6-D36C-11CF-ADBC-00AA00A80033),
+ object,
+ pointer_default(unique)
+ ]
+
+ interface IContextMenuProvider : IContextMenuCallback
+ {
+ HRESULT EmptyMenuList();
+ HRESULT AddPrimaryExtensionItems([in] LPUNKNOWN piExtension, [in] LPDATAOBJECT
piDataObject);
+ HRESULT AddThirdPartyExtensionItems([in] LPDATAOBJECT piDataObject);
+ HRESULT ShowContextMenu([in] HWND hwndParent, [in] long xPos, [in] long yPos,
[out,retval] long* plSelected);
+ };
+
+ [
+ object,
+ uuid(4F3B7A4F-CFAC-11CF-B8E3-00C04FD8D5B0),
+ pointer_default(unique)
+ ]
+ interface IExtendContextMenu : IUnknown
+ {
+ HRESULT AddMenuItems([in] LPDATAOBJECT piDataObject, [in] LPCONTEXTMENUCALLBACK
piCallback,
+ [in,out] long *pInsertionAllowed);
+ HRESULT Command([in] long lCommandID, [in] LPDATAOBJECT piDataObject);
+ };
+
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+cpp_quote("#define ILSIF_LEAVE_LARGE_ICON 0x40000000")
+cpp_quote("#define ILSIF_LEAVE_SMALL_ICON 0x20000000")
+cpp_quote("#define ILSIF_LEAVE_MASK (ILSIF_LEAVE_LARGE_ICON |
ILSIF_LEAVE_SMALL_ICON)")
+
+cpp_quote("#define ILSI_LARGE_ICON(nLoc) (nLoc | ILSIF_LEAVE_SMALL_ICON)")
+cpp_quote("#define ILSI_SMALL_ICON(nLoc) (nLoc | ILSIF_LEAVE_LARGE_ICON)")
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+ [
+ object,
+ uuid(43136EB8-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IImageList : IUnknown
+ {
+ HRESULT ImageListSetIcon([in] LONG_PTR* pIcon, [in] long nLoc);
+ HRESULT ImageListSetStrip([in] LONG_PTR* pBMapSm, [in] LONG_PTR* pBMapLg,
+ [in] long nStartLoc, [in] COLORREF cMask);
+ };
+
+ [
+ object,
+ uuid(31DA5FA0-E0EB-11cf-9F21-00AA003CA9F6),
+ pointer_default(unique)
+ ]
+ interface IResultData : IUnknown
+ {
+ HRESULT InsertItem([in,out] LPRESULTDATAITEM item);
+ HRESULT DeleteItem([in] HRESULTITEM itemID, [in] int nCol);
+ HRESULT FindItemByLParam([in] LPARAM lParam, [out] HRESULTITEM *pItemID);
+ HRESULT DeleteAllRsltItems();
+ HRESULT SetItem([in] LPRESULTDATAITEM item);
+ HRESULT GetItem([in,out] LPRESULTDATAITEM item);
+ HRESULT GetNextItem([in,out] LPRESULTDATAITEM item);
+ HRESULT ModifyItemState([in] int nIndex, [in] HRESULTITEM itemID,
+ [in] UINT uAdd, [in] UINT uRemove);
+ HRESULT ModifyViewStyle([in] MMC_RESULT_VIEW_STYLE add,
+ [in] MMC_RESULT_VIEW_STYLE remove);
+ HRESULT SetViewMode([in] long lViewMode);
+ HRESULT GetViewMode([out] long* lViewMode);
+ HRESULT UpdateItem([in] HRESULTITEM itemID);
+ HRESULT Sort([in] int nColumn, [in] DWORD dwSortOptions, [in] LPARAM
lUserParam);
+ HRESULT SetDescBarText([in] LPOLESTR DescText);
+ HRESULT SetItemCount([in] int nItemCount, [in] DWORD dwOptions);
+
+ };
+
+ [
+ object,
+ uuid(BEDEB620-F24D-11cf-8AFC-00AA003CA9F6),
+ pointer_default(unique)
+ ]
+ interface IConsoleNameSpace : IUnknown
+ {
+ import "oaidl.idl";
+ HRESULT InsertItem([in,out] LPSCOPEDATAITEM item);
+ HRESULT DeleteItem([in] HSCOPEITEM hItem, [in] long fDeleteThis);
+ HRESULT SetItem([in] LPSCOPEDATAITEM item);
+ HRESULT GetItem([in,out] LPSCOPEDATAITEM item);
+ HRESULT GetChildItem([in] HSCOPEITEM item, [out] HSCOPEITEM* pItemChild,
+ [out] MMC_COOKIE* pCookie);
+ HRESULT GetNextItem([in] HSCOPEITEM item, [out] HSCOPEITEM* pItemNext,
+ [out] MMC_COOKIE* pCookie);
+ HRESULT GetParentItem([in] HSCOPEITEM item, [out] HSCOPEITEM* pItemParent,
+ [out] MMC_COOKIE* pCookie);
+ };
+
+ [
+ object,
+ uuid(255F18CC-65DB-11D1-A7DC-00C04FD8D565),
+ pointer_default(unique)
+ ]
+ interface IConsoleNameSpace2 : IConsoleNameSpace
+ {
+ HRESULT Expand([in] HSCOPEITEM hItem);
+ HRESULT AddExtension([in] HSCOPEITEM hItem, [in] LPCLSID lpClsid);
+ };
+
+struct _PSP;
+typedef struct _PSP * HPROPSHEETPAGE;
+
+ [
+ local,
+ object,
+ uuid(85DE64DD-EF21-11cf-A285-00C04FD8DBE6),
+ pointer_default(unique)
+ ]
+ interface IPropertySheetCallback : IUnknown
+ {
+ HRESULT AddPage([in] HPROPSHEETPAGE hPage);
+ HRESULT RemovePage([in] HPROPSHEETPAGE hPage);
+ };
+
+ [
+ object,
+ uuid(85DE64DE-EF21-11cf-A285-00C04FD8DBE6),
+ pointer_default(unique)
+ ]
+ interface IPropertySheetProvider : IUnknown
+ {
+ HRESULT CreatePropertySheet([in] LPCWSTR title, [in] boolean type,
+ [in] MMC_COOKIE cookie, [in] LPDATAOBJECT
pIDataObjectm,
+ [in] DWORD dwOptions);
+ HRESULT FindPropertySheet([in] HSCOPEITEM hItem, [in] LPCOMPONENT lpComponent,
[in] LPDATAOBJECT lpDataObject);
+ HRESULT AddPrimaryPages(LPUNKNOWN lpUnknown, BOOL bCreateHandle, HWND
hNotifyWindow, BOOL bScopePane);
+ HRESULT AddExtensionPages();
+ HRESULT Show([in] LONG_PTR window, [in] int page);
+ };
+
+ [
+ object,
+ uuid(85DE64DC-EF21-11cf-A285-00C04FD8DBE6),
+ pointer_default(unique)
+ ]
+ interface IExtendPropertySheet : IUnknown
+ {
+ HRESULT CreatePropertyPages([in] LPPROPERTYSHEETCALLBACK lpProvider,
+ [in] LONG_PTR handle, [in] LPDATAOBJECT
lpIDataObject);
+ HRESULT QueryPagesFor([in] LPDATAOBJECT lpDataObject);
+ };
+
+ [
+ object,
+ uuid(69FB811E-6C1C-11D0-A2CB-00C04FD909DD),
+ pointer_default(unique)
+ ]
+ interface IControlbar : IUnknown
+ {
+ HRESULT Create([in] MMC_CONTROL_TYPE nType, [in] LPEXTENDCONTROLBAR
pExtendControlbar,
+ [out] LPUNKNOWN* ppUnknown);
+ HRESULT Attach([in] MMC_CONTROL_TYPE nType, [in] LPUNKNOWN lpUnknown);
+ HRESULT Detach([in] LPUNKNOWN lpUnknown);
+ };
+
+ [
+ object,
+ uuid(49506520-6F40-11D0-A98B-00C04FD8D565),
+ pointer_default(unique)
+ ]
+ interface IExtendControlbar : IUnknown
+ {
+ HRESULT SetControlbar([in] LPCONTROLBAR pControlbar);
+ HRESULT ControlbarNotify([in] MMC_NOTIFY_TYPE event, [in] LPARAM arg, [in] LPARAM
param);
+ };
+
+ [
+ object,
+ uuid(43136EB9-D36C-11CF-ADBC-00AA00A80033),
+ pointer_default(unique)
+ ]
+ interface IToolbar : IUnknown
+ {
+ HRESULT AddBitmap([in] int nImages, [in] HBITMAP hbmp, [in] int cxSize, [in] int
cySize, [in] COLORREF crMask );
+ HRESULT AddButtons([in] int nButtons, [in] LPMMCBUTTON lpButtons);
+ HRESULT InsertButton([in] int nIndex, [in] LPMMCBUTTON lpButton);
+ HRESULT DeleteButton([in] int nIndex);
+ HRESULT GetButtonState([in] int idCommand, [in] MMC_BUTTON_STATE nState, [out]
BOOL* pState);
+ HRESULT SetButtonState([in] int idCommand, [in] MMC_BUTTON_STATE nState, [in]
BOOL bState);
+ };
+
+ [
+ object,
+ uuid(E49F7A60-74AF-11D0-A286-00C04FD8FE93),
+ pointer_default(unique)
+ ]
+ interface IConsoleVerb : IUnknown
+ {
+ HRESULT GetVerbState([in] MMC_CONSOLE_VERB eCmdID, [in] MMC_BUTTON_STATE nState,
[out] BOOL* pState);
+ HRESULT SetVerbState([in] MMC_CONSOLE_VERB eCmdID, [in] MMC_BUTTON_STATE nState,
[in] BOOL bState);
+ HRESULT SetDefaultVerb([in] MMC_CONSOLE_VERB eCmdID);
+ HRESULT GetDefaultVerb([out] MMC_CONSOLE_VERB* peCmdID);
+ };
+
+ [
+ object,
+ uuid(1245208C-A151-11D0-A7D7-00C04FD909DD),
+ pointer_default(unique)
+ ]
+ interface ISnapinAbout : IUnknown
+ {
+ HRESULT GetSnapinDescription([out] LPOLESTR* lpDescription);
+ HRESULT GetProvider([out] LPOLESTR* lpName);
+ HRESULT GetSnapinVersion([out] LPOLESTR* lpVersion);
+ HRESULT GetSnapinImage([out] HICON* hAppIcon);
+ HRESULT GetStaticFolderImage([out] HBITMAP* hSmallImage, [out] HBITMAP*
hSmallImageOpen,
+ [out] HBITMAP* hLargeImage, [out] COLORREF* cMask);
+ };
+
+ [
+ object,
+ uuid(951ED750-D080-11d0-B197-000000000000),
+ pointer_default(unique)
+ ]
+ interface IMenuButton : IUnknown
+ {
+ HRESULT AddButton([in] int idCommand,[in] LPOLESTR lpButtonText, [in] LPOLESTR
lpTooltipText);
+ HRESULT SetButton([in] int idCommand,[in] LPOLESTR lpButtonText, [in] LPOLESTR
lpTooltipText);
+ HRESULT SetButtonState([in] int idCommand, [in] MMC_BUTTON_STATE nState, [in]
BOOL bState);
+ };
+
+ [
+ object,
+ uuid(A6B15ACE-DF59-11D0-A7DD-00C04FD909DD),
+ pointer_default(unique)
+ ]
+ interface ISnapinHelp : IUnknown
+ {
+ HRESULT GetHelpTopic([out] LPOLESTR* lpCompiledHelpFile);
+
+ };
+
+cpp_quote("#if (MMC_VER >= 0x0110)")
+
+ [
+ object,
+ uuid(B7A87232-4A51-11D1-A7EA-00C04FD909DD),
+ pointer_default(unique)
+ ]
+ interface IExtendPropertySheet2 : IExtendPropertySheet
+ {
+ HRESULT GetWatermarks([in] LPDATAOBJECT lpIDataObject, [out] HBITMAP*
lphWatermark,
+ [out] HBITMAP* lphHeader, [out] HPALETTE* lphPalette, [out]
BOOL* bStretch);
+ };
+
+ [
+ object,
+ uuid(9757abb8-1b32-11d1-a7ce-00c04fd8d565),
+ pointer_default(unique)
+ ]
+ interface IHeaderCtrl2 : IHeaderCtrl
+ {
+ HRESULT SetChangeTimeOut([in] unsigned long uTimeout);
+ HRESULT SetColumnFilter([in] UINT nColumn, [in] DWORD dwType, [in]
MMC_FILTERDATA* pFilterData);
+ HRESULT GetColumnFilter([in] UINT nColumn, [in,out] LPDWORD pdwType, [in, out]
MMC_FILTERDATA* pFilterData);
+ };
+
+ [
+ object,
+ uuid(4861A010-20F9-11d2-A510-00C04FB6DD2C),
+ pointer_default(unique)
+ ]
+ interface ISnapinHelp2 : ISnapinHelp
+ {
+ HRESULT GetLinkedTopics([out] LPOLESTR* lpCompiledHelpFiles);
+ };
+
+typedef enum _MMC_TASK_DISPLAY_TYPE
+{
+ MMC_TASK_DISPLAY_UNINITIALIZED = 0,
+ MMC_TASK_DISPLAY_TYPE_SYMBOL,
+ MMC_TASK_DISPLAY_TYPE_VANILLA_GIF,
+ MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF,
+ MMC_TASK_DISPLAY_TYPE_BITMAP
+} MMC_TASK_DISPLAY_TYPE;
+
+typedef struct _MMC_TASK_DISPLAY_SYMBOL
+{
+ LPOLESTR szFontFamilyName;
+ LPOLESTR szURLtoEOT;
+ LPOLESTR szSymbolString;
+} MMC_TASK_DISPLAY_SYMBOL;
+
+typedef struct _MMC_TASK_DISPLAY_BITMAP
+{
+ LPOLESTR szMouseOverBitmap;
+ LPOLESTR szMouseOffBitmap;
+} MMC_TASK_DISPLAY_BITMAP;
+
+typedef struct _MMC_TASK_DISPLAY_OBJECT
+{
+ MMC_TASK_DISPLAY_TYPE eDisplayType;
+ [switch_type(MMC_TASK_DISPLAY_TYPE), switch_is((MMC_TASK_DISPLAY_TYPE)eDisplayType)]
+ _ANONYMOUS_UNION union
+ {
+
[case(MMC_TASK_DISPLAY_TYPE_BITMAP,MMC_TASK_DISPLAY_TYPE_VANILLA_GIF,MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF)]
+ MMC_TASK_DISPLAY_BITMAP uBitmap;
+ [case(MMC_TASK_DISPLAY_TYPE_SYMBOL)]
+ MMC_TASK_DISPLAY_SYMBOL uSymbol;
+ [default];
+ } DUMMYUNIONNAME;
+} MMC_TASK_DISPLAY_OBJECT;
+
+typedef enum _MMC_ACTION_TYPE
+{
+ MMC_ACTION_UNINITIALIZED = -1,
+ MMC_ACTION_ID,
+ MMC_ACTION_LINK,
+ MMC_ACTION_SCRIPT,
+} MMC_ACTION_TYPE;
+
+typedef struct _MMC_TASK
+{
+ MMC_TASK_DISPLAY_OBJECT sDisplayObject;
+ LPOLESTR szText;
+ LPOLESTR szHelpString;
+ MMC_ACTION_TYPE eActionType;
+ _ANONYMOUS_UNION union
+ {
+ LONG_PTR nCommandID;
+ LPOLESTR szActionURL;
+ LPOLESTR szScript;
+ } DUMMYUNIONNAME;
+} MMC_TASK;
+
+typedef struct _MMC_LISTPAD_INFO
+{
+ LPOLESTR szTitle;
+ LPOLESTR szButtonText;
+ LONG_PTR nCommandID;
+} MMC_LISTPAD_INFO;
+
+typedef DWORD MMC_STRING_ID;
+
+ [
+ local,
+ object,
+ uuid(338698b1-5a02-11d1-9fec-00600832db4a),
+ pointer_default(unique)
+ ]
+ interface IEnumTASK : IUnknown
+ {
+ HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)]
MMC_TASK *rgelt,
+ [out] ULONG *pceltFetched);
+ HRESULT Skip([in] ULONG celt);
+ HRESULT Reset();
+ HRESULT Clone([out] IEnumTASK **ppenum);
+ };
+
+ [
+ local,
+ object,
+ uuid(8dee6511-554d-11d1-9fea-00600832db4a),
+ pointer_default(unique)
+ ]
+ interface IExtendTaskPad : IUnknown
+ {
+ HRESULT TaskNotify([in] IDataObject* pdo, [in] VARIANT* arg, [in] VARIANT*
param);
+ HRESULT EnumTasks([in] IDataObject * pdo, [in,string] LPOLESTR szTaskGroup,
+ [out] IEnumTASK** ppEnumTASK);
+ HRESULT GetTitle([in,string] LPOLESTR pszGroup, [out,string] LPOLESTR *
pszTitle);
+ HRESULT GetDescriptiveText([in,string] LPOLESTR pszGroup, [out,string] LPOLESTR *
pszDescriptiveText);
+ HRESULT GetBackground([in,string] LPOLESTR pszGroup, [out]
MMC_TASK_DISPLAY_OBJECT * pTDO);
+ HRESULT GetListPadInfo ([in,string] LPOLESTR pszGroup, [out] MMC_LISTPAD_INFO *
lpListPadInfo);
+ };
+
+ [
+ object,
+ uuid(103D842A-AA63-11D1-A7E1-00C04FD8D565),
+ pointer_default(unique)
+ ]
+ interface IConsole2 : IConsole
+ {
+ HRESULT Expand([in] HSCOPEITEM hItem, [in] BOOL bExpand);
+ HRESULT IsTaskpadViewPreferred();
+ HRESULT SetStatusText ([in, string] LPOLESTR pszStatusText);
+ };
+
+ [
+ object,
+ uuid(cc593830-b926-11d1-8063-0000f875a9ce),
+ pointer_default(unique)
+ ]
+ interface IDisplayHelp : IUnknown
+ {
+ HRESULT ShowTopic([in] LPOLESTR pszHelpTopic);
+ };
+
+ [
+ local,
+ object,
+ uuid(72782D7A-A4A0-11d1-AF0F-00C04FB6DD2C),
+ pointer_default(unique)
+ ]
+ interface IRequiredExtensions : IUnknown
+ {
+ HRESULT EnableAllExtensions();
+ HRESULT GetFirstExtension([out] LPCLSID pExtCLSID);
+ HRESULT GetNextExtension([out] LPCLSID pExtCLSID);
+ };
+
+ [
+ object,
+ uuid(DE40B7A4-0F65-11d2-8E25-00C04F8ECD78),
+ pointer_default(unique)
+ ]
+ interface IStringTable : IUnknown
+ {
+ HRESULT AddString([in] LPCOLESTR pszAdd, [out] MMC_STRING_ID* pStringID);
+ HRESULT GetString([in] MMC_STRING_ID StringID, [in] ULONG cchBuffer,
+ [out, size_is(cchBuffer)] LPOLESTR lpBuffer, [out] ULONG*
pcchOut);
+ HRESULT GetStringLength([in] MMC_STRING_ID StringID, [out] ULONG* pcchString);
+ HRESULT DeleteString([in] MMC_STRING_ID StringID);
+ HRESULT DeleteAllStrings ();
+ HRESULT FindString([in] LPCOLESTR pszFind, [out] MMC_STRING_ID* pStringID);
+ HRESULT Enumerate([out] IEnumString** ppEnum);
+ };
+cpp_quote("#endif // MMC_VER >= 0x0110")
+
+
+cpp_quote("#if (MMC_VER >= 0x0120)")
+const DWORD HDI_HIDDEN = 0x0001;
+
+typedef struct _MMC_COLUMN_DATA
+{
+ int nColIndex;
+ DWORD dwFlags;
+ int nWidth;
+ ULONG_PTR ulReserved;
+} MMC_COLUMN_DATA;
+
+typedef struct _MMC_COLUMN_SET_DATA
+{
+ int cbSize;
+ int nNumCols;
+ MMC_COLUMN_DATA* pColData;
+} MMC_COLUMN_SET_DATA;
+
+typedef struct _MMC_SORT_DATA
+{
+ int nColIndex;
+ DWORD dwSortOptions;
+ ULONG_PTR ulReserved;
+} MMC_SORT_DATA;
+
+typedef struct _MMC_SORT_SET_DATA
+{
+ int cbSize;
+ int nNumItems;
+ MMC_SORT_DATA* pSortData;
+} MMC_SORT_SET_DATA;
+
+ [
+ object,
+ uuid(547C1354-024D-11d3-A707-00C04F8EF4CB),
+ pointer_default(unique)
+ ]
+ interface IColumnData : IUnknown
+ {
+ HRESULT SetColumnConfigData([in] SColumnSetID* pColID, [in] MMC_COLUMN_SET_DATA*
pColSetData);
+ HRESULT GetColumnConfigData([in] SColumnSetID* pColID, [out]
MMC_COLUMN_SET_DATA** ppColSetData);
+ HRESULT SetColumnSortData([in] SColumnSetID* pColID, [in] MMC_SORT_SET_DATA*
pColSortData);
+ HRESULT GetColumnSortData([in] SColumnSetID* pColID, [out] MMC_SORT_SET_DATA**
ppColSortData);
+ };
+
+ [
+ object,
+ uuid(80F94174-FCCC-11d2-B991-00C04F8ECD78),
+ pointer_default(unique)
+ ]
+ interface IMessageView : IUnknown
+ {
+ HRESULT SetTitleText([in] LPCOLESTR pszTitleText);
+ HRESULT SetBodyText([in] LPCOLESTR pszBodyText);
+
+ typedef enum tagIconIdentifier
+ {
+ Icon_None = 0,
+ Icon_Error = 32513,
+ Icon_Question = 32514,
+ Icon_Warning = 32515,
+ Icon_Information = 32516,
+
+ Icon_First = Icon_Error,
+ Icon_Last = Icon_Information,
+ } IconIdentifier;
+
+ HRESULT SetIcon([in] IconIdentifier id);
+ HRESULT Clear();
+ };
+
+ typedef struct _RDCITEMHDR
+ {
+ DWORD dwFlags;
+ MMC_COOKIE cookie;
+ LPARAM lpReserved;
+ } RDITEMHDR;
+
+ const DWORD RDCI_ScopeItem = 0x80000000;
+
+ typedef struct _RDCOMPARE
+ {
+ DWORD cbSize;
+ DWORD dwFlags;
+ int nColumn;
+ LPARAM lUserParam;
+ RDITEMHDR* prdch1;
+ RDITEMHDR* prdch2;
+ } RDCOMPARE;
+
+ [
+ object,
+ uuid(96933476-0251-11d3-AEB0-00C04F8ECD78),
+ pointer_default(unique)
+ ]
+ interface IResultDataCompareEx : IUnknown
+ {
+ HRESULT Compare([in] RDCOMPARE* prdc, [out] int* pnResult);
+ }
+
+cpp_quote("#endif // MMC_VER >= 0x0120")
+
+
+cpp_quote("#if (MMC_VER >= 0x0200)")
+typedef enum _MMC_VIEW_TYPE
+{
+ MMC_VIEW_TYPE_LIST,
+ MMC_VIEW_TYPE_HTML,
+ MMC_VIEW_TYPE_OCX
+
+} MMC_VIEW_TYPE;
+
+const DWORD RVTI_MISC_OPTIONS_NOLISTVIEWS = 0x0001;
+
+const DWORD RVTI_LIST_OPTIONS_NONE = 0x0000;
+const DWORD RVTI_LIST_OPTIONS_OWNERDATALIST = 0x0002;
+const DWORD RVTI_LIST_OPTIONS_MULTISELECT = 0x0004;
+const DWORD RVTI_LIST_OPTIONS_FILTERED = 0x0008;
+const DWORD RVTI_LIST_OPTIONS_USEFONTLINKING = 0x0020;
+const DWORD RVTI_LIST_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST = 0x0040;
+const DWORD RVTI_LIST_OPTIONS_LEXICAL_SORT = 0x0080;
+const DWORD RVTI_LIST_OPTIONS_ALLOWPASTE = 0x0100;
+
+const DWORD RVTI_HTML_OPTIONS_NONE = 0x0000;
+const DWORD RVTI_HTML_OPTIONS_NOLISTVIEW = 0x0001;
+
+const DWORD RVTI_OCX_OPTIONS_NONE = 0x0000;
+const DWORD RVTI_OCX_OPTIONS_NOLISTVIEW = 0x0001;
+const DWORD RVTI_OCX_OPTIONS_CACHE_OCX = 0x0002;
+
+typedef struct _RESULT_VIEW_TYPE_INFO
+{
+ LPOLESTR pstrPersistableViewDescription;
+ MMC_VIEW_TYPE eViewType;
+ DWORD dwMiscOptions;
+
+ [switch_type(MMC_VIEW_TYPE), switch_is((MMC_VIEW_TYPE)eViewType)]
+ _ANONYMOUS_UNION union
+ {
+
+ [case(MMC_VIEW_TYPE_LIST)]
+ DWORD dwListOptions;
+
+ [case(MMC_VIEW_TYPE_HTML)]
+ _ANONYMOUS_STRUCT struct
+ {
+ DWORD dwHTMLOptions;
+ LPOLESTR pstrURL;
+ } DUMMYSTRUCTNAME;
+
+ [case(MMC_VIEW_TYPE_OCX)]
+ _ANONYMOUS_STRUCT struct
+ {
+ DWORD dwOCXOptions;
+ LPUNKNOWN pUnkControl;
+ } DUMMYSTRUCTNAME2;
+
+ [default];
+ } DUMMYUNIONNAME;
+} RESULT_VIEW_TYPE_INFO, *PRESULT_VIEW_TYPE_INFO;
+
+const wchar_t* CCF_DESCRIPTION = L"CCF_DESCRIPTION";
+const wchar_t* CCF_HTML_DETAILS = L"CCF_HTML_DETAILS";
+
+typedef struct _CONTEXTMENUITEM2
+{
+ LPWSTR strName;
+ LPWSTR strStatusBarText;
+ LONG lCommandID;
+ LONG lInsertionPointID;
+ LONG fFlags;
+ LONG fSpecialFlags;
+ LPWSTR strLanguageIndependentName;
+} CONTEXTMENUITEM2;
+
+typedef CONTEXTMENUITEM2* LPCONTEXTMENUITEM2;
+
+typedef struct _MMC_EXT_VIEW_DATA
+{
+ GUID viewID;
+ LPCOLESTR pszURL;
+ LPCOLESTR pszViewTitle;
+ LPCOLESTR pszTooltipText;
+ BOOL bReplacesDefaultView;
+} MMC_EXT_VIEW_DATA, *PMMC_EXT_VIEW_DATA;
+
+const DWORD MMC_DEFAULT_OPERATION_COPY = 0x0001;
+
+ [
+ object,
+ uuid(CCA0F2D2-82DE-41B5-BF47-3B2076273D5C),
+ pointer_default(unique)
+ ]
+ interface IComponentData2 : IComponentData
+ {
+ HRESULT QueryDispatch([in] MMC_COOKIE cookie, [in] DATA_OBJECT_TYPES type,
+ [out] LPDISPATCH* ppDispatch);
+ };
+
+ [
+ object,
+ uuid(79A2D615-4A10-4ED4-8C65-8633F9335095),
+ pointer_default(unique)
+ ]
+ interface IComponent2 : IComponent
+ {
+ HRESULT QueryDispatch([in] MMC_COOKIE cookie, [in] DATA_OBJECT_TYPES type,
+ [out] LPDISPATCH* ppDispatch);
+ HRESULT GetResultViewType2([in] MMC_COOKIE cookie, [in, out]
PRESULT_VIEW_TYPE_INFO pResultViewType);
+ HRESULT RestoreResultView([in] MMC_COOKIE cookie, [in] PRESULT_VIEW_TYPE_INFO
pResultViewType);
+ };
+
+ [
+ object,
+ uuid(E178BC0E-2ED0-4b5e-8097-42C9087E8B33),
+ pointer_default(unique)
+ ]
+ interface IContextMenuCallback2 : IUnknown
+ {
+ HRESULT AddItem([in] CONTEXTMENUITEM2* pItem);
+ };
+
+ [
+ uuid(A8D2C5FE-CDCB-4b9d-BDE5-A27343FF54BC),
+ ]
+ interface IMMCVersionInfo : IUnknown
+ {
+ HRESULT GetMMCVersion([out] long * pVersionMajor, [out] long * pVersionMinor);
+ }
+
+ [
+ uuid(9EECDD85-B715-4188-8A72-61159ABDB8C4),
+ version(1.0),
+ ]
+ library MMCVersionLib
+ {
+ importlib("stdole2.tlb");
+
+ [
+ uuid(D6FEDB1D-CF21-4bd9-AF3B-C5468E9C6684)
+ ]
+ coclass MMCVersionInfo
+ {
+ [default] interface IMMCVersionInfo;
+ };
+
+ [
+ uuid(f0285374-dff1-11d3-b433-00c04f8ecd78)
+ ]
+ coclass ConsolePower
+ {
+ [default] interface IConsolePower;
+ };
+ };
+
+ [
+ object,
+ uuid(89995CEE-D2ED-4c0e-AE5E-DF7E76F3FA53),
+ pointer_default(unique)
+ ]
+ interface IExtendView : IUnknown
+ {
+ HRESULT GetViews([in] LPDATAOBJECT pDataObject, [in] LPVIEWEXTENSIONCALLBACK
pViewExtensionCallback);
+ };
+
+ [
+ object,
+ uuid(34DD928A-7599-41E5-9F5E-D6BC3062C2DA),
+ pointer_default(unique)
+ ]
+ interface IViewExtensionCallback : IUnknown
+ {
+ HRESULT AddView([in] PMMC_EXT_VIEW_DATA pExtViewData);
+ }
+
+ [
+ object,
+ uuid(1cfbdd0e-62ca-49ce-a3af-dbb2de61b068),
+ pointer_default(unique)
+ ]
+ interface IConsolePower : IUnknown
+ {
+ HRESULT SetExecutionState([in] DWORD dwAdd, [in] DWORD dwRemove);
+ HRESULT ResetIdleTimer([in] DWORD dwFlags);
+ };
+
+ [
+ object,
+ uuid(3333759f-fe4f-4975-b143-fec0a5dd6d65),
+ pointer_default(unique)
+ ]
+ interface IConsolePowerSink : IUnknown
+ {
+ HRESULT OnPowerBroadcast([in] UINT nEvent, [in] LPARAM lParam, [out] LRESULT*
plReturn);
+ };
+
+ [
+ object,
+ uuid(15BC4D24-A522-4406-AA55-0749537A6865),
+ pointer_default(unique)
+ ]
+ interface INodeProperties : IUnknown
+ {
+ HRESULT GetProperty([in] LPDATAOBJECT pDataObject, [in] BSTR szPropertyName,
[out] PBSTR pbstrProperty);
+ };
+
+ [
+ object,
+ uuid(4F85EFDB-D0E1-498c-8D4A-D010DFDD404F),
+ pointer_default(unique)
+ ]
+ interface IConsole3 : IConsole2
+ {
+ HRESULT RenameScopeItem([in] HSCOPEITEM hScopeItem);
+ };
+
+ [
+ object,
+ uuid(0F36E0EB-A7F1-4a81-BE5A-9247F7DE4B1B),
+ pointer_default(unique)
+ ]
+ interface IResultData2 : IResultData
+ {
+ HRESULT RenameResultItem([in] HRESULTITEM itemID);
+ };
+
+cpp_quote("#endif // MMC_VER >= 0x0200")
+
+cpp_quote("#if (MMC_VER >= 0x0210)")
+typedef enum _MMC_ITEM_OVERLAY
+{
+ MMC_ITEM_OVERLAY_NONE = 0,
+ MMC_ITEM_OVERLAY_ERROR = 1,
+ MMC_ITEM_OVERLAY_WARNING = 2,
+ MMC_ITEM_OVERLAY_INFO = 3,
+ MMC_ITEM_OVERLAY_BUSY = 4,
+ MMC_ITEM_OVERLAY_UNAVAILABLE = 5,
+ MMC_ITEM_OVERLAY_SHORTCUT = 6,
+ MMC_ITEM_OVERLAY_RUNNING = 7,
+ MMC_ITEM_OVERLAY_PAUSED = 8,
+ MMC_ITEM_OVERLAY_STOPPED = 9,
+ MMC_ITEM_OVERLAY_COMPLETE = 10
+} MMC_ITEM_OVERLAY;
+
+const DWORD MMC_ITEM_OVERLAY_STATE_MASK = 0x0F00;
+const DWORD MMC_ITEM_OVERLAY_STATE_SHIFT = 8;
+
+cpp_quote("#define MMC_OVERLAY_ITEM_INDEX_TO_ITEM_STATE(i) (((i) <<
MMC_ITEM_OVERLAY_STATE_SHIFT) & MMC_ITEM_OVERLAY_STATE_MASK)")
+cpp_quote("#define MMC_OVERLAY_ITEM_INDEX_FROM_ITEM_STATE(state) (((state) &
MMC_ITEM_OVERLAY_STATE_MASK) >> MMC_ITEM_OVERLAY_STATE_SHIFT)")
+
+const DWORD MMC_ITEM_STATE_MASK = 0x00FF;
+
+
+cpp_quote("#endif // MMC_VER >= 0x0210")
Propchange: branches/iut-mmc/include/psdk/mmc.idl
------------------------------------------------------------------------------
svn:eol-style = native
Modified: branches/iut-mmc/include/psdk/psdk.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/iut-mmc/include/psdk/psdk.rbuil…
==============================================================================
--- branches/iut-mmc/include/psdk/psdk.rbuild [iso-8859-1] (original)
+++ branches/iut-mmc/include/psdk/psdk.rbuild [iso-8859-1] Sun Feb 12 14:09:40 2012
@@ -28,6 +28,7 @@
<file>indexsrv.idl</file>
<file>mimeinfo.idl</file>
<file>mlang.idl</file>
+ <file>mmc.idl</file>
<file>msctf.idl</file>
<file>msdadc.idl</file>
<file>mshtml.idl</file>
@@ -86,4 +87,4 @@
<module name="stdole2" type="embeddedtypelib">
<file>stdole2.idl</file>
</module>
-</group>
+</group>