Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384/* * Copyright (C) 2011 Alistair Leslie-Hughes * * 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 */#pragma makedep registerimport "unknwn.idl";import "objidl.idl";import "oaidl.idl";interface IXMLNodeSource;interface IXMLParser;interface IXMLNodeFactory;interface IMoniker;typedef enum{ XML_ELEMENT = 1, XML_ATTRIBUTE, XML_PI, XML_XMLDECL, XML_DOCTYPE, XML_DTDATTRIBUTE, XML_ENTITYDECL, XML_ELEMENTDECL, XML_ATTLISTDECL, XML_NOTATION, XML_GROUP, XML_INCLUDESECT, XML_PCDATA, XML_CDATA, XML_IGNORESECT, XML_COMMENT, XML_ENTITYREF, XML_WHITESPACE, XML_NAME, XML_NMTOKEN, XML_STRING, XML_PEREF, XML_MODEL, XML_ATTDEF, XML_ATTTYPE, XML_ATTPRESENCE, XML_DTDSUBSET, XML_LASTNODETYPE} XML_NODE_TYPE;typedef enum{ XML_VERSION = XML_LASTNODETYPE, XML_ENCODING, XML_STANDALONE, XML_NS, XML_XMLSPACE, XML_XMLLANG, XML_SYSTEM, XML_PUBLIC, XML_NDATA, XML_AT_CDATA, XML_AT_ID, XML_AT_IDREF, XML_AT_IDREFS, XML_AT_ENTITY, XML_AT_ENTITIES, XML_AT_NMTOKEN, XML_AT_NMTOKENS, XML_AT_NOTATION, XML_AT_REQUIRED, XML_AT_IMPLIED, XML_AT_FIXED, XML_PENTITYDECL, XML_EMPTY, XML_ANY, XML_MIXED, XML_SEQUENCE, XML_CHOICE, XML_STAR, XML_PLUS, XML_QUESTIONMARK, XML_LASTSUBNODETYPE}XML_NODE_SUBTYPE;typedef enum{ XML_E_PARSEERRORBASE = 0xC00CE500L, XML_E_ENDOFINPUT = XML_E_PARSEERRORBASE, XML_E_MISSINGEQUALS = 0xC00CE501, XML_E_MISSINGQUOTE = 0xC00CE502, XML_E_COMMENTSYNTAX = 0xC00CE503, XML_E_BADSTARTNAMECHAR = 0xC00CE504, XML_E_BADNAMECHAR = 0xC00CE505, XML_E_BADCHARINSTRING = 0xC00CE506, XML_E_XMLDECLSYNTAX = 0xC00CE507, XML_E_BADCHARDATA = 0xC00CE508, XML_E_MISSINGWHITESPACE = 0xC00CE509, XML_E_EXPECTINGTAGEND = 0xC00CE50A, XML_E_BADCHARINDTD = 0xC00CE50B, XML_E_BADCHARINDECL = 0xC00CE50C, XML_E_MISSINGSEMICOLON = 0xC00CE50D, XML_E_BADCHARINENTREF = 0xC00CE50E, XML_E_UNBALANCEDPAREN = 0xC00CE50F, XML_E_EXPECTINGOPENBRACKET = 0xC00CE510, XML_E_BADENDCONDSECT = 0xC00CE511, XML_E_INTERNALERROR = 0xC00CE512, XML_E_UNEXPECTED_WHITESPACE = 0xC00CE513, XML_E_INCOMPLETE_ENCODING = 0xC00CE514, XML_E_BADCHARINMIXEDMODEL = 0xC00CE515, XML_E_MISSING_STAR = 0xC00CE516, XML_E_BADCHARINMODEL = 0xC00CE517, XML_E_MISSING_PAREN = 0xC00CE518, XML_E_BADCHARINENUMERATION = 0xC00CE519, XML_E_PIDECLSYNTAX = 0xC00CE51A, XML_E_EXPECTINGCLOSEQUOTE = 0xC00CE51B, XML_E_MULTIPLE_COLONS = 0xC00CE51C, XML_E_INVALID_DECIMAL = 0xC00CE51D, XML_E_INVALID_HEXIDECIMAL = 0xC00CE51E, XML_E_INVALID_UNICODE = 0xC00CE51F, XML_E_WHITESPACEORQUESTIONMARK = 0xC00CE520, XML_E_ENDOFPE = 0xC00CE521, XML_E_TOKEN_ERROR = XML_E_PARSEERRORBASE + 0x50, XML_E_SUSPENDED = 0xC00CE550, XML_E_STOPPED = 0xC00CE551, XML_E_UNEXPECTEDENDTAG = 0xC00CE552, XML_E_UNCLOSEDTAG = 0xC00CE553, XML_E_DUPLICATEATTRIBUTE = 0xC00CE554, XML_E_MULTIPLEROOTS = 0xC00CE555, XML_E_INVALIDATROOTLEVEL = 0xC00CE556, XML_E_BADXMLDECL = 0xC00CE557, XML_E_MISSINGROOT = 0xC00CE558, XML_E_UNEXPECTEDEOF = 0xC00CE559, XML_E_BADPEREFINSUBSET = 0xC00CE55A, XML_E_PE_NESTING = 0xC00CE55B, XML_E_INVALID_CDATACLOSINGTAG = 0xC00CE55C, XML_E_UNCLOSEDPI = 0xC00CE55D, XML_E_UNCLOSEDSTARTTAG = 0xC00CE55E, XML_E_UNCLOSEDENDTAG = 0xC00CE55F, XML_E_UNCLOSEDSTRING = 0xC00CE560, XML_E_UNCLOSEDCOMMENT = 0xC00CE561, XML_E_UNCLOSEDDECL = 0xC00CE562, XML_E_UNCLOSEDMARKUPDECL = 0xC00CE563, XML_E_UNCLOSEDCDATA = 0xC00CE564, XML_E_BADDECLNAME = 0xC00CE565, XML_E_BADEXTERNALID = 0xC00CE566, XML_E_BADELEMENTINDTD = 0xC00CE567, XML_E_RESERVEDNAMESPACE = 0xC00CE568, XML_E_EXPECTING_VERSION = 0xC00CE569, XML_E_EXPECTING_ENCODING = 0xC00CE56A, XML_E_EXPECTING_NAME = 0xC00CE56B, XML_E_UNEXPECTED_ATTRIBUTE = 0xC00CE56C, XML_E_ENDTAGMISMATCH = 0xC00CE56D, XML_E_INVALIDENCODING = 0xC00CE56E, XML_E_INVALIDSWITCH = 0xC00CE56F, XML_E_EXPECTING_NDATA = 0xC00CE570, XML_E_INVALID_MODEL = 0xC00CE571, XML_E_INVALID_TYPE = 0xC00CE572, XML_E_INVALIDXMLSPACE = 0xC00CE573, XML_E_MULTI_ATTR_VALUE = 0xC00CE574, XML_E_INVALID_PRESENCE = 0xC00CE575, XML_E_BADXMLCASE = 0xC00CE576, XML_E_CONDSECTINSUBSET = 0xC00CE577, XML_E_CDATAINVALID = 0xC00CE578, XML_E_INVALID_STANDALONE = 0xC00CE579, XML_E_UNEXPECTED_STANDALONE = 0xC00CE57A, XML_E_DOCTYPE_IN_DTD = 0xC00CE57B, XML_E_MISSING_ENTITY = 0xC00CE57C, XML_E_ENTITYREF_INNAME = 0xC00CE57D, XML_E_DOCTYPE_OUTSIDE_PROLOG = 0xC00CE57E, XML_E_INVALID_VERSION = 0xC00CE57F, XML_E_DTDELEMENT_OUTSIDE_DTD = 0xC00CE580, XML_E_DUPLICATEDOCTYPE = 0xC00CE581, XML_E_RESOURCE = 0xC00CE582, XML_E_MISSINGNAME = 0xC00CE583, XML_E_LASTERROR = 0xC00CE584} XML_ERROR_CODE;typedef enum{ XMLPARSER_IDLE, XMLPARSER_WAITING, XMLPARSER_BUSY, XMLPARSER_ERROR, XMLPARSER_STOPPED, XMLPARSER_SUSPENDED} XML_PARSER_STATE;typedef enum{ XMLFLAG_FLOATINGAMP = 0x00000001, XMLFLAG_SHORTENDTAGS = 0x00000002, XMLFLAG_CASEINSENSITIVE = 0x00000004, XMLFLAG_NONAMESPACES = 0x00000008, XMLFLAG_NOWHITESPACE = 0x00000010, XMLFLAG_IE4QUIRKS = 0x00000020, XMLFLAG_NODTDNODES = 0x00000040, XMLFLAG_IE4COMPATIBILITY = 0x000000FF, XMLFLAG_IE5COMPATIBILITY = 0x00000100, XMLFLAG_SAX = 0x00000200, XMLFLAG_NORMALIZELB = 0x00000400, XMLFLAG_IGNOREENCODING = 0x00000800, XMLFLAG_USEWINHTTP = 0x00001000, XMLFLAG_RUNBUFFERONLY = 0x00002000, XMLFLAG_PROHIBIT_DTD = 0x00008000} XML_PARSER_FLAGS;typedef enum{ XMLNF_STARTDOCUMENT, XMLNF_STARTDTD, XMLNF_ENDDTD, XMLNF_STARTDTDSUBSET, XMLNF_ENDDTDSUBSET, XMLNF_ENDPROLOG, XMLNF_STARTENTITY, XMLNF_ENDENTITY, XMLNF_ENDDOCUMENT, XMLNF_DATAAVAILABLE, XMLNF_LASTEVENT = XMLNF_DATAAVAILABLE} XML_NODEFACTORY_EVENT;typedef struct _XML_NODE_INFO{ DWORD dwSize; DWORD dwType; DWORD dwSubType; BOOL fTerminal; const WCHAR* pwcText; ULONG ulLen; ULONG ulNsPrefixLen; PVOID pNode; PVOID pReserved;} XML_NODE_INFO;[ uuid(d242361c-51a0-11d2-9caf-0060b0ec3d39), helpstring("Microsoft XML Parser 1.0"), lcid(0x0000), version(1.0)]library XMLPSR{/* importlib("stdole32.tlb"); */importlib("stdole2.tlb");[ local, object, pointer_default(unique), helpstring("IXMLNodeFactory Interface"), uuid(d242361f-51a0-11d2-9caf-0060b0ec3d39)]interface IXMLNodeFactory : IUnknown{ HRESULT NotifyEvent([in] IXMLNodeSource* pSource,[in] XML_NODEFACTORY_EVENT iEvt); HRESULT BeginChildren([in] IXMLNodeSource* pSource, [in] XML_NODE_INFO* pNodeInfo); HRESULT EndChildren([in] IXMLNodeSource* pSource, [in] BOOL fEmpty, [in] XML_NODE_INFO* pNodeInfo); HRESULT Error([in] IXMLNodeSource* pSource,[in] HRESULT hrErrorCode, [in] USHORT cNumRecs, [in] XML_NODE_INFO** ppNodeInfo); HRESULT CreateNode([in] IXMLNodeSource* pSource, [in] PVOID pNodeParent, [in] USHORT cNumRecs, [in] XML_NODE_INFO** ppNodeInfo);};[ local, object, pointer_default(unique), uuid(d242361d-51a0-11d2-9caf-0060b0ec3d39)]interface IXMLNodeSource : IUnknown{ HRESULT SetFactory([in] IXMLNodeFactory* pNodeFactory); HRESULT GetFactory([out] IXMLNodeFactory** ppNodeFactory); HRESULT Abort([in] BSTR bstrErrorInfo); ULONG GetLineNumber(); ULONG GetLinePosition(); ULONG GetAbsolutePosition(); HRESULT GetLineBuffer([out] const WCHAR** ppBuf,[out] ULONG* Len, [out] ULONG* StartPos); HRESULT GetLastError(); HRESULT GetErrorInfo([out] BSTR* pErrorInfo); ULONG GetFlags(); HRESULT GetURL([out] const WCHAR** ppBuf);};[ local, object, pointer_default(unique), helpstring("IXMLParser Interface"), uuid(d242361e-51a0-11d2-9caf-0060b0ec3d39)]interface IXMLParser : IXMLNodeSource{ HRESULT SetURL([in] const WCHAR* pszBaseUrl,[in] const WCHAR* pszRelativeUrl,[in] BOOL fAsync); HRESULT Load([in] BOOL fFullyAvailable, [in] IMoniker *pimkName, [in] LPBC pibc, [in] DWORD grfMode); HRESULT SetInput([in] IUnknown *pStm); HRESULT PushData([in] const char* pData, [in] ULONG ulChars, [in] BOOL fLastBuffer); HRESULT LoadDTD([in] const WCHAR* pszBaseUrl, [in] const WCHAR* pszRelativeUrl); HRESULT LoadEntity([in] const WCHAR* pszBaseUrl, [in] const WCHAR* pszRelativeUrl, [in] BOOL fpe); HRESULT ParseEntity([in] const WCHAR* pwcText, [in] ULONG ulLen, [in] BOOL fpe); HRESULT ExpandEntity([in] const WCHAR* pwcText, [in] ULONG ulLen); HRESULT SetRoot([in] PVOID pRoot); HRESULT GetRoot([in] PVOID* ppRoot); HRESULT Run([in] long lChars); HRESULT GetParserState(); HRESULT Suspend(); HRESULT Reset(); HRESULT SetFlags([in] ULONG iFlags); HRESULT SetSecureBaseURL([in] const WCHAR* pszBaseUrl); HRESULT GetSecureBaseURL([out] const WCHAR** ppwcBuf);};}[ helpstring("XML Parser"), uuid(f5078f19-c551-11d3-89b9-0000f81fe221), threading(both), progid("Msxml2.XMLParser"), vi_progid("Msxml2.XMLParser"), version(3.0)]coclass XMLParser{ [default] interface IXMLParser;};[ helpstring("XML Parser 2.6"), uuid(f5078f20-c551-11d3-89b9-0000f81fe221), threading(both), progid("Msxml2.XMLParser.2.6"), vi_progid("Msxml2.XMLParser"), version(2.6)]coclass XMLParser26{ [default] interface IXMLParser;};[ helpstring("XML Parser 3.0"), uuid(f5078f31-c551-11d3-89b9-0000f81fe221), threading(both), progid("Msxml2.XMLParser.3.0"), vi_progid("Msxml2.XMLParser"), version(3.0)]coclass XMLParser30{ [default] interface IXMLParser;};[ helpstring("XML Document"), threading(apartment), uuid(48123bc4-99d9-11d1-a6b3-00c04fd91555), progid("xmlfile"), version(1.0)]coclass XMLView{ interface IPersistMoniker; interface IPersistHistory; interface IOleCommandTarget; interface IOleObject;}