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

165 lines
5.7 KiB
Plaintext

// NSEntry.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 (NSEntry.tlb) that will become a resource in
// NSEntry.ocx.
// ***************************************************************************
//
// Copyright (c) 1997-1999 Microsoft Corporation
//
// File: NSEntry.odl
//
// Description:
// This file contains the ODL for the Namespace Entry ActiveX control.
//
// Part of:
// NSEntry.ocx
//
// Primary dispatch interface for CNSEntry.ocx
//
// Properties:
//
// NameSpace - BSTR Set will change the namespace
// Get will return the namespace currently
// displayed in the control.
//
// Methods:
//
// long OpenNamespace(BSTR bstrNamespace, long longNoFireEvent)
// Returns an long indicating the result of the attempt to open the
// the namespace requested in the "bstrNamespace" argument. If
// "longNoFireEvent" is TRUE the event "NameSpaceChanged" will not be
// fired.
//
// void SetNamespaceText(BSTR lpctstrNamespace)
// Sets the text in the control to lpctstrNamespace and sets the text
// dirty (blue).
//
// BSTR GetNamespaceText()
// Returns the namespace text which may be a valid namespace or dirty
// text in the namespace text.
//
// long IsTextValid()
// Returns non-zero if the namespace text contains a valid namespace.
//
// void SetFocusToEdit()
// Sets the input focus to the edit control in the combo box.
//
// Event dispatch interface for CClassNavCtrl
//
// Methods:
//
// void RequestUIActive()
// Fired when the control wants to go UI active and may be embedded in
// an activex control.
//
// void NameSpaceEntryRedrawn()
// Fired when a the control has redrawn itself. Just a notification to
// the containing entity (container or activex control).
//
// void NotifyNameSpaceChanged(BSTR bstrNewNameSpace, long longValid)
// Fired when a namespace contained in "bstrNewNameSpace" has been
// successfully opened. "longValid" always has the value TRUE.
//
// 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 ClearNamespaceText(BSTR bstrNamespace)
// Removes the text from the edit box and leaves the namespace in the namespace
// history or adds it to the history if it is not already in the history.
//
// void ClearOnLoseFocus(long lClearOnLoseFocus)
// Sets a flag that tells the control to clear the text from the edti box when
// the control loses focus if lClearOnListFocus is non-zero.
//
// **************************************************************************
#include <olectl.h>
#include <idispids.h>
[ uuid(C3DB0BD0-7EC7-11D0-960B-00C04FD9B15B), version(1.0),
helpstring("WMI Namespace Picker Control"), control ]
library NSENTRYLib
{
importlib(STDOLE_TLB);
importlib(STDTYPE_TLB);
// Primary dispatch interface for CNSEntryCtrl
[ uuid(C3DB0BD1-7EC7-11D0-960B-00C04FD9B15B),
helpstring("Dispatch interface for WMI Namespace Picker Control"), hidden ]
dispinterface _DNSEntry
{
properties:
// NOTE - ClassWizard will maintain property information here.
// Use extreme caution when editing this section.
//{{AFX_ODL_PROP(CNSEntryCtrl)
[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(CNSEntryCtrl)
[id(2), helpstring("Open Namespace")]
long OpenNamespace(BSTR bstrNamespace, long longNoFireEvent);
[id(3), helpstring("Set Control Text to Namespace")]
void SetNamespaceText(BSTR lpctstrNamespace);
[id(4), helpstring("Get Control Text of Namespace")]
BSTR GetNamespaceText();
[id(5), helpstring("Is Valid Namespace Name")]
long IsTextValid();
[id(6), helpstring("Clear Control Text If Focus Lost")]
void ClearOnLoseFocus(long lClearOnLoseFocus);
[id(7), helpstring("Clear Namespace Name but not History")]
void ClearNamespaceText(BSTR lpctstrNamespace);
[id(8), helpstring("Set Focus to Combo Box Edit Control")]
void SetFocusToEdit();
//}}AFX_ODL_METHOD
[id(DISPID_ABOUTBOX)] void AboutBox();
};
// Event dispatch interface for CNSEntryCtrl
[ uuid(C3DB0BD2-7EC7-11D0-960B-00C04FD9B15B),
helpstring("Event interface for WMI Namespace Picker Control") ]
dispinterface _DNSEntryEvents
{
properties:
// Event interface has no properties
methods:
// NOTE - ClassWizard will maintain event information here.
// Use extreme caution when editing this section.
//{{AFX_ODL_EVENT(CNSEntryCtrl)
[id(1)] void NotifyNameSpaceChanged(BSTR bstrNewNameSpace, long longValid);
[id(2)] void NameSpaceEntryRedrawn();
[id(3)] void GetIWbemServices(BSTR lpctstrNamespace, VARIANT* pvarUpdatePointer, VARIANT* pvarServices, VARIANT* pvarSC, VARIANT* pvarUserCancel);
[id(4)] void RequestUIActive();
[id(5)] void ChangeFocus(long lGettingFocus);
//}}AFX_ODL_EVENT
};
// Class information for CNSEntryCtrl
[ uuid(C3DB0BD3-7EC7-11D0-960B-00C04FD9B15B),
helpstring("WMI Namespace Picker Control"), control ]
coclass NamespacePicker
{
[default] dispinterface _DNSEntry;
[default, source] dispinterface _DNSEntryEvents;
};
//{{AFX_APPEND_ODL}}
};