144 lines
5.1 KiB
Plaintext
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}}
|
|
};
|