msxml.tlh
上传用户:hawkcdm
上传日期:2013-02-10
资源大小:411k
文件大小:53k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. // Created by Microsoft (R) C/C++ Compiler Version 12.00.8447.0 (a759062c).
  2. //
  3. // msxml.tlh
  4. //
  5. // C++ source equivalent of Win32 type library msxml.dll
  6. // compiler-generated file created 04/14/01 at 14:17:52 - DO NOT EDIT!
  7. #pragma once
  8. #pragma pack(push, 8)
  9. #include <comdef.h>
  10. namespace MSXML {
  11. //
  12. // Forward references and typedefs
  13. //
  14. struct __declspec(uuid("2933bf8f-7b36-11d2-b20e-00c04f983e60"))
  15. /* dual interface */ IXMLDOMImplementation;
  16. struct __declspec(uuid("2933bf80-7b36-11d2-b20e-00c04f983e60"))
  17. /* dual interface */ IXMLDOMNode;
  18. typedef enum tagDOMNodeType DOMNodeType;
  19. struct __declspec(uuid("2933bf82-7b36-11d2-b20e-00c04f983e60"))
  20. /* dual interface */ IXMLDOMNodeList;
  21. struct __declspec(uuid("2933bf83-7b36-11d2-b20e-00c04f983e60"))
  22. /* dual interface */ IXMLDOMNamedNodeMap;
  23. struct __declspec(uuid("2933bf81-7b36-11d2-b20e-00c04f983e60"))
  24. /* dual interface */ IXMLDOMDocument;
  25. struct __declspec(uuid("2933bf8b-7b36-11d2-b20e-00c04f983e60"))
  26. /* dual interface */ IXMLDOMDocumentType;
  27. struct __declspec(uuid("2933bf86-7b36-11d2-b20e-00c04f983e60"))
  28. /* dual interface */ IXMLDOMElement;
  29. struct __declspec(uuid("2933bf85-7b36-11d2-b20e-00c04f983e60"))
  30. /* dual interface */ IXMLDOMAttribute;
  31. struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782"))
  32. /* dual interface */ IXMLDOMDocumentFragment;
  33. struct __declspec(uuid("2933bf87-7b36-11d2-b20e-00c04f983e60"))
  34. /* dual interface */ IXMLDOMText;
  35. struct __declspec(uuid("2933bf84-7b36-11d2-b20e-00c04f983e60"))
  36. /* dual interface */ IXMLDOMCharacterData;
  37. struct __declspec(uuid("2933bf88-7b36-11d2-b20e-00c04f983e60"))
  38. /* dual interface */ IXMLDOMComment;
  39. struct __declspec(uuid("2933bf8a-7b36-11d2-b20e-00c04f983e60"))
  40. /* dual interface */ IXMLDOMCDATASection;
  41. struct __declspec(uuid("2933bf89-7b36-11d2-b20e-00c04f983e60"))
  42. /* dual interface */ IXMLDOMProcessingInstruction;
  43. struct __declspec(uuid("2933bf8e-7b36-11d2-b20e-00c04f983e60"))
  44. /* dual interface */ IXMLDOMEntityReference;
  45. struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782"))
  46. /* dual interface */ IXMLDOMParseError;
  47. struct __declspec(uuid("2933bf8c-7b36-11d2-b20e-00c04f983e60"))
  48. /* dual interface */ IXMLDOMNotation;
  49. struct __declspec(uuid("2933bf8d-7b36-11d2-b20e-00c04f983e60"))
  50. /* dual interface */ IXMLDOMEntity;
  51. struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782"))
  52. /* dual interface */ IXTLRuntime;
  53. struct __declspec(uuid("3efaa427-272f-11d2-836f-0000f87a7782"))
  54. /* dispinterface */ XMLDOMDocumentEvents;
  55. struct /* coclass */ DOMDocument;
  56. struct /* coclass */ DOMFreeThreadedDocument;
  57. struct __declspec(uuid("ed8c108d-4349-11d2-91a4-00c04f7969e8"))
  58. /* dual interface */ IXMLHttpRequest;
  59. struct /* coclass */ XMLHTTPRequest;
  60. struct __declspec(uuid("310afa62-0575-11d2-9ca9-0060b0ec3d39"))
  61. /* dual interface */ IXMLDSOControl;
  62. struct /* coclass */ XMLDSOControl;
  63. struct __declspec(uuid("65725580-9b5d-11d0-9bfe-00c04fc99c8e"))
  64. /* dual interface */ IXMLElementCollection;
  65. struct __declspec(uuid("f52e2b61-18a1-11d1-b105-00805f49916b"))
  66. /* dual interface */ IXMLDocument;
  67. struct __declspec(uuid("3f7f31ac-e15f-11d0-9c25-00c04fc99c8e"))
  68. /* dual interface */ IXMLElement;
  69. struct __declspec(uuid("2b8de2fe-8d2d-11d1-b2fc-00c04fd915a9"))
  70. /* interface */ IXMLDocument2;
  71. struct __declspec(uuid("2b8de2ff-8d2d-11d1-b2fc-00c04fd915a9"))
  72. /* dual interface */ IXMLElement2;
  73. struct __declspec(uuid("d4d4a0fc-3b73-11d1-b2b4-00c04fb92596"))
  74. /* dual interface */ IXMLAttribute;
  75. struct __declspec(uuid("948c5ad3-c58d-11d0-9c0b-00c04fc99c8e"))
  76. /* interface */ IXMLError;
  77. struct _xml_error;
  78. typedef enum tagXMLEMEM_TYPE XMLELEM_TYPE;
  79. struct /* coclass */ XMLDocument;
  80. //
  81. // Smart pointer typedef declarations
  82. //
  83. _COM_SMARTPTR_TYPEDEF(IXMLDOMImplementation, __uuidof(IXMLDOMImplementation));
  84. _COM_SMARTPTR_TYPEDEF(IXMLDOMNode, __uuidof(IXMLDOMNode));
  85. _COM_SMARTPTR_TYPEDEF(IXMLDOMNodeList, __uuidof(IXMLDOMNodeList));
  86. _COM_SMARTPTR_TYPEDEF(IXMLDOMNamedNodeMap, __uuidof(IXMLDOMNamedNodeMap));
  87. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocument, __uuidof(IXMLDOMDocument));
  88. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocumentType, __uuidof(IXMLDOMDocumentType));
  89. _COM_SMARTPTR_TYPEDEF(IXMLDOMElement, __uuidof(IXMLDOMElement));
  90. _COM_SMARTPTR_TYPEDEF(IXMLDOMAttribute, __uuidof(IXMLDOMAttribute));
  91. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocumentFragment, __uuidof(IXMLDOMDocumentFragment));
  92. _COM_SMARTPTR_TYPEDEF(IXMLDOMCharacterData, __uuidof(IXMLDOMCharacterData));
  93. _COM_SMARTPTR_TYPEDEF(IXMLDOMText, __uuidof(IXMLDOMText));
  94. _COM_SMARTPTR_TYPEDEF(IXMLDOMComment, __uuidof(IXMLDOMComment));
  95. _COM_SMARTPTR_TYPEDEF(IXMLDOMCDATASection, __uuidof(IXMLDOMCDATASection));
  96. _COM_SMARTPTR_TYPEDEF(IXMLDOMProcessingInstruction, __uuidof(IXMLDOMProcessingInstruction));
  97. _COM_SMARTPTR_TYPEDEF(IXMLDOMEntityReference, __uuidof(IXMLDOMEntityReference));
  98. _COM_SMARTPTR_TYPEDEF(IXMLDOMParseError, __uuidof(IXMLDOMParseError));
  99. _COM_SMARTPTR_TYPEDEF(IXMLDOMNotation, __uuidof(IXMLDOMNotation));
  100. _COM_SMARTPTR_TYPEDEF(IXMLDOMEntity, __uuidof(IXMLDOMEntity));
  101. _COM_SMARTPTR_TYPEDEF(IXTLRuntime, __uuidof(IXTLRuntime));
  102. _COM_SMARTPTR_TYPEDEF(XMLDOMDocumentEvents, __uuidof(IDispatch));
  103. _COM_SMARTPTR_TYPEDEF(IXMLHttpRequest, __uuidof(IXMLHttpRequest));
  104. _COM_SMARTPTR_TYPEDEF(IXMLDSOControl, __uuidof(IXMLDSOControl));
  105. _COM_SMARTPTR_TYPEDEF(IXMLElementCollection, __uuidof(IXMLElementCollection));
  106. _COM_SMARTPTR_TYPEDEF(IXMLDocument, __uuidof(IXMLDocument));
  107. _COM_SMARTPTR_TYPEDEF(IXMLElement, __uuidof(IXMLElement));
  108. _COM_SMARTPTR_TYPEDEF(IXMLDocument2, __uuidof(IXMLDocument2));
  109. _COM_SMARTPTR_TYPEDEF(IXMLElement2, __uuidof(IXMLElement2));
  110. _COM_SMARTPTR_TYPEDEF(IXMLAttribute, __uuidof(IXMLAttribute));
  111. _COM_SMARTPTR_TYPEDEF(IXMLError, __uuidof(IXMLError));
  112. //
  113. // Type library items
  114. //
  115. struct __declspec(uuid("2933bf8f-7b36-11d2-b20e-00c04f983e60"))
  116. IXMLDOMImplementation : IDispatch
  117. {
  118.     //
  119.     // Wrapper methods for error-handling
  120.     //
  121.     VARIANT_BOOL hasFeature (
  122.         _bstr_t feature,
  123.         _bstr_t version );
  124.     //
  125.     // Raw methods provided by interface
  126.     //
  127.     virtual HRESULT __stdcall raw_hasFeature (
  128.         BSTR feature,
  129.         BSTR version,
  130.         VARIANT_BOOL * hasFeature ) = 0;
  131. };
  132. struct __declspec(uuid("2933bf80-7b36-11d2-b20e-00c04f983e60"))
  133. IXMLDOMNode : IDispatch
  134. {
  135.     //
  136.     // Property data
  137.     //
  138.     __declspec(property(get=GetnodeName))
  139.     _bstr_t nodeName;
  140.     __declspec(property(get=GetnodeValue,put=PutnodeValue))
  141.     _variant_t nodeValue;
  142.     __declspec(property(get=GetnodeType))
  143.     DOMNodeType nodeType;
  144.     __declspec(property(get=GetparentNode))
  145.     IXMLDOMNodePtr parentNode;
  146.     __declspec(property(get=GetchildNodes))
  147.     IXMLDOMNodeListPtr childNodes;
  148.     __declspec(property(get=GetfirstChild))
  149.     IXMLDOMNodePtr firstChild;
  150.     __declspec(property(get=GetlastChild))
  151.     IXMLDOMNodePtr lastChild;
  152.     __declspec(property(get=GetpreviousSibling))
  153.     IXMLDOMNodePtr previousSibling;
  154.     __declspec(property(get=GetnextSibling))
  155.     IXMLDOMNodePtr nextSibling;
  156.     __declspec(property(get=Getattributes))
  157.     IXMLDOMNamedNodeMapPtr attributes;
  158.     __declspec(property(get=GetownerDocument))
  159.     IXMLDOMDocumentPtr ownerDocument;
  160.     __declspec(property(get=GetnodeTypeString))
  161.     _bstr_t nodeTypeString;
  162.     __declspec(property(get=Getspecified))
  163.     VARIANT_BOOL specified;
  164.     __declspec(property(get=Getdefinition))
  165.     IXMLDOMNodePtr definition;
  166.     __declspec(property(get=Gettext,put=Puttext))
  167.     _bstr_t text;
  168.     __declspec(property(get=GetnodeTypedValue,put=PutnodeTypedValue))
  169.     _variant_t nodeTypedValue;
  170.     __declspec(property(get=Getxml))
  171.     _bstr_t xml;
  172.     __declspec(property(get=Getparsed))
  173.     VARIANT_BOOL parsed;
  174.     __declspec(property(get=GetnamespaceURI))
  175.     _bstr_t namespaceURI;
  176.     __declspec(property(get=Getprefix))
  177.     _bstr_t prefix;
  178.     __declspec(property(get=GetbaseName))
  179.     _bstr_t baseName;
  180.     //
  181.     // Wrapper methods for error-handling
  182.     //
  183.     _bstr_t GetnodeName ( );
  184.     _variant_t GetnodeValue ( );
  185.     void PutnodeValue (
  186.         const _variant_t & value );
  187.     DOMNodeType GetnodeType ( );
  188.     IXMLDOMNodePtr GetparentNode ( );
  189.     IXMLDOMNodeListPtr GetchildNodes ( );
  190.     IXMLDOMNodePtr GetfirstChild ( );
  191.     IXMLDOMNodePtr GetlastChild ( );
  192.     IXMLDOMNodePtr GetpreviousSibling ( );
  193.     IXMLDOMNodePtr GetnextSibling ( );
  194.     IXMLDOMNamedNodeMapPtr Getattributes ( );
  195.     IXMLDOMNodePtr insertBefore (
  196.         struct IXMLDOMNode * newChild,
  197.         const _variant_t & refChild );
  198.     IXMLDOMNodePtr replaceChild (
  199.         struct IXMLDOMNode * newChild,
  200.         struct IXMLDOMNode * oldChild );
  201.     IXMLDOMNodePtr removeChild (
  202.         struct IXMLDOMNode * childNode );
  203.     IXMLDOMNodePtr appendChild (
  204.         struct IXMLDOMNode * newChild );
  205.     VARIANT_BOOL hasChildNodes ( );
  206.     IXMLDOMDocumentPtr GetownerDocument ( );
  207.     IXMLDOMNodePtr cloneNode (
  208.         VARIANT_BOOL deep );
  209.     _bstr_t GetnodeTypeString ( );
  210.     _bstr_t Gettext ( );
  211.     void Puttext (
  212.         _bstr_t text );
  213.     VARIANT_BOOL Getspecified ( );
  214.     IXMLDOMNodePtr Getdefinition ( );
  215.     _variant_t GetnodeTypedValue ( );
  216.     void PutnodeTypedValue (
  217.         const _variant_t & typedValue );
  218.     _variant_t GetdataType ( );
  219.     void PutdataType (
  220.         _bstr_t dataTypeName );
  221.     _bstr_t Getxml ( );
  222.     _bstr_t transformNode (
  223.         struct IXMLDOMNode * stylesheet );
  224.     IXMLDOMNodeListPtr selectNodes (
  225.         _bstr_t queryString );
  226.     IXMLDOMNodePtr selectSingleNode (
  227.         _bstr_t queryString );
  228.     VARIANT_BOOL Getparsed ( );
  229.     _bstr_t GetnamespaceURI ( );
  230.     _bstr_t Getprefix ( );
  231.     _bstr_t GetbaseName ( );
  232.     HRESULT transformNodeToObject (
  233.         struct IXMLDOMNode * stylesheet,
  234.         const _variant_t & outputObject );
  235.     //
  236.     // Raw methods provided by interface
  237.     //
  238.     virtual HRESULT __stdcall get_nodeName (
  239.         BSTR * name ) = 0;
  240.     virtual HRESULT __stdcall get_nodeValue (
  241.         VARIANT * value ) = 0;
  242.     virtual HRESULT __stdcall put_nodeValue (
  243.         VARIANT value ) = 0;
  244.     virtual HRESULT __stdcall get_nodeType (
  245.         DOMNodeType * type ) = 0;
  246.     virtual HRESULT __stdcall get_parentNode (
  247.         struct IXMLDOMNode * * parent ) = 0;
  248.     virtual HRESULT __stdcall get_childNodes (
  249.         struct IXMLDOMNodeList * * childList ) = 0;
  250.     virtual HRESULT __stdcall get_firstChild (
  251.         struct IXMLDOMNode * * firstChild ) = 0;
  252.     virtual HRESULT __stdcall get_lastChild (
  253.         struct IXMLDOMNode * * lastChild ) = 0;
  254.     virtual HRESULT __stdcall get_previousSibling (
  255.         struct IXMLDOMNode * * previousSibling ) = 0;
  256.     virtual HRESULT __stdcall get_nextSibling (
  257.         struct IXMLDOMNode * * nextSibling ) = 0;
  258.     virtual HRESULT __stdcall get_attributes (
  259.         struct IXMLDOMNamedNodeMap * * attributeMap ) = 0;
  260.     virtual HRESULT __stdcall raw_insertBefore (
  261.         struct IXMLDOMNode * newChild,
  262.         VARIANT refChild,
  263.         struct IXMLDOMNode * * outNewChild ) = 0;
  264.     virtual HRESULT __stdcall raw_replaceChild (
  265.         struct IXMLDOMNode * newChild,
  266.         struct IXMLDOMNode * oldChild,
  267.         struct IXMLDOMNode * * outOldChild ) = 0;
  268.     virtual HRESULT __stdcall raw_removeChild (
  269.         struct IXMLDOMNode * childNode,
  270.         struct IXMLDOMNode * * oldChild ) = 0;
  271.     virtual HRESULT __stdcall raw_appendChild (
  272.         struct IXMLDOMNode * newChild,
  273.         struct IXMLDOMNode * * outNewChild ) = 0;
  274.     virtual HRESULT __stdcall raw_hasChildNodes (
  275.         VARIANT_BOOL * hasChild ) = 0;
  276.     virtual HRESULT __stdcall get_ownerDocument (
  277.         struct IXMLDOMDocument * * DOMDocument ) = 0;
  278.     virtual HRESULT __stdcall raw_cloneNode (
  279.         VARIANT_BOOL deep,
  280.         struct IXMLDOMNode * * cloneRoot ) = 0;
  281.     virtual HRESULT __stdcall get_nodeTypeString (
  282.         BSTR * nodeType ) = 0;
  283.     virtual HRESULT __stdcall get_text (
  284.         BSTR * text ) = 0;
  285.     virtual HRESULT __stdcall put_text (
  286.         BSTR text ) = 0;
  287.     virtual HRESULT __stdcall get_specified (
  288.         VARIANT_BOOL * isSpecified ) = 0;
  289.     virtual HRESULT __stdcall get_definition (
  290.         struct IXMLDOMNode * * definitionNode ) = 0;
  291.     virtual HRESULT __stdcall get_nodeTypedValue (
  292.         VARIANT * typedValue ) = 0;
  293.     virtual HRESULT __stdcall put_nodeTypedValue (
  294.         VARIANT typedValue ) = 0;
  295.     virtual HRESULT __stdcall get_dataType (
  296.         VARIANT * dataTypeName ) = 0;
  297.     virtual HRESULT __stdcall put_dataType (
  298.         BSTR dataTypeName ) = 0;
  299.     virtual HRESULT __stdcall get_xml (
  300.         BSTR * xmlString ) = 0;
  301.     virtual HRESULT __stdcall raw_transformNode (
  302.         struct IXMLDOMNode * stylesheet,
  303.         BSTR * xmlString ) = 0;
  304.     virtual HRESULT __stdcall raw_selectNodes (
  305.         BSTR queryString,
  306.         struct IXMLDOMNodeList * * resultList ) = 0;
  307.     virtual HRESULT __stdcall raw_selectSingleNode (
  308.         BSTR queryString,
  309.         struct IXMLDOMNode * * resultNode ) = 0;
  310.     virtual HRESULT __stdcall get_parsed (
  311.         VARIANT_BOOL * isParsed ) = 0;
  312.     virtual HRESULT __stdcall get_namespaceURI (
  313.         BSTR * namespaceURI ) = 0;
  314.     virtual HRESULT __stdcall get_prefix (
  315.         BSTR * prefixString ) = 0;
  316.     virtual HRESULT __stdcall get_baseName (
  317.         BSTR * nameString ) = 0;
  318.     virtual HRESULT __stdcall raw_transformNodeToObject (
  319.         struct IXMLDOMNode * stylesheet,
  320.         VARIANT outputObject ) = 0;
  321. };
  322. enum tagDOMNodeType
  323. {
  324.     NODE_INVALID = 0,
  325.     NODE_ELEMENT = 1,
  326.     NODE_ATTRIBUTE = 2,
  327.     NODE_TEXT = 3,
  328.     NODE_CDATA_SECTION = 4,
  329.     NODE_ENTITY_REFERENCE = 5,
  330.     NODE_ENTITY = 6,
  331.     NODE_PROCESSING_INSTRUCTION = 7,
  332.     NODE_COMMENT = 8,
  333.     NODE_DOCUMENT = 9,
  334.     NODE_DOCUMENT_TYPE = 10,
  335.     NODE_DOCUMENT_FRAGMENT = 11,
  336.     NODE_NOTATION = 12
  337. };
  338. struct __declspec(uuid("2933bf82-7b36-11d2-b20e-00c04f983e60"))
  339. IXMLDOMNodeList : IDispatch
  340. {
  341.     //
  342.     // Property data
  343.     //
  344.     __declspec(property(get=Getitem))
  345.     IXMLDOMNodePtr item[];
  346.     __declspec(property(get=Getlength))
  347.     long length;
  348.     __declspec(property(get=Get_newEnum))
  349.     IUnknownPtr _newEnum;
  350.     //
  351.     // Wrapper methods for error-handling
  352.     //
  353.     IXMLDOMNodePtr Getitem (
  354.         long index );
  355.     long Getlength ( );
  356.     IXMLDOMNodePtr nextNode ( );
  357.     HRESULT reset ( );
  358.     IUnknownPtr Get_newEnum ( );
  359.     //
  360.     // Raw methods provided by interface
  361.     //
  362.     virtual HRESULT __stdcall get_item (
  363.         long index,
  364.         struct IXMLDOMNode * * listItem ) = 0;
  365.     virtual HRESULT __stdcall get_length (
  366.         long * listLength ) = 0;
  367.     virtual HRESULT __stdcall raw_nextNode (
  368.         struct IXMLDOMNode * * nextItem ) = 0;
  369.     virtual HRESULT __stdcall raw_reset ( ) = 0;
  370.     virtual HRESULT __stdcall get__newEnum (
  371.         IUnknown * * ppUnk ) = 0;
  372. };
  373. struct __declspec(uuid("2933bf83-7b36-11d2-b20e-00c04f983e60"))
  374. IXMLDOMNamedNodeMap : IDispatch
  375. {
  376.     //
  377.     // Property data
  378.     //
  379.     __declspec(property(get=Getitem))
  380.     IXMLDOMNodePtr item[];
  381.     __declspec(property(get=Getlength))
  382.     long length;
  383.     __declspec(property(get=Get_newEnum))
  384.     IUnknownPtr _newEnum;
  385.     //
  386.     // Wrapper methods for error-handling
  387.     //
  388.     IXMLDOMNodePtr getNamedItem (
  389.         _bstr_t name );
  390.     IXMLDOMNodePtr setNamedItem (
  391.         struct IXMLDOMNode * newItem );
  392.     IXMLDOMNodePtr removeNamedItem (
  393.         _bstr_t name );
  394.     IXMLDOMNodePtr Getitem (
  395.         long index );
  396.     long Getlength ( );
  397.     IXMLDOMNodePtr getQualifiedItem (
  398.         _bstr_t baseName,
  399.         _bstr_t namespaceURI );
  400.     IXMLDOMNodePtr removeQualifiedItem (
  401.         _bstr_t baseName,
  402.         _bstr_t namespaceURI );
  403.     IXMLDOMNodePtr nextNode ( );
  404.     HRESULT reset ( );
  405.     IUnknownPtr Get_newEnum ( );
  406.     //
  407.     // Raw methods provided by interface
  408.     //
  409.     virtual HRESULT __stdcall raw_getNamedItem (
  410.         BSTR name,
  411.         struct IXMLDOMNode * * namedItem ) = 0;
  412.     virtual HRESULT __stdcall raw_setNamedItem (
  413.         struct IXMLDOMNode * newItem,
  414.         struct IXMLDOMNode * * nameItem ) = 0;
  415.     virtual HRESULT __stdcall raw_removeNamedItem (
  416.         BSTR name,
  417.         struct IXMLDOMNode * * namedItem ) = 0;
  418.     virtual HRESULT __stdcall get_item (
  419.         long index,
  420.         struct IXMLDOMNode * * listItem ) = 0;
  421.     virtual HRESULT __stdcall get_length (
  422.         long * listLength ) = 0;
  423.     virtual HRESULT __stdcall raw_getQualifiedItem (
  424.         BSTR baseName,
  425.         BSTR namespaceURI,
  426.         struct IXMLDOMNode * * qualifiedItem ) = 0;
  427.     virtual HRESULT __stdcall raw_removeQualifiedItem (
  428.         BSTR baseName,
  429.         BSTR namespaceURI,
  430.         struct IXMLDOMNode * * qualifiedItem ) = 0;
  431.     virtual HRESULT __stdcall raw_nextNode (
  432.         struct IXMLDOMNode * * nextItem ) = 0;
  433.     virtual HRESULT __stdcall raw_reset ( ) = 0;
  434.     virtual HRESULT __stdcall get__newEnum (
  435.         IUnknown * * ppUnk ) = 0;
  436. };
  437. struct __declspec(uuid("2933bf81-7b36-11d2-b20e-00c04f983e60"))
  438. IXMLDOMDocument : IXMLDOMNode
  439. {
  440.     //
  441.     // Property data
  442.     //
  443.     __declspec(property(get=GetvalidateOnParse,put=PutvalidateOnParse))
  444.     VARIANT_BOOL validateOnParse;
  445.     __declspec(property(get=GetresolveExternals,put=PutresolveExternals))
  446.     VARIANT_BOOL resolveExternals;
  447.     __declspec(property(get=GetpreserveWhiteSpace,put=PutpreserveWhiteSpace))
  448.     VARIANT_BOOL preserveWhiteSpace;
  449.     __declspec(property(put=Putonreadystatechange))
  450.     _variant_t onreadystatechange;
  451.     __declspec(property(put=Putondataavailable))
  452.     _variant_t ondataavailable;
  453.     __declspec(property(get=Getdoctype))
  454.     IXMLDOMDocumentTypePtr doctype;
  455.     __declspec(property(get=Getimplementation))
  456.     IXMLDOMImplementationPtr implementation;
  457.     __declspec(property(get=GetdocumentElement,put=PutRefdocumentElement))
  458.     IXMLDOMElementPtr documentElement;
  459.     __declspec(property(put=Putontransformnode))
  460.     _variant_t ontransformnode;
  461.     __declspec(property(get=GetreadyState))
  462.     long readyState;
  463.     __declspec(property(get=GetparseError))
  464.     IXMLDOMParseErrorPtr parseError;
  465.     __declspec(property(get=Geturl))
  466.     _bstr_t url;
  467.     __declspec(property(get=Getasync,put=Putasync))
  468.     VARIANT_BOOL async;
  469.     //
  470.     // Wrapper methods for error-handling
  471.     //
  472.     IXMLDOMDocumentTypePtr Getdoctype ( );
  473.     IXMLDOMImplementationPtr Getimplementation ( );
  474.     IXMLDOMElementPtr GetdocumentElement ( );
  475.     void PutRefdocumentElement (
  476.         struct IXMLDOMElement * DOMElement );
  477.     IXMLDOMElementPtr createElement (
  478.         _bstr_t tagName );
  479.     IXMLDOMDocumentFragmentPtr createDocumentFragment ( );
  480.     IXMLDOMTextPtr createTextNode (
  481.         _bstr_t data );
  482.     IXMLDOMCommentPtr createComment (
  483.         _bstr_t data );
  484.     IXMLDOMCDATASectionPtr createCDATASection (
  485.         _bstr_t data );
  486.     IXMLDOMProcessingInstructionPtr createProcessingInstruction (
  487.         _bstr_t target,
  488.         _bstr_t data );
  489.     IXMLDOMAttributePtr createAttribute (
  490.         _bstr_t name );
  491.     IXMLDOMEntityReferencePtr createEntityReference (
  492.         _bstr_t name );
  493.     IXMLDOMNodeListPtr getElementsByTagName (
  494.         _bstr_t tagName );
  495.     IXMLDOMNodePtr createNode (
  496.         const _variant_t & type,
  497.         _bstr_t name,
  498.         _bstr_t namespaceURI );
  499.     IXMLDOMNodePtr nodeFromID (
  500.         _bstr_t idString );
  501.     VARIANT_BOOL load (
  502.         const _variant_t & xmlSource );
  503.     long GetreadyState ( );
  504.     IXMLDOMParseErrorPtr GetparseError ( );
  505.     _bstr_t Geturl ( );
  506.     VARIANT_BOOL Getasync ( );
  507.     void Putasync (
  508.         VARIANT_BOOL isAsync );
  509.     HRESULT abort ( );
  510.     VARIANT_BOOL loadXML (
  511.         _bstr_t bstrXML );
  512.     HRESULT save (
  513.         const _variant_t & desination );
  514.     VARIANT_BOOL GetvalidateOnParse ( );
  515.     void PutvalidateOnParse (
  516.         VARIANT_BOOL isValidating );
  517.     VARIANT_BOOL GetresolveExternals ( );
  518.     void PutresolveExternals (
  519.         VARIANT_BOOL isResolving );
  520.     VARIANT_BOOL GetpreserveWhiteSpace ( );
  521.     void PutpreserveWhiteSpace (
  522.         VARIANT_BOOL isPreserving );
  523.     void Putonreadystatechange (
  524.         const _variant_t & _arg1 );
  525.     void Putondataavailable (
  526.         const _variant_t & _arg1 );
  527.     void Putontransformnode (
  528.         const _variant_t & _arg1 );
  529.     //
  530.     // Raw methods provided by interface
  531.     //
  532.     virtual HRESULT __stdcall get_doctype (
  533.         struct IXMLDOMDocumentType * * documentType ) = 0;
  534.     virtual HRESULT __stdcall get_implementation (
  535.         struct IXMLDOMImplementation * * impl ) = 0;
  536.     virtual HRESULT __stdcall get_documentElement (
  537.         struct IXMLDOMElement * * DOMElement ) = 0;
  538.     virtual HRESULT __stdcall putref_documentElement (
  539.         struct IXMLDOMElement * DOMElement ) = 0;
  540.     virtual HRESULT __stdcall raw_createElement (
  541.         BSTR tagName,
  542.         struct IXMLDOMElement * * element ) = 0;
  543.     virtual HRESULT __stdcall raw_createDocumentFragment (
  544.         struct IXMLDOMDocumentFragment * * docFrag ) = 0;
  545.     virtual HRESULT __stdcall raw_createTextNode (
  546.         BSTR data,
  547.         struct IXMLDOMText * * text ) = 0;
  548.     virtual HRESULT __stdcall raw_createComment (
  549.         BSTR data,
  550.         struct IXMLDOMComment * * comment ) = 0;
  551.     virtual HRESULT __stdcall raw_createCDATASection (
  552.         BSTR data,
  553.         struct IXMLDOMCDATASection * * cdata ) = 0;
  554.     virtual HRESULT __stdcall raw_createProcessingInstruction (
  555.         BSTR target,
  556.         BSTR data,
  557.         struct IXMLDOMProcessingInstruction * * pi ) = 0;
  558.     virtual HRESULT __stdcall raw_createAttribute (
  559.         BSTR name,
  560.         struct IXMLDOMAttribute * * attribute ) = 0;
  561.     virtual HRESULT __stdcall raw_createEntityReference (
  562.         BSTR name,
  563.         struct IXMLDOMEntityReference * * entityRef ) = 0;
  564.     virtual HRESULT __stdcall raw_getElementsByTagName (
  565.         BSTR tagName,
  566.         struct IXMLDOMNodeList * * resultList ) = 0;
  567.     virtual HRESULT __stdcall raw_createNode (
  568.         VARIANT type,
  569.         BSTR name,
  570.         BSTR namespaceURI,
  571.         struct IXMLDOMNode * * node ) = 0;
  572.     virtual HRESULT __stdcall raw_nodeFromID (
  573.         BSTR idString,
  574.         struct IXMLDOMNode * * node ) = 0;
  575.     virtual HRESULT __stdcall raw_load (
  576.         VARIANT xmlSource,
  577.         VARIANT_BOOL * isSuccessful ) = 0;
  578.     virtual HRESULT __stdcall get_readyState (
  579.         long * value ) = 0;
  580.     virtual HRESULT __stdcall get_parseError (
  581.         struct IXMLDOMParseError * * errorObj ) = 0;
  582.     virtual HRESULT __stdcall get_url (
  583.         BSTR * urlString ) = 0;
  584.     virtual HRESULT __stdcall get_async (
  585.         VARIANT_BOOL * isAsync ) = 0;
  586.     virtual HRESULT __stdcall put_async (
  587.         VARIANT_BOOL isAsync ) = 0;
  588.     virtual HRESULT __stdcall raw_abort ( ) = 0;
  589.     virtual HRESULT __stdcall raw_loadXML (
  590.         BSTR bstrXML,
  591.         VARIANT_BOOL * isSuccessful ) = 0;
  592.     virtual HRESULT __stdcall raw_save (
  593.         VARIANT desination ) = 0;
  594.     virtual HRESULT __stdcall get_validateOnParse (
  595.         VARIANT_BOOL * isValidating ) = 0;
  596.     virtual HRESULT __stdcall put_validateOnParse (
  597.         VARIANT_BOOL isValidating ) = 0;
  598.     virtual HRESULT __stdcall get_resolveExternals (
  599.         VARIANT_BOOL * isResolving ) = 0;
  600.     virtual HRESULT __stdcall put_resolveExternals (
  601.         VARIANT_BOOL isResolving ) = 0;
  602.     virtual HRESULT __stdcall get_preserveWhiteSpace (
  603.         VARIANT_BOOL * isPreserving ) = 0;
  604.     virtual HRESULT __stdcall put_preserveWhiteSpace (
  605.         VARIANT_BOOL isPreserving ) = 0;
  606.     virtual HRESULT __stdcall put_onreadystatechange (
  607.         VARIANT _arg1 ) = 0;
  608.     virtual HRESULT __stdcall put_ondataavailable (
  609.         VARIANT _arg1 ) = 0;
  610.     virtual HRESULT __stdcall put_ontransformnode (
  611.         VARIANT _arg1 ) = 0;
  612. };
  613. struct __declspec(uuid("2933bf8b-7b36-11d2-b20e-00c04f983e60"))
  614. IXMLDOMDocumentType : IXMLDOMNode
  615. {
  616.     //
  617.     // Property data
  618.     //
  619.     __declspec(property(get=Getname))
  620.     _bstr_t name;
  621.     __declspec(property(get=Getentities))
  622.     IXMLDOMNamedNodeMapPtr entities;
  623.     __declspec(property(get=Getnotations))
  624.     IXMLDOMNamedNodeMapPtr notations;
  625.     //
  626.     // Wrapper methods for error-handling
  627.     //
  628.     _bstr_t Getname ( );
  629.     IXMLDOMNamedNodeMapPtr Getentities ( );
  630.     IXMLDOMNamedNodeMapPtr Getnotations ( );
  631.     //
  632.     // Raw methods provided by interface
  633.     //
  634.     virtual HRESULT __stdcall get_name (
  635.         BSTR * rootName ) = 0;
  636.     virtual HRESULT __stdcall get_entities (
  637.         struct IXMLDOMNamedNodeMap * * entityMap ) = 0;
  638.     virtual HRESULT __stdcall get_notations (
  639.         struct IXMLDOMNamedNodeMap * * notationMap ) = 0;
  640. };
  641. struct __declspec(uuid("2933bf86-7b36-11d2-b20e-00c04f983e60"))
  642. IXMLDOMElement : IXMLDOMNode
  643. {
  644.     //
  645.     // Property data
  646.     //
  647.     __declspec(property(get=GettagName))
  648.     _bstr_t tagName;
  649.     //
  650.     // Wrapper methods for error-handling
  651.     //
  652.     _bstr_t GettagName ( );
  653.     _variant_t getAttribute (
  654.         _bstr_t name );
  655.     HRESULT setAttribute (
  656.         _bstr_t name,
  657.         const _variant_t & value );
  658.     HRESULT removeAttribute (
  659.         _bstr_t name );
  660.     IXMLDOMAttributePtr getAttributeNode (
  661.         _bstr_t name );
  662.     IXMLDOMAttributePtr setAttributeNode (
  663.         struct IXMLDOMAttribute * DOMAttribute );
  664.     IXMLDOMAttributePtr removeAttributeNode (
  665.         struct IXMLDOMAttribute * DOMAttribute );
  666.     IXMLDOMNodeListPtr getElementsByTagName (
  667.         _bstr_t tagName );
  668.     HRESULT normalize ( );
  669.     //
  670.     // Raw methods provided by interface
  671.     //
  672.     virtual HRESULT __stdcall get_tagName (
  673.         BSTR * tagName ) = 0;
  674.     virtual HRESULT __stdcall raw_getAttribute (
  675.         BSTR name,
  676.         VARIANT * value ) = 0;
  677.     virtual HRESULT __stdcall raw_setAttribute (
  678.         BSTR name,
  679.         VARIANT value ) = 0;
  680.     virtual HRESULT __stdcall raw_removeAttribute (
  681.         BSTR name ) = 0;
  682.     virtual HRESULT __stdcall raw_getAttributeNode (
  683.         BSTR name,
  684.         struct IXMLDOMAttribute * * attributeNode ) = 0;
  685.     virtual HRESULT __stdcall raw_setAttributeNode (
  686.         struct IXMLDOMAttribute * DOMAttribute,
  687.         struct IXMLDOMAttribute * * attributeNode ) = 0;
  688.     virtual HRESULT __stdcall raw_removeAttributeNode (
  689.         struct IXMLDOMAttribute * DOMAttribute,
  690.         struct IXMLDOMAttribute * * attributeNode ) = 0;
  691.     virtual HRESULT __stdcall raw_getElementsByTagName (
  692.         BSTR tagName,
  693.         struct IXMLDOMNodeList * * resultList ) = 0;
  694.     virtual HRESULT __stdcall raw_normalize ( ) = 0;
  695. };
  696. struct __declspec(uuid("2933bf85-7b36-11d2-b20e-00c04f983e60"))
  697. IXMLDOMAttribute : IXMLDOMNode
  698. {
  699.     //
  700.     // Property data
  701.     //
  702.     __declspec(property(get=Getname))
  703.     _bstr_t name;
  704.     __declspec(property(get=Getvalue,put=Putvalue))
  705.     _variant_t value;
  706.     //
  707.     // Wrapper methods for error-handling
  708.     //
  709.     _bstr_t Getname ( );
  710.     _variant_t Getvalue ( );
  711.     void Putvalue (
  712.         const _variant_t & attributeValue );
  713.     //
  714.     // Raw methods provided by interface
  715.     //
  716.     virtual HRESULT __stdcall get_name (
  717.         BSTR * attributeName ) = 0;
  718.     virtual HRESULT __stdcall get_value (
  719.         VARIANT * attributeValue ) = 0;
  720.     virtual HRESULT __stdcall put_value (
  721.         VARIANT attributeValue ) = 0;
  722. };
  723. struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782"))
  724. IXMLDOMDocumentFragment : IXMLDOMNode
  725. {};
  726. struct __declspec(uuid("2933bf84-7b36-11d2-b20e-00c04f983e60"))
  727. IXMLDOMCharacterData : IXMLDOMNode
  728. {
  729.     //
  730.     // Property data
  731.     //
  732.     __declspec(property(get=Getdata,put=Putdata))
  733.     _bstr_t data;
  734.     __declspec(property(get=Getlength))
  735.     long length;
  736.     //
  737.     // Wrapper methods for error-handling
  738.     //
  739.     _bstr_t Getdata ( );
  740.     void Putdata (
  741.         _bstr_t data );
  742.     long Getlength ( );
  743.     _bstr_t substringData (
  744.         long offset,
  745.         long count );
  746.     HRESULT appendData (
  747.         _bstr_t data );
  748.     HRESULT insertData (
  749.         long offset,
  750.         _bstr_t data );
  751.     HRESULT deleteData (
  752.         long offset,
  753.         long count );
  754.     HRESULT replaceData (
  755.         long offset,
  756.         long count,
  757.         _bstr_t data );
  758.     //
  759.     // Raw methods provided by interface
  760.     //
  761.     virtual HRESULT __stdcall get_data (
  762.         BSTR * data ) = 0;
  763.     virtual HRESULT __stdcall put_data (
  764.         BSTR data ) = 0;
  765.     virtual HRESULT __stdcall get_length (
  766.         long * dataLength ) = 0;
  767.     virtual HRESULT __stdcall raw_substringData (
  768.         long offset,
  769.         long count,
  770.         BSTR * data ) = 0;
  771.     virtual HRESULT __stdcall raw_appendData (
  772.         BSTR data ) = 0;
  773.     virtual HRESULT __stdcall raw_insertData (
  774.         long offset,
  775.         BSTR data ) = 0;
  776.     virtual HRESULT __stdcall raw_deleteData (
  777.         long offset,
  778.         long count ) = 0;
  779.     virtual HRESULT __stdcall raw_replaceData (
  780.         long offset,
  781.         long count,
  782.         BSTR data ) = 0;
  783. };
  784. struct __declspec(uuid("2933bf87-7b36-11d2-b20e-00c04f983e60"))
  785. IXMLDOMText : IXMLDOMCharacterData
  786. {
  787.     //
  788.     // Wrapper methods for error-handling
  789.     //
  790.     IXMLDOMTextPtr splitText (
  791.         long offset );
  792.     //
  793.     // Raw methods provided by interface
  794.     //
  795.     virtual HRESULT __stdcall raw_splitText (
  796.         long offset,
  797.         struct IXMLDOMText * * rightHandTextNode ) = 0;
  798. };
  799. struct __declspec(uuid("2933bf88-7b36-11d2-b20e-00c04f983e60"))
  800. IXMLDOMComment : IXMLDOMCharacterData
  801. {};
  802. struct __declspec(uuid("2933bf8a-7b36-11d2-b20e-00c04f983e60"))
  803. IXMLDOMCDATASection : IXMLDOMText
  804. {};
  805. struct __declspec(uuid("2933bf89-7b36-11d2-b20e-00c04f983e60"))
  806. IXMLDOMProcessingInstruction : IXMLDOMNode
  807. {
  808.     //
  809.     // Property data
  810.     //
  811.     __declspec(property(get=Getdata,put=Putdata))
  812.     _bstr_t data;
  813.     __declspec(property(get=Gettarget))
  814.     _bstr_t target;
  815.     //
  816.     // Wrapper methods for error-handling
  817.     //
  818.     _bstr_t Gettarget ( );
  819.     _bstr_t Getdata ( );
  820.     void Putdata (
  821.         _bstr_t value );
  822.     //
  823.     // Raw methods provided by interface
  824.     //
  825.     virtual HRESULT __stdcall get_target (
  826.         BSTR * name ) = 0;
  827.     virtual HRESULT __stdcall get_data (
  828.         BSTR * value ) = 0;
  829.     virtual HRESULT __stdcall put_data (
  830.         BSTR value ) = 0;
  831. };
  832. struct __declspec(uuid("2933bf8e-7b36-11d2-b20e-00c04f983e60"))
  833. IXMLDOMEntityReference : IXMLDOMNode
  834. {};
  835. struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782"))
  836. IXMLDOMParseError : IDispatch
  837. {
  838.     //
  839.     // Property data
  840.     //
  841.     __declspec(property(get=GeterrorCode))
  842.     long errorCode;
  843.     __declspec(property(get=Geturl))
  844.     _bstr_t url;
  845.     __declspec(property(get=Getreason))
  846.     _bstr_t reason;
  847.     __declspec(property(get=GetsrcText))
  848.     _bstr_t srcText;
  849.     __declspec(property(get=Getline))
  850.     long line;
  851.     __declspec(property(get=Getlinepos))
  852.     long linepos;
  853.     __declspec(property(get=Getfilepos))
  854.     long filepos;
  855.     //
  856.     // Wrapper methods for error-handling
  857.     //
  858.     long GeterrorCode ( );
  859.     _bstr_t Geturl ( );
  860.     _bstr_t Getreason ( );
  861.     _bstr_t GetsrcText ( );
  862.     long Getline ( );
  863.     long Getlinepos ( );
  864.     long Getfilepos ( );
  865.     //
  866.     // Raw methods provided by interface
  867.     //
  868.     virtual HRESULT __stdcall get_errorCode (
  869.         long * errorCode ) = 0;
  870.     virtual HRESULT __stdcall get_url (
  871.         BSTR * urlString ) = 0;
  872.     virtual HRESULT __stdcall get_reason (
  873.         BSTR * reasonString ) = 0;
  874.     virtual HRESULT __stdcall get_srcText (
  875.         BSTR * sourceString ) = 0;
  876.     virtual HRESULT __stdcall get_line (
  877.         long * lineNumber ) = 0;
  878.     virtual HRESULT __stdcall get_linepos (
  879.         long * linePosition ) = 0;
  880.     virtual HRESULT __stdcall get_filepos (
  881.         long * filePosition ) = 0;
  882. };
  883. struct __declspec(uuid("2933bf8c-7b36-11d2-b20e-00c04f983e60"))
  884. IXMLDOMNotation : IXMLDOMNode
  885. {
  886.     //
  887.     // Property data
  888.     //
  889.     __declspec(property(get=GetpublicId))
  890.     _variant_t publicId;
  891.     __declspec(property(get=GetsystemId))
  892.     _variant_t systemId;
  893.     //
  894.     // Wrapper methods for error-handling
  895.     //
  896.     _variant_t GetpublicId ( );
  897.     _variant_t GetsystemId ( );
  898.     //
  899.     // Raw methods provided by interface
  900.     //
  901.     virtual HRESULT __stdcall get_publicId (
  902.         VARIANT * publicId ) = 0;
  903.     virtual HRESULT __stdcall get_systemId (
  904.         VARIANT * systemId ) = 0;
  905. };
  906. struct __declspec(uuid("2933bf8d-7b36-11d2-b20e-00c04f983e60"))
  907. IXMLDOMEntity : IXMLDOMNode
  908. {
  909.     //
  910.     // Property data
  911.     //
  912.     __declspec(property(get=GetpublicId))
  913.     _variant_t publicId;
  914.     __declspec(property(get=GetsystemId))
  915.     _variant_t systemId;
  916.     __declspec(property(get=GetnotationName))
  917.     _bstr_t notationName;
  918.     //
  919.     // Wrapper methods for error-handling
  920.     //
  921.     _variant_t GetpublicId ( );
  922.     _variant_t GetsystemId ( );
  923.     _bstr_t GetnotationName ( );
  924.     //
  925.     // Raw methods provided by interface
  926.     //
  927.     virtual HRESULT __stdcall get_publicId (
  928.         VARIANT * publicId ) = 0;
  929.     virtual HRESULT __stdcall get_systemId (
  930.         VARIANT * systemId ) = 0;
  931.     virtual HRESULT __stdcall get_notationName (
  932.         BSTR * name ) = 0;
  933. };
  934. struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782"))
  935. IXTLRuntime : IXMLDOMNode
  936. {
  937.     //
  938.     // Wrapper methods for error-handling
  939.     //
  940.     long uniqueID (
  941.         struct IXMLDOMNode * pNode );
  942.     long depth (
  943.         struct IXMLDOMNode * pNode );
  944.     long childNumber (
  945.         struct IXMLDOMNode * pNode );
  946.     long ancestorChildNumber (
  947.         _bstr_t bstrNodeName,
  948.         struct IXMLDOMNode * pNode );
  949.     long absoluteChildNumber (
  950.         struct IXMLDOMNode * pNode );
  951.     _bstr_t formatIndex (
  952.         long lIndex,
  953.         _bstr_t bstrFormat );
  954.     _bstr_t formatNumber (
  955.         double dblNumber,
  956.         _bstr_t bstrFormat );
  957.     _bstr_t formatDate (
  958.         const _variant_t & varDate,
  959.         _bstr_t bstrFormat,
  960.         const _variant_t & varDestLocale = vtMissing );
  961.     _bstr_t formatTime (
  962.         const _variant_t & varTime,
  963.         _bstr_t bstrFormat,
  964.         const _variant_t & varDestLocale = vtMissing );
  965.     //
  966.     // Raw methods provided by interface
  967.     //
  968.     virtual HRESULT __stdcall raw_uniqueID (
  969.         struct IXMLDOMNode * pNode,
  970.         long * pID ) = 0;
  971.     virtual HRESULT __stdcall raw_depth (
  972.         struct IXMLDOMNode * pNode,
  973.         long * pDepth ) = 0;
  974.     virtual HRESULT __stdcall raw_childNumber (
  975.         struct IXMLDOMNode * pNode,
  976.         long * pNumber ) = 0;
  977.     virtual HRESULT __stdcall raw_ancestorChildNumber (
  978.         BSTR bstrNodeName,
  979.         struct IXMLDOMNode * pNode,
  980.         long * pNumber ) = 0;
  981.     virtual HRESULT __stdcall raw_absoluteChildNumber (
  982.         struct IXMLDOMNode * pNode,
  983.         long * pNumber ) = 0;
  984.     virtual HRESULT __stdcall raw_formatIndex (
  985.         long lIndex,
  986.         BSTR bstrFormat,
  987.         BSTR * pbstrFormattedString ) = 0;
  988.     virtual HRESULT __stdcall raw_formatNumber (
  989.         double dblNumber,
  990.         BSTR bstrFormat,
  991.         BSTR * pbstrFormattedString ) = 0;
  992.     virtual HRESULT __stdcall raw_formatDate (
  993.         VARIANT varDate,
  994.         BSTR bstrFormat,
  995.         VARIANT varDestLocale,
  996.         BSTR * pbstrFormattedString ) = 0;
  997.     virtual HRESULT __stdcall raw_formatTime (
  998.         VARIANT varTime,
  999.         BSTR bstrFormat,
  1000.         VARIANT varDestLocale,
  1001.         BSTR * pbstrFormattedString ) = 0;
  1002. };
  1003. struct __declspec(uuid("3efaa427-272f-11d2-836f-0000f87a7782"))
  1004. XMLDOMDocumentEvents : IDispatch
  1005. {
  1006.     //
  1007.     // Wrapper methods for error-handling
  1008.     //
  1009.     // Methods:
  1010.     HRESULT ondataavailable ( );
  1011.     HRESULT onreadystatechange ( );
  1012. };
  1013. struct __declspec(uuid("2933bf90-7b36-11d2-b20e-00c04f983e60"))
  1014. DOMDocument;
  1015.     // [ default ] interface IXMLDOMDocument
  1016.     // [ default, source ] dispinterface XMLDOMDocumentEvents
  1017. struct __declspec(uuid("2933bf91-7b36-11d2-b20e-00c04f983e60"))
  1018. DOMFreeThreadedDocument;
  1019.     // [ default ] interface IXMLDOMDocument
  1020.     // [ default, source ] dispinterface XMLDOMDocumentEvents
  1021. struct __declspec(uuid("ed8c108d-4349-11d2-91a4-00c04f7969e8"))
  1022. IXMLHttpRequest : IDispatch
  1023. {
  1024.     //
  1025.     // Property data
  1026.     //
  1027.     __declspec(property(get=Getstatus))
  1028.     long status;
  1029.     __declspec(property(get=GetstatusText))
  1030.     _bstr_t statusText;
  1031.     __declspec(property(get=GetresponseXML))
  1032.     IDispatchPtr responseXML;
  1033.     __declspec(property(get=GetresponseText))
  1034.     _bstr_t responseText;
  1035.     __declspec(property(get=GetresponseBody))
  1036.     _variant_t responseBody;
  1037.     __declspec(property(get=GetresponseStream))
  1038.     _variant_t responseStream;
  1039.     __declspec(property(get=GetreadyState))
  1040.     long readyState;
  1041.     __declspec(property(put=Putonreadystatechange))
  1042.     IDispatchPtr onreadystatechange;
  1043.     //
  1044.     // Wrapper methods for error-handling
  1045.     //
  1046.     HRESULT open (
  1047.         _bstr_t bstrMethod,
  1048.         _bstr_t bstrUrl,
  1049.         const _variant_t & varAsync = vtMissing,
  1050.         const _variant_t & bstrUser = vtMissing,
  1051.         const _variant_t & bstrPassword = vtMissing );
  1052.     HRESULT setRequestHeader (
  1053.         _bstr_t bstrHeader,
  1054.         _bstr_t bstrValue );
  1055.     _bstr_t getResponseHeader (
  1056.         _bstr_t bstrHeader );
  1057.     _bstr_t getAllResponseHeaders ( );
  1058.     HRESULT send (
  1059.         const _variant_t & varBody = vtMissing );
  1060.     HRESULT abort ( );
  1061.     long Getstatus ( );
  1062.     _bstr_t GetstatusText ( );
  1063.     IDispatchPtr GetresponseXML ( );
  1064.     _bstr_t GetresponseText ( );
  1065.     _variant_t GetresponseBody ( );
  1066.     _variant_t GetresponseStream ( );
  1067.     long GetreadyState ( );
  1068.     void Putonreadystatechange (
  1069.         IDispatch * _arg1 );
  1070.     //
  1071.     // Raw methods provided by interface
  1072.     //
  1073.     virtual HRESULT __stdcall raw_open (
  1074.         BSTR bstrMethod,
  1075.         BSTR bstrUrl,
  1076.         VARIANT varAsync = vtMissing,
  1077.         VARIANT bstrUser = vtMissing,
  1078.         VARIANT bstrPassword = vtMissing ) = 0;
  1079.     virtual HRESULT __stdcall raw_setRequestHeader (
  1080.         BSTR bstrHeader,
  1081.         BSTR bstrValue ) = 0;
  1082.     virtual HRESULT __stdcall raw_getResponseHeader (
  1083.         BSTR bstrHeader,
  1084.         BSTR * pbstrValue ) = 0;
  1085.     virtual HRESULT __stdcall raw_getAllResponseHeaders (
  1086.         BSTR * pbstrHeaders ) = 0;
  1087.     virtual HRESULT __stdcall raw_send (
  1088.         VARIANT varBody = vtMissing ) = 0;
  1089.     virtual HRESULT __stdcall raw_abort ( ) = 0;
  1090.     virtual HRESULT __stdcall get_status (
  1091.         long * plStatus ) = 0;
  1092.     virtual HRESULT __stdcall get_statusText (
  1093.         BSTR * pbstrStatus ) = 0;
  1094.     virtual HRESULT __stdcall get_responseXML (
  1095.         IDispatch * * ppBody ) = 0;
  1096.     virtual HRESULT __stdcall get_responseText (
  1097.         BSTR * pbstrBody ) = 0;
  1098.     virtual HRESULT __stdcall get_responseBody (
  1099.         VARIANT * pvarBody ) = 0;
  1100.     virtual HRESULT __stdcall get_responseStream (
  1101.         VARIANT * pvarBody ) = 0;
  1102.     virtual HRESULT __stdcall get_readyState (
  1103.         long * plState ) = 0;
  1104.     virtual HRESULT __stdcall put_onreadystatechange (
  1105.         IDispatch * _arg1 ) = 0;
  1106. };
  1107. struct __declspec(uuid("ed8c108e-4349-11d2-91a4-00c04f7969e8"))
  1108. XMLHTTPRequest;
  1109.     // [ default ] interface IXMLHttpRequest
  1110. struct __declspec(uuid("310afa62-0575-11d2-9ca9-0060b0ec3d39"))
  1111. IXMLDSOControl : IDispatch
  1112. {
  1113.     //
  1114.     // Property data
  1115.     //
  1116.     __declspec(property(get=GetXMLDocument,put=PutXMLDocument))
  1117.     IXMLDOMDocumentPtr XMLDocument;
  1118.     __declspec(property(get=GetJavaDSOCompatible,put=PutJavaDSOCompatible))
  1119.     long JavaDSOCompatible;
  1120.     __declspec(property(get=GetreadyState))
  1121.     long readyState;
  1122.     //
  1123.     // Wrapper methods for error-handling
  1124.     //
  1125.     IXMLDOMDocumentPtr GetXMLDocument ( );
  1126.     void PutXMLDocument (
  1127.         struct IXMLDOMDocument * ppDoc );
  1128.     long GetJavaDSOCompatible ( );
  1129.     void PutJavaDSOCompatible (
  1130.         long fJavaDSOCompatible );
  1131.     long GetreadyState ( );
  1132.     //
  1133.     // Raw methods provided by interface
  1134.     //
  1135.     virtual HRESULT __stdcall get_XMLDocument (
  1136.         struct IXMLDOMDocument * * ppDoc ) = 0;
  1137.     virtual HRESULT __stdcall put_XMLDocument (
  1138.         struct IXMLDOMDocument * ppDoc ) = 0;
  1139.     virtual HRESULT __stdcall get_JavaDSOCompatible (
  1140.         long * fJavaDSOCompatible ) = 0;
  1141.     virtual HRESULT __stdcall put_JavaDSOCompatible (
  1142.         long fJavaDSOCompatible ) = 0;
  1143.     virtual HRESULT __stdcall get_readyState (
  1144.         long * state ) = 0;
  1145. };
  1146. struct __declspec(uuid("550dda30-0541-11d2-9ca9-0060b0ec3d39"))
  1147. XMLDSOControl;
  1148.     // [ default ] interface IXMLDSOControl
  1149. struct __declspec(uuid("65725580-9b5d-11d0-9bfe-00c04fc99c8e"))
  1150. IXMLElementCollection : IDispatch
  1151. {
  1152.     //
  1153.     // Property data
  1154.     //
  1155.     __declspec(property(get=Getlength,put=Putlength))
  1156.     long length;
  1157.     __declspec(property(get=Get_newEnum))
  1158.     IUnknownPtr _newEnum;
  1159.     //
  1160.     // Wrapper methods for error-handling
  1161.     //
  1162.     void Putlength (
  1163.         long p );
  1164.     long Getlength ( );
  1165.     IUnknownPtr Get_newEnum ( );
  1166.     IDispatchPtr item (
  1167.         const _variant_t & var1 = vtMissing,
  1168.         const _variant_t & var2 = vtMissing );
  1169.     //
  1170.     // Raw methods provided by interface
  1171.     //
  1172.     virtual HRESULT __stdcall put_length (
  1173.         long p ) = 0;
  1174.     virtual HRESULT __stdcall get_length (
  1175.         long * p ) = 0;
  1176.     virtual HRESULT __stdcall get__newEnum (
  1177.         IUnknown * * ppUnk ) = 0;
  1178.     virtual HRESULT __stdcall raw_item (
  1179.         VARIANT var1,
  1180.         VARIANT var2,
  1181.         IDispatch * * ppDisp ) = 0;
  1182. };
  1183. struct __declspec(uuid("f52e2b61-18a1-11d1-b105-00805f49916b"))
  1184. IXMLDocument : IDispatch
  1185. {
  1186.     //
  1187.     // Property data
  1188.     //
  1189.     __declspec(property(get=Getroot))
  1190.     IXMLElementPtr root;
  1191.     __declspec(property(get=GetfileSize))
  1192.     _bstr_t fileSize;
  1193.     __declspec(property(get=GetfileModifiedDate))
  1194.     _bstr_t fileModifiedDate;
  1195.     __declspec(property(get=GetfileUpdatedDate))
  1196.     _bstr_t fileUpdatedDate;
  1197.     __declspec(property(get=Geturl,put=Puturl))
  1198.     _bstr_t url;
  1199.     __declspec(property(get=GetmimeType))
  1200.     _bstr_t mimeType;
  1201.     __declspec(property(get=GetreadyState))
  1202.     long readyState;
  1203.     __declspec(property(get=Getcharset,put=Putcharset))
  1204.     _bstr_t charset;
  1205.     __declspec(property(get=Getversion))
  1206.     _bstr_t version;
  1207.     __declspec(property(get=Getdoctype))
  1208.     _bstr_t doctype;
  1209.     __declspec(property(get=GetdtdURL))
  1210.     _bstr_t dtdURL;
  1211.     //
  1212.     // Wrapper methods for error-handling
  1213.     //
  1214.     IXMLElementPtr Getroot ( );
  1215.     _bstr_t GetfileSize ( );
  1216.     _bstr_t GetfileModifiedDate ( );
  1217.     _bstr_t GetfileUpdatedDate ( );
  1218.     _bstr_t Geturl ( );
  1219.     void Puturl (
  1220.         _bstr_t p );
  1221.     _bstr_t GetmimeType ( );
  1222.     long GetreadyState ( );
  1223.     _bstr_t Getcharset ( );
  1224.     void Putcharset (
  1225.         _bstr_t p );
  1226.     _bstr_t Getversion ( );
  1227.     _bstr_t Getdoctype ( );
  1228.     _bstr_t GetdtdURL ( );
  1229.     IXMLElementPtr createElement (
  1230.         const _variant_t & vType,
  1231.         const _variant_t & var1 = vtMissing );
  1232.     //
  1233.     // Raw methods provided by interface
  1234.     //
  1235.     virtual HRESULT __stdcall get_root (
  1236.         struct IXMLElement * * p ) = 0;
  1237.     virtual HRESULT __stdcall get_fileSize (
  1238.         BSTR * p ) = 0;
  1239.     virtual HRESULT __stdcall get_fileModifiedDate (
  1240.         BSTR * p ) = 0;
  1241.     virtual HRESULT __stdcall get_fileUpdatedDate (
  1242.         BSTR * p ) = 0;
  1243.     virtual HRESULT __stdcall get_url (
  1244.         BSTR * p ) = 0;
  1245.     virtual HRESULT __stdcall put_url (
  1246.         BSTR p ) = 0;
  1247.     virtual HRESULT __stdcall get_mimeType (
  1248.         BSTR * p ) = 0;
  1249.     virtual HRESULT __stdcall get_readyState (
  1250.         long * pl ) = 0;
  1251.     virtual HRESULT __stdcall get_charset (
  1252.         BSTR * p ) = 0;
  1253.     virtual HRESULT __stdcall put_charset (
  1254.         BSTR p ) = 0;
  1255.     virtual HRESULT __stdcall get_version (
  1256.         BSTR * p ) = 0;
  1257.     virtual HRESULT __stdcall get_doctype (
  1258.         BSTR * p ) = 0;
  1259.     virtual HRESULT __stdcall get_dtdURL (
  1260.         BSTR * p ) = 0;
  1261.     virtual HRESULT __stdcall raw_createElement (
  1262.         VARIANT vType,
  1263.         VARIANT var1,
  1264.         struct IXMLElement * * ppElem ) = 0;
  1265. };
  1266. struct __declspec(uuid("3f7f31ac-e15f-11d0-9c25-00c04fc99c8e"))
  1267. IXMLElement : IDispatch
  1268. {
  1269.     //
  1270.     // Property data
  1271.     //
  1272.     __declspec(property(get=GettagName,put=PuttagName))
  1273.     _bstr_t tagName;
  1274.     __declspec(property(get=Getparent))
  1275.     IXMLElementPtr parent;
  1276.     __declspec(property(get=Getchildren))
  1277.     IXMLElementCollectionPtr children;
  1278.     __declspec(property(get=Gettype))
  1279.     long type;
  1280.     __declspec(property(get=Gettext,put=Puttext))
  1281.     _bstr_t text;
  1282.     //
  1283.     // Wrapper methods for error-handling
  1284.     //
  1285.     _bstr_t GettagName ( );
  1286.     void PuttagName (
  1287.         _bstr_t p );
  1288.     IXMLElementPtr Getparent ( );
  1289.     HRESULT setAttribute (
  1290.         _bstr_t strPropertyName,
  1291.         const _variant_t & PropertyValue );
  1292.     _variant_t getAttribute (
  1293.         _bstr_t strPropertyName );
  1294.     HRESULT removeAttribute (
  1295.         _bstr_t strPropertyName );
  1296.     IXMLElementCollectionPtr Getchildren ( );
  1297.     long Gettype ( );
  1298.     _bstr_t Gettext ( );
  1299.     void Puttext (
  1300.         _bstr_t p );
  1301.     HRESULT addChild (
  1302.         struct IXMLElement * pChildElem,
  1303.         long lIndex,
  1304.         long lReserved );
  1305.     HRESULT removeChild (
  1306.         struct IXMLElement * pChildElem );
  1307.     //
  1308.     // Raw methods provided by interface
  1309.     //
  1310.     virtual HRESULT __stdcall get_tagName (
  1311.         BSTR * p ) = 0;
  1312.     virtual HRESULT __stdcall put_tagName (
  1313.         BSTR p ) = 0;
  1314.     virtual HRESULT __stdcall get_parent (
  1315.         struct IXMLElement * * ppParent ) = 0;
  1316.     virtual HRESULT __stdcall raw_setAttribute (
  1317.         BSTR strPropertyName,
  1318.         VARIANT PropertyValue ) = 0;
  1319.     virtual HRESULT __stdcall raw_getAttribute (
  1320.         BSTR strPropertyName,
  1321.         VARIANT * PropertyValue ) = 0;
  1322.     virtual HRESULT __stdcall raw_removeAttribute (
  1323.         BSTR strPropertyName ) = 0;
  1324.     virtual HRESULT __stdcall get_children (
  1325.         struct IXMLElementCollection * * pp ) = 0;
  1326.     virtual HRESULT __stdcall get_type (
  1327.         long * plType ) = 0;
  1328.     virtual HRESULT __stdcall get_text (
  1329.         BSTR * p ) = 0;
  1330.     virtual HRESULT __stdcall put_text (
  1331.         BSTR p ) = 0;
  1332.     virtual HRESULT __stdcall raw_addChild (
  1333.         struct IXMLElement * pChildElem,
  1334.         long lIndex,
  1335.         long lReserved ) = 0;
  1336.     virtual HRESULT __stdcall raw_removeChild (
  1337.         struct IXMLElement * pChildElem ) = 0;
  1338. };
  1339. struct __declspec(uuid("2b8de2fe-8d2d-11d1-b2fc-00c04fd915a9"))
  1340. IXMLDocument2 : IDispatch
  1341. {
  1342.     //
  1343.     // Property data
  1344.     //
  1345.     __declspec(property(get=Getroot))
  1346.     IXMLElement2Ptr root;
  1347.     __declspec(property(get=GetfileSize))
  1348.     _bstr_t fileSize;
  1349.     __declspec(property(get=GetfileModifiedDate))
  1350.     _bstr_t fileModifiedDate;
  1351.     __declspec(property(get=GetfileUpdatedDate))
  1352.     _bstr_t fileUpdatedDate;
  1353.     __declspec(property(get=Geturl,put=Puturl))
  1354.     _bstr_t url;
  1355.     __declspec(property(get=GetmimeType))
  1356.     _bstr_t mimeType;
  1357.     __declspec(property(get=GetreadyState))
  1358.     long readyState;
  1359.     __declspec(property(get=Getcharset,put=Putcharset))
  1360.     _bstr_t charset;
  1361.     __declspec(property(get=Getversion))
  1362.     _bstr_t version;
  1363.     __declspec(property(get=Getdoctype))
  1364.     _bstr_t doctype;
  1365.     __declspec(property(get=GetdtdURL))
  1366.     _bstr_t dtdURL;
  1367.     __declspec(property(get=Getasync,put=Putasync))
  1368.     VARIANT_BOOL async;
  1369.     //
  1370.     // Wrapper methods for error-handling
  1371.     //
  1372.     IXMLElement2Ptr Getroot ( );
  1373.     _bstr_t GetfileSize ( );
  1374.     _bstr_t GetfileModifiedDate ( );
  1375.     _bstr_t GetfileUpdatedDate ( );
  1376.     _bstr_t Geturl ( );
  1377.     void Puturl (
  1378.         _bstr_t p );
  1379.     _bstr_t GetmimeType ( );
  1380.     long GetreadyState ( );
  1381.     _bstr_t Getcharset ( );
  1382.     void Putcharset (
  1383.         _bstr_t p );
  1384.     _bstr_t Getversion ( );
  1385.     _bstr_t Getdoctype ( );
  1386.     _bstr_t GetdtdURL ( );
  1387.     IXMLElement2Ptr createElement (
  1388.         const _variant_t & vType,
  1389.         const _variant_t & var1 = vtMissing );
  1390.     VARIANT_BOOL Getasync ( );
  1391.     void Putasync (
  1392.         VARIANT_BOOL pf );
  1393.     //
  1394.     // Raw methods provided by interface
  1395.     //
  1396.     virtual HRESULT __stdcall get_root (
  1397.         struct IXMLElement2 * * p ) = 0;
  1398.     virtual HRESULT __stdcall get_fileSize (
  1399.         BSTR * p ) = 0;
  1400.     virtual HRESULT __stdcall get_fileModifiedDate (
  1401.         BSTR * p ) = 0;
  1402.     virtual HRESULT __stdcall get_fileUpdatedDate (
  1403.         BSTR * p ) = 0;
  1404.     virtual HRESULT __stdcall get_url (
  1405.         BSTR * p ) = 0;
  1406.     virtual HRESULT __stdcall put_url (
  1407.         BSTR p ) = 0;
  1408.     virtual HRESULT __stdcall get_mimeType (
  1409.         BSTR * p ) = 0;
  1410.     virtual HRESULT __stdcall get_readyState (
  1411.         long * pl ) = 0;
  1412.     virtual HRESULT __stdcall get_charset (
  1413.         BSTR * p ) = 0;
  1414.     virtual HRESULT __stdcall put_charset (
  1415.         BSTR p ) = 0;
  1416.     virtual HRESULT __stdcall get_version (
  1417.         BSTR * p ) = 0;
  1418.     virtual HRESULT __stdcall get_doctype (
  1419.         BSTR * p ) = 0;
  1420.     virtual HRESULT __stdcall get_dtdURL (
  1421.         BSTR * p ) = 0;
  1422.     virtual HRESULT __stdcall raw_createElement (
  1423.         VARIANT vType,
  1424.         VARIANT var1,
  1425.         struct IXMLElement2 * * ppElem ) = 0;
  1426.     virtual HRESULT __stdcall get_async (
  1427.         VARIANT_BOOL * pf ) = 0;
  1428.     virtual HRESULT __stdcall put_async (
  1429.         VARIANT_BOOL pf ) = 0;
  1430. };
  1431. struct __declspec(uuid("2b8de2ff-8d2d-11d1-b2fc-00c04fd915a9"))
  1432. IXMLElement2 : IDispatch
  1433. {
  1434.     //
  1435.     // Property data
  1436.     //
  1437.     __declspec(property(get=GettagName,put=PuttagName))
  1438.     _bstr_t tagName;
  1439.     __declspec(property(get=Getparent))
  1440.     IXMLElement2Ptr parent;
  1441.     __declspec(property(get=Getchildren))
  1442.     IXMLElementCollectionPtr children;
  1443.     __declspec(property(get=Gettype))
  1444.     long type;
  1445.     __declspec(property(get=Gettext,put=Puttext))
  1446.     _bstr_t text;
  1447.     __declspec(property(get=Getattributes))
  1448.     IXMLElementCollectionPtr attributes;
  1449.     //
  1450.     // Wrapper methods for error-handling
  1451.     //
  1452.     _bstr_t GettagName ( );
  1453.     void PuttagName (
  1454.         _bstr_t p );
  1455.     IXMLElement2Ptr Getparent ( );
  1456.     HRESULT setAttribute (
  1457.         _bstr_t strPropertyName,
  1458.         const _variant_t & PropertyValue );
  1459.     _variant_t getAttribute (
  1460.         _bstr_t strPropertyName );
  1461.     HRESULT removeAttribute (
  1462.         _bstr_t strPropertyName );
  1463.     IXMLElementCollectionPtr Getchildren ( );
  1464.     long Gettype ( );
  1465.     _bstr_t Gettext ( );
  1466.     void Puttext (
  1467.         _bstr_t p );
  1468.     HRESULT addChild (
  1469.         struct IXMLElement2 * pChildElem,
  1470.         long lIndex,
  1471.         long lReserved );
  1472.     HRESULT removeChild (
  1473.         struct IXMLElement2 * pChildElem );
  1474.     IXMLElementCollectionPtr Getattributes ( );
  1475.     //
  1476.     // Raw methods provided by interface
  1477.     //
  1478.     virtual HRESULT __stdcall get_tagName (
  1479.         BSTR * p ) = 0;
  1480.     virtual HRESULT __stdcall put_tagName (
  1481.         BSTR p ) = 0;
  1482.     virtual HRESULT __stdcall get_parent (
  1483.         struct IXMLElement2 * * ppParent ) = 0;
  1484.     virtual HRESULT __stdcall raw_setAttribute (
  1485.         BSTR strPropertyName,
  1486.         VARIANT PropertyValue ) = 0;
  1487.     virtual HRESULT __stdcall raw_getAttribute (
  1488.         BSTR strPropertyName,
  1489.         VARIANT * PropertyValue ) = 0;
  1490.     virtual HRESULT __stdcall raw_removeAttribute (
  1491.         BSTR strPropertyName ) = 0;
  1492.     virtual HRESULT __stdcall get_children (
  1493.         struct IXMLElementCollection * * pp ) = 0;
  1494.     virtual HRESULT __stdcall get_type (
  1495.         long * plType ) = 0;
  1496.     virtual HRESULT __stdcall get_text (
  1497.         BSTR * p ) = 0;
  1498.     virtual HRESULT __stdcall put_text (
  1499.         BSTR p ) = 0;
  1500.     virtual HRESULT __stdcall raw_addChild (
  1501.         struct IXMLElement2 * pChildElem,
  1502.         long lIndex,
  1503.         long lReserved ) = 0;
  1504.     virtual HRESULT __stdcall raw_removeChild (
  1505.         struct IXMLElement2 * pChildElem ) = 0;
  1506.     virtual HRESULT __stdcall get_attributes (
  1507.         struct IXMLElementCollection * * pp ) = 0;
  1508. };
  1509. struct __declspec(uuid("d4d4a0fc-3b73-11d1-b2b4-00c04fb92596"))
  1510. IXMLAttribute : IDispatch
  1511. {
  1512.     //
  1513.     // Property data
  1514.     //
  1515.     __declspec(property(get=Getname))
  1516.     _bstr_t name;
  1517.     __declspec(property(get=Getvalue))
  1518.     _bstr_t value;
  1519.     //
  1520.     // Wrapper methods for error-handling
  1521.     //
  1522.     _bstr_t Getname ( );
  1523.     _bstr_t Getvalue ( );
  1524.     //
  1525.     // Raw methods provided by interface
  1526.     //
  1527.     virtual HRESULT __stdcall get_name (
  1528.         BSTR * n ) = 0;
  1529.     virtual HRESULT __stdcall get_value (
  1530.         BSTR * v ) = 0;
  1531. };
  1532. struct __declspec(uuid("948c5ad3-c58d-11d0-9c0b-00c04fc99c8e"))
  1533. IXMLError : IUnknown
  1534. {
  1535.     //
  1536.     // Wrapper methods for error-handling
  1537.     //
  1538.     HRESULT GetErrorInfo (
  1539.         struct _xml_error * pErrorReturn );
  1540.     //
  1541.     // Raw methods provided by interface
  1542.     //
  1543.     virtual HRESULT __stdcall raw_GetErrorInfo (
  1544.         struct _xml_error * pErrorReturn ) = 0;
  1545. };
  1546. struct _xml_error
  1547. {
  1548.     unsigned int _nLine;
  1549.     BSTR _pchBuf;
  1550.     unsigned int _cchBuf;
  1551.     unsigned int _ich;
  1552.     BSTR _pszFound;
  1553.     BSTR _pszExpected;
  1554.     unsigned long _reserved1;
  1555.     unsigned long _reserved2;
  1556. };
  1557. enum tagXMLEMEM_TYPE
  1558. {
  1559.     XMLELEMTYPE_ELEMENT = 0,
  1560.     XMLELEMTYPE_TEXT = 1,
  1561.     XMLELEMTYPE_COMMENT = 2,
  1562.     XMLELEMTYPE_DOCUMENT = 3,
  1563.     XMLELEMTYPE_DTD = 4,
  1564.     XMLELEMTYPE_PI = 5,
  1565.     XMLELEMTYPE_OTHER = 6
  1566. };
  1567. struct __declspec(uuid("cfc399af-d876-11d0-9c10-00c04fc99c8e"))
  1568. XMLDocument;
  1569.     // [ default ] interface IXMLDocument2
  1570. //
  1571. // Wrapper method implementations
  1572. //
  1573. #include "msxml.tli"
  1574. } // namespace MSXML
  1575. #pragma pack(pop)