home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / msxml.idl < prev    next >
Text File  |  1998-04-25  |  6KB  |  167 lines

  1. //+-------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright 1992 - 1998 Microsoft Corporation.
  5. //
  6. //  File: xml.idl
  7. //
  8. //--------------------------------------------------------------------------
  9.  
  10.  
  11.  
  12. cpp_quote("//+-------------------------------------------------------------------------")
  13. cpp_quote("//")
  14. cpp_quote("//  Microsoft Windows")
  15. cpp_quote("//  Copyright 1997 - 1998 Microsoft Corporation.")
  16. cpp_quote("//")
  17. cpp_quote("//--------------------------------------------------------------------------")
  18.  
  19.  
  20. #include "msxmldid.h"
  21.  
  22. #ifndef DO_NO_IMPORTS
  23. import "unknwn.idl";
  24. import "wtypes.idl";
  25. import "objidl.idl";
  26. import "oaidl.idl";
  27. #endif
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. interface IXMLElementCollection;
  35. interface IXMLDocument;
  36. interface IXMLElement;
  37.  
  38.  
  39. [
  40.     uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e),     // LIBID_MSXML
  41.     helpstring("Microsoft XML 1.0"),
  42.     lcid(0x0000),
  43.     version(1.0)
  44. ]
  45.  
  46. library MSXML
  47. {
  48.  
  49. typedef enum xmlelemTYPE {  
  50.     XMLELEMTYPE_ELEMENT,
  51.     XMLELEMTYPE_TEXT,
  52.     XMLELEMTYPE_COMMENT,
  53.     XMLELEMTYPE_DOCUMENT,
  54.     XMLELEMTYPE_DTD,
  55.     XMLELEMTYPE_PI,
  56.     XMLELEMTYPE_OTHER
  57. } XMLELEM_TYPE; 
  58.  
  59.  
  60. [
  61.     object,
  62.     local,
  63.     uuid(65725580-9B5D-11d0-9BFE-00C04FC99C8E) // IID_IXMLElementCollection
  64. ]
  65. interface IXMLElementCollection : IDispatch
  66. {
  67.     [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)] HRESULT length([in] long v);
  68.     [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
  69.     [propget, restricted, hidden, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)] HRESULT _newEnum([retval, out] IUnknown ** ppUnk);
  70.     [id(DISPID_XMLELEMENTCOLLECTION_ITEM)] HRESULT item([optional, in] VARIANT var1,[optional, in] VARIANT var2,[retval, out] IDispatch ** ppDisp);
  71. };
  72.  
  73.  
  74. [
  75.     object,
  76.     local,
  77.     uuid(F52E2B61-18A1-11d1-B105-00805F49916B) // IID_IXMLDocument
  78. ]
  79. interface IXMLDocument : IDispatch
  80. {
  81.     [propget, id(DISPID_XMLDOCUMENT_ROOT)] HRESULT root ([retval, out] IXMLElement * * p);
  82.     [propget, id(DISPID_XMLDOCUMENT_FILESIZE)] HRESULT fileSize([retval, out] BSTR * p);
  83.     [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)] HRESULT fileModifiedDate([retval, out] BSTR * p);
  84.     [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)] HRESULT fileUpdatedDate([retval, out] BSTR * p);
  85.     [propget, id(DISPID_XMLDOCUMENT_URL)] HRESULT URL([retval, out] BSTR * p);
  86.     [propput, id(DISPID_XMLDOCUMENT_URL)] HRESULT URL([in] BSTR p);
  87.     [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p);
  88.     [propget, id(DISPID_XMLDOCUMENT_READYSTATE)] HRESULT readyState([retval, out]long *pl);
  89.     [propget, id(DISPID_XMLDOCUMENT_CHARSET)]  HRESULT charset([retval, out]BSTR *p);
  90.     [propput, id(DISPID_XMLDOCUMENT_CHARSET)]  HRESULT charset([in]BSTR p);
  91.     [propget, id(DISPID_XMLDOCUMENT_VERSION)]  HRESULT version([retval, out]BSTR *p);
  92.     [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]  HRESULT doctype([retval, out]BSTR *p);
  93.     [propget, id(DISPID_XMLDOCUMENT_DTDURL)]   HRESULT dtdURL([retval, out]BSTR *p);
  94.     [id(DISPID_XMLDOCUMENT_CREATEELEMENT)] HRESULT createElement([in] VARIANT vType, [optional, in] VARIANT var1, [retval, out] IXMLElement * * ppElem);
  95. };
  96.  
  97.  
  98. [
  99.     object,
  100.     local,
  101.     uuid(3F7F31AC-E15F-11d0-9C25-00C04FC99C8E) // IID_IXMLElement
  102. ]
  103. interface IXMLElement : IDispatch
  104. {
  105.     [propget, id(DISPID_XMLELEMENT_TAGNAME)] HRESULT tagName([retval, out] BSTR * p);
  106.     [propput, id(DISPID_XMLELEMENT_TAGNAME)] HRESULT tagName([in] BSTR p);
  107.     [propget, id(DISPID_XMLELEMENT_PARENT)] HRESULT parent([retval, out]IXMLElement **ppParent);
  108.     [id(DISPID_XMLELEMENT_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strPropertyName,[in] VARIANT PropertyValue);
  109.     [id(DISPID_XMLELEMENT_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strPropertyName,[retval, out] VARIANT* PropertyValue);
  110.     [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strPropertyName);
  111.     [propget, id(DISPID_XMLELEMENT_CHILDREN)] HRESULT children([retval, out] IXMLElementCollection * * pp); 
  112.     [propget, id(DISPID_XMLELEMENT_TYPE)] HRESULT type([retval, out] long *plType);
  113.     [propget, id(DISPID_XMLELEMENT_TEXT)] HRESULT text([retval, out] BSTR *p);
  114.     [propput, id(DISPID_XMLELEMENT_TEXT)] HRESULT text([in] BSTR p);
  115.     [id(DISPID_XMLELEMENT_ADDCHILD)] HRESULT addChild([in] IXMLElement *pChildElem, long lIndex, long lReserved); // lReserved must be -1
  116.     [id(DISPID_XMLELEMENT_REMOVECHILD)] HRESULT removeChild([in]IXMLElement *pChildElem);
  117. }
  118.  
  119. typedef struct _xml_error {
  120.     unsigned        _nLine;         // line number
  121.     BSTR            _pchBuf;        // current input buffer
  122.     unsigned        _cchBuf;        // number of chars in buffer
  123.     unsigned        _ich;           // index of the char when error occurred
  124.     BSTR            _pszFound;      // token found
  125.     BSTR            _pszExpected;   // token expected
  126.     DWORD           _reserved1;     // reserved    
  127.     DWORD           _reserved2;     // reserved
  128. } XML_ERROR;
  129.  
  130. [
  131.     object,
  132.     local,
  133.     uuid(948C5AD3-C58D-11d0-9C0B-00C04FC99C8E) // IID_IXMLError
  134. ]
  135.  
  136. interface IXMLError : IUnknown
  137. {
  138.     HRESULT GetErrorInfo(XML_ERROR *pErrorReturn);
  139. }
  140.  
  141.  
  142. [
  143.     object,
  144.     local,
  145.     uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E) // IID_IXMLElementNotificationSink
  146. ]
  147.  
  148. interface IXMLElementNotificationSink : IDispatch
  149. {
  150.     [id(DISPID_XMLNOTIFSINK_CHILDADDED)] HRESULT ChildAdded([in]IDispatch *pChildElem); // If input param is NULL then parse of this elem is done
  151. }
  152.  
  153.  
  154.  
  155.  // XML Document Class
  156. [
  157.     uuid(CFC399AF-D876-11d0-9C10-00C04FC99C8E), // CLSID_XMLDocument
  158.     helpstring("XML Document Class class")
  159. ]
  160. coclass XMLDocument
  161. {
  162.     [default] interface IXMLDocument;
  163. }
  164.  
  165.  
  166. }
  167.