' ########################################################################################
' Microsoft Windows
' File: xmllite.inc
' Contents: Lightweight XML parser
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_xmllite_PBI)
#DEFINE PBX_xmllite_PBI
%EQUATE `XMLLITE_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/Unknwn.inc"
#INCLUDE ONCE "Legacy/COM/ObjIdl.inc"
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
'////////////////////////////////////////////////////////////////////////////////////////////////////////////
'// XmlReader Constructors
DECLARE FUNCTION CreateXmlReader LIB "xmllite.dll" ALIAS "CreateXmlReader" ( BYREF riid AS GUID , BYREF ppvObject AS IUnknown , OPTIONAL BYVAL pMalloc AS IMalloc ) AS LONG
'////////////////////////////////////////////////////////////////////////////////////////////////////////////
'// XmlReaderInput Constructors
DECLARE FUNCTION CreateXmlReaderInputWithEncodingCodePage LIB "xmllite.dll" ALIAS "CreateXmlReaderInputWithEncodingCodePage" ( BYVAL pInputStream AS IUnknown , BYVAL pMalloc AS IMalloc , BYVAL nEncodingCodePage AS QUAD , BYVAL fEncodingHint AS LONG , BYREF pwszBaseUri AS WSTRINGZ , BYREF ppInput AS IUnknown ) AS LONG
DECLARE FUNCTION CreateXmlReaderInputWithEncodingName LIB "xmllite.dll" ALIAS "CreateXmlReaderInputWithEncodingName" ( BYVAL pInputStream AS IUnknown
 , BYVAL pMalloc AS IMalloc
 , BYREF pwszEncodingName AS WSTRINGZ
 , BYVAL fEncodingHint AS LONG
 , BYREF pwszBaseUri AS WSTRINGZ
 , BYREF ppInput AS IUnknown
 ) AS LONG
'////////////////////////////////////////////////////////////////////////////////////////////////////////////
'// XmlWriter Constructors
DECLARE FUNCTION CreateXmlWriter LIB "xmllite.dll" ALIAS "CreateXmlWriter" ( BYREF riid AS GUID , BYREF ppvObject AS IUnknown , OPTIONAL BYVAL pMalloc AS IMalloc ) AS LONG
'////////////////////////////////////////////////////////////////////////////////////////////////////////////
'// XmlWriterOutput Constructors
DECLARE FUNCTION CreateXmlWriterOutputWithEncodingCodePage LIB "xmllite.dll" ALIAS "CreateXmlWriterOutputWithEncodingCodePage" ( BYVAL pOutputStream AS IUnknown , BYVAL pMalloc AS IMalloc , BYVAL nEncodingCodePage AS QUAD , BYREF ppOutput AS IUnknown ) AS LONG
DECLARE FUNCTION CreateXmlWriterOutputWithEncodingName LIB "xmllite.dll" ALIAS "CreateXmlWriterOutputWithEncodingName" ( BYVAL pOutputStream AS IUnknown
 , BYVAL pMalloc AS IMalloc
 , BYREF pwszEncodingName AS WSTRINGZ
 , BYREF ppOutput AS IUnknown
 ) AS LONG
' XmlNodeType enum
%EQUATE `XmlNodeType_None = 0
%EQUATE `XmlNodeType_Element = 1
%EQUATE `XmlNodeType_Attribute = 2
%EQUATE `XmlNodeType_Text = 3
%EQUATE `XmlNodeType_CDATA = 4
%EQUATE `XmlNodeType_ProcessingInstruction = 7
%EQUATE `XmlNodeType_Comment = 8
%EQUATE `XmlNodeType_DocumentType = 10
%EQUATE `XmlNodeType_Whitespace = 13
%EQUATE `XmlNodeType_EndElement = 15
%EQUATE `XmlNodeType_XmlDeclaration = 17
'_XmlNodeType_Last = 17
' XmlConformanceLevel enum
%EQUATE `XmlConformanceLevel_Auto = 0
%EQUATE `XmlConformanceLevel_Fragment = 1
%EQUATE `XmlConformanceLevel_Document = 2
'_XmlConformanceLevel_Last = 2
' DtdProcessing enum
%EQUATE `DtdProcessing_Prohibit = 0
%EQUATE `DtdProcessing_Parse = %DtdProcessing_Prohibit + 1
'_DtdProcessing_Last = %DtdProcessing_Parse
' XmlReadState enum
%EQUATE `XmlReadState_Initial = 0
%EQUATE `XmlReadState_Interactive = 1
%EQUATE `XmlReadState_Error = 2
%EQUATE `XmlReadState_EndOfFile = 3
%EQUATE `XmlReadState_Closed = 4
' XmlReaderProperty enum
%EQUATE `XmlReaderProperty_MultiLanguage = 0
%EQUATE `XmlReaderProperty_ConformanceLevel = %XmlReaderProperty_MultiLanguage + 1
%EQUATE `XmlReaderProperty_RandomAccess = %XmlReaderProperty_ConformanceLevel + 1
%EQUATE `XmlReaderProperty_XmlResolver = %XmlReaderProperty_RandomAccess + 1
%EQUATE `XmlReaderProperty_DtdProcessing = %XmlReaderProperty_XmlResolver + 1
%EQUATE `XmlReaderProperty_ReadState = %XmlReaderProperty_DtdProcessing + 1
%EQUATE `XmlReaderProperty_MaxElementDepth = %XmlReaderProperty_ReadState + 1
%EQUATE `XmlReaderProperty_MaxEntityExpansion = %XmlReaderProperty_MaxElementDepth + 1
'_XmlReaderProperty_Last = %XmlReaderProperty_MaxEntityExpansion
' XmlError enum
%EQUATE `MX_E_MX = &Hc00cee00&
%EQUATE `MX_E_INPUTEND = (%MX_E_MX + 1)
%EQUATE `MX_E_ENCODING = (%MX_E_INPUTEND + 1)
%EQUATE `MX_E_ENCODINGSWITCH = (%MX_E_ENCODING + 1)
%EQUATE `MX_E_ENCODINGSIGNATURE = (%MX_E_ENCODINGSWITCH + 1)
%EQUATE `WC_E_WC = &Hc00cee20&
%EQUATE `WC_E_WHITESPACE = (%WC_E_WC + 1)
%EQUATE `WC_E_SEMICOLON = (%WC_E_WHITESPACE + 1)
%EQUATE `WC_E_GREATERTHAN = (%WC_E_SEMICOLON + 1)
%EQUATE `WC_E_QUOTE = (%WC_E_GREATERTHAN + 1)
%EQUATE `WC_E_EQUAL = (%WC_E_QUOTE + 1)
%EQUATE `WC_E_LESSTHAN = (%WC_E_EQUAL + 1)
%EQUATE `WC_E_HEXDIGIT = (%WC_E_LESSTHAN + 1)
%EQUATE `WC_E_DIGIT = (%WC_E_HEXDIGIT + 1)
%EQUATE `WC_E_LEFTBRACKET = (%WC_E_DIGIT + 1)
%EQUATE `WC_E_LEFTPAREN = (%WC_E_LEFTBRACKET + 1)
%EQUATE `WC_E_XMLCHARACTER = (%WC_E_LEFTPAREN + 1)
%EQUATE `WC_E_NAMECHARACTER = (%WC_E_XMLCHARACTER + 1)
%EQUATE `WC_E_SYNTAX = (%WC_E_NAMECHARACTER + 1)
%EQUATE `WC_E_CDSECT = (%WC_E_SYNTAX + 1)
%EQUATE `WC_E_COMMENT = (%WC_E_CDSECT + 1)
%EQUATE `WC_E_CONDSECT = (%WC_E_COMMENT + 1)
%EQUATE `WC_E_DECLATTLIST = (%WC_E_CONDSECT + 1)
%EQUATE `WC_E_DECLDOCTYPE = (%WC_E_DECLATTLIST + 1)
%EQUATE `WC_E_DECLELEMENT = (%WC_E_DECLDOCTYPE + 1)
%EQUATE `WC_E_DECLENTITY = (%WC_E_DECLELEMENT + 1)
%EQUATE `WC_E_DECLNOTATION = (%WC_E_DECLENTITY + 1)
%EQUATE `WC_E_NDATA = (%WC_E_DECLNOTATION + 1)
%EQUATE `WC_E_PUBLIC = (%WC_E_NDATA + 1)
%EQUATE `WC_E_SYSTEM = (%WC_E_PUBLIC + 1)
%EQUATE `WC_E_NAME = (%WC_E_SYSTEM + 1)
%EQUATE `WC_E_ROOTELEMENT = (%WC_E_NAME + 1)
%EQUATE `WC_E_ELEMENTMATCH = (%WC_E_ROOTELEMENT + 1)
%EQUATE `WC_E_UNIQUEATTRIBUTE = (%WC_E_ELEMENTMATCH + 1)
%EQUATE `WC_E_TEXTXMLDECL = (%WC_E_UNIQUEATTRIBUTE + 1)
%EQUATE `WC_E_LEADINGXML = (%WC_E_TEXTXMLDECL + 1)
%EQUATE `WC_E_TEXTDECL = (%WC_E_LEADINGXML + 1)
%EQUATE `WC_E_XMLDECL = (%WC_E_TEXTDECL + 1)
%EQUATE `WC_E_ENCNAME = (%WC_E_XMLDECL + 1)
%EQUATE `WC_E_PUBLICID = (%WC_E_ENCNAME + 1)
%EQUATE `WC_E_PESINTERNALSUBSET = (%WC_E_PUBLICID + 1)
%EQUATE `WC_E_PESBETWEENDECLS = (%WC_E_PESINTERNALSUBSET + 1)
%EQUATE `WC_E_NORECURSION = (%WC_E_PESBETWEENDECLS + 1)
%EQUATE `WC_E_ENTITYCONTENT = (%WC_E_NORECURSION + 1)
%EQUATE `WC_E_UNDECLAREDENTITY = (%WC_E_ENTITYCONTENT + 1)
%EQUATE `WC_E_PARSEDENTITY = (%WC_E_UNDECLAREDENTITY + 1)
%EQUATE `WC_E_NOEXTERNALENTITYREF = (%WC_E_PARSEDENTITY + 1)
%EQUATE `WC_E_PI = (%WC_E_NOEXTERNALENTITYREF + 1)
%EQUATE `WC_E_SYSTEMID = (%WC_E_PI + 1)
%EQUATE `WC_E_QUESTIONMARK = (%WC_E_SYSTEMID + 1)
%EQUATE `WC_E_CDSECTEND = (%WC_E_QUESTIONMARK + 1)
%EQUATE `WC_E_MOREDATA = (%WC_E_CDSECTEND + 1)
%EQUATE `WC_E_DTDPROHIBITED = (%WC_E_MOREDATA + 1)
%EQUATE `WC_E_INVALIDXMLSPACE = (%WC_E_DTDPROHIBITED + 1)
%EQUATE `NC_E_NC = &Hc00cee60&
%EQUATE `NC_E_QNAMECHARACTER = (%NC_E_NC + 1)
%EQUATE `NC_E_QNAMECOLON = (%NC_E_QNAMECHARACTER + 1)
%EQUATE `NC_E_NAMECOLON = (%NC_E_QNAMECOLON + 1)
%EQUATE `NC_E_DECLAREDPREFIX = (%NC_E_NAMECOLON + 1)
%EQUATE `NC_E_UNDECLAREDPREFIX = (%NC_E_DECLAREDPREFIX + 1)
%EQUATE `NC_E_EMPTYURI = (%NC_E_UNDECLAREDPREFIX + 1)
%EQUATE `NC_E_XMLPREFIXRESERVED = (%NC_E_EMPTYURI + 1)
%EQUATE `NC_E_XMLNSPREFIXRESERVED = (%NC_E_XMLPREFIXRESERVED + 1)
%EQUATE `NC_E_XMLURIRESERVED = (%NC_E_XMLNSPREFIXRESERVED + 1)
%EQUATE `NC_E_XMLNSURIRESERVED = (%NC_E_XMLURIRESERVED + 1)
%EQUATE `SC_E_SC = &Hc00cee80&
%EQUATE `SC_E_MAXELEMENTDEPTH = (%SC_E_SC + 1)
%EQUATE `SC_E_MAXENTITYEXPANSION = (%SC_E_MAXELEMENTDEPTH + 1)
%EQUATE `WR_E_WR = &Hc00cef00&
%EQUATE `WR_E_NONWHITESPACE = (%WR_E_WR + 1)
%EQUATE `WR_E_NSPREFIXDECLARED = (%WR_E_NONWHITESPACE + 1)
%EQUATE `WR_E_NSPREFIXWITHEMPTYNSURI = (%WR_E_NSPREFIXDECLARED + 1)
%EQUATE `WR_E_DUPLICATEATTRIBUTE = (%WR_E_NSPREFIXWITHEMPTYNSURI + 1)
%EQUATE `WR_E_XMLNSPREFIXDECLARATION = (%WR_E_DUPLICATEATTRIBUTE + 1)
%EQUATE `WR_E_XMLPREFIXDECLARATION = (%WR_E_XMLNSPREFIXDECLARATION + 1)
%EQUATE `WR_E_XMLURIDECLARATION = (%WR_E_XMLPREFIXDECLARATION + 1)
%EQUATE `WR_E_XMLNSURIDECLARATION = (%WR_E_XMLURIDECLARATION + 1)
%EQUATE `WR_E_NAMESPACEUNDECLARED = (%WR_E_XMLNSURIDECLARATION + 1)
%EQUATE `WR_E_INVALIDXMLSPACE = (%WR_E_NAMESPACEUNDECLARED + 1)
%EQUATE `WR_E_INVALIDACTION = (%WR_E_INVALIDXMLSPACE + 1)
%EQUATE `WR_E_INVALIDSURROGATEPAIR = (%WR_E_INVALIDACTION + 1)
%EQUATE `XML_E_INVALID_DECIMAL = &Hc00ce01d&
%EQUATE `XML_E_INVALID_HEXIDECIMAL = &Hc00ce01e&
%EQUATE `XML_E_INVALID_UNICODE = &Hc00ce01f&
%EQUATE `XML_E_INVALIDENCODING = &Hc00ce06e&
' XmlStandalone enum
%EQUATE `XmlStandalone_Omit = 0
%EQUATE `XmlStandalone_Yes = 1
%EQUATE `XmlStandalone_No = 2
'_XmlStandalone_Last = 2
' XmlWriterProperty enum
%EQUATE `XmlWriterProperty_MultiLanguage = 0
%EQUATE `XmlWriterProperty_Indent = (%XmlWriterProperty_MultiLanguage + 1)
%EQUATE `XmlWriterProperty_ByteOrderMark = (%XmlWriterProperty_Indent + 1)
%EQUATE `XmlWriterProperty_OmitXmlDeclaration = (%XmlWriterProperty_ByteOrderMark + 1)
%EQUATE `XmlWriterProperty_ConformanceLevel = (%XmlWriterProperty_OmitXmlDeclaration + 1)
'_XmlWriterProperty_Last = %XmlWriterProperty_OmitXmlDeclaration
' ########################################################################################
' Interface name = IXmlReader
' IID = 7279FC81-709D-4095-B63D-69FE4B0D9030
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IXmlReader_INTERFACE_DEFINED)
 %IXmlReader_INTERFACE_DEFINED = 1
$IID_IXmlReader = GUID$("{7279FC81-709D-4095-B63D-69FE4B0D9030}")
INTERFACE IXmlReader $IID_IXmlReader
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetInput ( ' VTable offset = 12
 OPTIONAL BYVAL pInput AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD GetProperty ( ' VTable offset = 16
 BYVAL nProperty AS DWORD
 , BYREF ppValue AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD SetProperty ( ' VTable offset = 20
 BYVAL nProperty AS DWORD
 , OPTIONAL BYVAL pValue AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD Read ( ' VTable offset = 24
 OPTIONAL BYREF pNodeType AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD GetNodeType ( ' VTable offset = 28
 BYREF pNodeType AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD MoveToFirstAttribute ( ' VTable offset = 32
 ) AS LONG
 ' =====================================================================================
 METHOD MoveToNextAttribute ( ' VTable offset = 36
 ) AS LONG
 ' =====================================================================================
 METHOD MoveToAttributeByName ( ' VTable offset = 40
 BYREF pwszLocalName AS WSTRINGZ
 , OPTIONAL BYREF pwszNamespaceUri AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD MoveToElement ( ' VTable offset = 44
 ) AS LONG
 ' =====================================================================================
 METHOD GetQualifiedName ( ' VTable offset = 48
 BYREF ppwszQualifiedName AS DWORD
 , OPTIONAL BYREF pcwchQualifiedName AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetNamespaceUri ( ' VTable offset = 52
 BYREF ppwszNamespaceUri AS DWORD
 , OPTIONAL BYREF pcwchNamespaceUri AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetLocalName ( ' VTable offset = 56
 BYREF ppwszLocalName AS DWORD
 , OPTIONAL BYREF pcwchLocalName AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetPrefix ( ' VTable offset = 60
 BYREF ppwszPrefix AS DWORD
 , OPTIONAL BYREF pcwchPrefix AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetValue ( ' VTable offset = 64
 BYREF ppwszValue AS DWORD
 , OPTIONAL BYREF pcwchValue AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD ReadValueChunk ( ' VTable offset = 68
 BYREF pwchBuffer AS DWORD
 , BYVAL cwchChunkSize AS DWORD
 , BYREF pcwchRead AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetBaseUri ( ' VTable offset = 72
 BYREF ppwszBaseUri AS DWORD
 , OPTIONAL BYREF pcwchBaseUri AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD IsDefault ( ' VTable offset = 76
 ) AS LONG
 ' =====================================================================================
 METHOD IsEmptyElement ( ' VTable offset = 80
 ) AS LONG
 ' =====================================================================================
 METHOD GetLineNumber ( ' VTable offset = 84
 BYREF pnLineNumber AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetLinePosition ( ' VTable offset = 88
 BYREF pnLinePosition AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetAttributeCount ( ' VTable offset = 92
 BYREF pnAttributeCount AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDepth ( ' VTable offset = 96
 BYREF pnDepth AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD IsEOF ( ' VTable offset = 100
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IXmlReader_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IXmlResolver
' IID = 7279FC82-709D-4095-B63D-69FE4B0D9030
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IXmlResolver_INTERFACE_DEFINED)
 %IXmlResolver_INTERFACE_DEFINED = 1
$IID_IXmlResolver = GUID$("{7279FC82-709D-4095-B63D-69FE4B0D9030}")
INTERFACE IXmlResolver $IID_IXmlResolver
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ResolveUri ( ' VTable offset = 12
 BYREF pwszBaseUri AS WSTRINGZ
 , BYREF pwszPublicIdentifier AS WSTRINGZ
 , BYREF pwszSystemIdentifier AS WSTRINGZ
 , BYREF ppResolvedInput AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IXmlResolver_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IXmlWriter
' IID = 7279FC88-709D-4095-B63D-69FE4B0D9030
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IXmlWriter_INTERFACE_DEFINED)
 %IXmlWriter_INTERFACE_DEFINED = 1
$IID_IXmlWriter = GUID$("{7279FC88-709D-4095-B63D-69FE4B0D9030}")
INTERFACE IXmlWriter $IID_IXmlWriter
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetOutput ( ' VTable offset = 12
 OPTIONAL BYVAL pOutput AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD GetProperty ( ' VTable offset = 16
 BYVAL nProperty AS DWORD
 , BYREF ppValue AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD SetProperty ( ' VTable offset = 20
 BYVAL nProperty AS DWORD
 , OPTIONAL BYVAL pValue AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD WriteAttributes ( ' VTable offset = 24
 BYVAL pReader AS IXmlReader
 , BYVAL fWriteDefaultAttributes AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD WriteAttributeString ( ' VTable offset = 28
 OPTIONAL BYREF pwszPrefix AS WSTRINGZ
 , OPTIONAL BYREF pwszLocalName AS WSTRINGZ
 , OPTIONAL BYREF pwszNamespaceUri AS WSTRINGZ
 , OPTIONAL BYREF pwszValue AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteCData ( ' VTable offset = 32
 OPTIONAL BYREF pwszText AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteCharEntity ( ' VTable offset = 36
 BYVAL wch AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD WriteChars ( ' VTable offset = 40
 BYVAL pwch AS DWORD
 , BYVAL cwch AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD WriteComment ( ' VTable offset = 44
 OPTIONAL BYREF pwszComment AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteDocType ( ' VTable offset = 48
 OPTIONAL BYREF pwszName AS WSTRINGZ
 , OPTIONAL BYREF pwszPublicId AS WSTRINGZ
 , OPTIONAL BYREF pwszSystemId AS WSTRINGZ
 , OPTIONAL BYREF pwszSubset AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteElementString ( ' VTable offset = 52
 BYREF pwszPrefix AS WSTRINGZ
 , BYREF pwszLocalName AS WSTRINGZ
 , OPTIONAL BYREF pwszNamespaceUri AS WSTRINGZ
 , OPTIONAL BYREF pwszValue AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteEndDocument ( ' VTable offset = 56
 ) AS LONG
 ' =====================================================================================
 METHOD WriteEndElement ( ' VTable offset = 60
 ) AS LONG
 ' =====================================================================================
 METHOD WriteEntityRef ( ' VTable offset = 64
 BYREF pwszName AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteFullEndElement ( ' VTable offset = 68
 ) AS LONG
 ' =====================================================================================
 METHOD WriteName ( ' VTable offset = 72
 BYREF pwszName AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteNmToken ( ' VTable offset = 76
 BYREF pwszNmToken AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteNode ( ' VTable offset = 80
 BYVAL pReader AS IXmlReader
 , BYVAL fWriteDefaultAttributes AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD WriteNodeShallow ( ' VTable offset = 84
 BYVAL pReader AS IXmlReader
 , BYVAL fWriteDefaultAttributes AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD WriteProcessingInstruction ( ' VTable offset = 88
 BYREF pwszName AS WSTRINGZ
 , OPTIONAL BYREF pwszText AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteQualifiedName ( ' VTable offset = 92
 BYREF pwszLocalName AS WSTRINGZ
 , OPTIONAL BYREF pwszNamespaceUri AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteRaw ( ' VTable offset = 96
 OPTIONAL BYREF pwszData AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteRawChars ( ' VTable offset = 100
 BYREF pwch AS WSTRINGZ
 , BYVAL cwch AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD WriteStartDocument ( ' VTable offset = 104
 BYVAL standalone AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD WriteStartElement ( ' VTable offset = 108
 BYREF pwszPrefix AS WSTRINGZ
 , BYREF pwszLocalName AS WSTRINGZ
 , OPTIONAL BYREF pwszNamespaceUri AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteString ( ' VTable offset = 112
 OPTIONAL BYREF pwszText AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD WriteSurrogateCharEntity ( ' VTable offset = 116
 BYVAL wchLow AS DWORD
 , BYVAL wchHigh AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD WriteWhitespace ( ' VTable offset = 120
 OPTIONAL BYREF pwszWhitespace AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD Flush ( ' VTable offset = 124
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IXmlWriter_INTERFACE_DEFINED__ */
#ENDIF
