// Navigator.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 (Navigator.tlb) that will become a resource in // Navigator.ocx. #include #include // *************************************************************************** // // Copyright (c) 1997-1999 Microsoft Corporation // // File: Navigator.odl // // Description: // This file contains the ODL for the Instance Explorer ActiveX control. // // Part of: // Navigator.ocx // // History: // Judith Ann Powell 10-08-96 Created. // // Primary dispatch interface for CNavigatorCtrl // // Properties: // // NameSpace - BSTR Set will change the namespace // // Methods: // // void OnReadySignal() // Tells the Instance Explorer that it can start firing events. // // long ChangeRootOrNamespace // (BSTR lpctstrRootOrNamespace, long lMakeNamespaceCurrent, long lFireEvents) // Used by the SingleContainer to synchronize the tree with the view in the SingleContainer. // If lpctstrRootOrNamespace parameter is an instance path it is made the tree root. If it is null // WBEM_E_INVALID_PARAMETER is returned. If the instance does not exist WBEM_E_FAILED is // returned. If lMakeNamespaceCurrent is TRUE the lpctstrRootOrNamespace contains a namespace // which is opened. Errors and execptions are reported to the user on opening the namespace. // If lFireEvents is TRUE events appropriate to the completed operations will be fired. // // Event dispatch interface for CNavigatorCtrl // // Methods: // // void ViewObject(BSTR bstrPath) // Fired when a instance is selected in the tree control or when // an asociation is displayed. // // void ViewInstances(BSTR bstrLabel, VARIANT vsapaths) // Not used. // [Fired when an object group is selected in the tree. The label // is of the form " Object Group". The first // element of the paths array is the class of the objects that follow. // [vsapaths of type VT_ARRAY | VT_BSTR]] // // void NotifyOpenNameSpace(BSTR lpcstrNameSpace) // Fired when a namespace is successfully opened. // // void QueryViewInstances // ( BSTR pLabel [OUT], Label for display purposes // BSTR pQueryType [OUT], WQL or SQL // BSTR pQuery [OUT], Query // BSTR pClass [OUT]); Optional, result class // Fired when an association.role node or object group node is selected. // // 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. // // ************************************************************************** [ uuid(C7EADEB0-ECAB-11CF-8C9E-00AA006D010A), version(1.0), helpstring("WMI Instance Navigator Control"), control ] library NAVIGATORLib { importlib(STDOLE_TLB); importlib(STDTYPE_TLB); // Primary dispatch interface for CNavigatorCtrl [ uuid(C7EADEB1-ECAB-11CF-8C9E-00AA006D010A), helpstring("Dispatch interface for WMI Instance Navigator Control"), hidden ] dispinterface _DNavigator { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CNavigatorCtrl) [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(CNavigatorCtrl) [id(2), helpstring("Ready to Fire Events")] void OnReadySignal(); [id(3), helpstring("Root or Namespace Change")] long ChangeRootOrNamespace(BSTR lpctstrRootOrNamespace, long lMakeNamespaceCurrent, long lFireEvents); //}}AFX_ODL_METHOD [id(DISPID_ABOUTBOX)] void AboutBox(); }; // Event dispatch interface for CNavigatorCtrl [ uuid(C7EADEB2-ECAB-11CF-8C9E-00AA006D010A), helpstring("Event interface for WMI Instance Navigator Control") ] dispinterface _DNavigatorEvents { properties: // Event interface has no properties methods: // NOTE - ClassWizard will maintain event information here. // Use extreme caution when editing this section. //{{AFX_ODL_EVENT(CNavigatorCtrl) [id(1), helpstring("Namespace Opened")] void NotifyOpenNameSpace(BSTR lpcstrNameSpace); [id(2), helpstring("Node or Association Selected")] void ViewObject(BSTR bstrPath); [id(3), helpstring("Display Instances Request")] void ViewInstances(BSTR bstrLabel, VARIANT vsapaths); [id(4), helpstring("Display Query Request")] void QueryViewInstances(BSTR pLabel, BSTR pQueryType, BSTR pQuery, BSTR pClass); [id(5), helpstring("Get IWbemServices Pointer Request")] void GetIWbemServices(BSTR lpctstrNamespace, VARIANT* pvarUpdatePointer, VARIANT* pvarServices, VARIANT* pvarSC, VARIANT* pvarUserCancel); //}}AFX_ODL_EVENT }; // Class information for CNavigatorCtrl [ uuid(C7EADEB3-ECAB-11CF-8C9E-00AA006D010A), helpstring("WMI Instance Navigator Control"), control ] coclass InstanceNavigator { [default] dispinterface _DNavigator; [default, source] dispinterface _DNavigatorEvents; }; //{{AFX_APPEND_ODL}} };