153 lines
5.5 KiB
Plaintext
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}}
|
|
};
|