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

  1. ///////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright(C) 1999 Microsoft Corporation all rights reserved.
  4. //
  5. // Module: elementmgr.idl
  6. //
  7. // Project: Chameleon
  8. //
  9. // Description: Chameleon UI Element Retriever IDL
  10. //
  11. // Log:
  12. //
  13. // When Who What
  14. // ---- --- ----
  15. // 02/08/1999 TLP Initial Version
  16. //
  17. ///////////////////////////////////////////////////////////////////////////////
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. //////////////////////////////////////////////////////////////////////////////
  21. //
  22. // The following registry structure is assumed:
  23. //
  24. // HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ElementMgr
  25. //
  26. // WebElementDefinitions
  27. // |
  28. // - ElementDefinition1
  29. // | |
  30. // | - Property1
  31. // | |
  32. // | - PropertyN
  33. // |
  34. // - ElementDefinition2
  35. // | |
  36. // | - Property1
  37. // | |
  38. // | - PropertyN
  39. // |
  40. // - ElementDefinitionN
  41. // |
  42. // - Property1
  43. // |
  44. // - PropertyN
  45. //
  46. // Each element definition contains the following properties:
  47. //
  48. // 1) "Container" - Container that holds this element
  49. // 2) "Merit" - Order of element in the container starting from 1 (value of 0 means no order specified)
  50. // 3) "IsEmbedded" - Set to 1 to indicate that the element is embedded - Otherwise element is a link
  51. // 4) "ObjectClass - Class name of the related WBEM class (optional property)
  52. // 5) "ObjectKey" - Instance name of the related WBEM class (optional property)
  53. // 6) "URL" - URL for the page when the associated link is selected
  54. // 7) "CaptionRID" - Resource ID for the element caption
  55. // 8) "DescriptionRID" - Resource ID for the element link description
  56. // 9) "ElementGraphic" - Graphic (file) associated with the element (bitmap, icon, etc.)
  57. //
  58. //////////////////////////////////////////////////////////////////////////////
  59. //////////////////////////////////////////////////////////////////////////
  60. // Interface exposed by Web Elements (Definitions and Objects)
  61. //////////////////////////////////////////////////////////////////////////
  62. [
  63. object,
  64. uuid(0EFC4090-C445-11D2-90BA-00AA00A71DCA),
  65. dual,
  66. helpstring("IWebElement Interface"),
  67. pointer_default(unique)
  68. ]
  69. interface IWebElement : IDispatch
  70. {
  71. [id(1)]
  72. HRESULT GetProperty(
  73. [in] BSTR bstrName,
  74. [out, retval] VARIANT* pValue
  75. );
  76. };
  77. //////////////////////////////////////////////////////////////////////////
  78. // Interface exposed by the Web Element Retriever
  79. //////////////////////////////////////////////////////////////////////////
  80. [
  81. object,
  82. uuid(8C5F0530-C445-11D2-90BA-00AA00A71DCA),
  83. dual,
  84. helpstring("IWebElementRetriever Interface"),
  85. pointer_default(unique)
  86. ]
  87. interface IWebElementRetriever : IDispatch
  88. {
  89. [public] typedef enum _WEB_ELEMENT_TYPE
  90. {
  91. WEB_ELEMENT_TYPE_DEFINITION,
  92. WEB_ELEMENT_TYPE_PAGE_OBJECT
  93. } WEB_ELEMENT_TYPE;
  94. [id(1)]
  95. HRESULT GetElements(
  96. [in] LONG lWebElementType,
  97. [in] BSTR bstrContainerName,
  98. [out, retval] IDispatch** ppElementEnum
  99. );
  100. [id(2)]
  101. HRESULT Initialize ();
  102. [id(3)]
  103. HRESULT Shutdown ();
  104. };
  105. //////////////////////////////////////////////////////////////////////////
  106. // Interface exposed by Web Elements (Definitions and Objects)
  107. //////////////////////////////////////////////////////////////////////////
  108. [
  109. object,
  110. uuid(e64b13d0-c611-11d2-bf1e-00105a1f3461),
  111. dual,
  112. helpstring("IWebElementEnum Interface"),
  113. pointer_default(unique)
  114. ]
  115. interface IWebElementEnum : IDispatch
  116. {
  117. [propget, id (1)]
  118. HRESULT Count([out,retval] LONG *plCount);
  119. [id(DISPID_VALUE)]
  120. HRESULT Item ([in] VARIANT* Name, [out, retval] IDispatch** pItem);
  121. [propget, id(DISPID_NEWENUM)]
  122. HRESULT _NewEnum([out,retval] IUnknown** pEnumVARIANT);
  123. };
  124. //////////////////////////////////////////////////////////////////////////
  125. [
  126. uuid(FEC47820-C444-11D2-90BA-00AA00A71DCA),
  127. version(1.0),
  128. helpstring("Microsoft Server Appliance Element Manager 1.0 Type Library")
  129. ]
  130. library ELEMENTMGRLib
  131. {
  132. importlib("stdole32.tlb");
  133. importlib("stdole2.tlb");
  134. [
  135. uuid(9BCEA010-C445-11D2-90BA-00AA00A71DCA),
  136. helpstring("ElementRetriever Class")
  137. ]
  138. coclass ElementRetriever
  139. {
  140. [default] interface IWebElementRetriever;
  141. };
  142. interface IWebElement; // Define this dispatch interface under "Interfaces"
  143. interface IWebElementEnum;
  144. };