home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
msxml.idl
< prev
next >
Wrap
Text File
|
1998-04-25
|
6KB
|
167 lines
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright 1992 - 1998 Microsoft Corporation.
//
// File: xml.idl
//
//--------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright 1997 - 1998 Microsoft Corporation.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
#include "msxmldid.h"
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
import "wtypes.idl";
import "objidl.idl";
import "oaidl.idl";
#endif
interface IXMLElementCollection;
interface IXMLDocument;
interface IXMLElement;
[
uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e), // LIBID_MSXML
helpstring("Microsoft XML 1.0"),
lcid(0x0000),
version(1.0)
]
library MSXML
{
typedef enum xmlelemTYPE {
XMLELEMTYPE_ELEMENT,
XMLELEMTYPE_TEXT,
XMLELEMTYPE_COMMENT,
XMLELEMTYPE_DOCUMENT,
XMLELEMTYPE_DTD,
XMLELEMTYPE_PI,
XMLELEMTYPE_OTHER
} XMLELEM_TYPE;
[
object,
local,
uuid(65725580-9B5D-11d0-9BFE-00C04FC99C8E) // IID_IXMLElementCollection
]
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, restricted, hidden, 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);
};
[
object,
local,
uuid(F52E2B61-18A1-11d1-B105-00805F49916B) // IID_IXMLDocument
]
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 *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, 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);
};
[
object,
local,
uuid(3F7F31AC-E15F-11d0-9C25-00C04FC99C8E) // IID_IXMLElement
]
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 **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] IXMLElement *pChildElem, long lIndex, long lReserved); // lReserved must be -1
[id(DISPID_XMLELEMENT_REMOVECHILD)] HRESULT removeChild([in]IXMLElement *pChildElem);
}
typedef struct _xml_error {
unsigned _nLine; // line number
BSTR _pchBuf; // current input buffer
unsigned _cchBuf; // number of chars in buffer
unsigned _ich; // index of the char when error occurred
BSTR _pszFound; // token found
BSTR _pszExpected; // token expected
DWORD _reserved1; // reserved
DWORD _reserved2; // reserved
} XML_ERROR;
[
object,
local,
uuid(948C5AD3-C58D-11d0-9C0B-00C04FC99C8E) // IID_IXMLError
]
interface IXMLError : IUnknown
{
HRESULT GetErrorInfo(XML_ERROR *pErrorReturn);
}
[
object,
local,
uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E) // IID_IXMLElementNotificationSink
]
interface IXMLElementNotificationSink : IDispatch
{
[id(DISPID_XMLNOTIFSINK_CHILDADDED)] HRESULT ChildAdded([in]IDispatch *pChildElem); // If input param is NULL then parse of this elem is done
}
// XML Document Class
[
uuid(CFC399AF-D876-11d0-9C10-00C04FC99C8E), // CLSID_XMLDocument
helpstring("XML Document Class class")
]
coclass XMLDocument
{
[default] interface IXMLDocument;
}
}