Leaked source code of windows server 2003
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

///////////////////////////////////////////////////////////////////////////
//
// 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;
};