// ClassNav.odl : type library source for OLE Control project. // This file will be processed by the Make Type Library (mktyplib) tool to // produce the type library (ClassNav.tlb) that will become a resource in // ClassNav.ocx. // *************************************************************************** // // Copyright (c) 1997-1999 Microsoft Corporation // // File: ClassNav.odl // // Description: // This file contains the ODL for the Class Explorer ActiveX control. // // Part of: // ClassNav.ocx // // History: // Judith Ann Powell 10-08-96 Created. // // Primary dispatch interface for CClassNavCtrl // // Properties: // // NameSpace - BSTR Set will change the namespace // // Methods: // // VARIANT GetExtendedSelection() // Returns a variant array of type VT_ARRAY | VT_BSTR which contains // the namespace as the first element and full paths to all classes // selected via extended selection. // // BSTR GetSingleSelection() // Returns a BSTR which is a full path to the currently selected // class. // // void OnReadySignal() // Notifies the Class Explorer that it can start firing events. // // void InvalidateServer(BSTR lpctstrServer) // Not implemented. // // void MofCompiled(BSTR lpctstrNamespace) // Notifies the Class Explorer that a MOF has been compiled and // causes the tree to refresh itself. The lpctstrNamespace // contains the namespace which the tree refreshes itself to. // // Event dispatch interface for CClassNavCtrl // // Methods: // // void EditExistingClass(VARIANT vExistingClass) // Fired when a class is selected in the tree control. // // void NotifyOpenNameSpace(BSTR lpcstrNameSpace) // Fired when a namespace is successfully opened. // // void GetIWbemServices // BSTR lpctstrNamespace [IN], Namespace to connect to // VARIANT* pvarUpdatePointer [IN], Tells dll to get new pointer // VARIANT* pvarServices [IN/OUT], Services pointer returned // VARIANT* pvarSC [IN/OUT], S_OK on success or failure code // VARIANT* pvarUserCancel [IN/OUT]) Tells the control if user canceled // Fired when the control wants to connect to a namespace. // // void QueryCanChangeSelection(BSTR lpctstrFullPath [IN], VARIANT* pvarSCode[IN/OUT]) // Fired when a user action has caused the selection in the tree to change. If pvarSCode // is set to E_FAIL the selection change will not be allowed to happen. // // ************************************************************************** #include #include [ uuid(C587B670-0103-11D0-8CA2-00AA006D010A), version(1.0), helpstring("WMI Class Navigator Control"), control ] library CLASSNAVLib { importlib(STDOLE_TLB); importlib(STDTYPE_TLB); // Primary dispatch interface for CClassNavCtrl [ uuid(C587B671-0103-11D0-8CA2-00AA006D010A), helpstring("Dispatch interface for WMI Class Navigator Control"), hidden ] dispinterface _DClassNav { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CClassNavCtrl) [id(1), helpstring("Current Namespace")] BSTR NameSpace; //}}AFX_ODL_PROP methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CClassNavCtrl) [id(2), helpstring("Namespace and Path to Selected Classes")] VARIANT GetExtendedSelection(); [id(3), helpstring("Full Path to Selected Class")] BSTR GetSingleSelection(); [id(4), helpstring("Ready to Fire Events")] void OnReadySignal(); [id(5), helpstring("Mark Server as Invalid")] void InvalidateServer(BSTR lpctstrServer); [id(6), helpstring("Refresh Namespace to Incorporate Changes")] void MofCompiled(BSTR lpctstrNamespace); //}}AFX_ODL_METHOD [id(DISPID_ABOUTBOX)] void AboutBox(); }; // Event dispatch interface for CClassNavCtrl [ uuid(C587B672-0103-11D0-8CA2-00AA006D010A), helpstring("Event interface for WMI Class Navigator Control") ] dispinterface _DClassNavEvents { properties: // Event interface has no properties methods: // NOTE - ClassWizard will maintain event information here. // Use extreme caution when editing this section. //{{AFX_ODL_EVENT(CClassNavCtrl) [id(1), helpstring("Class Selected")] void EditExistingClass(VARIANT vExistingClass); [id(2), helpstring("Namespace Opened")] void NotifyOpenNameSpace(BSTR lpcstrNameSpace); [id(3), helpstring("Get IWbemServices Pointer Request")] void GetIWbemServices(BSTR lpctstrNamespace, VARIANT* pvarUpdatePointer, VARIANT* pvarServices, VARIANT* pvarSC, VARIANT* pvarUserCancel); [id(4), helpstring("Can Selection Change")] void QueryCanChangeSelection(BSTR lpctstrFullPath, VARIANT* pvarSCode); //}}AFX_ODL_EVENT }; // Class information for CClassNavCtrl [ uuid(C587B673-0103-11D0-8CA2-00AA006D010A), helpstring("WMI Class Navigator Control"), control ] coclass ClassNav { [default] dispinterface _DClassNav; [default, source] dispinterface _DClassNavEvents; }; //{{AFX_APPEND_ODL}} };