/*** Autogenerated by WIDL 1.3.20 from xmllite.idl - Do not edit ***/

#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_XMLLITE_H
#define __WIDL_XMLLITE_H

/* Forward declarations */

#ifndef __IXmlReader_FWD_DEFINED__
#define __IXmlReader_FWD_DEFINED__
typedef interface IXmlReader IXmlReader;
#endif

/* Headers for imported files */

#include <unknwn.h>
#include <objidl.h>
#include <oaidl.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum XmlNodeType {
    XmlNodeType_None = 0,
    XmlNodeType_Element = 1,
    XmlNodeType_Attribute = 2,
    XmlNodeType_Text = 3,
    XmlNodeType_CDATA = 4,
    XmlNodeType_ProcessingInstruction = 7,
    XmlNodeType_Comment = 8,
    XmlNodeType_DocumentType = 10,
    XmlNodeType_Whitespace = 13,
    XmlNodeType_EndElement = 15,
    XmlNodeType_XmlDeclaration = 17,
    _XmlNodeType_Last = 17
} XmlNodeType;
/*****************************************************************************
 * IXmlReader interface
 */
#ifndef __IXmlReader_INTERFACE_DEFINED__
#define __IXmlReader_INTERFACE_DEFINED__

DEFINE_GUID(IID_IXmlReader, 0x7279fc81, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IXmlReader : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetInput(
        IUnknown *input) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetProperty(
        UINT property,
        LONG_PTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetProperty(
        UINT property,
        LONG_PTR value) = 0;

    virtual HRESULT STDMETHODCALLTYPE Read(
        XmlNodeType *node_type) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetNodeType(
        XmlNodeType *node_type) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToFirstAttribute(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToNextAttribute(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToAttributeByName(
        LPCWSTR local_name,
        LPCWSTR namespaceUri) = 0;

    virtual HRESULT STDMETHODCALLTYPE MoveToElement(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetQualifiedName(
        LPCWSTR *qualifiedName,
        UINT *qualifiedName_length) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetNamespaceUri(
        LPCWSTR *namespaceUri,
        UINT *nnamespaceUri_length) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLocalName(
        LPCWSTR *local_name,
        UINT *locale_name_length) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPrefix(
        LPCWSTR *prefix,
        UINT *prefix_length) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetValue(
        LPCWSTR *value,
        UINT *value_length) = 0;

    virtual HRESULT STDMETHODCALLTYPE ReadValueChunk(
        WCHAR *buffer,
        UINT chunk_size,
        UINT *read) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetBaseUri(
        LPCWSTR *baseUri,
        UINT *baseUri_length) = 0;

    virtual BOOL STDMETHODCALLTYPE IsDefault(
        ) = 0;

    virtual BOOL STDMETHODCALLTYPE IsEmptyElement(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLineNumber(
        UINT *lineNumber) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLinePosition(
        UINT *linePosition) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetAttributeCount(
        UINT *attributeCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDepth(
        UINT *depth) = 0;

    virtual BOOL STDMETHODCALLTYPE IsEOF(
        ) = 0;

};
#else
typedef struct IXmlReaderVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IXmlReader* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IXmlReader* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IXmlReader* This);

    /*** IXmlReader methods ***/
    HRESULT (STDMETHODCALLTYPE *SetInput)(
        IXmlReader* This,
        IUnknown *input);

    HRESULT (STDMETHODCALLTYPE *GetProperty)(
        IXmlReader* This,
        UINT property,
        LONG_PTR *value);

    HRESULT (STDMETHODCALLTYPE *SetProperty)(
        IXmlReader* This,
        UINT property,
        LONG_PTR value);

    HRESULT (STDMETHODCALLTYPE *Read)(
        IXmlReader* This,
        XmlNodeType *node_type);

    HRESULT (STDMETHODCALLTYPE *GetNodeType)(
        IXmlReader* This,
        XmlNodeType *node_type);

    HRESULT (STDMETHODCALLTYPE *MoveToFirstAttribute)(
        IXmlReader* This);

    HRESULT (STDMETHODCALLTYPE *MoveToNextAttribute)(
        IXmlReader* This);

    HRESULT (STDMETHODCALLTYPE *MoveToAttributeByName)(
        IXmlReader* This,
        LPCWSTR local_name,
        LPCWSTR namespaceUri);

    HRESULT (STDMETHODCALLTYPE *MoveToElement)(
        IXmlReader* This);

    HRESULT (STDMETHODCALLTYPE *GetQualifiedName)(
        IXmlReader* This,
        LPCWSTR *qualifiedName,
        UINT *qualifiedName_length);

    HRESULT (STDMETHODCALLTYPE *GetNamespaceUri)(
        IXmlReader* This,
        LPCWSTR *namespaceUri,
        UINT *nnamespaceUri_length);

    HRESULT (STDMETHODCALLTYPE *GetLocalName)(
        IXmlReader* This,
        LPCWSTR *local_name,
        UINT *locale_name_length);

    HRESULT (STDMETHODCALLTYPE *GetPrefix)(
        IXmlReader* This,
        LPCWSTR *prefix,
        UINT *prefix_length);

    HRESULT (STDMETHODCALLTYPE *GetValue)(
        IXmlReader* This,
        LPCWSTR *value,
        UINT *value_length);

    HRESULT (STDMETHODCALLTYPE *ReadValueChunk)(
        IXmlReader* This,
        WCHAR *buffer,
        UINT chunk_size,
        UINT *read);

    HRESULT (STDMETHODCALLTYPE *GetBaseUri)(
        IXmlReader* This,
        LPCWSTR *baseUri,
        UINT *baseUri_length);

    BOOL (STDMETHODCALLTYPE *IsDefault)(
        IXmlReader* This);

    BOOL (STDMETHODCALLTYPE *IsEmptyElement)(
        IXmlReader* This);

    HRESULT (STDMETHODCALLTYPE *GetLineNumber)(
        IXmlReader* This,
        UINT *lineNumber);

    HRESULT (STDMETHODCALLTYPE *GetLinePosition)(
        IXmlReader* This,
        UINT *linePosition);

    HRESULT (STDMETHODCALLTYPE *GetAttributeCount)(
        IXmlReader* This,
        UINT *attributeCount);

    HRESULT (STDMETHODCALLTYPE *GetDepth)(
        IXmlReader* This,
        UINT *depth);

    BOOL (STDMETHODCALLTYPE *IsEOF)(
        IXmlReader* This);

    END_INTERFACE
} IXmlReaderVtbl;
interface IXmlReader {
    CONST_VTBL IXmlReaderVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IXmlReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXmlReader_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IXmlReader_Release(This) (This)->lpVtbl->Release(This)
/*** IXmlReader methods ***/
#define IXmlReader_SetInput(This,input) (This)->lpVtbl->SetInput(This,input)
#define IXmlReader_GetProperty(This,property,value) (This)->lpVtbl->GetProperty(This,property,value)
#define IXmlReader_SetProperty(This,property,value) (This)->lpVtbl->SetProperty(This,property,value)
#define IXmlReader_Read(This,node_type) (This)->lpVtbl->Read(This,node_type)
#define IXmlReader_GetNodeType(This,node_type) (This)->lpVtbl->GetNodeType(This,node_type)
#define IXmlReader_MoveToFirstAttribute(This) (This)->lpVtbl->MoveToFirstAttribute(This)
#define IXmlReader_MoveToNextAttribute(This) (This)->lpVtbl->MoveToNextAttribute(This)
#define IXmlReader_MoveToAttributeByName(This,local_name,namespaceUri) (This)->lpVtbl->MoveToAttributeByName(This,local_name,namespaceUri)
#define IXmlReader_MoveToElement(This) (This)->lpVtbl->MoveToElement(This)
#define IXmlReader_GetQualifiedName(This,qualifiedName,qualifiedName_length) (This)->lpVtbl->GetQualifiedName(This,qualifiedName,qualifiedName_length)
#define IXmlReader_GetNamespaceUri(This,namespaceUri,nnamespaceUri_length) (This)->lpVtbl->GetNamespaceUri(This,namespaceUri,nnamespaceUri_length)
#define IXmlReader_GetLocalName(This,local_name,locale_name_length) (This)->lpVtbl->GetLocalName(This,local_name,locale_name_length)
#define IXmlReader_GetPrefix(This,prefix,prefix_length) (This)->lpVtbl->GetPrefix(This,prefix,prefix_length)
#define IXmlReader_GetValue(This,value,value_length) (This)->lpVtbl->GetValue(This,value,value_length)
#define IXmlReader_ReadValueChunk(This,buffer,chunk_size,read) (This)->lpVtbl->ReadValueChunk(This,buffer,chunk_size,read)
#define IXmlReader_GetBaseUri(This,baseUri,baseUri_length) (This)->lpVtbl->GetBaseUri(This,baseUri,baseUri_length)
#define IXmlReader_IsDefault(This) (This)->lpVtbl->IsDefault(This)
#define IXmlReader_IsEmptyElement(This) (This)->lpVtbl->IsEmptyElement(This)
#define IXmlReader_GetLineNumber(This,lineNumber) (This)->lpVtbl->GetLineNumber(This,lineNumber)
#define IXmlReader_GetLinePosition(This,linePosition) (This)->lpVtbl->GetLinePosition(This,linePosition)
#define IXmlReader_GetAttributeCount(This,attributeCount) (This)->lpVtbl->GetAttributeCount(This,attributeCount)
#define IXmlReader_GetDepth(This,depth) (This)->lpVtbl->GetDepth(This,depth)
#define IXmlReader_IsEOF(This) (This)->lpVtbl->IsEOF(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXmlReader_SetInput_Proxy(
    IXmlReader* This,
    IUnknown *input);
void __RPC_STUB IXmlReader_SetInput_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetProperty_Proxy(
    IXmlReader* This,
    UINT property,
    LONG_PTR *value);
void __RPC_STUB IXmlReader_GetProperty_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_SetProperty_Proxy(
    IXmlReader* This,
    UINT property,
    LONG_PTR value);
void __RPC_STUB IXmlReader_SetProperty_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_Read_Proxy(
    IXmlReader* This,
    XmlNodeType *node_type);
void __RPC_STUB IXmlReader_Read_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetNodeType_Proxy(
    IXmlReader* This,
    XmlNodeType *node_type);
void __RPC_STUB IXmlReader_GetNodeType_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_MoveToFirstAttribute_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_MoveToFirstAttribute_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_MoveToNextAttribute_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_MoveToNextAttribute_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_MoveToAttributeByName_Proxy(
    IXmlReader* This,
    LPCWSTR local_name,
    LPCWSTR namespaceUri);
void __RPC_STUB IXmlReader_MoveToAttributeByName_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_MoveToElement_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_MoveToElement_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetQualifiedName_Proxy(
    IXmlReader* This,
    LPCWSTR *qualifiedName,
    UINT *qualifiedName_length);
void __RPC_STUB IXmlReader_GetQualifiedName_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetNamespaceUri_Proxy(
    IXmlReader* This,
    LPCWSTR *namespaceUri,
    UINT *nnamespaceUri_length);
void __RPC_STUB IXmlReader_GetNamespaceUri_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetLocalName_Proxy(
    IXmlReader* This,
    LPCWSTR *local_name,
    UINT *locale_name_length);
void __RPC_STUB IXmlReader_GetLocalName_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetPrefix_Proxy(
    IXmlReader* This,
    LPCWSTR *prefix,
    UINT *prefix_length);
void __RPC_STUB IXmlReader_GetPrefix_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetValue_Proxy(
    IXmlReader* This,
    LPCWSTR *value,
    UINT *value_length);
void __RPC_STUB IXmlReader_GetValue_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_ReadValueChunk_Proxy(
    IXmlReader* This,
    WCHAR *buffer,
    UINT chunk_size,
    UINT *read);
void __RPC_STUB IXmlReader_ReadValueChunk_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetBaseUri_Proxy(
    IXmlReader* This,
    LPCWSTR *baseUri,
    UINT *baseUri_length);
void __RPC_STUB IXmlReader_GetBaseUri_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
BOOL STDMETHODCALLTYPE IXmlReader_IsDefault_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_IsDefault_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
BOOL STDMETHODCALLTYPE IXmlReader_IsEmptyElement_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_IsEmptyElement_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetLineNumber_Proxy(
    IXmlReader* This,
    UINT *lineNumber);
void __RPC_STUB IXmlReader_GetLineNumber_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetLinePosition_Proxy(
    IXmlReader* This,
    UINT *linePosition);
void __RPC_STUB IXmlReader_GetLinePosition_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetAttributeCount_Proxy(
    IXmlReader* This,
    UINT *attributeCount);
void __RPC_STUB IXmlReader_GetAttributeCount_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IXmlReader_GetDepth_Proxy(
    IXmlReader* This,
    UINT *depth);
void __RPC_STUB IXmlReader_GetDepth_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
BOOL STDMETHODCALLTYPE IXmlReader_IsEOF_Proxy(
    IXmlReader* This);
void __RPC_STUB IXmlReader_IsEOF_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IXmlReader_INTERFACE_DEFINED__ */

typedef enum XmlReadState
{
    XmlReadState_Initial     = 0,
    XmlReadState_Interactive = 1,
    XmlReadState_Error       = 2,
    XmlReadState_EndOfFile   = 3,
    XmlReadState_Closed      = 4
} XmlReadState;
typedef enum XmlReaderProperty
{
    XmlReaderProperty_MultiLanguage      = 0,
    XmlReaderProperty_ConformanceLevel   = XmlReaderProperty_MultiLanguage + 1,
    XmlReaderProperty_RandomAccess       = XmlReaderProperty_ConformanceLevel + 1,
    XmlReaderProperty_XmlResolver        = XmlReaderProperty_RandomAccess + 1,
    XmlReaderProperty_DtdProcessing      = XmlReaderProperty_XmlResolver + 1,
    XmlReaderProperty_ReadState          = XmlReaderProperty_DtdProcessing + 1,
    XmlReaderProperty_MaxElementDepth    = XmlReaderProperty_ReadState + 1,
    XmlReaderProperty_MaxEntityExpansion = XmlReaderProperty_MaxElementDepth + 1,
    _XmlReaderProperty_Last              = XmlReaderProperty_MaxEntityExpansion
} XmlReaderProperty;
STDAPI CreateXmlReader(REFIID riid, void **ppvObject, IMalloc *pMalloc);
typedef IUnknown IXmlReaderInput;
STDAPI CreateXmlReaderInputWithEncodingName(IUnknown *stream, IMalloc *pMalloc,
                                            LPCWSTR encoding, BOOL hint,
                                            LPCWSTR base_uri, IXmlReaderInput **ppInput);
/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __WIDL_XMLLITE_H */
