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

144 lines
5.1 KiB
Plaintext

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