You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
5.1 KiB
161 lines
5.1 KiB
///////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright(C) 1999 Microsoft Corporation all rights reserved.
|
|
//
|
|
// Module: elementmgr.idl
|
|
//
|
|
// Project: Chameleon
|
|
//
|
|
// Description: Chameleon UI Element Retriever IDL
|
|
//
|
|
// Log:
|
|
//
|
|
// When Who What
|
|
// ---- --- ----
|
|
// 02/08/1999 TLP Initial Version
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// The following registry structure is assumed:
|
|
//
|
|
// HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ElementMgr
|
|
//
|
|
// WebElementDefinitions
|
|
// |
|
|
// - ElementDefinition1
|
|
// | |
|
|
// | - Property1
|
|
// | |
|
|
// | - PropertyN
|
|
// |
|
|
// - ElementDefinition2
|
|
// | |
|
|
// | - Property1
|
|
// | |
|
|
// | - PropertyN
|
|
// |
|
|
// - ElementDefinitionN
|
|
// |
|
|
// - Property1
|
|
// |
|
|
// - PropertyN
|
|
//
|
|
// Each element definition contains the following properties:
|
|
//
|
|
// 1) "Container" - Container that holds this element
|
|
// 2) "Merit" - Order of element in the container starting from 1 (value of 0 means no order specified)
|
|
// 3) "IsEmbedded" - Set to 1 to indicate that the element is embedded - Otherwise element is a link
|
|
// 4) "ObjectClass - Class name of the related WBEM class (optional property)
|
|
// 5) "ObjectKey" - Instance name of the related WBEM class (optional property)
|
|
// 6) "URL" - URL for the page when the associated link is selected
|
|
// 7) "CaptionRID" - Resource ID for the element caption
|
|
// 8) "DescriptionRID" - Resource ID for the element link description
|
|
// 9) "ElementGraphic" - Graphic (file) associated with the element (bitmap, icon, etc.)
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Interface exposed by Web Elements (Definitions and Objects)
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid(0EFC4090-C445-11D2-90BA-00AA00A71DCA),
|
|
dual,
|
|
helpstring("IWebElement Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IWebElement : IDispatch
|
|
{
|
|
[id(1)]
|
|
HRESULT GetProperty(
|
|
[in] BSTR bstrName,
|
|
[out, retval] VARIANT* pValue
|
|
);
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Interface exposed by the Web Element Retriever
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid(8C5F0530-C445-11D2-90BA-00AA00A71DCA),
|
|
dual,
|
|
helpstring("IWebElementRetriever Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IWebElementRetriever : IDispatch
|
|
{
|
|
[public] typedef enum _WEB_ELEMENT_TYPE
|
|
{
|
|
WEB_ELEMENT_TYPE_DEFINITION,
|
|
WEB_ELEMENT_TYPE_PAGE_OBJECT
|
|
|
|
} WEB_ELEMENT_TYPE;
|
|
|
|
[id(1)]
|
|
HRESULT GetElements(
|
|
[in] LONG lWebElementType,
|
|
[in] BSTR bstrContainerName,
|
|
[out, retval] IDispatch** ppElementEnum
|
|
);
|
|
|
|
[id(2)]
|
|
HRESULT Initialize ();
|
|
|
|
[id(3)]
|
|
HRESULT Shutdown ();
|
|
};
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Interface exposed by Web Elements (Definitions and Objects)
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
object,
|
|
uuid(e64b13d0-c611-11d2-bf1e-00105a1f3461),
|
|
dual,
|
|
helpstring("IWebElementEnum Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IWebElementEnum : IDispatch
|
|
{
|
|
[propget, id (1)]
|
|
HRESULT Count([out,retval] LONG *plCount);
|
|
|
|
[id(DISPID_VALUE)]
|
|
HRESULT Item ([in] VARIANT* Name, [out, retval] IDispatch** pItem);
|
|
|
|
[propget, id(DISPID_NEWENUM)]
|
|
HRESULT _NewEnum([out,retval] IUnknown** pEnumVARIANT);
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
[
|
|
uuid(FEC47820-C444-11D2-90BA-00AA00A71DCA),
|
|
version(1.0),
|
|
helpstring("Microsoft Server Appliance Element Manager 1.0 Type Library")
|
|
]
|
|
|
|
library ELEMENTMGRLib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
[
|
|
uuid(9BCEA010-C445-11D2-90BA-00AA00A71DCA),
|
|
helpstring("ElementRetriever Class")
|
|
]
|
|
coclass ElementRetriever
|
|
{
|
|
[default] interface IWebElementRetriever;
|
|
};
|
|
|
|
interface IWebElement; // Define this dispatch interface under "Interfaces"
|
|
interface IWebElementEnum;
|
|
};
|