reactos/sdk/include/psdk/msxml.idl

358 lines
9 KiB
Plaintext

/*
* Copyright (C) 2005 Mike McCormack
* Copyright (C) 2005 Vijay Kiran Kamuju
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <msxmldid.h>
#include <msxml2did.h>
#include <idispids.h>
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
import "wtypes.idl";
import "objidl.idl";
import "oaidl.idl";
#endif
[
uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e),
version(2.0),
helpstring("Microsoft XML, v2.0")
]
library MSXML
{
importlib("stdole2.tlb");
#include <xmldom.idl>
#include <xmldso.idl>
[
local,
object,
odl,
dual,
oleautomation,
uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e)
]
interface IXMLElementCollection : IDispatch
{
[propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
HRESULT length( [in] LONG v );
[propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
HRESULT length( [retval, out] LONG *p );
[propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)]
HRESULT _newEnum( [retval, out] IUnknown ** ppUnk );
[id(DISPID_XMLELEMENTCOLLECTION_ITEM)]
HRESULT item(
[optional, in] VARIANT var1,
[optional, in] VARIANT var2,
[retval, out] IDispatch ** ppDisp );
}
[
local,
object,
uuid(3f7f31ac-e15f-11d0-9c25-00c04fc99c8e)
]
interface IXMLElement : IDispatch
{
[propget, id(DISPID_XMLELEMENT_TAGNAME)]
HRESULT tagName( [retval, out] BSTR *p);
[propput, id(DISPID_XMLELEMENT_TAGNAME)]
HRESULT tagName( [in] BSTR p );
[propget, id(DISPID_XMLELEMENT_PARENT)]
HRESULT parent( [retval, out] IXMLElement **parent );
[id(DISPID_XMLELEMENT_SETATTRIBUTE)]
HRESULT setAttribute(
[in] BSTR strPropertyName,
[in] VARIANT PropertyValue );
[id(DISPID_XMLELEMENT_GETATTRIBUTE)]
HRESULT getAttribute(
[in] BSTR strPropertyName,
[retval, out] VARIANT *PropertyValue );
[id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
HRESULT removeAttribute(
[in] BSTR strPropertyName );
[propget, id(DISPID_XMLELEMENT_CHILDREN)]
HRESULT children( [retval, out] IXMLElementCollection **p );
[propget, id(DISPID_XMLELEMENT_TYPE)]
HRESULT type( [retval, out] LONG *p );
[propget, id(DISPID_XMLELEMENT_TEXT)]
HRESULT text( [retval, out] BSTR *p );
[propput, id(DISPID_XMLELEMENT_TEXT)]
HRESULT text( [in] BSTR p );
[id(DISPID_XMLELEMENT_ADDCHILD)]
HRESULT addChild(
[in] IXMLElement *pChildElem,
[in] LONG lIndex,
[in] LONG lreserved );
[id(DISPID_XMLELEMENT_REMOVECHILD)]
HRESULT removeChild(
[in] IXMLElement *pChildElem );
}
[
local,
object,
uuid(f52e2b61-18a1-11d1-b105-00805f49916b)
]
interface IXMLDocument : IDispatch
{
[propget, id(DISPID_XMLDOCUMENT_ROOT)]
HRESULT root( [retval, out] IXMLElement **p );
[propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
HRESULT fileSize( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
HRESULT fileModifiedDate( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
HRESULT fileUpdatedDate( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_URL)]
HRESULT URL( [retval, out] BSTR *p );
[propput, id(DISPID_XMLDOCUMENT_URL)]
HRESULT URL( [in] BSTR p );
[propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
HRESULT mimeType( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
HRESULT readyState( [retval, out] LONG *p );
[propget, id(DISPID_XMLDOCUMENT_CHARSET)]
HRESULT charset( [retval, out] BSTR *p );
[propput, id(DISPID_XMLDOCUMENT_CHARSET)]
HRESULT charset( [in] BSTR p );
[propget, id(DISPID_XMLDOCUMENT_VERSION)]
HRESULT version( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
HRESULT doctype( [retval, out] BSTR *p );
[propget, id(DISPID_XMLDOCUMENT_DTDURL)]
HRESULT dtdURl( [retval, out] BSTR *p );
[id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
HRESULT createElement(
[in] VARIANT vType,
[optional, in] VARIANT var1,
[retval, out] IXMLElement **ppElem );
}
[
local,
object,
uuid(2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9)
]
interface IXMLElement2 : IDispatch
{
[propget, id(DISPID_XMLELEMENT_TAGNAME)]
HRESULT tagName([retval, out] BSTR *p);
[propput, id(DISPID_XMLELEMENT_TAGNAME)]
HRESULT tagName([in] BSTR p);
[propget, id(DISPID_XMLELEMENT_PARENT)]
HRESULT parent([retval, out]IXMLElement2 **ppParent);
[id(DISPID_XMLELEMENT_SETATTRIBUTE)]
HRESULT setAttribute(
[in] BSTR strPropertyName,
[in] VARIANT PropertyValue);
[id(DISPID_XMLELEMENT_GETATTRIBUTE)]
HRESULT getAttribute(
[in] BSTR strPropertyName,
[retval, out] VARIANT *PropertyValue);
[id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
HRESULT removeAttribute([in] BSTR strPropertyName);
[propget, id(DISPID_XMLELEMENT_CHILDREN)]
HRESULT children([retval, out] IXMLElementCollection **pp);
[propget, id(DISPID_XMLELEMENT_TYPE)]
HRESULT type([retval, out] LONG *plType);
[propget, id(DISPID_XMLELEMENT_TEXT)]
HRESULT text([retval, out] BSTR *p);
[propput, id(DISPID_XMLELEMENT_TEXT)]
HRESULT text([in] BSTR p);
[id(DISPID_XMLELEMENT_ADDCHILD)]
HRESULT addChild(
[in] IXMLElement2 *pChildElem,
[in] LONG lIndex,
[in] LONG lReserved);
[id(DISPID_XMLELEMENT_REMOVECHILD)]
HRESULT removeChild([in]IXMLElement2 *pChildElem);
[propget, id(DISPID_XMLELEMENT_ATTRIBUTES)]
HRESULT attributes([retval, out] IXMLElementCollection **pp);
}
[
local,
object,
uuid(2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9)
]
interface IXMLDocument2 : IDispatch
{
[propget, id(DISPID_XMLDOCUMENT_ROOT)]
HRESULT root([retval, out] IXMLElement2 **p);
[propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
HRESULT fileSize([retval, out] BSTR *p);
[propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
HRESULT fileModifiedDate([retval, out] BSTR *p);
[propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
HRESULT fileUpdatedDate([retval, out] BSTR *p);
[propget, id(DISPID_XMLDOCUMENT_URL)]
HRESULT URL([retval, out] BSTR *p);
[propput, id(DISPID_XMLDOCUMENT_URL)]
HRESULT URL([in] BSTR p);
[propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
HRESULT mimeType([retval, out] BSTR *p);
[propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
HRESULT readyState([retval, out]LONG *pl);
[propget, id(DISPID_XMLDOCUMENT_CHARSET)]
HRESULT charset([retval, out]BSTR *p);
[propput, id(DISPID_XMLDOCUMENT_CHARSET)]
HRESULT charset([in]BSTR p);
[propget, id(DISPID_XMLDOCUMENT_VERSION)]
HRESULT version([retval, out]BSTR *p);
[propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
HRESULT doctype([retval, out]BSTR *p);
[propget, restricted, id(DISPID_XMLDOCUMENT_DTDURL)]
HRESULT dtdURL([retval, out]BSTR *p);
[id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
HRESULT createElement(
[in] VARIANT vType,
[optional, in] VARIANT var,
[retval, out] IXMLElement2 **ppElem);
[propget, id(DISPID_XMLDOCUMENT_ASYNC)]
HRESULT async([retval, out] VARIANT_BOOL *pf);
[propput, id(DISPID_XMLDOCUMENT_ASYNC)]
HRESULT async([in] VARIANT_BOOL f);
}
typedef enum tagXMLEMEM_TYPE {
XMLELEMTYPE_ELEMENT = 0,
XMLELEMTYPE_TEXT = 1,
XMLELEMTYPE_COMMENT = 2,
XMLELEMTYPE_DOCUMENT = 3,
XMLELEMTYPE_DTD = 4,
XMLELEMTYPE_PI = 5,
XMLELEMTYPE_OTHER = 6
} XMLELEM_TYPE;
typedef struct _xml_error {
UINT _nLine;
BSTR _pchBuf;
BSTR _cchBuf;
UINT _ich;
BSTR _pszFound;
BSTR _pszExpected;
DWORD _reserved1;
DWORD _reserved2;
} XML_ERROR;
[
local,
object,
uuid(d4d4a0fc-3b73-11d1-b2b4-00c04fb92596)
]
interface IXMLAttribute : IDispatch
{
[propget, id(DISPID_XMLATTRIBUTE_NAME)]
HRESULT name( [retval, out] BSTR *p );
[propget, id(DISPID_XMLATTRIBUTE_VALUE)]
HRESULT value( [retval, out] BSTR *p );
}
[
local,
object,
uuid(948c5ad3-c58d-11d0-9c0b-00c04fc99c8e)
]
interface IXMLError : IUnknown
{
HRESULT GetErrorInfo([out]XML_ERROR *pErrorReturn);
}
[
object,
local,
uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E)
]
interface IXMLElementNotificationSink : IDispatch
{
[id(DISPID_XMLNOTIFSINK_CHILDADDED)]
HRESULT ChildAdded([in]IDispatch *pChildElem);
}
[
helpstring("Msxml"),
progid("Msxml"),
threading(both),
version(1.0),
uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e)
]
coclass XMLDocument
{
[default] interface IXMLDocument;
}
} /* Library MSXML */