|
|
///////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1996-1997 Microsoft Corporation // // Module Name: // CluAdmEx.idl // // Abstract: // Definition of COM interfaces for Cluster Administrator extensions. // // Author: // davidp August 22, 1996 // // Revision History: // davidp June 23, 1998 // Added IWCWizard97Callback and IWEExtendWizard97. // // Notes: // The following interfaces defined below are used to get information // about the object(s) for which a property page, wizard, or context // menu is being displayed. These interfaces may be queried for by // the extension using the piData IUnknown interface pointer. // // IGetClusterPropSheetInfo // IGetClusterDataInfo // IGetClusterObjectInfo // IGetClusterNodeInfo // IGetClusterGroupInfo // IGetClusterResourceInfo // IGetClusterNetworkInfo // IGetClusterNetInterfaceInfo // // The following interfaces defined below are implemented by extensions // are are used to extend property sheets, wizards, and context menus. // // IWEExtendPropertySheet // IWEExtendWizard // IWEExtendWizard97 // IWEExtendContextMenu // IWEInvokeCommand // // The following interfaces defined below are implemented by CluAdmin // and are passed to the extension to allow it to add its extension // property pages, wizard pages, or context menu items. // // IWCPropertySheetCallback // IWCWizardCallback // IWCWizard97Callback // IWCContextMenuCallback // /////////////////////////////////////////////////////////////////////////////
#ifndef _CLUADMEX_IDL_ #define _CLUADMEX_IDL_
import "oaidl.idl"; import "clusapi.h";
// Define HPROPSHEETPAGE because we can't include prsht.h. #define HPROPSHEETPAGE LONG *
///////////////////////////////////////////////////////////////////////////// // Cluster Administrator Extensions type definitions /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// // // CLUADMEX_OBJECT_TYPE // // Enumeration of the types of objects that can be administered. // /////////////////////////////////////////////////////////////////////////
typedef enum _CLUADMEX_OBJECT_TYPE { CLUADMEX_OT_NONE = 0, CLUADMEX_OT_CLUSTER, CLUADMEX_OT_NODE, CLUADMEX_OT_GROUP, CLUADMEX_OT_RESOURCE, CLUADMEX_OT_RESOURCETYPE, CLUADMEX_OT_NETWORK, CLUADMEX_OT_NETINTERFACE
} CLUADMEX_OBJECT_TYPE;
///////////////////////////////////////////////////////////////////////////// // Cluster Administrator Extensions data interface definitions /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// // // IGetClusterUIInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE50-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterUIInfo Interface"), pointer_default(unique) ] interface IGetClusterUIInfo : IUnknown { import "oaidl.idl";
[local] HRESULT GetClusterName( [out] BSTR lpszName, [in, out] LONG * pcchName ); [local] LCID GetLocale(void); [local] HFONT GetFont(void); [local] HICON GetIcon(void);
}; //*** interface IGetClusterUIInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterDataInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE51-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterDataInfo Interface"), pointer_default(unique) ] interface IGetClusterDataInfo : IUnknown { import "oaidl.idl";
[local] HRESULT GetClusterName( [out] BSTR lpszName, [in, out] LONG * pcchName ); [local] HCLUSTER GetClusterHandle(void); [local] LONG GetObjectCount(void);
}; //*** interface IGetClusterDataInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterObjectInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE52-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterObjectInfo Interface"), pointer_default(unique) ] interface IGetClusterObjectInfo : IUnknown { import "oaidl.idl";
[local] HRESULT GetObjectName( [in] LONG lObjIndex, [out] BSTR lpszName, [in, out] LONG * pcchName ); [local] CLUADMEX_OBJECT_TYPE GetObjectType( [in] LONG lObjIndex );
}; //*** interface IGetClusterObjectInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterNodeInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE53-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterNodeInfo Interface"), pointer_default(unique) ] interface IGetClusterNodeInfo : IUnknown { import "oaidl.idl";
[local] HNODE GetNodeHandle( [in] LONG lObjIndex );
}; //*** interface IGetClusterObjectInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterGroupInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE54-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterGroupInfo Interface"), pointer_default(unique) ] interface IGetClusterGroupInfo : IUnknown { import "oaidl.idl";
[local] HGROUP GetGroupHandle( [in] LONG lObjIndex );
}; //*** interface IGetClusterGroupInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterResourceInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE55-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterResourceInfo Interface"), pointer_default(unique) ] interface IGetClusterResourceInfo : IUnknown { import "oaidl.idl";
[local] HRESOURCE GetResourceHandle( [in] LONG lObjIndex ); [local] HRESULT GetResourceTypeName( [in] LONG lObjIndex, [out] BSTR lpszResTypeName, [in, out] LONG * pcchResTypeName ); [local] BOOL GetResourceNetworkName( [in] LONG lObjIndex, [out] BSTR lpszNetName, [in, out] ULONG * pcchNetName );
}; //*** interface IGetClusterResourceInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterNetworkInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE56-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterNetworkInfo Interface"), pointer_default(unique) ] interface IGetClusterNetworkInfo : IUnknown { import "oaidl.idl";
[local] HNETWORK GetNetworkHandle( [in] LONG lObjIndex );
}; //*** interface IGetClusterNetworkInfo
///////////////////////////////////////////////////////////////////////// // // IGetClusterNetInterfaceInfo // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE57-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IGetClusterNetInterfaceInfo Interface"), pointer_default(unique) ] interface IGetClusterNetInterfaceInfo : IUnknown { import "oaidl.idl";
[local] HNETINTERFACE GetNetInterfaceHandle( [in] LONG lObjIndex );
}; //*** interface IGetClusterNetInterfaceInfo
///////////////////////////////////////////////////////////////////////////// // Cluster Administrator Extensions interface definitions /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////// // // IWCPropertySheetCallback // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE60-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWCPropertySheetCallback Interface"), pointer_default(unique) ] interface IWCPropertySheetCallback : IUnknown { import "oaidl.idl";
HRESULT AddPropertySheetPage( [in] HPROPSHEETPAGE hpage );
}; //*** interface IWCPropertySheetCallback
///////////////////////////////////////////////////////////////////////// // // IWEExtendPropertySheet // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE61-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWSExtendPropertySheet Interface"), pointer_default(unique) ] interface IWEExtendPropertySheet : IUnknown { import "oaidl.idl";
HRESULT CreatePropertySheetPages( [in] IUnknown * piData, [in] IWCPropertySheetCallback * piCallback );
}; //*** interface IWEExtendPropertySheet
///////////////////////////////////////////////////////////////////////// // // IWCWizardCallback // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE62-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWCWizardCallback Interface"), pointer_default(unique) ] interface IWCWizardCallback : IUnknown { import "oaidl.idl";
HRESULT AddWizardPage( [in] HPROPSHEETPAGE hpage ); HRESULT EnableNext( [in] HPROPSHEETPAGE hpage, [in] BOOL bEnable );
}; //*** interface IWCWizardCallback
///////////////////////////////////////////////////////////////////////// // // IWEExtendWizard // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE63-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWEExtendWizard Interface"), pointer_default(unique) ] interface IWEExtendWizard : IUnknown { import "oaidl.idl";
HRESULT CreateWizardPages( [in] IUnknown * piData, [in] IWCWizardCallback * piCallback );
}; //*** interface IWEExtendWizard
///////////////////////////////////////////////////////////////////////// // // IWCContextMenuCallback // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE64-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWCContextMenuCallback Interface"), pointer_default(unique) ] interface IWCContextMenuCallback : IUnknown { import "oaidl.idl";
HRESULT AddExtensionMenuItem( [in] BSTR lpszName, [in] BSTR lpszStatusBarText, [in] ULONG nCommandID, [in] ULONG nSubmenuCommandID, [in] ULONG uFlags );
}; //*** interface IWCContextMenuCallback
///////////////////////////////////////////////////////////////////////// // // IWEExtendContextMenu // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE65-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWEExtendContextMenu Interface"), pointer_default(unique) ] interface IWEExtendContextMenu : IUnknown { import "oaidl.idl";
HRESULT AddContextMenuItems( [in] IUnknown * piData, [in] IWCContextMenuCallback * piCallback );
}; //*** interface IWEExtendContextMenu
///////////////////////////////////////////////////////////////////////// // // IWEInvokeCommand // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE66-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWEInvokeCommand Interface"), pointer_default(unique) ] interface IWEInvokeCommand : IUnknown { import "oaidl.idl";
HRESULT InvokeCommand( [in] ULONG nCommandID, [in] IUnknown * piData );
}; //*** interface IWEInvokeCommand
///////////////////////////////////////////////////////////////////////// // // IWCWizard97Callback // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE67-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWCWizard97Callback Interface"), pointer_default(unique) ] interface IWCWizard97Callback : IUnknown { import "oaidl.idl";
HRESULT AddWizard97Page( [in] HPROPSHEETPAGE hpage ); HRESULT EnableNext( [in] HPROPSHEETPAGE hpage, [in] BOOL bEnable );
}; //*** interface IWCWizard97Callback
///////////////////////////////////////////////////////////////////////// // // IWEExtendWizard97 // /////////////////////////////////////////////////////////////////////////
[ object, uuid(97DEDE68-FC6B-11CF-B5F5-00A0C90AB505), helpstring("IWEExtendWizard97 Interface"), pointer_default(unique) ] interface IWEExtendWizard97 : IUnknown { import "oaidl.idl";
HRESULT CreateWizard97Pages( [in] IUnknown * piData, [in] IWCWizard97Callback * piCallback );
}; //*** interface IWEExtendWizard97
/////////////////////////////////////////////////////////////////////////////
#endif // _CLUADMEX_IDL_
|