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.

159 lines
7.0 KiB

  1. //***************************************************************************
  2. //
  3. // Copyright (c) 1997-1999 Microsoft Corporation
  4. //
  5. // testCOM.IDL
  6. //
  7. //
  8. //***************************************************************************
  9. import "oaidl.idl";
  10. import "wbemcli.idl";
  11. /****************************************************************************
  12. * This interface supports functions implemented by a WMI to XML Convertor
  13. * The purpose of this interface is to convert WMI entities (objects, object paths,
  14. * object names etc.) to their XML representation
  15. *****************************************************************************/
  16. [
  17. local,
  18. helpstring("WMI TO XML CONVERTOR"),
  19. uuid(FA8D73D7-CD4E-11d3-93FC-00805F853771)
  20. ]
  21. interface IWbemXMLConvertor : IUnknown
  22. {
  23. //***************************************************************
  24. // Functions for Conversion to XML
  25. //***************************************************************
  26. [
  27. helpstring("Converts a WMI Object to XML in a stream")
  28. ]
  29. HRESULT MapObjectToXML(
  30. [in] IWbemClassObject *pObject, // The WMI Object to be converted to XML
  31. [in] BSTR *ppPropertyList, // Optional, only the subset of properties that need to be converted
  32. [in] DWORD dwNumProperties, // The number of elements in the above array
  33. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  34. [in] IStream *pOutputStream, // The stream on to which the XML encoding is written
  35. [in] BSTR strClassBasis); // Optinal Class Basis, if any. This is used during enumerations
  36. [
  37. helpstring("Converts a specific property in a WMI Object to XML in a stream")
  38. ]
  39. HRESULT MapPropertyToXML(
  40. [in] IWbemClassObject *pObject, // The WMI Object that has the property to be converted to XML
  41. [in] BSTR strPropertyName, // The name of the property to be converted
  42. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  43. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  44. [
  45. helpstring("Maps an instance name into the stream")
  46. ]
  47. HRESULT MapInstanceNameToXML(
  48. [in] BSTR strInstanceName, // The Instance Name in WMI Object Path format to be convert to XML
  49. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  50. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  51. [
  52. helpstring("Maps a class name into the stream")
  53. ]
  54. HRESULT MapClassNameToXML(
  55. [in] BSTR strClassName, // The Class Name in WMI Object Path format to be convert to XML
  56. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  57. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  58. [
  59. helpstring("Maps an instance name into the stream")
  60. ]
  61. HRESULT MapInstancePathToXML(
  62. [in] BSTR strInstancePath, // The Instance Path in WMI Object Path format to be convert to XML
  63. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  64. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  65. [
  66. helpstring("Maps a class name into the stream")
  67. ]
  68. HRESULT MapClassPathToXML(
  69. [in] BSTR strClassPath, // The Class Path in WMI Object Path format to be convert to XML
  70. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  71. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  72. [
  73. helpstring("Maps a method result from WMI into the XML stream")
  74. ]
  75. HRESULT MapMethodResultToXML(
  76. [in] IWbemClassObject *pMethodResult, // The IWbemClassObject resulting from an ExecMethod() call
  77. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  78. [in] IStream *pOutputStream); // The stream on to which the XML encoding is written
  79. };
  80. /****************************************************************************
  81. * This interface supports functions implemented by an XML to WMI Convertor
  82. * The purpose of this interface is to convert XML representation of WMI
  83. * entities (objects, object paths, object names etc.) to actual WMI entities
  84. * (IWbemClassObject, BSTR represntation of object paths etc.
  85. *****************************************************************************/
  86. [
  87. local,
  88. helpstring("XML TO WMI CONVERTOR"),
  89. uuid(EDB74710-4EC6-4cda-85CB-8CFD218B03D6)
  90. ]
  91. interface IXMLWbemConvertor : IUnknown
  92. {
  93. //***************************************************************
  94. // Functions for Conversion to WMI
  95. //***************************************************************
  96. [
  97. helpstring("Converts XML in a stream to a WMI Object")
  98. ]
  99. HRESULT MapObjectToWMI(
  100. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a CLASS or an INSTANCE element
  101. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  102. [in] BSTR strNamespace, // Optional, Used to set the __NAMESPACE system property
  103. [in] BSTR strServer, // Optional, Used to set the __SERVER system property
  104. [out] IWbemClassObject **ppObject); // An IWbemClassObject that is the result of decoding the XML representation
  105. [
  106. helpstring("Converts a specific property in an XML fragment to WMI")
  107. ]
  108. HRESULT MapPropertyToWMI(
  109. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a PROPERTY element
  110. [in] IWbemClassObject *pObject, // The Object in which the above property needs to be set
  111. [in] BSTR strPropertyName, // The Name of the Property
  112. [in] IWbemContext *pInputFlags); // An IWbemContext object for any flags
  113. [
  114. helpstring("Maps an instance name into WMI")
  115. ]
  116. HRESULT MapInstanceNameToWMI(
  117. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a INSTANCENAME element
  118. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  119. [out] BSTR *pstrInstanceName); // The resulting WMI representation of the instance name
  120. [
  121. helpstring("Maps a class name into WMI")
  122. ]
  123. HRESULT MapClassNameToWMI(
  124. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a CLASSNAME element
  125. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  126. [out] BSTR *pstrClassName); // The resulting WMI representation of the class name
  127. [
  128. helpstring("Maps an instance Path into WMi")
  129. ]
  130. HRESULT MapInstancePathToWMI(
  131. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a INSTANCEPATH element
  132. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  133. [out] BSTR *pstrInstancePath); // The resulting WMI representation of the instance path
  134. [
  135. helpstring("Maps a class Path into WMI")
  136. ]
  137. HRESULT MapClassPathToWMI(
  138. [in] IUnknown *pXmlDOMNode, // An IXMLDOMNode pointer representing a CLASSPATH element
  139. [in] IWbemContext *pInputFlags, // An IWbemContext object for any flags
  140. [out] BSTR *pstrClassPath); // The resulting WMI representation of the class path
  141. };