2025-04-27 07:49:33 -04:00

153 lines
5.5 KiB
Plaintext

// 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 <olectl.h>
#include <idispids.h>
// ***************************************************************************
//
// 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 class> 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}}
};